:root{
  --plum:#2f1d3a; --plum-soft:#5a4562; --peach:#fff1e6; --peach-2:#ffe2cc;
  --coral:#e8705f; --coral-dark:#c9503f; --amber:#f6a35c; --gold:#f7d58a; --cream:#fffaf5;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--plum);background:var(--cream);line-height:1.65;font-size:1.0625rem;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
p{margin:0 0 1em}
a{color:var(--coral-dark)}
.wrap{max-width:68rem;margin:0 auto;padding:0 1.5rem}
.skip{position:absolute;left:-999px;top:0;background:var(--plum);color:#fff;padding:.6rem 1rem;z-index:10}
.skip:focus{left:0}

/* hero */
.hero{position:relative;overflow:hidden;text-align:center;color:var(--plum);
  background:
   radial-gradient(ellipse 60% 45% at 50% 100%,#fff3c4 0%,rgba(255,243,196,0) 70%),
   linear-gradient(180deg,#f9d7c9 0%,#fcc3a1 28%,#f9a77c 52%,#fbc77f 78%,#fde7b0 100%);
  padding:2.2rem 0 7rem}
.hero::before{content:"";position:absolute;left:50%;bottom:-14rem;width:46rem;max-width:140vw;aspect-ratio:1;transform:translateX(-50%);
  border-radius:50%;background:radial-gradient(circle,#fff6d6 0%,#fde39a 35%,rgba(253,227,154,.0) 68%);opacity:.9;pointer-events:none}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:5rem;
  background:var(--cream);clip-path:ellipse(75% 100% at 50% 100%)}
.hero>*{position:relative;z-index:1}
.brand{display:flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--serif);font-weight:600;font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:4rem}
.brand svg{width:30px;height:30px}
.eyebrow{display:inline-block;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;background:rgba(255,255,255,.55);padding:.4rem .95rem;border-radius:999px;margin-bottom:1.4rem}
.hero h1{font-size:clamp(2.5rem,7vw,4.9rem);max-width:15ch;margin:0 auto .4em}
.tagline{font-size:clamp(1.1rem,2.4vw,1.4rem);max-width:36rem;margin:0 auto 2.2rem;color:#43294d}

/* form */
.signup{max-width:34rem;margin:0 auto;background:rgba(255,250,245,.82);backdrop-filter:blur(6px);
  border-radius:1.25rem;padding:1.4rem;box-shadow:0 18px 40px -18px rgba(90,40,50,.45);text-align:left}
.signup label{display:block;font-size:.9rem;font-weight:600;margin:0 0 .3rem}
.row{display:flex;gap:.7rem;flex-wrap:wrap}
.field{flex:1 1 100%}
input[type=email],input[type=text]{width:100%;font:inherit;padding:.85rem 1rem;border-radius:.75rem;border:1.5px solid #d9b8a4;background:#fff;color:var(--plum)}
input::placeholder{color:#8a7392}
input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #2f1d3a;outline-offset:2px}
.btn{flex:1 1 100%;font:inherit;font-weight:700;cursor:pointer;border:0;border-radius:.75rem;padding:.95rem 1.4rem;color:#fff;
  background:linear-gradient(135deg,var(--coral) 0%,#d9583f 100%);box-shadow:0 8px 18px -8px rgba(201,80,63,.8);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 22px -8px rgba(201,80,63,.9)}
.fine{font-size:.85rem;color:var(--plum-soft);margin:.8rem 0 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
@media(min-width:640px){.btn{flex:1 1 100%}.row.two .field{flex:1 1 40%}}

/* sections */
section{padding:4.5rem 0}
.why{text-align:center}
.why h2{font-size:clamp(1.9rem,4vw,2.7rem)}
.why p{max-width:40rem;margin:0 auto 1em;font-size:1.15rem;color:#4a3454}
.kicker{display:block;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--coral-dark);margin-bottom:.8rem}
.pillars{background:linear-gradient(180deg,var(--peach) 0%,var(--peach-2) 100%)}
.pillars h2{text-align:center;font-size:clamp(1.9rem,4vw,2.7rem);margin-bottom:2.5rem}
.grid{display:grid;gap:1.4rem;grid-template-columns:1fr}
@media(min-width:800px){.grid{grid-template-columns:repeat(3,1fr)}}
.card{background:#fffaf5;border-radius:1.25rem;padding:2rem 1.7rem;box-shadow:0 14px 30px -20px rgba(90,40,50,.5);border-top:5px solid var(--amber)}
.card:nth-child(2){border-top-color:var(--coral)}
.card:nth-child(3){border-top-color:var(--gold)}
.icon{width:3.2rem;height:3.2rem;border-radius:50%;display:grid;place-items:center;background:var(--peach-2);margin-bottom:1rem}
.icon svg{width:1.7rem;height:1.7rem;stroke:var(--plum);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card h3{font-size:1.45rem}
.card p{margin:0;color:#4a3454}
.join{text-align:center;background:linear-gradient(180deg,var(--cream) 0%,#ffe9d2 100%)}
.join h2{font-size:clamp(1.9rem,4vw,2.7rem)}
.join .lead{max-width:34rem;margin:0 auto 2rem;color:#4a3454}
.join .signup{background:#fff;box-shadow:0 18px 40px -22px rgba(90,40,50,.5);border:1px solid #f1d6c3}

/* footer */
footer{background:var(--plum);color:#f3e6dc;padding:3rem 0 2.5rem;text-align:center;font-size:.98rem}
footer .help{max-width:38rem;margin:0 auto 1.6rem}
footer a{color:var(--gold);font-weight:600}
footer small{color:#c9b5c9}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* thanks */
.thanks-page .hero{min-height:100vh;display:flex;align-items:center;padding:3rem 0 8rem}
.thanks-page .hero .wrap{width:100%}
.thanks-page .tagline{margin-bottom:1.6rem}
.back{display:inline-block;font-weight:700;color:#fff;background:var(--plum);padding:.85rem 1.5rem;border-radius:.75rem;text-decoration:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.brand svg{flex:none}
.brand span{text-align:center}
@media(max-width:480px){.brand{flex-direction:column;gap:.4rem;font-size:.9rem;letter-spacing:.1em;margin-bottom:2.6rem}}
