  :root{
    --paper:#FCF4E6;
    --paper-deep:#F5E6C8;
    --card:#FFFDF8;
    --ink:#132F32;
    --ink-soft:#3E5A5C;
    --teal-deep:#0F5A64;
    --teal:#1C8C93;
    --teal-soft:#DEF1F2;
    --coral:#F0745A;
    --coral-deep:#D75A40;
    --coral-soft:#FBDCD1;
    --green:#7FAE4E;
    --green-deep:#4F7530;
    --green-soft:#E5F0D6;
    --gold:#E9A73B;
    --tape-yellow:#F6E6AE;
    --tape-blue:#CDEEF0;
    --tape-coral:#FBD3C6;
    --tape-green:#DCEBC4;
    --radius-lg:20px;
    --radius-md:14px;
    --shadow-soft:0 14px 34px rgba(19,47,50,0.08);
    --shadow-card:0 10px 26px rgba(19,47,50,0.07);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Plus Jakarta Sans', 'Segoe UI', Arial, sans-serif;
    color:var(--ink);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3{font-family:'Fraunces', Georgia, serif;margin:0;letter-spacing:-0.01em;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
  ::selection{background:var(--coral-soft);}

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

  /* reveal-on-scroll */
  .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* NAV */
  header.nav{
    background:rgba(252,244,230,0.92);
    backdrop-filter:blur(8px);
    position:sticky;top:0;z-index:50;
    border-bottom:1px solid rgba(19,47,50,0.07);
  }
  .nav-inner{
    max-width:1180px;margin:0 auto;padding:16px 32px;
    display:flex;align-items:center;justify-content:space-between;
  }
  .brand{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-weight:600;font-size:1.18rem;color:var(--teal-deep);}
  .brand img{height:44px;width:auto;display:block;}
  nav.links{display:flex;align-items:center;gap:30px;font-size:0.9rem;font-weight:600;color:var(--ink-soft);}
  nav.links a{transition:color .2s;position:relative;}
  nav.links a:hover{color:var(--teal-deep);}
  nav.links a.navcta{
    background:var(--teal-deep);color:#fff;padding:10px 20px;border-radius:9px;
  }
  nav.links a.navcta:hover{background:var(--coral-deep);color:#fff;}
  nav.links a.nav-signin{
    color:var(--teal-deep);border:1.5px solid var(--teal-deep);
    padding:8px 18px;border-radius:9px;font-weight:600;
  }
  nav.links a.nav-signin:hover{background:var(--teal-soft);color:var(--teal-deep);}

  /* HERO */
  .hero{
    padding:76px 0 60px;
  }
  .hero-inner{
    display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;
  }
  .eyebrow-tape{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--tape-yellow);color:#7a5b12;
    font-size:0.76rem;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;
    padding:7px 16px 7px 14px;border-radius:3px;
    transform:rotate(-2deg);
    box-shadow:0 4px 10px rgba(122,91,18,0.15);
  }
  .eyebrow-tape .rec-dot{width:7px;height:7px;border-radius:50%;background:var(--coral-deep);animation:pulse 1.6s infinite;}
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.25;}}

  .hero h1{
    font-size:3.15rem;line-height:1.08;color:var(--teal-deep);margin-top:22px;
  }
  .hero h1 em{
    font-style:italic;color:var(--coral-deep);font-weight:600;position:relative;
  }
  .hero p.sub{
    margin-top:22px;font-size:1.12rem;color:var(--ink-soft);max-width:460px;line-height:1.6;
  }
  .cta-row{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}
  .btn{
    padding:15px 28px;border-radius:10px;font-weight:700;font-size:0.94rem;
    display:inline-block;cursor:pointer;border:2px solid transparent;font-family:'Plus Jakarta Sans',sans-serif;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  }
  .btn:hover{transform:translateY(-3px);}
  .btn-primary{background:var(--coral);color:#fff;box-shadow:0 10px 22px rgba(215,90,64,0.28);}
  .btn-primary:hover{background:var(--coral-deep);}
  .btn-outline{border-color:var(--teal-deep);color:var(--teal-deep);background:transparent;}
  .btn-outline:hover{background:var(--teal-deep);color:#fff;}
  .fine-print{margin-top:18px;font-size:0.85rem;color:#6a8385;display:flex;gap:18px;flex-wrap:wrap;}
  .fine-print span::before{content:"·";margin-right:18px;color:var(--gold);font-weight:700;}
  .fine-print span:first-child::before{content:"";margin-right:0;}
  .price-pill{
    display:inline-block;margin-top:20px;background:var(--teal-soft);color:var(--teal-deep);
    font-weight:700;font-size:0.86rem;padding:11px 20px;border-radius:24px;
  }

  /* HERO SIGNATURE — voice memo ticket */
  .memo-ticket{
    background:var(--card);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-soft);
    padding:30px 30px 24px;
    transform:rotate(2deg);
    position:relative;
    max-width:400px;margin:0 auto;
  }
  .memo-ticket::before{
    content:"";position:absolute;top:-14px;left:34px;width:56px;height:26px;
    background:var(--tape-blue);opacity:0.85;transform:rotate(-6deg);border-radius:2px;
    box-shadow:0 3px 6px rgba(0,0,0,0.08);
  }
  .memo-head{
    display:flex;justify-content:space-between;align-items:center;
    font-size:0.78rem;color:var(--ink-soft);font-weight:600;letter-spacing:0.03em;
    border-bottom:1px dashed rgba(19,47,50,0.18);padding-bottom:14px;margin-bottom:6px;
  }
  .memo-head .tcode{font-variant-numeric:tabular-nums;color:var(--coral-deep);font-weight:700;}
  .bloom-svg{width:100%;height:auto;display:block;margin:6px 0 4px;}
  .memo-caption{
    text-align:center;font-size:0.85rem;color:var(--ink-soft);margin-top:4px;
    font-family:'Caveat',cursive;font-size:1.35rem;font-weight:600;color:var(--teal-deep);
  }

  /* waveform bars */
  .wave-bar{transform-origin:center bottom;animation:eq 1.4s ease-in-out infinite;}
  @keyframes eq{0%,100%{transform:scaleY(0.4);}50%{transform:scaleY(1);}}
  .stem-line{stroke-dasharray:120;stroke-dashoffset:120;animation:draw 2.4s ease forwards 0.3s;}
  @keyframes draw{to{stroke-dashoffset:0;}}
  .petal{transform-origin:150px 92px;animation:sway 4s ease-in-out infinite;}
  @keyframes sway{0%,100%{transform:rotate(0deg);}50%{transform:rotate(1.2deg);}}

  /* STAT TICKER */
  .statbar{background:var(--teal-deep);color:#fff;padding:16px 0;overflow:hidden;}
  .statbar .wrap{display:flex;flex-wrap:wrap;gap:12px 44px;justify-content:center;font-size:0.86rem;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;}
  .statbar .stat{display:flex;align-items:center;gap:9px;color:#dff0ef;}
  .statbar .stat::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block;}

  /* SECTION generic */
  section{padding:88px 0;}
  .section-eyebrow{
    display:block;text-align:center;font-family:'Caveat',cursive;font-size:1.5rem;font-weight:700;
    color:var(--coral-deep);margin-bottom:6px;
  }
  .section-title{text-align:center;color:var(--teal-deep);font-size:2.1rem;margin-bottom:12px;}
  .section-sub{text-align:center;color:var(--ink-soft);max-width:600px;margin:0 auto 40px;font-size:1.02rem;line-height:1.55;}

  .tape-row{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:6px;}
  .tape{
    padding:10px 22px;border-radius:3px;font-weight:700;font-size:0.86rem;
    box-shadow:0 5px 12px rgba(19,47,50,0.08);
  }
  .tape:nth-child(1){background:var(--tape-blue);color:var(--teal-deep);transform:rotate(-2deg);}
  .tape:nth-child(2){background:var(--tape-green);color:var(--green-deep);transform:rotate(1.5deg);}
  .tape:nth-child(3){background:var(--tape-yellow);color:#8a6a13;transform:rotate(-1deg);}
  .tape:nth-child(4){background:var(--tape-coral);color:var(--coral-deep);transform:rotate(2deg);}

  /* steps */
  .steps-section{background:var(--paper-deep);}
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px;}
  .step-card{
    background:var(--card);border-radius:var(--radius-md);padding:36px 28px;text-align:center;
    box-shadow:var(--shadow-card);
    transition:transform .2s ease;
  }
  .step-card:hover{transform:translateY(-6px);}
  .step-counter{
    width:52px;height:52px;border-radius:8px;color:#fff;font-weight:700;
    display:flex;align-items:center;justify-content:center;margin:0 auto 20px;
    font-family:'Fraunces',serif;font-size:1.3rem;
    background:repeating-linear-gradient(45deg, rgba(255,255,255,0.08) 0 2px, transparent 2px 6px);
  }
  .step-card:nth-child(1) .step-counter{background:var(--coral);}
  .step-card:nth-child(2) .step-counter{background:var(--green-deep);}
  .step-card:nth-child(3) .step-counter{background:var(--teal-deep);}
  .step-card h3{font-size:1.2rem;margin-bottom:10px;font-weight:600;}
  .step-card:nth-child(1) h3{color:var(--coral-deep);}
  .step-card:nth-child(2) h3{color:var(--green-deep);}
  .step-card:nth-child(3) h3{color:var(--teal-deep);}
  .step-card p{color:var(--ink-soft);font-size:0.94rem;line-height:1.55;margin:0;}

  /* who it's for */
  .who-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:44px;}
  .who-card{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);}
  .who-head{padding:22px 28px;color:#fff;font-weight:600;font-size:1.25rem;font-family:'Fraunces',serif;display:flex;align-items:center;gap:10px;}
  .who-card.teacher .who-head{background:var(--teal-deep);}
  .who-card.family .who-head{background:var(--green-deep);}
  .who-body{padding:26px 28px 32px;}
  .who-card.teacher .who-body{background:var(--teal-soft);}
  .who-card.family .who-body{background:var(--green-soft);}
  .who-price{font-weight:700;color:var(--ink);font-size:0.92rem;margin-bottom:16px;}
  .who-body ul{margin:0;padding:0;list-style:none;}
  .who-body li{position:relative;padding-left:24px;margin-bottom:11px;font-size:0.95rem;color:var(--ink-soft);}
  .who-body li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;}
  .who-card.teacher li::before{background:var(--teal);}
  .who-card.family li::before{background:var(--coral);}

  /* research band */
  .research{background:var(--teal-deep);color:#fff;text-align:center;position:relative;overflow:hidden;}
  .research h2{color:#fff;font-size:1.15rem;margin-bottom:44px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;font-family:'Plus Jakarta Sans',sans-serif;}
  .research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .research-grid .num{font-size:2.8rem;color:var(--gold);font-weight:700;font-family:'Fraunces',serif;}
  .research-grid p{margin-top:10px;font-size:0.92rem;color:#cfe4e4;line-height:1.5;}

  /* pricing */
  .pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:44px;}
  .price-card{
    border:2px solid rgba(19,47,50,0.08);border-radius:var(--radius-lg);padding:34px 28px;position:relative;background:var(--card);
    display:flex;flex-direction:column;transition:transform .2s ease, box-shadow .2s ease;
  }
  .price-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft);}
  .price-card.popular{border-color:var(--coral);box-shadow:0 14px 32px rgba(215,90,64,0.16);}
  .badge{
    position:absolute;top:-15px;left:28px;
    background:var(--coral);color:#fff;font-size:0.72rem;font-weight:700;
    padding:6px 16px;border-radius:20px;letter-spacing:0.05em;transform:rotate(-3deg);
    box-shadow:0 5px 10px rgba(215,90,64,0.3);
  }
  .price-card h3{font-size:1.2rem;color:var(--teal-deep);font-weight:600;}
  .price-card .amount{font-size:2.3rem;font-weight:700;color:var(--ink);margin:16px 0 2px;font-family:'Fraunces',serif;}
  .price-card .unit{font-size:0.82rem;color:#78908d;margin-bottom:20px;}
  .price-card ul{list-style:none;margin:0 0 26px;padding:0;flex:1;}
  .price-card li{position:relative;padding-left:24px;margin-bottom:12px;font-size:0.92rem;color:var(--ink-soft);}
  .price-card li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green-deep);font-weight:700;font-size:0.85rem;}
  .price-card .btn{width:100%;text-align:center;}
  .district-note{text-align:center;margin-top:32px;color:var(--ink-soft);font-size:0.9rem;}
  .district-note a{color:var(--teal);text-decoration:underline;}

  /* game modes */
  .modes-section{background:var(--paper-deep);}
  .modes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px;}
  .mode-card{
    background:var(--card);border-radius:var(--radius-md);padding:32px 28px;box-shadow:var(--shadow-card);
    transition:transform .2s ease;
  }
  .mode-card:hover{transform:translateY(-5px);}
  .mode-eyebrow{font-size:0.74rem;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:var(--coral-deep);margin-bottom:10px;}
  .mode-card:nth-child(2) .mode-eyebrow{color:var(--green-deep);}
  .mode-card:nth-child(3) .mode-eyebrow{color:var(--teal);}
  .mode-card h3{font-size:1.25rem;margin-bottom:12px;color:var(--ink);font-weight:600;}
  .mode-card p{color:var(--ink-soft);font-size:0.93rem;line-height:1.55;margin-bottom:16px;}
  .mode-tags{font-size:0.8rem;color:#83968f;font-style:italic;}

  /* testimonial */
  .testimonial{background:var(--paper);text-align:center;padding:70px 32px;}
  .testimonial .note{
    max-width:660px;margin:0 auto;background:var(--card);border-radius:var(--radius-lg);
    padding:44px 44px 36px;box-shadow:var(--shadow-soft);position:relative;transform:rotate(-0.6deg);
  }
  .testimonial .note::before{
    content:"";position:absolute;top:-13px;right:52px;width:52px;height:24px;background:var(--tape-coral);
    opacity:0.9;transform:rotate(5deg);border-radius:2px;
  }
  .testimonial blockquote{
    font-family:'Fraunces',serif;font-style:italic;font-size:1.4rem;color:var(--teal-deep);line-height:1.55;margin:0;
  }
  .testimonial cite{display:block;margin-top:20px;font-style:normal;font-size:0.88rem;color:var(--ink-soft);font-weight:700;font-family:'Plus Jakarta Sans',sans-serif;}

  /* final CTA */
  .final-cta{background:var(--green-deep);color:#fff;text-align:center;position:relative;overflow:hidden;}
  .final-cta h2{color:#fff;font-size:2.1rem;margin-bottom:12px;}
  .final-cta p{color:#e5f0da;margin-bottom:34px;font-size:1.05rem;}
  .final-stats{display:flex;justify-content:center;gap:64px;margin-bottom:38px;flex-wrap:wrap;}
  .final-stats .num{font-size:2rem;font-weight:700;font-family:'Fraunces',serif;}
  .final-stats .lbl{font-size:0.82rem;color:#e5f0da;margin-top:4px;}
  .final-cta .btn-primary{background:#fff;color:var(--green-deep);}
  .final-cta .btn-primary:hover{background:#f2f2f2;}
  .final-cta .btn-outline{border-color:#fff;color:#fff;}
  .final-cta .btn-outline:hover{background:#fff;color:var(--green-deep);}
  .final-fine{margin-top:26px;font-size:0.85rem;color:#d9ebca;line-height:1.6;}

  /* footer */
  footer{background:var(--teal-deep);color:#a9d2d3;text-align:center;padding:30px 32px;font-size:0.85rem;}
  footer a{text-decoration:underline;}

  @media (max-width:860px){
    .hero{padding:48px 0 40px;}
    .hero-inner{grid-template-columns:1fr;gap:36px;}
    .hero h1{font-size:2.3rem;}
    .steps,.who-grid,.pricing-grid,.modes-grid,.research-grid{grid-template-columns:1fr;}
    nav.links{gap:16px;}
    nav.links a:not(.navcta){display:none;}
    .final-stats{gap:32px;}
    section{padding:64px 0;}
  }

/* ---- Interior page additions ---- */
nav.links a.active{color:var(--teal-deep);}
nav.links a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--coral);border-radius:2px;
}

.page-hero{
  padding:56px 0 44px;
  border-bottom:1px solid rgba(19,47,50,0.07);
}
.page-hero .wrap{text-align:center;}
.page-hero .section-eyebrow{margin-bottom:10px;}
.page-hero h1{font-size:2.6rem;color:var(--teal-deep);line-height:1.12;}
.page-hero h1 em{font-style:italic;color:var(--coral-deep);font-weight:600;}
.page-hero p.sub{
  max-width:560px;margin:18px auto 0;font-size:1.06rem;color:var(--ink-soft);line-height:1.6;
}

.crumb{
  text-align:center;font-size:0.82rem;color:#7c928f;margin-bottom:18px;font-weight:600;letter-spacing:0.03em;
}
.crumb a{color:var(--teal);text-decoration:underline;}

/* two-col detail rows (how-it-works) */
.detail-row{
  display:grid;grid-template-columns:0.9fr 1.1fr;gap:52px;align-items:center;margin-bottom:80px;
}
.detail-row.reverse .detail-copy{order:2;}
.detail-row.reverse .detail-fig{order:1;}
.detail-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:8px;color:#fff;font-family:'Fraunces',serif;font-weight:700;font-size:1.1rem;
  margin-bottom:18px;
}
.detail-copy h3{font-size:1.5rem;color:var(--teal-deep);margin-bottom:14px;font-weight:600;}
.detail-copy p{color:var(--ink-soft);font-size:1rem;line-height:1.65;margin-bottom:14px;}
.detail-copy ul{margin:0;padding:0;list-style:none;}
.detail-copy li{position:relative;padding-left:24px;margin-bottom:10px;font-size:0.95rem;color:var(--ink-soft);}
.detail-copy li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green-deep);font-weight:700;font-size:0.85rem;}
.detail-fig{
  background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);
  padding:34px;display:flex;align-items:center;justify-content:center;min-height:220px;
}
.detail-fig .tape-row{margin-top:0;}

@media (max-width:860px){
  .detail-row,.detail-row.reverse{grid-template-columns:1fr;}
  .detail-row.reverse .detail-copy{order:1;}
  .detail-row.reverse .detail-fig{order:2;}
  .page-hero h1{font-size:2rem;}
}

/* pricing page: comparison table */
.compare-table{
  width:100%;border-collapse:collapse;margin-top:16px;background:var(--card);
  border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card);
}
.compare-table th,.compare-table td{
  padding:16px 20px;text-align:left;font-size:0.92rem;border-bottom:1px solid rgba(19,47,50,0.07);
}
.compare-table th{background:var(--teal-soft);color:var(--teal-deep);font-weight:700;}
.compare-table tr:last-child td{border-bottom:none;}
.compare-table td.check{color:var(--green-deep);font-weight:700;text-align:center;}

/* FAQ */
.faq-item{
  background:var(--card);border-radius:var(--radius-md);padding:24px 28px;margin-bottom:16px;box-shadow:var(--shadow-card);
}
.faq-item h3{font-size:1.05rem;color:var(--teal-deep);margin-bottom:8px;font-weight:600;font-family:'Fraunces',serif;}
.faq-item p{margin:0;color:var(--ink-soft);font-size:0.94rem;line-height:1.6;}

/* get-started page */
.start-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:40px;}
.start-card{
  background:var(--card);border-radius:var(--radius-lg);padding:38px 32px;box-shadow:var(--shadow-card);
  text-align:center;transition:transform .2s ease;
}
.start-card:hover{transform:translateY(-5px);}
.start-card .start-icon{
  width:56px;height:56px;border-radius:50%;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;font-weight:700;font-size:1.4rem;color:#fff;
}
.start-card.parent .start-icon{background:var(--coral);}
.start-card.school .start-icon{background:var(--teal-deep);}
.start-card h3{font-size:1.3rem;margin-bottom:10px;color:var(--ink);font-weight:600;}
.start-card p{color:var(--ink-soft);font-size:0.95rem;line-height:1.6;margin-bottom:22px;}

.mini-steps{display:flex;justify-content:center;gap:10px;margin:44px 0 0;flex-wrap:wrap;}
.mini-steps span{
  background:var(--tape-yellow);color:#7a5b12;font-size:0.8rem;font-weight:700;padding:8px 16px;border-radius:20px;
}
