/* Shared look for the sign-up, thank-you and policy pages. */
:root{ --bg:#FBF7EA; --paper:#FFFDF6; --ink:#1C1B19; --body:#3A3832; --mute:#5C5A50; --line:#E4DCC2; --field:#CFC6A6; --yellow:#FFD43B; --cream:#FFF6D6; --green:#B3261E; --red:#C62828;
  --serif:"Fraunces",Georgia,serif; --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif; --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace; }
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.55; min-height:100vh; display:flex; flex-direction:column; }
main{ flex:1 0 auto; }
a{ color:inherit; }
:focus-visible{ outline:2px solid var(--green); outline-offset:3px; }
h1,h2,h3{ font-family:var(--serif); margin:0; color:var(--ink); }
h1{ font-weight:600; font-size:clamp(34px,5vw,48px); line-height:1.05; letter-spacing:-.02em; text-wrap:balance; }
p{ margin:0; }
.eyebrow{ font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); }
.bar{ max-width:1040px; margin:0 auto; padding:10px 20px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
header{ border-bottom:1px solid var(--line); }
.back{ display:inline-flex; align-items:center; gap:6px; min-height:44px; color:var(--ink); font-weight:500; text-decoration:none; background:transparent; border:0; font:inherit; font-weight:500; cursor:pointer; padding:0; }
.brand{ font-family:var(--serif); font-weight:700; font-size:20px; white-space:nowrap; }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 22px; background:var(--yellow); color:var(--ink); border:1.5px solid var(--ink); border-radius:6px; font:600 16px var(--sans); text-decoration:none; cursor:pointer; transition:transform .15s ease, box-shadow .15s ease, background-color .2s ease; }
.btn:hover{ transform:translate(-2px,-2px); box-shadow:4px 4px 0 var(--ink); }
.btn:active{ transform:none; box-shadow:none; }
.btn-dark{ background:var(--ink); color:var(--bg); }
.link{ color:var(--green); font-weight:600; }
footer{ background:var(--ink); color:var(--bg); }
.foot{ max-width:1040px; margin:0 auto; padding:28px 20px 36px; display:flex; flex-direction:column; gap:12px; }
.foot nav{ display:flex; flex-wrap:wrap; gap:4px 20px; font-size:15px; }
.foot nav a{ display:inline-flex; align-items:center; min-height:44px; color:var(--bg); }
.foot p{ font-size:13px; color:var(--line); }
@media (prefers-reduced-motion:reduce){ .btn{ transition:none; } .btn:hover{ transform:none; box-shadow:none; } }
