:root{
  --ground:#F4F1EA; --surface:#FFFFFF; --ink:#1E2A22; --muted:#4B574F; --line:#D9D3C7;
  --brand:#2F4A3A; --brand-ink:#F4F1EA; --accent:#9E522F; --accent-ink:#FFFFFF; --sage:#DCE5D8; --error:#A3312A;
  --display:"Fraunces",Georgia,"Times New Roman",serif; --body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme: dark){
  :root{ --ground:#141A16; --surface:#1D2520; --ink:#ECE8DF; --muted:#B4BDB5; --line:#34403A;
    --brand:#A8CDB2; --brand-ink:#0F2418; --accent:#E3936A; --accent-ink:#1E0F07; --sage:#24332A; --error:#F09A93; color-scheme:dark; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);font-size:19px;line-height:1.55}
a{color:inherit;text-underline-offset:3px;text-decoration-color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{max-width:1040px;margin:0 auto;padding-inline:20px}
header.top{padding-block:22px}
.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:600;font-size:23px;text-decoration:none;color:var(--ink)}
.brand svg{color:var(--accent)}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start;padding-block:28px 56px}
h1{font-family:var(--display);font-weight:500;font-size:clamp(34px,5vw,54px);line-height:1.1;margin:0 0 18px;text-wrap:balance;letter-spacing:-.01em}
.sub{font-family:var(--display);font-size:clamp(21px,2.4vw,26px);color:var(--muted);margin:0 0 28px;line-height:1.35}
.intro{max-width:34em;margin:0}
.card{background:var(--surface);border-radius:22px;padding:28px;border:1px solid var(--line)}
.card h2{font-family:var(--display);font-weight:500;font-size:28px;margin:0 0 6px}
.card p.note{margin:0 0 20px;color:var(--muted);font-size:17px}
form{display:flex;flex-direction:column;gap:18px}
label{font-weight:600;font-size:17px;display:block;margin-bottom:6px}
.opt{font-weight:400;color:var(--muted)}
input[type=text],input[type=email]{width:100%;min-height:54px;border-radius:12px;border:1.5px solid var(--line);background:var(--ground);color:var(--ink);padding:12px 16px;font:inherit}
fieldset{border:0;padding:0;margin:0}
legend{font-weight:600;font-size:17px;margin-bottom:8px;padding:0}
.choices{display:flex;flex-direction:column;gap:8px}
.choice{font-weight:500;margin:0;display:flex;align-items:center;gap:12px;min-height:50px;padding:10px 14px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;font-size:18px}
.choice input{width:22px;height:22px;flex-shrink:0;accent-color:var(--brand);margin:0}
.choice:has(input:checked){border-color:var(--brand);background:var(--sage)}
button{min-height:58px;border:0;border-radius:29px;background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:700;font-size:19px;cursor:pointer;padding:0 24px}
button:hover{filter:brightness(1.06)}
.fine{font-size:15px;color:var(--muted);margin:0}
.hidden{position:absolute;left:-9999px}
section.how{padding-block:48px;border-top:1px solid var(--line)}
section.how h2{font-family:var(--display);font-weight:500;font-size:32px;margin:0 0 28px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;counter-reset:s}
.steps li{counter-increment:s}
.steps li::before{content:counter(s);display:flex;width:40px;height:40px;border-radius:50%;background:var(--sage);color:var(--ink);font-weight:700;align-items:center;justify-content:center;margin-bottom:12px}
.steps h3{font-size:20px;margin:0 0 6px}
.steps p{margin:0;color:var(--muted)}
section.why{padding-block:48px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
section.why h3{font-family:var(--display);font-weight:500;font-size:23px;margin:0 0 6px}
section.why p{margin:0;color:var(--muted)}
footer{padding-block:32px 48px;border-top:1px solid var(--line);font-size:16px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.thanks{max-width:36em;padding-block:48px 80px}
.thanks h1{font-size:clamp(34px,5vw,48px)}
@media (max-width:820px){
  .hero{grid-template-columns:1fr;gap:28px}
  .steps,section.why{grid-template-columns:1fr}
  .card{padding:22px}
}
