/* ===========================================================
   Sip Smart — landing page styles
   Palette: cream #f6f1e7 · forest #1b4332 · gold #e2b53e
   Type: Gelasio (display serif) + Nunito (body)
   =========================================================== */

:root{
  --cream:#f6f1e7;
  --cream-2:#fdf8ee;
  --forest:#1b4332;
  --forest-deep:#143627;
  --mint:#e7efe9;
  --sage:#dfe6df;
  --sage-2:#cfd9cf;
  --gold:#e2b53e;
  --gold-ink:#c9971f;
  --ink:#1e2a24;
  --ink-2:#4a564f;
  --ink-3:#6a746e;
  --placeholder:#e3dccd;
  --serif:"Gelasio",Georgia,serif;
  --sans:"Nunito",system-ui,-apple-system,sans-serif;
  --pad:32px;
  --maxw:1200px;
  --maxw-hero:1320px;
  --shadow-card:0 12px 32px rgba(27,67,50,.08);
  --shadow-lift:0 20px 50px rgba(27,67,50,.16);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font:400 16px/1.55 var(--sans);
  -webkit-font-smoothing:antialiased;
}
img,video{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-family:var(--serif);color:var(--forest);letter-spacing:-.02em;text-wrap:pretty}
em{font-style:italic;color:var(--gold-ink)}
.wrap{max-width:var(--maxw);margin:0 auto}

.kicker{font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:52px;padding:0 24px;border:0;border-radius:999px;cursor:pointer;
  font:700 15px/1 var(--sans);text-decoration:none;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--forest);box-shadow:0 6px 18px rgba(27,67,50,.12)}
.btn-gold:hover{box-shadow:0 10px 24px rgba(27,67,50,.18)}
.btn-forest{background:var(--forest);color:var(--cream)}
.btn-ghost{background:transparent;border:1.5px solid var(--forest);color:var(--forest);height:46px;font-size:14px}
.btn-ghost:hover{background:var(--forest);color:var(--cream)}
.btn .pip{
  width:26px;height:26px;border-radius:50%;background:var(--forest);color:var(--cream);
  display:flex;align-items:center;justify-content:center;font-size:13px;flex:none;
}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;background:var(--cream);
  border-bottom:1px solid rgba(27,67,50,.08);
  display:flex;align-items:center;justify-content:space-between;
  padding:16px max(var(--pad), calc((100% - var(--maxw))/2 + var(--pad)));
}
.brand{font:700 24px/1 var(--serif);color:var(--forest);letter-spacing:-.01em;text-decoration:none;display:block;line-height:0}
.brand img{height:42px;width:auto;display:block}
.nav{display:flex;gap:26px;align-items:center;font:600 14px/1 var(--sans)}
.nav a{text-decoration:none;color:var(--ink)}
.nav a:hover{color:var(--gold-ink)}
.nav .pill{
  height:40px;border:1.5px solid var(--forest);border-radius:999px;
  display:flex;align-items:center;padding:0 18px;font:700 13px/1 var(--sans);color:var(--forest);
}
.nav .pill:hover{background:var(--forest);color:var(--cream)}

/* ---------- hero ---------- */
.hero{
  display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center;
  padding:36px var(--pad) 64px;
  max-width:var(--maxw-hero);margin-inline:auto;
}
.hero-copy{display:flex;flex-direction:column;gap:20px}
.eyebrow-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.eyebrow-pill--plain{background:transparent;border:1.5px solid var(--gold);color:var(--gold-ink)}
.eyebrow-pill{
  display:inline-flex;align-self:flex-start;align-items:center;gap:8px;
  background:var(--mint);color:var(--forest);border-radius:999px;padding:7px 14px;
  font:700 12px/1 var(--sans);
}
.eyebrow-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--gold)}
.hero h1{font:600 54px/1.02 var(--serif)}
.hero-sub{margin:0;font:400 18px/1.5 var(--sans);color:var(--ink-2);max-width:440px}
.ticks{
  display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;padding-top:4px;
  margin:0;list-style:none;font:600 14.5px/1.35 var(--sans);
}
.ticks li{display:flex;gap:10px;align-items:flex-start}
.ticks li::before{
  content:"\2713";width:20px;height:20px;border-radius:50%;background:var(--gold);
  flex:none;display:flex;align-items:center;justify-content:center;
  font:700 11px/1 var(--sans);color:var(--forest);
}
.hero-cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding-top:6px}
.fineprint{font:600 13px/1.4 var(--sans);color:var(--ink-3)}

