:root{--plum:#5b294f;--rose:#cf7f87;--ivory:#fffaf2;--charcoal:#201a22;--surface:#2b232d;--sage:#9ba99a}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0,#4c2c49 0,#201a22 42rem);color:var(--ivory);font:16px Inter,system-ui,sans-serif;line-height:1.55}header,main,footer{max-width:1120px;margin:auto;padding-left:24px;padding-right:24px}header{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--ivory);font-weight:800;text-decoration:none}.brand img{width:44px;height:44px}nav{display:flex;gap:18px;flex-wrap:wrap}nav a,.back{color:#ead6dd;text-decoration:none;font-size:.92rem}.hero{padding:76px 0 46px;max-width:760px}.hero>img{width:88px;height:88px;margin-bottom:18px}.hero h1{font:clamp(2.25rem,7vw,4.8rem)/1.04 Georgia,serif;margin:.25rem 0 18px}.hero p{font-size:1.1rem;color:#eadfe3}.hero.compact{padding-top:48px}.eyebrow{letter-spacing:.15em;font-size:.75rem;font-weight:800;color:#e7a0a7}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;padding:8px 0 54px}.card,.result{background:rgba(43,35,45,.9);border:1px solid rgba(207,127,135,.35);border-radius:12px;padding:22px;color:var(--ivory)}.card{text-decoration:none}.card h3,.card h2{margin-top:0}.card span{color:#f1abb2;font-weight:700}button,.button{display:inline-block;background:var(--rose);color:#241820;border:0;border-radius:9px;padding:13px 18px;font-weight:800;text-decoration:none;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.path{max-width:760px;padding:44px 0 62px}.path h1{font:clamp(2rem,6vw,3.5rem)/1.1 Georgia,serif}form{display:grid;gap:18px;margin-top:28px}label{display:grid;gap:7px;font-weight:700;color:#f4dce1}input,textarea{width:100%;border:1px solid #876779;border-radius:9px;background:#1f1920;color:var(--ivory);padding:12px;font:inherit}textarea{min-height:100px}.result{margin-top:24px}.muted,footer{color:#c9b8c1;font-size:.9rem}footer{border-top:1px solid #51404b;padding-top:26px;padding-bottom:40px}.prices strong{font:1.8rem Georgia,serif;color:#ffdfe3}@media(max-width:640px){header{padding-top:14px;padding-bottom:14px;align-items:flex-start;flex-direction:column}nav{gap:14px}.hero{padding-top:48px}main,header,footer{padding-left:18px;padding-right:18px}.card{min-height:0}}
