:root { --bg:#F7F4F0; --ink:#171512; --ink-2:#6B645E; --line:#E0DAD3; --surface:#fff; --teal:#0F7A5C; --amber:#FFB040; color-scheme: light; }
@media (prefers-color-scheme: dark) { :root { --bg:#171512; --ink:#F7F4F0; --ink-2:#B3ABA3; --line:#3A3632; --surface:#231F1C; --teal:#2FC49A; color-scheme: dark; } }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; display:flex; flex-direction:column; background:var(--bg); color:var(--ink);
  font:17px/1.55 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", system-ui, sans-serif; -webkit-font-smoothing:antialiased; }
main { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:48px 24px; }
.eyebrow { margin:0 0 14px; color:var(--teal); font-weight:600; font-size:14px; }
h1 { margin:0; font-size:clamp(56px, 12vw, 112px); line-height:1; letter-spacing:-0.05em; font-weight:700; }
.lede { max-width:520px; margin:22px 0 0; color:var(--ink-2); font-size:18px; }
form { display:flex; gap:10px; margin-top:28px; width:100%; max-width:440px; }
input[type=email] { flex:1; min-width:0; height:44px; padding:0 14px; border:0; border-radius:10px; background:var(--surface); color:var(--ink); box-shadow:0 0 0 1px var(--line); font:16px -apple-system, system-ui, sans-serif; }
input[type=email]:focus { outline:none; box-shadow:0 0 0 2px var(--teal); }
button { height:44px; padding:0 20px; border:0; border-radius:10px; background:var(--amber); color:#171512; font:600 16px -apple-system, system-ui, sans-serif; cursor:pointer; }
button[disabled] { opacity:.6; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.note { color:var(--ink-2); font-size:14px; margin:14px 0 0; min-height:1.5em; }
.note.ok { color:var(--teal); font-weight:600; } .note.err { color:#D9463F; }
footer { display:flex; justify-content:center; gap:18px; padding:24px; color:var(--ink-2); font-size:13px; }
footer a { color:inherit; }
.legal { flex:1; max-width:680px; margin:0 auto; padding:56px 24px; text-align:left; display:block; }
.legal h1 { font-size:44px; } .legal h2 { font-size:20px; margin-top:32px; } .legal p { color:var(--ink-2); }
@media (max-width:460px) { form { flex-direction:column; } }