/* ---------- hero media ---------- */
.hero-media{position:relative}
.hero-media::before{
  content:"";position:absolute;inset:-14px -14px auto auto;
  width:120px;height:120px;border-radius:50%;background:var(--mint);z-index:0;
}
.video-card{
  position:relative;z-index:1;border-radius:28px;overflow:hidden;background:var(--sage);
  aspect-ratio:16/11;box-shadow:var(--shadow-lift);transform:rotate(-1.5deg);
}
.video-card video{width:100%;height:100%;object-fit:cover}
.video-card .badge{
  position:absolute;left:18px;top:18px;background:rgba(246,241,231,.92);border-radius:999px;
  padding:6px 12px;font:700 11px/1 var(--sans);color:var(--forest);z-index:3;pointer-events:none;
}
.video-card .duration{
  position:absolute;right:18px;bottom:18px;background:var(--forest);color:var(--cream);
  border-radius:999px;padding:6px 12px;font:700 12px/1 var(--sans);z-index:3;pointer-events:none;
}
.play-btn{
  position:absolute;inset:0;z-index:2;width:100%;height:100%;border:0;padding:0;
  background:rgba(27,67,50,.12);cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.play-btn .disc{
  width:76px;height:76px;border-radius:50%;background:var(--forest);
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.18);
  transition:transform .15s ease;
}
.play-btn:hover .disc{transform:scale(1.06)}
.play-btn .disc::after{
  content:"";width:0;height:0;margin-left:6px;
  border-left:20px solid var(--cream);border-top:12px solid transparent;border-bottom:12px solid transparent;
}
.video-card.is-playing .play-btn,
.video-card.is-playing .badge,
.video-card.is-playing .duration{display:none}

.snapshot{
  position:absolute;left:-26px;bottom:-34px;z-index:3;width:172px;margin:0;
  background:#fff;border-radius:18px;padding:8px;box-shadow:0 12px 30px rgba(27,67,50,.16);
  transform:rotate(6deg);
}
.snapshot img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:12px}
.snapshot figcaption{
  padding:8px 4px 2px;font:700 10px/1.25 var(--sans);color:var(--ink-2);
}

