:root { --cream:#fbf7eb; --paper:#fffdf7; --ink:#17140e; --muted:#685f4e; --gold:#d9ae3a; --gold-pale:#f7edcf; --gold-deep:#725317; --line:rgba(23,20,14,.13); --radius:1.5rem; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family: ui-rounded, "SF Pro Rounded", "Avenir Next", Avenir, system-ui, sans-serif; font-size:16px; line-height:1.55; }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:.18em; }
a:hover { color:var(--gold-deep); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid var(--gold-deep); outline-offset:4px; }
.skip-link { position:absolute; left:1rem; top:-5rem; background:var(--ink); color:white; z-index:3; padding:.75rem 1rem; border-radius:.5rem; }
.skip-link:focus { top:1rem; }
.site-header, .site-footer { max-width:76rem; margin:auto; padding:1.25rem clamp(1.25rem,4vw,3rem); display:flex; justify-content:space-between; gap:1.25rem; align-items:center; }
.site-header nav, .site-footer nav { display:flex; flex-wrap:wrap; align-items:center; gap:1.1rem; color:var(--muted); font-size:.94rem; }
.site-header nav a { text-decoration:none; }
.brand { display:inline-flex; align-items:center; gap:.55rem; text-decoration:none; font-weight:800; letter-spacing:-.035em; white-space:nowrap; }
.brand-mark { display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; background:var(--gold); color:var(--ink); font-family:Georgia,serif; font-size:1.05rem; font-weight:700; }
.hero { max-width:76rem; margin:auto; padding:clamp(3rem,9vw,7rem) clamp(1.25rem,4vw,3rem) clamp(4rem,10vw,7rem); display:grid; grid-template-columns:minmax(0,1.05fr) minmax(18rem,.8fr); gap:clamp(2.5rem,8vw,7rem); align-items:center; }
.eyebrow, .preview-label { margin:0; color:var(--gold-deep); font-size:.78rem; font-weight:800; letter-spacing:.12em; line-height:1.35; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { letter-spacing:-.045em; line-height:1.05; }
h1 { max-width:10ch; margin:.7rem 0 1.25rem; font-size:clamp(3rem,7vw,5.8rem); }
h2 { font-size:clamp(2rem,4vw,3.35rem); }
h3 { font-size:1.2rem; }
.lede { max-width:34rem; color:var(--muted); font-size:clamp(1.1rem,2vw,1.3rem); line-height:1.6; }
.hero-actions { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; margin-top:2rem; }
.coming-soon, .button-link { display:inline-flex; justify-content:center; align-items:center; min-height:3.25rem; padding:.8rem 1.15rem; border:0; border-radius:1rem; background:var(--gold-deep); color:white; font:inherit; font-weight:750; text-decoration:none; }
.coming-soon:disabled { cursor:not-allowed; opacity:1; }
.text-link { font-weight:750; }
.word-preview { position:relative; overflow:hidden; padding:1.45rem; border:1px solid rgba(114,83,23,.15); border-radius:1.8rem; background:linear-gradient(145deg,#e3bc53,#f8edc9 70%); box-shadow:0 1.2rem 3rem rgba(75,54,15,.14); }
.word-preview:after { content:""; position:absolute; width:11rem; height:11rem; right:-6rem; bottom:-6rem; border:1.5rem solid rgba(255,255,255,.32); border-radius:50%; }
.preview-topline,.preview-meta { display:flex; align-items:center; justify-content:space-between; gap:.75rem; color:rgba(23,20,14,.68); font-size:.82rem; font-weight:750; text-transform:uppercase; letter-spacing:.08em; }
.preview-word { margin:1.5rem 0 .35rem; font:700 clamp(2.5rem,7vw,4rem)/1 Georgia,serif; letter-spacing:-.07em; }
.preview-meta { justify-content:flex-start; font-size:.75rem; letter-spacing:0; text-transform:none; }
.preview-meta span:first-child { padding:.22rem .55rem; border-radius:99px; background:rgba(23,20,14,.1); }
.speaker { margin-left:auto; font-size:1.25rem; }
.word-preview hr { margin:1.4rem 0; border:0; border-top:1px solid rgba(23,20,14,.15); }
.word-preview p:not(.preview-word):not(.preview-label) { margin-bottom:0; }
.preview-example { position:relative; z-index:1; margin-top:1.2rem; padding:1rem; border-radius:1rem; background:rgba(255,253,247,.75); }
.preview-example span { display:block; margin-top:.8rem; color:rgba(104,95,78,.72); }
.intro,.feature-section,.closing,.subpage { max-width:76rem; margin:auto; padding:clamp(4rem,9vw,7rem) clamp(1.25rem,4vw,3rem); }
.intro { display:grid; grid-template-columns:1.08fr .8fr; gap:4rem; border-top:1px solid var(--line); }
.intro h2 { max-width:17ch; margin:.7rem 0 0; }.intro>p { max-width:33rem; color:var(--muted); font-size:1.1rem; align-self:end; }
.steps { max-width:76rem; margin:auto; padding:0 clamp(1.25rem,4vw,3rem) clamp(4rem,9vw,7rem); display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); }
.steps article { padding:1.75rem; background:var(--paper); }.steps h3 { margin:.9rem 0 .65rem; }.steps p,.feature-card p { color:var(--muted); margin-bottom:0; }.step-number { color:var(--gold-deep); font-size:.8rem; font-weight:800; letter-spacing:.12em; }
.feature-section { background:var(--ink); color:var(--paper); max-width:none; }.section-heading,.feature-grid { width:min(76rem,calc(100% - clamp(2.5rem,8vw,6rem))); margin-left:auto; margin-right:auto; }.section-heading h2 { max-width:19ch; margin:.7rem 0 2.5rem; }.feature-section .eyebrow { color:#efc55b; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.feature-card { min-height:12.5rem; padding:1.5rem; border:1px solid rgba(255,255,255,.15); border-radius:1.25rem; background:rgba(255,255,255,.045); }.feature-card--gold { background:var(--gold); color:var(--ink); border-color:var(--gold); }.feature-card--gold p { color:rgba(23,20,14,.72); }.feature-icon { display:grid; place-items:center; width:2.4rem; height:2.4rem; border-radius:.75rem; background:rgba(255,255,255,.14); font-family:Georgia,serif; font-weight:700; }.feature-card--gold .feature-icon { background:rgba(255,255,255,.36); }.feature-card h3 { margin:1rem 0 .45rem; }
.closing { text-align:center; }.closing h2 { max-width:18ch; margin:.7rem auto 1rem; }.closing>p:not(.eyebrow) { color:var(--muted); }.closing .coming-soon { margin-top:1rem; }
.site-footer { padding-top:2.25rem; padding-bottom:2.25rem; border-top:1px solid var(--line); align-items:flex-end; }.site-footer p { margin:.7rem 0 0; color:var(--muted); font-size:.86rem; }.site-footer nav { justify-content:flex-end; }
.subpage { max-width:58rem; }.page-hero { padding:clamp(2rem,5vw,4rem) 0 3rem; border-bottom:1px solid var(--line); }.page-hero h1 { max-width:none; margin-bottom:1rem; font-size:clamp(2.8rem,6vw,4.8rem); }.page-hero .button-link { margin-top:.5rem; }.support-note { max-width:40rem; margin:1rem 0 0; color:var(--muted); font-size:.94rem; }
.support-section { padding:3rem 0 0; }.support-section h2,.support-contact h2 { font-size:clamp(1.7rem,3vw,2.35rem); }.checklist { margin:1rem 0 0; padding:0; list-style:none; counter-reset:item; }.checklist li { position:relative; max-width:43rem; padding:.9rem 0 .9rem 3.1rem; border-bottom:1px solid var(--line); counter-increment:item; }.checklist li:before { content:"0" counter(item); position:absolute; left:0; top:.9rem; color:var(--gold-deep); font-size:.8rem; font-weight:800; letter-spacing:.08em; }
details { padding:1.1rem 0; border-bottom:1px solid var(--line); } summary { cursor:pointer; font-weight:780; } details p { max-width:43rem; margin:.85rem 0 0; color:var(--muted); } .support-contact { margin-top:3rem; padding:1.6rem; border-radius:var(--radius); background:var(--gold-pale); }.support-contact h2 { margin-bottom:.5rem; }.support-contact p { color:var(--muted); }.support-contact .button-link { background:var(--ink); }
.privacy-policy { max-width:54rem; }.privacy-policy .page-hero { padding-bottom:2rem; }.policy-content { padding-top:2.5rem; }.policy-content p { color:#413b30; font-size:1.02rem; }.policy-content h2 { margin:2.4rem 0 .8rem; font-size:1.65rem; }.policy-content a { color:var(--gold-deep); font-weight:700; }
@media (max-width: 48rem) { .site-header { align-items:flex-start; }.site-header nav { justify-content:flex-end; gap:.65rem 1rem; }.hero,.intro { grid-template-columns:1fr; }.hero { padding-top:3rem; }.word-preview { max-width:31rem; }.intro { gap:1rem; }.steps,.feature-grid { grid-template-columns:1fr; }.steps { gap:1px; }.feature-grid { width:100%; }.site-footer { align-items:flex-start; flex-direction:column; }.site-footer nav { justify-content:flex-start; }.feature-card { min-height:0; } }
@media (max-width: 31rem) { .site-header { flex-direction:column; }.site-header nav { justify-content:flex-start; }.hero-actions { align-items:stretch; flex-direction:column; }.coming-soon,.button-link { width:100%; }.text-link { text-align:center; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
