:root{
  --ground:#F2F4EA; --surface:#FFFDF7; --ink:#1F3A2D; --muted:#5B7163; --line:#D9DFCC;
  --green:#3A7A55; --green-soft:#DCEBDB; --gold:#8A6314; --gold-soft:#F5E8C6; --blush:#A2455F; --blush-soft:#FAE4EA;
  --track:#E4E9DA; --on-green:#FFFDF7; --deep:#1F3A2D; --on-deep:#F2F4EA;
}
@media (prefers-color-scheme: dark){
  :root{
    --ground:#131E18; --surface:#1C2B23; --ink:#EDF2E6; --muted:#A2B7A7; --line:#2F4337;
    --green:#7CC79A; --green-soft:#21402F; --gold:#E3BC62; --gold-soft:#41361A; --blush:#F0A3B8; --blush-soft:#472832;
    --track:#293B30; --on-green:#10201A; --deep:#0C1510; --on-deep:#EDF2E6;
  }
}
*{box-sizing:border-box}
html{color-scheme:light dark;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ground);color:var(--ink);font:17px/1.6 Figtree,system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,h3{font-family:"Young Serif",Georgia,"Times New Roman",serif;font-weight:400;line-height:1.12;margin:0;text-wrap:balance}
h1{font-size:clamp(2.4rem,5.4vw,4.2rem);letter-spacing:-.01em}
h1 em{font-style:normal;color:var(--green);background:linear-gradient(transparent 68%,var(--gold-soft) 68%)}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}
h3{font-size:1.2rem}
p{margin:0}
a{color:var(--green)}
:focus-visible{outline:3px solid var(--blush);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.fine{font-size:.85rem;color:var(--muted)}
.btn{display:inline-block;font:inherit;font-weight:700;text-decoration:none;border-radius:999px;padding:9px 20px;border:1.5px solid var(--line);color:var(--ink);background:transparent;cursor:pointer}
.btn.primary{background:var(--green);border-color:var(--green);color:var(--on-green)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.ghost:hover{border-color:var(--green)}
.btn.big{padding:14px 28px;font-size:1.05rem}
.btn:disabled{opacity:.6}

.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:24px;padding:12px max(20px,calc((100vw - 1180px)/2));padding-top:calc(12px + env(safe-area-inset-top,0px));background:color-mix(in srgb,var(--ground) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:"Young Serif",Georgia,serif;font-size:1.2rem}
.nav nav{display:flex;gap:22px;margin-left:auto}
.nav nav a{color:var(--muted);text-decoration:none;font-weight:600;font-size:.95rem}
.nav nav a:hover{color:var(--ink)}
.navcta{display:flex;gap:8px}
@media (max-width:820px){.nav nav{display:none}.navcta{margin-left:auto}.navcta .ghost{display:none}}

.hero{position:relative;max-width:1180px;margin-inline:auto;padding:72px 20px 56px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:20px}
.sub{font-size:1.15rem;color:var(--muted);max-width:56ch}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.pill{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 10px}
.pill.blush{background:var(--blush-soft);color:var(--blush)}
.bar{height:8px;border-radius:999px;background:var(--track);overflow:hidden}
.bar i{display:block;height:100%;border-radius:999px}
.band{position:relative;height:14px;border-radius:999px;background:var(--track)}
.band i{position:absolute;top:3px;height:8px;border-radius:999px}
.band u{position:absolute;top:-3px;width:3px;height:20px;border-radius:2px;text-decoration:none}
.band .tl{background:var(--ink)}.band .lw{background:var(--gold)}
.bub{padding:9px 13px;border-radius:15px;max-width:92%}
.bub.u{background:var(--gold-soft);align-self:flex-end;border-bottom-right-radius:5px}
.bub.a{background:var(--green-soft);align-self:flex-start;border-bottom-left-radius:5px}
.chg{font-size:.78rem;color:var(--muted);border-left:3px solid var(--gold);padding-left:8px}

.truth{background:var(--deep);color:var(--on-deep)}
.truth-in{max-width:900px;margin-inline:auto;padding:64px 20px;display:flex;flex-direction:column;gap:18px}
.truth h2{color:var(--on-deep)}
.bigp{font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.5}
.bigp b{color:#E3BC62;font-weight:700;white-space:nowrap}
.truth .eyebrow{color:#E3BC62}
.truth .fine{color:color-mix(in srgb,var(--on-deep) 65%,transparent)}

.sec{max-width:1180px;margin-inline:auto;padding:80px 20px}
.sec.alt{max-width:none;background:var(--surface);border-block:1px solid var(--line)}
.sec.alt>*{max-width:1140px;margin-inline:auto}
.sec-head{display:flex;flex-direction:column;gap:10px;margin-bottom:36px;max-width:760px}
.sec.alt .sec-head{margin-inline:auto;max-width:1140px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.steps li{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:8px}
.steps .n{font-family:"Young Serif",Georgia,serif;font-size:1.1rem;width:38px;height:38px;border-radius:50%;background:var(--green-soft);color:var(--green);display:flex;align-items:center;justify-content:center}
.steps p,.feat p{color:var(--muted);font-size:.98rem}
.tablewrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:700px}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top;font-size:.97rem}
thead th{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
tbody th{font-weight:700}
.us{background:var(--green-soft)}
thead .us{color:var(--green);border-radius:14px 14px 0 0}
tbody tr:last-child .us{border-radius:0 0 14px 14px}
.feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px 36px}
.feat article{display:flex;flex-direction:column;gap:8px;border-top:2px solid var(--gold);padding-top:16px}

.invite{background:var(--green-soft)}
.invite-in{max-width:720px;margin-inline:auto;padding:80px 20px;display:flex;flex-direction:column;gap:16px;text-align:center;align-items:center}
.invite form{display:flex;flex-direction:column;gap:10px;width:100%;max-width:480px}
.invite input{font:inherit;padding:14px 18px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);width:100%}

.faq{max-width:820px;display:flex;flex-direction:column}
.faq details{border-bottom:1px solid var(--line);padding-block:18px}
.faq summary{cursor:pointer;font-weight:700;font-size:1.08rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--muted);margin-top:10px;max-width:65ch}
.foot{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;padding:28px max(20px,calc((100vw - 1180px)/2));padding-bottom:calc(28px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}

.shots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.shot{margin:0;display:flex;flex-direction:column;gap:12px}
.shot.wide{grid-column:1/-1}
.shot img{display:block;width:100%;height:auto;border-radius:20px;border:1px solid var(--line);box-shadow:0 24px 60px -34px rgba(20,50,30,.45);background:#FFFDF7}
.shot figcaption{color:var(--muted);font-size:.98rem;max-width:70ch}
.shot figcaption b{color:var(--ink)}
@media (max-width:820px){.shots{grid-template-columns:1fr}}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:820px!important}
.plan{background:var(--ground);border:1px solid var(--line);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.plan.now{border:2px solid var(--green);background:var(--surface)}
.plan .pill{border:1px solid var(--line)}
.plan .price{font-family:"Young Serif",Georgia,serif;font-size:2.6rem;line-height:1}
.plan .price.small{font-size:1.5rem;color:var(--muted)}
.plan ul{margin:0 0 6px;padding-left:1.1em;color:var(--muted);display:flex;flex-direction:column;gap:6px}

/* ---- v2: brand, hero, motion ---- */
.logo span b{color:var(--green)}
.hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55}
.blob.b1{width:520px;height:520px;left:-160px;top:-140px;background:var(--green-soft)}
.blob.b2{width:420px;height:420px;right:-120px;top:40px;background:var(--gold-soft)}
.blob.b3{width:340px;height:340px;right:22%;bottom:-160px;background:var(--blush-soft)}
@media (prefers-color-scheme:dark){.blob{opacity:.5}}
.proof{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--muted);font-size:.95rem}
.proof li{display:flex;align-items:center;gap:8px}
.proof li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);flex:none}
.proof b{color:var(--ink)}
.hero-shot{position:relative;padding-bottom:64px}
.frame{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(20,50,30,.5),0 0 0 6px color-mix(in srgb,var(--surface) 60%,transparent)}
.frame-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--ground);font-size:.72rem;color:var(--muted)}
.frame-bar i{width:9px;height:9px;border-radius:50%;background:var(--line)}
.frame-bar i:nth-child(1){background:#E58C7A}.frame-bar i:nth-child(2){background:#E9C46A}.frame-bar i:nth-child(3){background:#8DC7A0}
.frame-bar span{margin-left:10px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:2px 10px}
.frame img{display:block;width:100%;height:auto}
.float-card{position:absolute;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 24px 50px -24px rgba(20,50,30,.45);display:flex;flex-direction:column;gap:8px;font-size:.88rem}
.chat-card{left:-28px;bottom:0;width:min(330px,72%)}
.score-card{right:-20px;top:26%;width:190px;align-items:flex-start;gap:4px}
.score-card b{font-size:.95rem;line-height:1.25}
.score-card small,.chat-card small{color:var(--muted)}
.mock-score{font-family:"Young Serif",Georgia,serif;font-size:2.4rem;color:var(--blush);line-height:1}
.mock-score small{font-size:.9rem;color:var(--muted)}
@media (prefers-reduced-motion:no-preference){
  .float-card{animation:float 7s ease-in-out infinite}
  .score-card{animation-delay:-3s}
  @keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
}
@media (max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:40px;gap:32px}
  .hero-shot{padding-bottom:0;display:flex;flex-direction:column;gap:14px}
  .float-card{position:static;width:100%;animation:none}
  .score-card{flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px}
}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:6px 0 10px}
.stat{display:flex;flex-direction:column;gap:4px;border-left:2px solid color-mix(in srgb,#E3BC62 60%,transparent);padding-left:16px}
.stat .num{font-family:"Young Serif",Georgia,serif;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.1;color:#E3BC62;font-variant-numeric:tabular-nums}
.stat:last-child .num{color:#F0A3B8}
.stat .lbl{font-size:.9rem;color:color-mix(in srgb,var(--on-deep) 75%,transparent)}
@media (max-width:640px){.stats{grid-template-columns:1fr;gap:14px}}

/* partner demo */
.partner-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.partner-grid .rv:first-child{display:flex;flex-direction:column;gap:16px}
.ticks{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;color:var(--muted)}
.ticks li{padding-left:28px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.35em;width:16px;height:16px;border-radius:50%;background:var(--green-soft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%233A7A55' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:100%}
.demo{background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 70px -40px rgba(20,50,30,.5);overflow:hidden}
.demo-head{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line);font-weight:700;font-size:.92rem}
.demo-head i{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}
.demo-log{display:flex;flex-direction:column;gap:10px;padding:18px;font-size:.95rem}
.bub.typing{display:flex;gap:5px;align-items:center;padding:12px 14px;width:auto}
.bub.typing span{width:7px;height:7px;border-radius:50%;background:var(--gold);opacity:.5}
@media (prefers-reduced-motion:no-preference){
  .bub.typing span{animation:dot 1.2s infinite}
  .bub.typing span:nth-child(2){animation-delay:.2s}.bub.typing span:nth-child(3){animation-delay:.4s}
  @keyframes dot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
}
@media (max-width:900px){.partner-grid{grid-template-columns:1fr;gap:32px}}

/* who */
.who{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.who article{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:8px;transition:transform .25s,box-shadow .25s}
.who article:hover{transform:translateY(-3px);box-shadow:0 24px 50px -30px rgba(20,50,30,.45)}
.who .ico{font-size:1.7rem;line-height:1;width:48px;height:48px;border-radius:14px;background:var(--gold-soft);display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.who p{color:var(--muted);font-size:.98rem}

/* steps + feat hover */
.steps li,.feat article{transition:transform .25s}
.steps li:hover{transform:translateY(-3px)}

/* reveal */
@media (prefers-reduced-motion:no-preference){
  .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
  .rv.d1{transition-delay:.12s}.rv.d2{transition-delay:.24s}
  .rv.in{opacity:1;transform:none}
}
.no-js .rv{opacity:1;transform:none}

/* sticky mobile CTA */
.sticky-cta{display:none}
@media (max-width:820px){
  .sticky-cta{display:block;position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:20;text-align:center;background:var(--green);color:var(--on-green);font-weight:700;text-decoration:none;padding:14px;border-radius:999px;box-shadow:0 14px 34px -14px rgba(20,50,30,.6);transform:translateY(120%);transition:transform .3s}
  .sticky-cta.show{transform:none}
  .foot{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
}

/* Terms and Privacy. Plain reading column on the same palette as the landing page. */
.legal{max-width:720px;margin:0 auto;padding:48px 20px 64px}
.legal h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:10px}
.legal h2{font-size:1.35rem;margin:36px 0 10px}
.legal h3{font-size:1.05rem;margin:22px 0 6px}
.legal p,.legal li{color:var(--ink);margin:10px 0}
.legal ul{padding-left:20px;margin:10px 0}
.legal .updated{color:var(--muted);font-size:.9rem;margin-bottom:28px}
.legal .back{display:inline-block;margin-bottom:28px;font-weight:700;text-decoration:none}
.legal table{width:100%;border-collapse:collapse;margin:14px 0;font-size:.95rem}
.legal th,.legal td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.legal thead th{background:var(--green-soft)}