/* ---------- capture bands ---------- */
.band{
  margin-inline:auto;width:calc(100% - var(--pad)*2);max-width:calc(var(--maxw) - var(--pad)*2);background:var(--forest);color:var(--cream);border-radius:28px;
  padding:40px 44px;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;
  position:relative;overflow:hidden;
}
.band::before{
  content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;
  border-radius:50%;background:rgba(226,181,62,.14);
}
.band > *{position:relative}
.band .kicker{font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.band h2{color:var(--cream);font:600 32px/1.1 var(--serif)}
.band h2 em{color:var(--gold)}
.band p{margin:0;font:400 15px/1.55 var(--sans);color:rgba(246,241,231,.78)}
.band-copy{display:flex;flex-direction:column;gap:10px}
.band--compact{padding:30px 44px}
.band--compact h2{font-size:26px}
.band--final{border-radius:28px 28px 0 0;padding:64px var(--pad) 56px;grid-template-columns:1.1fr .9fr}
.band--final::before{right:auto;top:auto;left:-60px;bottom:-80px;width:260px;height:260px;background:rgba(226,181,62,.12)}
.band--final h2{font:600 48px/1.04 var(--serif)}
.band--final p{font-size:16px;max-width:400px}

/* ---------- forms ---------- */
.signup{display:flex;flex-direction:column;gap:10px}
.signup .row{display:flex;gap:10px}
.signup input[type=text],.signup input[type=email]{
  flex:1 1 auto;min-width:0;height:50px;min-height:50px;border:0;border-radius:999px;background:var(--cream);
  padding:0 18px;font:500 14px/1 var(--sans);color:var(--ink);
}
.signup input::placeholder{color:#7c867f}
.signup input:focus-visible,.signup button:focus-visible,
a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.signup .name{flex:0 0 140px}
.signup .consent{
  display:flex;gap:9px;align-items:flex-start;
  font:500 12.5px/1.4 var(--sans);color:rgba(246,241,231,.78);cursor:pointer;
}
.signup .consent input{
  appearance:none;width:16px;height:16px;border-radius:4px;background:var(--gold);
  flex:none;margin:1px 0 0;cursor:pointer;position:relative;
}
.signup .consent input:checked::after{
  content:"\2713";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font:700 10px/1 var(--sans);color:var(--forest);
}
.signup .consent a{color:inherit}
.signup .inline{display:flex;gap:10px}
.signup .inline .btn{flex:0 0 auto;height:50px;white-space:nowrap;font-size:14px}
.form-note{font:500 12px/1.4 var(--sans);color:rgba(246,241,231,.6)}

/* ---------- proof rows ---------- */
.row2{
  display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;
  padding:88px var(--pad) 64px;
  max-width:var(--maxw);margin-inline:auto;
}
.row2--tight{padding:32px var(--pad) 80px}
.row2 .kicker{font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.row2 h2{font:600 42px/1.08 var(--serif)}
.row2 .copy{display:flex;flex-direction:column;gap:18px}
.row2 .copy p{margin:0;max-width:440px;color:var(--ink-2)}

.compare{position:relative;height:436px}
.compare figure{
  position:absolute;width:56%;aspect-ratio:4/5;margin:0;background:#fff;border-radius:16px;
  padding:10px;box-shadow:0 16px 40px rgba(27,67,50,.14);display:flex;flex-direction:column;gap:8px;
}
.compare .a{left:0;top:30px;transform:rotate(-5deg)}
.compare .b{right:0;top:0;transform:rotate(4deg)}
.compare .label{font:700 10px/1.2 var(--sans);color:var(--ink-3);padding:2px 2px 0}
.compare .slot{flex:1;border-radius:10px;background:var(--sage-2)}
.compare figcaption{font:600 13px/1 var(--serif);font-style:italic;color:var(--forest);text-align:center;padding-bottom:4px}
.compare .stamp{
  position:absolute;left:50%;transform:translateX(-50%);bottom:-40px;
  width:64px;height:64px;border-radius:50%;background:var(--gold);
  display:flex;align-items:center;justify-content:center;
  font:700 22px/1 var(--serif);color:var(--forest);box-shadow:0 8px 20px rgba(27,67,50,.16);
}

.photo-slot{
  border-radius:28px;background:var(--sage);aspect-ratio:5/4;box-shadow:0 20px 50px rgba(27,67,50,.14);
  display:flex;align-items:flex-end;padding:18px;
  font:700 11px/1.3 var(--sans);color:var(--ink-2);transform:rotate(1.5deg);
}

/* ---------- how it works ---------- */
.steps{padding:0 var(--pad) 80px;text-align:center;max-width:var(--maxw);margin-inline:auto;}
.steps h2{font:600 42px/1.08 var(--serif);margin-bottom:8px}
.steps > p{margin:0 auto 36px;font:400 16px/1.5 var(--sans);color:var(--ink-2);max-width:420px}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:left}
.step{
  background:#fff;border-radius:24px;padding:14px 14px 22px;box-shadow:var(--shadow-card);
  display:flex;flex-direction:column;gap:14px;
}
.step:nth-child(2){transform:translateY(-14px)}
.step .slot{border-radius:16px;background:var(--sage);aspect-ratio:4/3;display:flex;align-items:flex-end;padding:12px;font:700 10px/1.3 var(--sans);color:var(--ink-2)}
.step .head{display:flex;align-items:center;gap:10px}
.step .num{
  width:28px;height:28px;border-radius:50%;background:var(--mint);color:var(--forest);
  display:flex;align-items:center;justify-content:center;font:700 12px/1 var(--sans);flex:none;
}
.step h3{font:600 20px/1.2 var(--serif)}
.step p{margin:0 0 0 4px;font:400 14px/1.5 var(--sans);color:var(--ink-2)}

/* ---------- spec strip ---------- */
.specs{margin:0 auto 80px;width:calc(100% - var(--pad)*2);max-width:calc(var(--maxw) - var(--pad)*2);display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.spec{background:var(--mint);border-radius:20px;padding:22px 24px;display:flex;flex-direction:column;gap:6px}
.spec dt{font:700 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.spec dd{margin:0;font:600 28px/1.05 var(--serif);color:var(--forest)}
.spec dd.small{font-size:20px;line-height:1.15}

/* ---------- story ---------- */
.story{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:88px var(--pad) 80px;max-width:var(--maxw);margin-inline:auto;}
.story-art{position:relative}
.story-art .blob{
  border-radius:50% 50% 50% 50% / 60% 60% 40% 40%;background:var(--sage-2);
  aspect-ratio:1/1.05;width:82%;
}
.story-art .caption{width:82%;padding-top:12px;font:700 11px/1.4 var(--sans);color:var(--ink-3)}
.story-art .tag{
  position:absolute;right:-6px;bottom:88px;background:#fff;border-radius:16px;padding:14px 18px;
  box-shadow:0 12px 30px rgba(27,67,50,.14);display:flex;align-items:center;gap:12px;
}
.story-art .tag .av{width:44px;height:44px;border-radius:50%;background:var(--sage);flex:none}
.story-art .tag b{display:block;font:600 15px/1.2 var(--serif);color:var(--forest)}
.story-art .tag span{font:500 12px/1.3 var(--sans);color:var(--ink-3)}
.story .copy{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.story h2{font:600 42px/1.08 var(--serif)}
.story p{margin:0;max-width:440px;color:var(--ink-2)}

/* ---------- daycare ---------- */
.daycare{
  margin:0 auto 80px;width:calc(100% - var(--pad)*2);max-width:calc(var(--maxw) - var(--pad)*2);background:var(--gold);border-radius:28px;padding:44px;
  display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;
}
.daycare .kicker{font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--forest);opacity:.7}
.daycare h2{font:600 36px/1.1 var(--serif)}
.daycare h2 em{color:var(--forest)}
.daycare p{margin:0;max-width:440px;color:rgba(27,67,50,.85)}
.daycare .copy{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.daycare .packcard{
  border-radius:20px;background:var(--cream-2);aspect-ratio:4/3;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  transform:rotate(-2deg);box-shadow:0 12px 30px rgba(27,67,50,.12);
}
.daycare .packcard .num{font:600 104px/1 var(--serif);color:var(--forest);letter-spacing:-.04em}
.daycare .packcard .label{
  font:700 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);
}

/* ---------- prototype disclaimer ---------- */
.prototype-note{
  width:calc(100% - var(--pad)*2);max-width:calc(var(--maxw) - var(--pad)*2);margin:-64px auto 80px;
  padding:14px 20px;border-left:3px solid var(--gold);background:var(--mint);border-radius:0 12px 12px 0;
  font:500 13px/1.55 var(--sans);color:var(--ink-2);
}

/* ---------- what the kickstarter funds ---------- */
.funds{padding:0 var(--pad) 80px;max-width:var(--maxw);margin-inline:auto;text-align:center}
.funds .kicker{display:block;margin-bottom:12px}
.funds h2{font:600 42px/1.08 var(--serif);margin-bottom:8px}
.funds > p{margin:0 auto 36px;font:400 16px/1.5 var(--sans);color:var(--ink-2);max-width:520px}
.funds-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:left}
.fund{
  background:#fff;border-radius:24px;padding:26px 24px;box-shadow:var(--shadow-card);
  display:flex;flex-direction:column;gap:10px;
}
.fund .n{
  width:28px;height:28px;border-radius:50%;background:var(--mint);color:var(--forest);
  display:flex;align-items:center;justify-content:center;font:700 12px/1 var(--sans);flex:none;
}
.fund h3{font:600 20px/1.25 var(--serif)}
.fund p{margin:0;font:400 14.5px/1.55 var(--sans);color:var(--ink-2)}

/* ---------- faq ---------- */
.faq{padding:0 var(--pad) 80px;display:grid;grid-template-columns:.6fr 1.4fr;gap:56px;max-width:var(--maxw);margin-inline:auto;}
.faq h2{font:600 42px/1.08 var(--serif);margin-bottom:10px}
.faq .intro{font:400 14px/1.5 var(--sans);color:var(--ink-3)}
.faq-list{display:flex;flex-direction:column;gap:10px}
.faq details{background:#fff;border-radius:18px;padding:18px 22px;box-shadow:0 8px 24px rgba(27,67,50,.06)}
.faq summary{
  display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;
  font:600 17px/1.3 var(--serif);color:var(--forest);list-style:none;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";width:28px;height:28px;flex:none;border-radius:50%;border:1.5px solid var(--forest);
  display:flex;align-items:center;justify-content:center;font:600 14px/1 var(--sans);
}
.faq details[open] summary::after{
  content:"\2212";background:var(--forest);color:var(--cream);border-color:var(--forest);
}
.faq details p{margin:12px 0 0;max-width:560px;font:400 15px/1.6 var(--sans);color:var(--ink-2)}

/* ---------- footer ---------- */
.site-footer{
  margin:0 auto;width:calc(100% - var(--pad)*2);max-width:calc(var(--maxw) - var(--pad)*2);background:var(--forest-deep);color:rgba(246,241,231,.7);
  padding:20px var(--pad);display:flex;justify-content:space-between;align-items:center;gap:20px;
  font:500 12.5px/1 var(--sans);flex-wrap:wrap;
}
.site-footer .left{display:flex;gap:18px;align-items:center}
.site-footer .brandmark{font:700 18px/1 var(--serif);color:var(--cream)}
.site-footer nav{display:flex;gap:18px}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:var(--cream)}

/* ---------- legal pages ---------- */
.legal{
  max-width:min(720px, calc(100% - var(--pad)*2));margin:0 auto;padding:56px 0 80px;
}
.legal h1{font:600 44px/1.08 var(--serif);margin:10px 0 0}
.legal h2{font:600 22px/1.3 var(--serif);margin:36px 0 10px}
.legal p{margin:0 0 14px;font:400 16px/1.7 var(--sans);color:var(--ink-2)}
.legal ul{margin:0 0 14px;padding-left:22px;font:400 16px/1.7 var(--sans);color:var(--ink-2)}
.legal li{margin-bottom:6px}
.legal strong{color:var(--forest)}
.legal a{color:var(--forest);text-decoration:underline}
.legal-date{font:600 13px/1.5 var(--sans);color:var(--ink-3);margin-bottom:28px}
.legal-back{margin-top:44px;padding-top:24px;border-top:1px solid rgba(27,67,50,.12)}
@media (max-width:640px){ .legal{padding:36px 0 56px} .legal h1{font-size:32px} }

/* ---------- story page ---------- */
.story-page h1{font:600 40px/1.1 var(--serif)}
.story-page h1 em{color:var(--gold-ink)}
.story-photo{margin:32px 0;padding:0}
.story-photo img{width:100%;height:auto;border-radius:20px;box-shadow:var(--shadow-lift)}
.story-photo figcaption{
  padding-top:12px;font:600 13px/1.5 var(--sans);color:var(--ink-3);text-align:center;
}
@media (max-width:640px){ .story-page h1{font-size:30px} }

/* ===========================================================
   Thank-you page
   =========================================================== */
.thanks-main{padding:56px var(--pad) 0;max-width:920px;margin:0 auto}
.thanks-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}
.thanks-check{
  width:72px;height:72px;border-radius:50%;background:var(--gold);color:var(--forest);
  display:flex;align-items:center;justify-content:center;font:700 32px/1 var(--sans);
}
.thanks-head h1{font:600 48px/1.05 var(--serif)}
.thanks-head p{margin:0;max-width:460px;color:var(--ink-2)}
.next-card{
  margin:48px 0 0;background:var(--forest);color:var(--cream);border-radius:28px;padding:44px;
  display:flex;flex-direction:column;gap:14px;align-items:flex-start;position:relative;overflow:hidden;
}
.next-card::before{
  content:"";position:absolute;right:-50px;bottom:-60px;width:220px;height:220px;
  border-radius:50%;background:rgba(226,181,62,.12);
}
.next-card > *{position:relative}
.next-card .kicker{font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.next-card h2{color:var(--cream);font:600 34px/1.1 var(--serif)}
.next-card h2 em{color:var(--gold)}
.next-card p{margin:0;max-width:560px;font:400 15px/1.6 var(--sans);color:rgba(246,241,231,.78)}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:56px 0 0}
.timeline .item{display:flex;flex-direction:column;gap:10px}
.timeline .num{
  width:32px;height:32px;border-radius:50%;background:var(--mint);color:var(--forest);
  display:flex;align-items:center;justify-content:center;font:700 13px/1 var(--sans);
}
.timeline h3{font:600 18px/1.25 var(--serif)}
.share{margin:56px 0 0;display:flex;flex-direction:column;gap:16px}
.share h2{font:600 32px/1.1 var(--serif)}
.share p{margin:0;max-width:560px;color:var(--ink-2)}
.share .btns{display:flex;gap:12px;flex-wrap:wrap}
.bulk{
  margin:56px 0 80px;background:var(--gold);border-radius:24px;padding:32px 36px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
}
.bulk h3{font:600 24px/1.15 var(--serif)}
.bulk p{margin:6px 0 0;color:rgba(27,67,50,.85);font-size:15px}

/* ===========================================================
   Responsive — tablet then mobile (wireframe 4b)
   =========================================================== */
@media (max-width:960px){
  :root{--pad:20px}
  .hero,.row2,.story,.daycare,.band,.faq{grid-template-columns:1fr;gap:32px}
  .hero{padding-top:24px;padding-bottom:44px}
  .hero h1{font-size:40px}
  .band--final h2{font-size:36px}
  .row2 h2,.steps h2,.story h2,.faq h2,.funds h2{font-size:32px}
  .step-grid,.funds-grid{grid-template-columns:1fr}
  .step:nth-child(2){transform:none}
  .specs{grid-template-columns:1fr 1fr}
  .timeline{grid-template-columns:1fr}
  .row2{padding-top:56px}
  .compare{height:360px}
  .story-art .blob,.story-art .caption{width:100%}
  .story-art .tag{right:auto;left:12px;bottom:78px}
}

@media (max-width:640px){
  :root{--pad:16px}
  .site-header{padding:14px var(--pad)}
  .nav a:not(.pill){display:none}
  .nav .pill{font-size:12px;height:36px;padding:0 14px}
  .brand img{height:32px}
  .hero h1{font-size:32px}
  .hero-sub{font-size:16px}
  .ticks{grid-template-columns:1fr}
  .hero-cta .btn{width:100%}
  .video-card{transform:none;border-radius:22px}
  .snapshot{position:static;width:100%;transform:none;margin-top:18px;display:flex;gap:12px;align-items:center}
  .snapshot img{width:96px;height:96px;flex:none}
  .snapshot figcaption{padding:0}
  .band{padding:28px 22px;border-radius:22px}
  .band--compact{padding:24px 22px}
  .band--final{padding:40px 22px;border-radius:22px 22px 0 0}
  .band h2,.band--final h2{font-size:28px}
  .signup .row{flex-direction:column}
  .signup .name{flex:1 1 auto}
  .signup .inline{flex-direction:column}
  .signup .inline .btn{width:100%}
  .specs{grid-template-columns:1fr}
  .compare{height:300px}
  .daycare{padding:28px 22px;border-radius:22px}
  .daycare .packcard .num{font-size:76px}
  .faq summary{font-size:15.5px}
  .site-footer{padding:18px 22px;justify-content:center;text-align:center}
  .thanks-head h1{font-size:34px}
  .next-card{padding:28px 22px;border-radius:22px}
  .bulk{padding:24px 22px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}

/* ============ STRETCH GOALS ============ */
.stretch{max-width:var(--maxw);margin:0 auto;padding:72px var(--pad) 32px;text-align:center}
.stretch h2{margin:.2em 0 .5em}
.stretch-intro{max-width:62ch;margin:0 auto 32px;font-size:1.08rem;line-height:1.6}
.stretch-img{display:block;width:100%;max-width:760px;height:auto;margin:0 auto;
  border-radius:16px;box-shadow:0 8px 28px rgba(27,67,50,.13)}
.stretch-note{max-width:62ch;margin:24px auto 0;font-size:.92rem;opacity:.75;line-height:1.55}
@media(max-width:640px){.stretch{padding-top:48px}}
