:root{
  --purple:#B197FC; --purple-dark:#5C3FD6;
  --blue:#4DABF7; --green:#69DB7C; --orange:#FFA94D; --yellow:#FFD43B;
  --pink:#FF8FB1; --red:#FF6B6B; --teal:#4ECDC4;
  --paper:#FFF9F2; --card:#FFFFFF; --card2:#EDE8F5;
  --ink:#2B2640; --ink-soft:#5C5378; --ink-faint:#A09BB8;
  --r:22px; --r-big:48px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Baloo 2',sans-serif;background:var(--paper);color:var(--ink);overflow-x:hidden;font-weight:500}
h1,h2,h3,h4,.fredoka{font-family:'Fredoka',sans-serif}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}

/* ---------- scroll progress ribbon ---------- */
.progress{position:fixed;top:0;left:0;height:6px;width:0;z-index:200;
  background:linear-gradient(90deg,var(--purple-dark),var(--blue),var(--green),var(--yellow),var(--orange),var(--red));
  border-radius:0 99px 99px 0;transition:width .1s linear}

/* ---------- top bar ---------- */
.topbar{position:fixed;top:0;left:0;right:0;z-index:150;display:flex;justify-content:space-between;align-items:center;
  padding:16px 28px 26px;backdrop-filter:blur(7px);border-bottom:none;
  -webkit-mask-image:linear-gradient(180deg,#000 64%,transparent);mask-image:linear-gradient(180deg,#000 64%,transparent);
  background:linear-gradient(180deg,var(--paper) 38%,rgba(255,249,242,.78) 66%,rgba(255,249,242,0) 100%)}
.brand{display:flex;align-items:center;gap:10px}
.brand .lw-logo{height:34px;width:auto;display:block}
@media(max-width:560px){.brand .lw-logo{height:28px}}
.topnav{display:flex;gap:6px;align-items:center}
.topnav a:not(.cta-btn){font-weight:700;font-size:.92rem;color:var(--ink-soft);padding:8px 14px;border-radius:99px;transition:.2s}
.topnav a:not(.cta-btn):hover{background:var(--card2);color:var(--ink)}
.cta-btn{display:inline-block;background:var(--purple-dark);color:#fff;font-weight:800;font-size:.95rem;
  padding:11px 24px;border-radius:99px;box-shadow:0 6px 0 #46309f;transition:transform .15s,box-shadow .15s}
.cta-btn:hover{transform:translateY(2px);box-shadow:0 4px 0 #46309f}
.cta-btn:active{transform:translateY(6px);box-shadow:0 0 0 #46309f}
.cta-btn.sun{background:var(--yellow);color:var(--ink);box-shadow:0 6px 0 #d9ae00}
.cta-btn.sun:hover{box-shadow:0 4px 0 #d9ae00}
.cta-btn.sun:active{box-shadow:0 0 0 #d9ae00}
.cta-btn.ghost{background:transparent;color:var(--purple-dark);box-shadow:inset 0 0 0 3px var(--purple-dark)}
.cta-btn.ghost:hover{background:rgba(92,63,214,.06)}
@media(max-width:760px){.topnav a:not(.cta-btn){display:none}}

/* ---------- shared section bits ---------- */
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
section{padding:84px 0;position:relative}
.eyebrow{display:inline-block;font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;
  background:var(--card2);color:var(--purple-dark);padding:7px 16px;border-radius:99px;margin-bottom:18px}
.sec-h{font-size:clamp(1.9rem,4.4vw,2.9rem);font-weight:700;line-height:1.12;margin-bottom:14px}
.sec-p{color:var(--ink-soft);font-size:1.1rem;max-width:680px;line-height:1.65}
.center{text-align:center}.center .sec-p{margin:0 auto}
.squig{position:relative;display:inline-block;white-space:nowrap}
.squig svg{position:absolute;left:0;bottom:-10px;width:100%;height:14px;overflow:visible}
.squig path{fill:none;stroke:var(--orange);stroke-width:5;stroke-linecap:round}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}

/* ---------- HERO ---------- */
.hero{min-height:auto;padding:128px 0 60px;overflow:hidden;text-align:center}
.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.28;pointer-events:none;animation:drift 16s ease-in-out infinite}
.blob.b1{width:520px;height:520px;background:var(--purple);top:-200px;left:-120px}
.blob.b2{width:480px;height:480px;background:var(--yellow);top:-180px;right:-120px;animation-delay:-5s}
.blob.b3{width:320px;height:320px;background:var(--pink);top:-140px;left:38%;animation-delay:-9s;opacity:.2}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-30px) scale(1.08)}66%{transform:translate(-30px,24px) scale(.94)}}
@keyframes float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-18px) rotate(4deg)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.hero-cast{position:relative;max-width:680px;margin:0 auto 14px;z-index:2}
.hero-cast img{width:100%;filter:drop-shadow(0 22px 26px rgba(43,38,64,.16));animation:floaty 7s ease-in-out infinite}
.hero-cast::after{content:"";position:absolute;left:50%;bottom:4%;transform:translateX(-50%);
  width:60%;height:26px;background:radial-gradient(ellipse,rgba(43,38,64,.16),transparent 70%);filter:blur(7px);z-index:-1}
.hero h1{font-size:clamp(2rem,4.8vw,3.3rem);font-weight:700;line-height:1.1;margin:0 auto 18px;max-width:900px}
.hero h1 .rb{display:inline-block}
.hero-sub{font-size:clamp(1.05rem,1.9vw,1.2rem);color:var(--ink-soft);line-height:1.62;max-width:700px;margin:0 auto 28px}
.hero-sub b{color:var(--ink)}
.hero-facts{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;max-width:780px;
  margin:0 auto 32px;text-align:left}
.hero-facts li{padding-left:34px;position:relative;color:var(--ink-soft);font-weight:600;font-size:1rem;line-height:1.4}
.hero-facts li::before{content:"✓";position:absolute;left:0;top:1px;width:23px;height:23px;border-radius:50%;
  background:var(--green);color:#fff;font-size:.8rem;font-weight:800;display:grid;place-items:center}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:center}

/* ---------- TRY (live word card) ---------- */
.try-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
@media(max-width:920px){.try-grid{grid-template-columns:1fr;gap:40px}}
.demo-col{position:relative;max-width:430px;width:100%;margin:0 auto}

/* ---------- live word card ---------- */
.demo-tag{position:absolute;top:-16px;left:28px;z-index:6;background:var(--ink);color:#fff;font-weight:800;
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:7px 16px;border-radius:99px}
.word-stage{position:relative;background:var(--card);border-radius:var(--r-big);padding:26px;
  box-shadow:0 24px 60px rgba(43,38,64,.14),0 3px 0 rgba(43,38,64,.05);border:3px solid rgba(43,38,64,.07);
  transform:rotate(1.2deg);transition:transform .3s}
.word-stage:hover{transform:rotate(0deg) scale(1.01)}
.word-img{border-radius:28px;overflow:hidden;aspect-ratio:1/1;background:var(--card2)}
.word-img img{width:100%;height:100%;object-fit:contain;transition:opacity .25s,transform .5s}
.word-stage.swapping .word-img img{opacity:0;transform:scale(1.05)}
.word-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.word-txt{min-width:0}
.word-main{font-family:'Fredoka',sans-serif;font-weight:700;font-size:clamp(1.9rem,4vw,2.5rem);line-height:1.05;transition:opacity .2s}
.word-sub{color:var(--ink-faint);font-weight:700;font-size:1rem;margin-top:2px;transition:opacity .2s}
.word-stage.swapping .word-main,.word-stage.swapping .word-sub{opacity:0}
.hear-btn{flex:none;width:68px;height:68px;border-radius:50%;background:var(--green);font-size:1.8rem;
  display:grid;place-items:center;box-shadow:0 6px 0 #3fae55;transition:transform .15s,box-shadow .15s}
.hear-btn:hover{transform:translateY(2px);box-shadow:0 4px 0 #3fae55}
.hear-btn:active{transform:translateY(6px);box-shadow:0 0 0 #3fae55}
.word-stage.speaking .hear-btn{animation:pulse 1s ease infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.next-word{margin-top:16px;width:100%;background:var(--card2);color:var(--purple-dark);font-weight:800;
  font-size:1rem;padding:13px;border-radius:99px;transition:.2s}
.next-word:hover{background:#e2dbf3}
.lang-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;justify-content:center}
.lang-chip{font-weight:700;font-size:.85rem;padding:7px 13px;border-radius:99px;
  background:var(--card);border:2px solid rgba(43,38,64,.1);color:var(--ink-soft);transition:.18s;display:flex;gap:6px;align-items:center}
.lang-chip:hover{transform:translateY(-2px);border-color:var(--purple)}
.lang-chip.on{background:var(--purple-dark);border-color:var(--purple-dark);color:#fff;box-shadow:0 4px 12px rgba(92,63,214,.35)}
.lang-note{text-align:center;color:var(--ink-faint);font-size:.85rem;font-weight:700;margin-top:10px}
.peek{position:absolute;width:92px;filter:drop-shadow(0 8px 14px rgba(43,38,64,.18));pointer-events:none;z-index:5}
.peek.p2{top:-46px;right:-20px;transform:rotate(9deg);width:94px;animation:float 7s ease-in-out infinite}

/* ---------- counters strip ---------- */
.stats{background:var(--ink);border-radius:var(--r-big);padding:56px 40px;position:relative;overflow:hidden}
.stats::before{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 12% 20%,rgba(177,151,252,.25),transparent 40%),
  radial-gradient(circle at 88% 80%,rgba(78,205,196,.22),transparent 40%)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
@media(max-width:760px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
.stat{text-align:center;color:#fff}
.stat .num{font-family:'Fredoka',sans-serif;font-weight:700;font-size:clamp(2rem,4.5vw,3rem)}
.stat .lbl{color:rgba(255,255,255,.66);font-weight:700;margin-top:4px;font-size:.95rem}
.stat:nth-child(1) .num{color:var(--yellow)}.stat:nth-child(2) .num{color:var(--teal)}
.stat:nth-child(3) .num{color:var(--pink)}.stat:nth-child(4) .num{color:var(--green)}

/* ---------- HOW IT WORKS ---------- */
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:46px}
@media(max-width:920px){.how-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.how-grid{grid-template-columns:1fr}}
.how{background:var(--card);border-radius:30px;padding:28px 22px;border:3px solid rgba(43,38,64,.06);
  border-top-width:6px;transition:transform .25s,box-shadow .25s;text-align:left}
.how:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(43,38,64,.1)}
.how .n{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-family:'Fredoka',sans-serif;
  font-weight:700;font-size:1.25rem;color:#fff;margin-bottom:14px}
.how h4{font-size:1.18rem;font-weight:700;margin-bottom:8px}
.how p{color:var(--ink-soft);font-size:.95rem;line-height:1.55}

/* ---------- SCIENCE ---------- */
.sci{background:linear-gradient(180deg,var(--paper),#F6EEFF 30%,#F6EEFF 70%,var(--paper))}
.sci-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}
@media(max-width:920px){.sci-grid{grid-template-columns:1fr}}
.sci-card{background:var(--card);border-radius:30px;padding:30px 26px;border:3px solid rgba(43,38,64,.06);text-align:left;
  display:flex;flex-direction:column}
.sci-card .big{font-family:'Fredoka',sans-serif;font-weight:700;font-size:2.5rem;line-height:1;margin-bottom:10px}
.sci-card h4{font-size:1.18rem;font-weight:700;margin-bottom:8px}
.sci-card p{color:var(--ink-soft);font-size:.95rem;line-height:1.6;flex:1}
.sci-card .src{margin-top:16px;font-size:.78rem;font-weight:700;color:var(--ink-faint)}
.sci-card .lws{margin-top:10px;background:var(--card2);border-radius:14px;padding:10px 14px;font-size:.88rem;
  font-weight:700;color:var(--purple-dark)}

/* ---------- TRACE ---------- */
.trace-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
@media(max-width:920px){.trace-grid{grid-template-columns:1fr}}
.trace-card{background:var(--card);border-radius:var(--r-big);padding:24px;border:3px solid rgba(43,38,64,.07);
  box-shadow:0 24px 60px rgba(43,38,64,.12);transform:rotate(-1.4deg)}
.trace-canvas-wrap{position:relative;border-radius:28px;overflow:hidden;background:repeating-linear-gradient(
  180deg,#FDF6EC 0 46px,#F4E9DA 46px 48px);touch-action:none}
canvas#traceCanvas{display:block;width:100%;cursor:crosshair}
.trace-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}
.letter-chips{display:flex;gap:8px}
.letter-chip{width:52px;height:52px;border-radius:16px;font-family:'Fredoka',sans-serif;font-weight:700;font-size:1.4rem;
  background:var(--card2);color:var(--ink-soft);transition:.18s;border:2px solid transparent}
.letter-chip:hover{transform:translateY(-3px)}
.letter-chip.on{background:var(--orange);color:#fff;box-shadow:0 5px 0 #d9842a}
.trace-clear{font-weight:800;color:var(--ink-faint);padding:10px 18px;border-radius:99px;background:var(--card2);transition:.2s}
.trace-clear:hover{color:var(--ink)}
.trace-progress{height:12px;background:var(--card2);border-radius:99px;margin-top:14px;overflow:hidden}
.trace-progress i{display:block;height:100%;width:0;border-radius:99px;transition:width .2s;
  background:linear-gradient(90deg,var(--green),var(--teal))}
.trace-cheer{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .3s}
.trace-cheer.show{opacity:1}
.trace-cheer .bubble{background:#fff;border-radius:24px;padding:18px 30px;font-family:'Fredoka',sans-serif;
  font-weight:700;font-size:1.5rem;color:var(--purple-dark);box-shadow:0 16px 40px rgba(43,38,64,.25);
  animation:cheerPop .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes cheerPop{from{transform:scale(.3) rotate(-8deg);opacity:0}to{transform:none;opacity:1}}
.confetti-bit{position:absolute;width:12px;height:12px;border-radius:3px;pointer-events:none;animation:confetti 1.4s ease-out forwards}
@keyframes confetti{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--cx),var(--cy)) rotate(540deg)}}

/* ---------- LIBRARY GALLERY ---------- */
.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;margin-top:46px}
.gal{background:var(--card);border-radius:20px;padding:10px;border:3px solid rgba(43,38,64,.06);cursor:pointer;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;text-align:left}
.gal:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 18px 40px rgba(43,38,64,.12)}
.gal .im{border-radius:14px;overflow:hidden;aspect-ratio:1/1;background:var(--card2)}
.gal .im img{width:100%;height:100%;object-fit:contain}
.gal .cap{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 6px 2px}
.gal .cap b{font-family:'Fredoka',sans-serif;font-weight:600;font-size:1rem;line-height:1.1}
.gal .cap small{color:var(--ink-faint);font-weight:700;display:block;font-size:.74rem}
.gal .spk{width:34px;height:34px;border-radius:50%;background:var(--card2);display:grid;place-items:center;font-size:.95rem;flex:none}
.gal.speaking .spk{background:var(--green);animation:pulse 1s ease infinite}

/* ---------- ECOSYSTEM ---------- */
.eco-tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:40px 0 30px}
.eco-tab{display:flex;gap:8px;align-items:center;font-weight:800;font-size:.98rem;padding:12px 22px;border-radius:99px;
  background:var(--card);border:2px solid rgba(43,38,64,.1);color:var(--ink-soft);transition:.2s}
.eco-tab:hover{transform:translateY(-2px)}
.eco-tab.on{background:var(--ink);border-color:var(--ink);color:#fff}
.eco-pane{display:none;background:var(--card);border-radius:var(--r-big);padding:46px;border:3px solid rgba(43,38,64,.06);
  box-shadow:0 18px 50px rgba(43,38,64,.08)}
.eco-pane.show{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;animation:fadeUp .45s ease}
@media(max-width:860px){.eco-pane.show{grid-template-columns:1fr}}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.eco-pane h3{font-size:1.7rem;font-weight:700;margin-bottom:10px}
.eco-pane p{color:var(--ink-soft);line-height:1.65;margin-bottom:16px}
.eco-pane ul{list-style:none}
.eco-pane li{padding-left:30px;position:relative;margin-bottom:10px;color:var(--ink-soft);font-weight:600}
.eco-pane li::before{content:"✦";position:absolute;left:4px;color:var(--orange);font-size:1rem}
.eco-art{border-radius:28px;overflow:hidden;aspect-ratio:1/1;background:var(--card2)}
.eco-art img{width:100%;height:100%;object-fit:contain}
.eco-art.pad{display:grid;place-items:center;padding:30px}
.eco-art.pad img{width:70%;height:auto;object-fit:contain}

/* ---------- AUDIENCES ---------- */
.aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}
@media(max-width:920px){.aud-grid{grid-template-columns:1fr}}
.aud{background:var(--card);border-radius:30px;padding:30px 26px;border:3px solid rgba(43,38,64,.06);text-align:left;
  display:flex;flex-direction:column}
.aud .ic{height:104px;margin-bottom:14px;display:flex;align-items:flex-end}
.aud .ic img{height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(43,38,64,.16))}
.aud h4{font-size:1.25rem;font-weight:700;margin-bottom:10px}
.aud ul{list-style:none;flex:1}
.aud li{padding-left:26px;position:relative;margin-bottom:9px;color:var(--ink-soft);font-weight:600;font-size:.95rem;line-height:1.5}
.aud li::before{content:"•";position:absolute;left:8px;color:var(--ink-faint)}
.aud .foot{margin-top:16px;font-weight:800;color:var(--purple-dark);font-size:.95rem}

/* ---------- BUDDIES STRIP ---------- */
.bud-strip{display:flex;justify-content:center;gap:0;margin:40px auto 18px;flex-wrap:wrap}
.bud-c{position:relative;cursor:pointer;margin:0 -7px;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.bud-c img{width:92px;height:92px;object-fit:contain;display:block;filter:drop-shadow(0 8px 14px rgba(43,38,64,.15));
  transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.bud-c.talking{z-index:6}
.bud-c.talking img{animation:wiggle .55s ease infinite}
.bud-bubble{position:absolute;left:50%;bottom:calc(100% - 4px);transform:translateX(-50%) scale(.5);transform-origin:bottom center;
  background:var(--ink);color:#fff;font-weight:700;font-size:.84rem;line-height:1.32;padding:10px 14px;border-radius:14px;width:188px;
  opacity:0;pointer-events:none;transition:.25s cubic-bezier(.34,1.56,.64,1);z-index:20;text-align:center}
.bud-bubble::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:7px solid transparent;border-top-color:var(--ink)}
.bud-c.talking .bud-bubble{opacity:1;transform:translateX(-50%) scale(1)}
@keyframes wiggle{0%,100%{transform:translateY(-7px) rotate(-3deg)}50%{transform:translateY(-7px) rotate(3deg)}}
.bud-names{text-align:center;color:var(--ink-faint);font-weight:700;font-size:.92rem;max-width:640px;margin:0 auto}

/* ---------- WORD GAP BAND ---------- */
.gap-band{background:radial-gradient(120% 160% at 50% 0%,#3A3160,var(--ink));border-radius:var(--r-big);
  padding:70px 40px;text-align:center;color:#fff;overflow:hidden;position:relative}
.gap-band .big{font-family:'Fredoka',sans-serif;font-weight:700;font-size:clamp(2.4rem,6vw,3.8rem);
  background:linear-gradient(90deg,var(--yellow),var(--orange),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.05}
.gap-band p{color:rgba(255,255,255,.72);max-width:580px;margin:14px auto 0;font-size:1.08rem;line-height:1.65}
.gap-band small{display:block;margin-top:18px;color:rgba(255,255,255,.4);font-weight:700}

/* ---------- FAQ ---------- */
.faq-list{max-width:760px;margin:46px auto 0;text-align:left}
.faq{background:var(--card);border:3px solid rgba(43,38,64,.06);border-radius:24px;margin-bottom:14px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:20px 26px;font-family:'Fredoka',sans-serif;font-weight:600;
  font-size:1.08rem;display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--purple-dark);transition:transform .25s;flex:none}
.faq[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 26px 22px;color:var(--ink-soft);line-height:1.65;font-size:.98rem}

/* ---------- ACCESS TIERS ---------- */
.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}
@media(max-width:920px){.tier-grid{grid-template-columns:1fr}}
.tier{background:var(--card);border-radius:30px;padding:32px 28px;border:3px solid rgba(43,38,64,.07);text-align:left;
  display:flex;flex-direction:column;position:relative}
.tier.hot{border-color:var(--purple-dark);box-shadow:0 18px 44px rgba(92,63,214,.16)}
.tier .badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--purple-dark);color:#fff;
  font-weight:800;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;padding:6px 16px;border-radius:99px}
.tier h4{font-size:1.3rem;font-weight:700;margin-bottom:4px}
.tier .who{color:var(--ink-faint);font-weight:700;font-size:.9rem;margin-bottom:18px}
.tier ul{list-style:none;flex:1;margin-bottom:22px}
.tier li{padding-left:28px;position:relative;margin-bottom:9px;color:var(--ink-soft);font-weight:600;font-size:.94rem;line-height:1.5}
.tier li::before{content:"✓";position:absolute;left:0;top:0;width:19px;height:19px;border-radius:50%;
  background:var(--card2);color:var(--purple-dark);font-size:.7rem;font-weight:800;display:grid;place-items:center}
.tier .cta-btn{text-align:center}

/* ---------- DOWNLOAD ---------- */
.dl{padding-bottom:60px}
.dl-card{background:linear-gradient(135deg,#FFE9C7,#FFD9E8 55%,#E3D9FF);border-radius:var(--r-big);
  padding:64px 40px;text-align:center;position:relative}
.store-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.store-badges{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.store-badge{display:inline-flex;align-items:center;gap:11px;background:var(--ink);color:#fff;border-radius:15px;
  padding:11px 22px;transition:transform .15s,box-shadow .15s;box-shadow:0 6px 0 #181527}
.store-badge:hover{transform:translateY(2px);box-shadow:0 4px 0 #181527}
.store-badge:active{transform:translateY(6px);box-shadow:0 0 0 #181527}
.store-badge svg{width:23px;height:23px;flex:none;fill:#fff}
.store-badge .tx{text-align:left;line-height:1.12}
.store-badge .tx small{display:block;font-size:.66rem;font-weight:600;opacity:.78;letter-spacing:.03em}
.store-badge .tx b{font-family:'Fredoka',sans-serif;font-size:1.06rem;font-weight:600;letter-spacing:.01em}
footer{padding:36px 0 48px;text-align:center;color:var(--ink-faint);font-weight:700;font-size:.9rem}
footer .mini{display:flex;gap:18px;justify-content:center;margin-bottom:12px;flex-wrap:wrap}
footer .mini a:hover{color:var(--ink)}

/* ---------- MOBILE ---------- */
@media(max-width:600px){
  .topbar{padding:12px 14px 22px;top:0}
  .progress{height:5px}
  .brand .lw-logo{height:23px}
  .topnav{gap:0}
  .topnav .cta-btn{padding:9px 16px;font-size:.84rem;box-shadow:0 5px 0 #46309f}
  section{padding:54px 0}
  .wrap{padding:0 18px}
  .hero{min-height:auto;padding:92px 0 40px}
  .hero-cast{margin-bottom:6px}
  .hero h1{font-size:clamp(1.85rem,7.6vw,2.3rem);margin-bottom:16px}
  .hero-sub{font-size:1.02rem;margin-bottom:22px}
  .hero-facts{grid-template-columns:1fr;gap:10px;max-width:330px}
  .hero-facts li{font-size:.96rem}
  .hero-ctas{gap:10px}
  .hero-ctas .cta-btn{flex:1;text-align:center;min-width:140px}
  .sec-h{font-size:clamp(1.55rem,6.6vw,2rem)}
  .sec-p{font-size:1rem}
  .eyebrow{font-size:.74rem;margin-bottom:14px}
  .stats{padding:34px 20px;border-radius:30px}
  .stats-grid{gap:18px 14px}
  .stat .num{font-size:2.3rem}
  .demo-col{margin-top:8px}
  .demo-tag{left:50%;transform:translateX(-50%);font-size:.72rem}
  .word-stage{transform:none;padding:20px}
  .peek.p2{width:60px;top:-26px;right:-4px}
  .lang-chip{font-size:.8rem;padding:6px 11px}
  .how-grid,.sci-grid,.aud-grid{gap:16px;margin-top:34px}
  .how,.sci-card,.aud{padding:24px 20px}
  .trace-grid{gap:30px}
  .trace-card{transform:none;padding:18px}
  .gal-grid{margin-top:34px;gap:16px}
  .eco-tabs{gap:8px;margin:30px 0 24px}
  .eco-tab{padding:10px 16px;font-size:.9rem}
  .eco-pane.show{padding:26px 22px;gap:26px}
  .eco-pane h3{font-size:1.4rem}
  .gap-band{padding:48px 26px;border-radius:32px}
  .gap-band .big{font-size:clamp(2rem,9vw,2.8rem)}
  .gap-band p{font-size:1rem}
  .bud-strip{max-width:250px;row-gap:8px}
  .bud-c{margin:0 -3px}
  .bud-c img{width:60px;height:60px}
  .bud-bubble{width:148px;font-size:.78rem;bottom:calc(100% + 2px)}
  .faq summary{padding:17px 20px;font-size:1rem}
  .faq .a{padding:0 20px 18px}
  .dl-card{padding:46px 24px;border-radius:32px}
  footer{padding:30px 0 40px}
}
@media(max-width:380px){
  .brand .lw-logo{height:20px}
  .topnav .cta-btn{padding:8px 13px;font-size:.8rem}
  .hero h1{font-size:1.75rem}
}
