.hero{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:clamp(28px,5vw,68px);align-items:center;padding:clamp(22px,4vw,48px) 0 54px}
.hero-copy{position:relative;z-index:2}.hero-copy .display-title{max-width:none}.hero-copy .copy{max-width:620px;margin:23px 0 0;font-size:clamp(1rem,2vw,1.2rem)}
.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px}
.hero-note{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.hero-note span{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.82rem;font-weight:780}.hero-note i{width:7px;height:7px;border-radius:50%;background:var(--mint)}

.hero-world{position:relative;min-height:430px;display:grid;place-items:center;perspective:900px}
.world-motion-shell{position:relative;width:min(440px,94%);aspect-ratio:1/.92;perspective:1050px;overflow:visible}
.world-motion-shell .world-card{width:100%;height:100%;aspect-ratio:auto}

/* CONTENT-0120 — lightweight vector bee redesign; SVG owns the subtle wing flutter while the host keeps parallax/bob motion. */
.hero-bee{--bee-x:0px;--bee-y:0px;position:absolute;z-index:5;left:2px;top:54px;width:92px;aspect-ratio:240/190;pointer-events:none;transform:translate3d(var(--bee-x),var(--bee-y),0);will-change:transform;filter:drop-shadow(0 8px 10px rgba(127,91,24,.10))}
.hero-bee-float{position:relative;width:100%;height:100%;animation:hero-bee-hover 4.8s ease-in-out infinite}
.hero-bee-art{display:block;width:100%;height:100%;object-fit:contain;object-position:center;user-select:none;-webkit-user-drag:none}
@keyframes hero-bee-hover{0%,100%{transform:translateY(0) rotate(-1.3deg)}48%{transform:translateY(-7px) rotate(1.1deg)}72%{transform:translateY(-3px) rotate(-.4deg)}}
@media(min-width:981px){html[data-theme="night"] .hero-bee{display:block}}
.world-card{position:relative;width:min(440px,94%);aspect-ratio:1/.92;border:1px solid var(--line);border-radius:44px;background:linear-gradient(145deg,var(--surface),var(--surface-soft));box-shadow:var(--shadow-card);transform:rotateX(4deg) rotateY(-5deg);overflow:hidden}
.world-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 12%,rgba(255,215,90,.26),transparent 22%),radial-gradient(circle at 16% 20%,rgba(88,208,239,.22),transparent 24%);pointer-events:none}
.cloud{position:absolute;height:30px;border-radius:999px;background:rgba(255,255,255,.8);box-shadow:18px 5px 0 -4px rgba(255,255,255,.8),-16px 7px 0 -7px rgba(255,255,255,.8)}
html[data-theme="night"] .cloud{background:rgba(227,236,255,.215);box-shadow:18px 5px 0 -4px rgba(227,236,255,.205),-16px 7px 0 -7px rgba(227,236,255,.19)}
.cloud-a{width:80px;top:55px;left:44px}.cloud-b{width:64px;top:96px;right:46px;transform:scale(.78)}
.sun-or-moon{position:absolute;right:54px;top:44px;width:70px;height:70px;border-radius:50%;background:linear-gradient(145deg,#ffd85f 0%,#ffc83f 58%,#f4b72f 100%);box-shadow:0 9px 20px rgba(244,183,47,.22);transition:background .34s ease,box-shadow .34s ease;isolation:isolate}

.sun-or-moon .sun-halo{position:absolute;left:50%;top:50%;border-radius:50%;pointer-events:none;z-index:-2;transform:translate(-50%,-50%);box-sizing:border-box}
.sun-or-moon .sun-halo-inner{width:112px;height:112px;border:2px solid rgba(255,226,145,.34);box-shadow:0 0 20px rgba(255,225,142,.10),inset 0 0 14px rgba(255,239,190,.08)}
.sun-or-moon .sun-halo-outer{width:138px;height:138px;border:1px solid rgba(255,238,190,.20);box-shadow:0 0 28px rgba(255,231,165,.08)}
.sun-or-moon .sun-rays{position:absolute;inset:-12px;z-index:-1;border:0;border-radius:50%;background:#ffc43d;clip-path:polygon(50% 0%,59% 13%,71% 5%,76% 20%,91% 17%,88% 33%,100% 41%,86% 50%,100% 59%,88% 67%,91% 83%,76% 80%,71% 95%,59% 87%,50% 100%,41% 87%,29% 95%,24% 80%,9% 83%,12% 67%,0% 59%,14% 50%,0% 41%,12% 33%,9% 17%,24% 20%,29% 5%,41% 13%);filter:drop-shadow(0 5px 7px rgba(235,168,35,.12));transform:rotate(2deg)}
.sun-or-moon .sun-face{position:absolute;inset:0;display:block;pointer-events:none}
.sun-or-moon .sun-eye{position:absolute;top:28px;width:10px;height:5px;border-bottom:2px solid rgba(190,133,25,.5);border-radius:0 0 10px 10px}
.sun-or-moon .sun-eye-left{left:17px;transform:rotate(5deg)}
.sun-or-moon .sun-eye-right{right:17px;transform:rotate(-5deg)}
.sun-or-moon .sun-smile{position:absolute;left:50%;top:38px;width:23px;height:11px;transform:translateX(-50%);border-bottom:2px solid rgba(190,133,25,.5);border-radius:0 0 18px 18px}
/* UI-0011 — the world preview has a real celestial state: sun by Day, crescent moon by Night. */
html[data-theme="night"] .sun-or-moon{background:transparent;box-shadow:0 0 0 17px rgba(255,248,211,.028),0 0 34px 13px rgba(255,244,193,.075)}
html[data-theme="night"] .sun-or-moon::before{content:"";position:absolute;inset:5px;border-radius:50%;background:linear-gradient(145deg,#fff9dc 0%,#f4eab9 58%,#d9c98d 100%);-webkit-mask:radial-gradient(circle at 72% 35%,transparent 0 45%,#000 46% 100%);mask:radial-gradient(circle at 72% 35%,transparent 0 45%,#000 46% 100%);filter:drop-shadow(-3px 5px 5px rgba(15,22,50,.2)) drop-shadow(0 0 12px rgba(255,247,201,.26))}
html[data-theme="night"] .sun-or-moon::after{content:"";position:absolute;left:7px;bottom:9px;width:13px;height:13px;border-radius:50%;background:rgba(205,190,126,.24);box-shadow:15px -28px 0 -3px rgba(205,190,126,.2),24px -8px 0 -4px rgba(205,190,126,.18);pointer-events:none}
.world-island{position:absolute;left:50%;bottom:56px;width:70%;height:48%;transform:translateX(-50%) rotateX(58deg) rotateZ(-5deg);border-radius:50%;background:linear-gradient(145deg,#7fe0af,#4fc18c);box-shadow:0 22px 0 #2f8d6b,0 32px 32px rgba(30,103,77,.22)}
.world-island::before{content:"";position:absolute;inset:18% 18% 26%;border-radius:46% 54% 50% 50%;background:linear-gradient(145deg,#ffe589,#ffc95d);box-shadow:0 7px 0 #d9a843}
.world-castle{position:absolute;left:50%;bottom:143px;width:116px;height:116px;transform:translateX(-50%);filter:none}
.tower{position:absolute;bottom:0;width:36px;height:68px;border-radius:10px 10px 6px 6px;background:linear-gradient(90deg,#bca8ff,#8d75ef);box-shadow:0 7px 0 #6b56c6}.tower::before{content:"";position:absolute;left:-5px;right:-5px;top:-17px;height:25px;clip-path:polygon(50% 0,100% 100%,0 100%);background:#ff79ad}.tower-left{left:4px}.tower-right{right:4px}.keep{position:absolute;left:34px;bottom:0;width:50px;height:82px;border-radius:12px 12px 7px 7px;background:linear-gradient(90deg,#7ed8f4,#57b8db);box-shadow:0 7px 0 #318fae}.keep::before{content:"";position:absolute;left:-6px;right:-6px;top:-20px;height:29px;clip-path:polygon(50% 0,100% 100%,0 100%);background:#ffca5e}.door{position:absolute;width:17px;height:28px;left:50%;bottom:0;transform:translateX(-50%);border-radius:9px 9px 0 0;background:#46517a}
.world-badge{position:absolute;left:24px;bottom:24px;display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-float);font-weight:900;font-size:.82rem;animation:floaty 4.9s ease-in-out infinite -.85s}.world-badge strong{color:var(--purple)}
.float-chip{position:absolute;z-index:6;padding:10px 13px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-float);font-weight:900;font-size:.78rem;animation:floaty 4.4s ease-in-out infinite}.chip-xp{right:-16px;top:25%;color:var(--blue)}.chip-streak{left:-8px;top:39%;color:var(--orange);animation-delay:-1.4s}.chip-word{right:13px;bottom:18%;color:var(--purple);animation-delay:-2.7s}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}

.section{padding:38px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.section-head .copy{margin:9px 0 0;max-width:620px}.section-link{font-weight:900;color:var(--blue);text-decoration:none}
.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.quick-card{position:relative;min-height:210px;padding:22px;border-radius:28px;border:1px solid var(--line);text-decoration:none;overflow:hidden;box-shadow:var(--shadow-card);transition:transform .16s ease}.quick-card:hover{transform:translateY(-4px)}.quick-card h3{position:relative;margin:18px 0 7px;font-family:var(--font-ui);font-size:1.35rem;letter-spacing:-.025em}.quick-card p{position:relative;margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}.quick-card .tile-icon{position:relative;width:54px;height:54px;border-radius:18px;display:grid;place-items:center;box-shadow:0 6px 0 rgba(0,0,0,.09)}.quick-card .tile-icon svg{width:29px;height:29px}.card-language{background:linear-gradient(145deg,var(--surface-lilac),var(--surface));}.card-language .tile-icon{background:var(--purple);color:#fff}.card-math{background:linear-gradient(145deg,#eef8ff,var(--surface));}.card-math .tile-icon{background:var(--cyan);color:#12394a}.card-games{background:linear-gradient(145deg,var(--surface-pink),var(--surface));}.card-games .tile-icon{background:var(--pink);color:#fff}.card-world{background:linear-gradient(145deg,var(--surface-mint),var(--surface));}.card-world .tile-icon{background:var(--mint);color:#153d30}.quick-card[aria-disabled="true"]{cursor:default}.soon{position:absolute;right:16px;top:16px;padding:6px 9px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.66rem;font-weight:900;color:var(--muted)}

.feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.pronounce-card,.voices-card{padding:clamp(22px,4vw,34px)}
.word-demo{margin-top:24px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center}.word-orb{width:112px;height:112px;border-radius:32px;display:grid;place-items:center;background:linear-gradient(145deg,var(--yellow),var(--orange));box-shadow:0 8px 0 var(--orange-edge),0 18px 30px rgba(255,157,92,.18);font-family:var(--font-ui);font-size:2.1rem;font-weight:950;color:#51331d}.word-info{display:grid;gap:7px}.word-info span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.word-info strong{font-family:var(--font-ui);font-size:clamp(1.55rem,4vw,2.5rem);letter-spacing:-.03em}.word-info strong em{font-style:normal;color:var(--purple)}.word-info p{margin:0;color:var(--muted);line-height:1.55;font-size:.92rem}
.voice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.voice{padding:16px 12px;border:1px solid var(--line);border-radius:20px;background:var(--surface-soft);text-align:center}.voice-avatar{width:54px;height:54px;margin:auto;border-radius:18px;display:grid;place-items:center;font-family:var(--font-ui);font-weight:950;color:#fff;box-shadow:0 5px 0 rgba(0,0,0,.1)}.voice:nth-child(1) .voice-avatar{background:var(--purple)}.voice:nth-child(2) .voice-avatar{background:var(--pink)}.voice:nth-child(3) .voice-avatar{background:var(--mint);color:#153d30}.voice strong{display:block;margin-top:10px;font-size:.82rem}.voice span{display:block;margin-top:4px;color:var(--muted);font-size:.7rem;line-height:1.35}




html[data-theme="night"] .card-math{background:linear-gradient(145deg,#17354a,var(--surface))}
@media(prefers-color-scheme:dark){
  html[data-theme="auto"] .card-math{background:linear-gradient(145deg,#17354a,var(--surface))}
  html[data-theme="auto"] .cloud{background:rgba(227,236,255,.215);box-shadow:18px 5px 0 -4px rgba(227,236,255,.205),-16px 7px 0 -7px rgba(227,236,255,.19)}
  html[data-theme="auto"] .hero-bee{display:block}
  html[data-theme="auto"] .sun-or-moon{background:transparent;box-shadow:0 0 0 17px rgba(255,248,211,.028),0 0 34px 13px rgba(255,244,193,.075)}
  html[data-theme="auto"] .sun-or-moon::before{content:"";position:absolute;inset:5px;border-radius:50%;background:linear-gradient(145deg,#fff9dc 0%,#f4eab9 58%,#d9c98d 100%);-webkit-mask:radial-gradient(circle at 72% 35%,transparent 0 45%,#000 46% 100%);mask:radial-gradient(circle at 72% 35%,transparent 0 45%,#000 46% 100%);filter:drop-shadow(-3px 5px 5px rgba(15,22,50,.2)) drop-shadow(0 0 12px rgba(255,247,201,.26))}
  html[data-theme="auto"] .sun-or-moon::after{content:"";position:absolute;left:7px;bottom:9px;width:13px;height:13px;border-radius:50%;background:rgba(205,190,126,.24);box-shadow:15px -28px 0 -3px rgba(205,190,126,.2),24px -8px 0 -4px rgba(205,190,126,.18);pointer-events:none}
  html[data-theme="auto"] .sun-or-moon span{display:none!important;animation:none!important}
}

/* UI-0005 — School feels alive without a heavy animation engine */
.world-card::after{content:"";position:absolute;inset:-45%;pointer-events:none;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.28) 49%,transparent 56%);transform:translateX(-58%) rotate(8deg);animation:world-sheen 8s ease-in-out infinite}
@keyframes world-sheen{0%,58%,100%{transform:translateX(-58%) rotate(8deg);opacity:0}66%{opacity:.75}80%{transform:translateX(58%) rotate(8deg);opacity:0}}
.cloud-a{animation:cloud-drift-a 6.4s ease-in-out infinite}.cloud-b{animation:cloud-drift-b 7.2s ease-in-out infinite reverse}@keyframes cloud-drift-a{0%,100%{transform:translateX(0)}50%{transform:translateX(14px)}}@keyframes cloud-drift-b{0%,100%{transform:translateX(0) scale(.78)}50%{transform:translateX(-12px) scale(.8)}}
.sun-or-moon{animation:sky-pulse 4.8s ease-in-out infinite}.sun-or-moon .sun-rays{animation:sun-ray-breathe 5.8s ease-in-out infinite}.sun-or-moon .sun-halo-inner{animation:sun-halo-breathe 6.8s ease-in-out infinite}.sun-or-moon .sun-halo-outer{animation:sun-halo-breathe 8.6s ease-in-out infinite reverse}html[data-theme="night"] .sun-or-moon span{display:none!important;animation:none!important}@keyframes sky-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes sun-ray-breathe{0%,100%{transform:rotate(2deg) scale(1);opacity:.96}50%{transform:rotate(2deg) scale(1.025);opacity:1}}@keyframes sun-halo-breathe{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.72}50%{transform:translate(-50%,-50%) scale(1.025);opacity:1}}
.world-castle{animation:castle-live 3.7s ease-in-out infinite}.tower-left{animation:tower-bob 3.7s ease-in-out infinite -.2s}.tower-right{animation:tower-bob 3.7s ease-in-out infinite -.55s}@keyframes castle-live{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-4px)}}@keyframes tower-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.world-stars{position:absolute;inset:0;opacity:0;transition:opacity .28s ease}.world-stars i{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 10px rgba(255,255,255,.9);animation:star-twinkle 2.8s ease-in-out infinite}.world-stars i:nth-child(1){left:19%;top:20%;width:3px;height:3px;animation-duration:3.4s}.world-stars i:nth-child(2){left:42%;top:12%;width:4px;height:4px;animation-delay:-.8s}.world-stars i:nth-child(3){right:21%;top:29%;width:2px;height:2px;animation-delay:-1.4s;animation-duration:3.7s;box-shadow:0 0 7px rgba(255,255,255,.72)}.world-stars i:nth-child(4){right:11%;top:48%;width:3px;height:3px;animation-delay:-2s;animation-duration:3.1s}.world-stars i:nth-child(5){left:25%;top:46%;width:2px;height:2px;animation-delay:-1.1s;animation-duration:4.1s;box-shadow:0 0 6px rgba(255,255,255,.66)}html[data-theme="night"] .world-stars{opacity:.8}@media(prefers-color-scheme:dark){html[data-theme="auto"] .world-stars{opacity:.8}}@keyframes star-twinkle{0%,100%{opacity:.28;transform:scale(.7)}50%{opacity:1;transform:scale(1.35)}}
.world-spark{position:absolute;color:var(--yellow);font-size:1.15rem;filter:drop-shadow(0 3px 7px rgba(255,191,61,.25));animation:spark-dance 3.2s ease-in-out infinite}.spark-a{left:24%;top:32%}.spark-b{right:26%;top:20%;animation-delay:-1.2s}.spark-c{right:18%;bottom:32%;animation-delay:-2.1s}@keyframes spark-dance{0%,100%{opacity:.25;transform:translateY(0) rotate(0) scale(.78)}50%{opacity:1;transform:translateY(-7px) rotate(35deg) scale(1.08)}}
.float-chip{transition:box-shadow .2s ease}.hero-world:hover .float-chip{box-shadow:0 20px 38px rgba(58,72,120,.2)}

.quick-card{isolation:isolate;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,border-color .22s ease}.quick-card::before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-70px;bottom:-86px;background:radial-gradient(circle,color-mix(in srgb,var(--purple) 16%,transparent),transparent 68%);transition:transform .35s ease}.quick-card:hover{transform:translateY(-7px);box-shadow:0 14px 0 rgba(85,107,145,.07),0 34px 70px rgba(48,74,112,.16);border-color:color-mix(in srgb,var(--purple) 28%,var(--line))}.quick-card:hover::before{transform:scale(1.35)}.quick-card .tile-icon{transition:transform .28s cubic-bezier(.2,.9,.25,1.3),box-shadow .22s ease}.quick-card:hover .tile-icon{transform:translateY(-4px) rotate(-5deg) scale(1.08);box-shadow:0 9px 0 rgba(0,0,0,.09),0 15px 24px rgba(48,74,112,.12)}.quick-card:nth-child(even):hover .tile-icon{transform:translateY(-4px) rotate(5deg) scale(1.08)}
.card-glow{position:absolute;width:10px;height:10px;border-radius:50%;right:24px;bottom:24px;background:var(--yellow);opacity:.72}.card-glow::after{content:"";position:absolute;inset:-2px;border:2px solid color-mix(in srgb,var(--yellow) 56%,transparent);border-radius:inherit;opacity:0;transform:scale(.72)}.quick-card:hover .card-glow::after{animation:card-ping .75s ease}@keyframes card-ping{0%{opacity:.72;transform:scale(.72)}100%{opacity:0;transform:scale(2.8)}}

.word-orb{position:relative;overflow:hidden;animation:word-orb-float 4s ease-in-out infinite}.word-orb::after{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.48) 50%,transparent 60%);transform:translateX(-65%) rotate(12deg);animation:word-orb-shine 5s ease-in-out infinite}@keyframes word-orb-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}@keyframes word-orb-shine{0%,55%,100%{transform:translateX(-65%) rotate(12deg);opacity:0}68%{opacity:1}82%{transform:translateX(65%) rotate(12deg);opacity:0}}
.voice{transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s ease,background .2s ease}.voice:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--purple) 28%,var(--line));background:var(--surface)}.voice-avatar{transition:transform .24s cubic-bezier(.2,.9,.25,1.3)}.voice:hover .voice-avatar{transform:rotate(-6deg) scale(1.08)}.voice:nth-child(2):hover .voice-avatar{transform:rotate(6deg) scale(1.08)}

@media(prefers-reduced-motion:reduce){.world-card::after,.cloud-a,.cloud-b,.sun-or-moon,.sun-or-moon span,.world-castle,.tower-left,.tower-right,.world-stars i,.world-spark,.hero-bee-float,.word-orb,.word-orb::after{animation:none!important}.hero-bee{--bee-x:0px!important;--bee-y:0px!important}.world-stars i{opacity:.8}.world-badge{animation:none!important}}

/* UI-0008: public/commercial copy hierarchy. Keep section headings calm; color only the semantic payoff. */
.section-title-premium{color:var(--text);text-wrap:balance}
.section-title-premium .section-title-accent{font-style:normal;color:var(--purple);background:linear-gradient(105deg,#5b67ff 0%,#8d57e8 42%,#e45193 74%,#f47a55 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
html[data-theme="night"] .section-title-premium .section-title-accent{background:linear-gradient(105deg,#69dcff 0%,#8d9cff 36%,#c38cff 68%,#ff8db9 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
@media (prefers-color-scheme:dark){html[data-theme="auto"] .section-title-premium .section-title-accent{background:linear-gradient(105deg,#69dcff 0%,#8d9cff 36%,#c38cff 68%,#ff8db9 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}}


.voice strong{font-size:.92rem}.voice span{margin-top:2px}
.chip-word{display:flex;align-items:center;gap:6px}.chip-flag{width:18px;height:13px;display:block;border-radius:3px;box-shadow:0 0 0 1px rgba(39,55,88,.08)}

/* UI-0014 — stable inertial world interaction + centered castle.
   Pointer tracking lives on a non-moving shell, so abrupt cursor motion cannot cause
   enter/leave feedback jitter. The card follows with time-based easing and no snapping. */
.world-card.world-interactive{
  --world-rx:4deg;
  --world-ry:-5deg;
  --world-lift:0px;
  --world-scale:1;
  transform:perspective(1050px) translateY(var(--world-lift)) rotateX(var(--world-rx)) rotateY(var(--world-ry)) scale(var(--world-scale));
  transition:box-shadow .46s cubic-bezier(.2,.8,.2,1),border-color .46s ease;
  will-change:transform;
}
@media(hover:hover) and (pointer:fine){
  .world-motion-shell.is-world-hover .world-card.world-interactive{
    border-color:color-mix(in srgb,var(--purple) 18%,var(--line));
    box-shadow:0 15px 0 color-mix(in srgb,var(--line-strong) 24%,transparent),0 38px 78px rgba(48,74,112,.15);
  }
  html[data-theme="night"] .world-motion-shell.is-world-hover .world-card.world-interactive{
    box-shadow:0 12px 0 rgba(5,8,25,.16),0 40px 84px rgba(1,4,18,.36);
  }
}
@media(hover:hover) and (pointer:fine) and (prefers-color-scheme:dark){
  html[data-theme="auto"] .world-motion-shell.is-world-hover .world-card.world-interactive{
    box-shadow:0 12px 0 rgba(5,8,25,.16),0 40px 84px rgba(1,4,18,.36);
  }
}

/* The castle sits over the visual centre of the yellow ground, not on its near edge. */
.world-island{z-index:1}
.world-castle{bottom:150px;z-index:2;isolation:isolate}
.world-castle::after{
  content:"";
  position:absolute;
  left:21%;right:21%;bottom:-8px;
  height:13px;
  border-radius:50%;
  background:rgba(88,66,65,.18);
  filter:blur(4px);
  transform:scaleX(1.08);
  z-index:-1;
}
.world-island,.world-castle{
  animation:world-platform-float 5.8s cubic-bezier(.45,0,.55,1) infinite;
}
@keyframes world-platform-float{
  0%,100%{translate:0 0}
  50%{translate:0 -5px}
}

@media(prefers-reduced-motion:reduce){
  .world-island,.world-castle{animation:none!important;translate:0 0!important}
  .world-card.world-interactive{transform:perspective(1050px) rotateX(4deg) rotateY(-5deg)!important;will-change:auto}
}

/* UI-0016 — printable materials teaser */
.home-materials-teaser{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:clamp(28px,6vw,76px);align-items:center;padding:clamp(28px,5vw,48px);border:1px solid var(--line);border-radius:var(--radius-xl);background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 94%,transparent),color-mix(in srgb,var(--surface-mint) 48%,var(--surface)));box-shadow:var(--shadow-card)}
.home-materials-copy .copy{max-width:58ch}.home-materials-copy .button{margin-top:12px}.home-materials-stack{position:relative;width:min(350px,100%);height:250px;margin:auto;perspective:850px}.mini-sheet{position:absolute;inset:22px 42px;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:0 10px 0 rgba(85,107,145,.06),0 24px 42px rgba(48,74,112,.12);display:grid;place-items:center}.mini-sheet-a{transform:rotate(-8deg) translate(-26px,6px);grid-template-columns:repeat(3,1fr);gap:10px;padding:34px;background:linear-gradient(145deg,var(--surface),var(--surface-lilac))}.mini-sheet-a b{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;border:2px solid var(--purple);color:var(--purple)}.mini-sheet-b{transform:rotate(8deg) translate(25px,5px);grid-template-columns:repeat(2,1fr);gap:12px;padding:36px;background:linear-gradient(145deg,var(--surface),var(--surface-pink))}.mini-sheet-b i{aspect-ratio:1;border-radius:50%;border:2px solid var(--mint);background:var(--surface)}.mini-sheet-c{transform:rotate(-1deg);display:flex;gap:16px;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--surface),var(--surface-soft));animation:home-sheet-float 5.6s ease-in-out infinite}.mini-sheet-c em,.mini-sheet-c strong{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;font-style:normal;font-family:var(--font-ui);font-size:1.05rem;font-weight:950}.mini-sheet-c em{background:var(--surface-lilac);color:var(--purple)}.mini-sheet-c strong{background:linear-gradient(145deg,var(--mint),var(--cyan));color:#12382b;box-shadow:0 6px 0 var(--mint-edge)}@keyframes home-sheet-float{0%,100%{translate:0 0}50%{translate:0 -6px}}


@media(prefers-reduced-motion:reduce){.mini-sheet-c{animation:none!important}}

/* UI-0017 — Materials teaser is a living School surface, not a static banner.
   Large surface = stable vertical lift; the paper stack supplies playful motion. */
.home-materials-teaser{position:relative;isolation:isolate;overflow:hidden;transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .28s ease,background .32s ease}
.home-materials-teaser::before{content:"";position:absolute;z-index:-1;pointer-events:none;width:420px;height:420px;right:-150px;top:-170px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--cyan) 17%,transparent),color-mix(in srgb,var(--purple) 8%,transparent) 42%,transparent 70%);opacity:.55;transform:scale(.9);transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .45s ease}
.home-materials-stack{transition:transform .38s cubic-bezier(.2,.8,.2,1)}
.mini-sheet{transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease}
.mini-sheet-c em,.mini-sheet-c strong{transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease}
@media(hover:hover) and (pointer:fine){
  .home-materials-teaser:hover{
    transform:translateY(-6px);
    border-color:color-mix(in srgb,var(--purple) 24%,var(--line));
    box-shadow:0 12px 0 rgba(85,107,145,.075),0 34px 68px rgba(48,74,112,.15);
  }
  html[data-theme="night"] .home-materials-teaser:hover{box-shadow:0 12px 0 rgba(5,8,25,.18),0 34px 68px rgba(0,0,0,.3)}
  .home-materials-teaser:hover::before{transform:scale(1.08) translate(-10px,8px);opacity:.78}
  .home-materials-teaser:hover .home-materials-stack{transform:translateY(-4px) scale(1.012)}
  .home-materials-teaser:hover .mini-sheet-a{transform:rotate(-10deg) translate(-34px,1px)}
  .home-materials-teaser:hover .mini-sheet-b{transform:rotate(10deg) translate(34px,0)}
  .home-materials-teaser:hover .mini-sheet-c{transform:rotate(-1deg) scale(1.025);box-shadow:0 12px 0 rgba(85,107,145,.07),0 30px 48px rgba(48,74,112,.16)}
  .home-materials-teaser:hover .mini-sheet-c em{transform:translateY(-2px) rotate(-3deg)}
  .home-materials-teaser:hover .mini-sheet-c strong{transform:translateY(-3px) rotate(3deg);box-shadow:0 8px 0 var(--mint-edge),0 14px 20px color-mix(in srgb,var(--mint) 22%,transparent)}
}
@media(prefers-reduced-motion:reduce){
  .home-materials-teaser,.home-materials-stack,.mini-sheet,.mini-sheet-c em,.mini-sheet-c strong{transition:none!important;transform:none!important}
  .home-materials-teaser::before{transition:none!important}
}
@media(prefers-color-scheme:dark){
  html[data-theme="auto"] .home-materials-teaser:hover{box-shadow:0 12px 0 rgba(5,8,25,.18),0 34px 68px rgba(0,0,0,.3)}
}

/* UI-0021 contrast-safe hero chips. */
.chip-xp{color:var(--chip-xp)}.chip-streak{color:var(--chip-streak)}.chip-word{color:var(--chip-word)}


/* UI-0022 — defensive narrow-screen width integrity. */
.hero,.hero-copy,.hero-world,.quick-grid,.feature-grid,.home-materials-teaser,.home-materials-copy,.home-materials-stack{min-width:0;max-width:100%}



/* RESPONSIVE-HOME-2026 — one coherent compact system.
   Desktop (>980px) remains visually locked. Tablet and mobile adapt density,
   composition and card flow rather than merely shrinking desktop geometry. */

/* Tablet: 601–980px */
@media (max-width:980px){
  .hero-bee{display:none!important}
  .hero{grid-template-columns:1fr;gap:clamp(16px,3vw,24px);padding-top:14px;padding-bottom:34px}
  .hero-copy .copy{margin-top:18px;font-size:clamp(.96rem,2.1vw,1.08rem)}
  .hero-actions{margin-top:20px}
  .hero-note{margin-top:16px}
  .hero-world{min-height:clamp(330px,48vw,370px)}
  .world-motion-shell{width:min(400px,88%)}

  .section{padding:30px 0}
  .section-head{margin-bottom:16px}
  .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
  .quick-card{min-height:178px;padding:19px;border-radius:25px}
  .quick-card .tile-icon{width:50px;height:50px;border-radius:16px}
  .quick-card .tile-icon svg{width:27px;height:27px}
  .quick-card h3{margin:14px 0 6px;font-size:1.22rem}
  .quick-card p{font-size:.86rem;line-height:1.46}

  .pronounce-card,.voices-card{padding:24px}
  .word-demo{margin-top:18px;gap:16px}
  .word-orb{width:98px;height:98px;border-radius:28px;font-size:1.9rem}
  .voice-row{margin-top:17px}

  .home-materials-teaser{gap:22px;padding:28px;border-radius:34px}
  .home-materials-stack{height:210px}
}

/* Proper tablet composition: keep rich sections side-by-side where width permits. */
@media (min-width:760px) and (max-width:980px){
  .feature-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:14px}
  .home-materials-teaser{grid-template-columns:minmax(0,1.05fr) minmax(220px,.72fr);align-items:center}
  .home-materials-stack{width:min(260px,100%);height:190px;order:0}
  .mini-sheet{inset:18px 30px}
  .mini-sheet-a,.mini-sheet-b{padding:25px}
  .mini-sheet-c em,.mini-sheet-c strong{width:52px;height:52px;border-radius:16px}
}

/* Small tablet: stack richer feature cards, but keep them dense. */
@media (min-width:601px) and (max-width:759px){
  .feature-grid{grid-template-columns:1fr;gap:14px}
  .home-materials-teaser{grid-template-columns:1fr;gap:14px}
  .home-materials-stack{order:0;width:min(260px,76%);height:170px}
  .mini-sheet{inset:14px 30px}
  .mini-sheet-a,.mini-sheet-b{padding:24px}
}

/* Phones: compact cards, shorter sections, mobile-first compositions. */
@media (max-width:600px){
  .hero{gap:14px;padding-top:10px;padding-bottom:22px}
  .hero-copy .copy{margin-top:14px;font-size:.92rem;line-height:1.52}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:16px}
  .hero-actions .button{width:100%;min-height:48px;padding-inline:13px}
  .hero-note{gap:6px;margin-top:12px}
  .hero-note span{font-size:.72rem;gap:5px}
  .hero-world{min-height:300px}
  .world-motion-shell{width:min(300px,94%)}
  .world-card{border-radius:30px}
  .world-island{bottom:40px}
  .world-castle{bottom:88px;transform:translateX(-50%) scale(.84)}
  .sun-or-moon{width:56px;height:56px;right:34px;top:34px}
  .sun-or-moon .sun-halo-inner{width:92px;height:92px}
  .sun-or-moon .sun-halo-outer{width:114px;height:114px}
  .float-chip{font-size:.66rem;padding:7px 9px}
  .chip-xp{top:2px;right:2px}
  .chip-streak{left:-10px;top:35%}
  .chip-word{right:8px;bottom:18px}
  .world-badge{left:9px;bottom:18px;padding:7px 8px;font-size:.66rem;gap:5px}

  .section{padding:21px 0}
  .section-head{gap:10px;margin-bottom:12px}
  .section-head .copy{margin-top:6px;font-size:.84rem;line-height:1.44}
  .section .section-title{font-size:clamp(1.55rem,7.8vw,1.92rem);line-height:1.02;letter-spacing:-.035em}
  .section .kicker{font-size:.68rem;line-height:1.25}

  .quick-grid{grid-template-columns:1fr;gap:9px}
  .quick-card{
    display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto;
    column-gap:13px;row-gap:3px;align-items:center;min-height:0;padding:14px 15px;
    border-radius:22px
  }
  .quick-card .tile-icon{grid-column:1;grid-row:1/3;width:46px;height:46px;border-radius:15px}
  .quick-card .tile-icon svg{width:25px;height:25px}
  .quick-card h3{grid-column:2;grid-row:1;margin:0;padding-right:48px;font-size:1.08rem;line-height:1.15}
  .quick-card p{grid-column:2;grid-row:2;margin:0;font-size:.78rem;line-height:1.36}
  .quick-card .soon{top:10px;right:10px;padding:5px 7px;font-size:.59rem}
  .card-glow{right:13px;bottom:13px;width:8px;height:8px}

  .home-materials-teaser{grid-template-columns:1fr;gap:10px;padding:18px 16px;border-radius:24px}
  .home-materials-copy{order:-1}
  .home-materials-copy .copy{font-size:.82rem;line-height:1.45}
  .home-materials-copy .button{margin-top:8px;min-height:46px}
  .home-materials-stack{order:0;width:min(220px,82%);height:138px;margin:0 auto}
  .mini-sheet{inset:10px 28px;border-radius:15px}
  .mini-sheet-a,.mini-sheet-b{padding:20px;gap:7px}
  .mini-sheet-c{gap:11px}
  .mini-sheet-c em,.mini-sheet-c strong{width:44px;height:44px;border-radius:14px;font-size:.88rem}

  .feature-grid{grid-template-columns:1fr;gap:10px;padding-top:18px;padding-bottom:18px}
  .pronounce-card,.voices-card{padding:17px 15px;border-radius:23px}
  .pronounce-card .section-title,.voices-card .section-title{font-size:clamp(1.45rem,7.2vw,1.78rem);line-height:1.02}
  .word-demo{margin-top:13px;grid-template-columns:72px minmax(0,1fr);gap:11px;align-items:center}
  .word-orb{width:72px;height:72px;border-radius:21px;font-size:1.55rem}
  .word-info{gap:4px;min-width:0}
  .word-info span{font-size:.66rem;letter-spacing:.06em}
  .word-info strong{font-size:1.22rem;line-height:1.12}
  .word-info p{font-size:.76rem;line-height:1.38}

  .voice-row{grid-template-columns:1fr;gap:7px;margin-top:12px}
  .voice{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;row-gap:1px;align-items:center;padding:9px 10px;border-radius:15px;text-align:left}
  .voice-avatar{grid-column:1;grid-row:1/3;width:42px;height:42px;margin:0;border-radius:14px;font-size:.82rem}
  .voice strong{grid-column:2;grid-row:1;margin:0;font-size:.80rem;line-height:1.15}
  .voice span{grid-column:2;grid-row:2;margin:0;font-size:.62rem;line-height:1.25}
}

/* Very narrow phones: preserve breathing room without inflating height. */
@media (max-width:380px){
  .section{padding:18px 0}
  .quick-card{grid-template-columns:42px minmax(0,1fr);column-gap:11px;padding:12px 13px;border-radius:20px}
  .quick-card .tile-icon{width:42px;height:42px;border-radius:14px}
  .quick-card h3{font-size:1.02rem;padding-right:44px}
  .quick-card p{font-size:.75rem;line-height:1.34}
  .home-materials-teaser{padding:16px 13px}
  .home-materials-stack{height:124px;width:min(205px,84%)}
  .word-demo{grid-template-columns:66px minmax(0,1fr);gap:10px}
  .word-orb{width:66px;height:66px;border-radius:19px;font-size:1.42rem}
  .word-info strong{font-size:1.14rem}
}

@media (max-width:340px){
  .hero-copy .copy{font-size:.88rem}
  .section .section-title{font-size:1.48rem}
  .quick-card p{font-size:.72rem}
  .pronounce-card,.voices-card{padding-inline:13px}
  .voice{padding-inline:9px}
}


/* QA-0080 · PSI: voice identity remains colorful without low-contrast initials/captions. */
.voice:nth-child(1) .voice-avatar{background:#674ac9;color:#fff}
.voice:nth-child(2) .voice-avatar{background:#c93f76;color:#fff}
.voice span{color:color-mix(in srgb,var(--muted) 72%,var(--ink-strong))}
html[data-theme="night"] .voice:nth-child(1) .voice-avatar{background:#674ac9}
html[data-theme="night"] .voice:nth-child(2) .voice-avatar{background:#c93f76}
@media(prefers-color-scheme:dark){html[data-theme="auto"] .voice:nth-child(1) .voice-avatar{background:#674ac9}html[data-theme="auto"] .voice:nth-child(2) .voice-avatar{background:#c93f76}}

/* UI-0022 / CONTENT-0113 — Castle-window warm tonal refinement. Geometry remains locked
   to CONTENT-0111; glass shifts subtly toward the Home ivory/cream atmosphere while
   retaining enough contrast to read as windows, with the frame kept deliberately quiet. */
.world-castle .tower,.world-castle .keep{box-shadow:0 4px 10px rgba(51,57,104,.12)}
.world-castle .tower,.world-castle .keep{overflow:visible}
.castle-window{position:absolute;display:block;box-sizing:border-box;z-index:2;background:#d2c9b3;border:1px solid rgba(81,90,135,.22);border-radius:2.5px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 1px 0 rgba(54,61,102,.07)}
.castle-window::before{content:"";position:absolute;left:2px;top:2px;width:4px;height:2px;border-radius:2px;background:rgba(255,252,239,.44);pointer-events:none}
.castle-window::after{content:"";position:absolute;left:50%;bottom:-1px;width:calc(100% + 2px);height:1px;transform:translateX(-50%);border-radius:2px;background:rgba(81,90,135,.24);opacity:.42;pointer-events:none}
.castle-window-side{left:50%;top:28px;width:13px;height:13px;transform:translateX(-50%)}
.castle-window-side i{display:none}
.castle-window-double{left:50%;top:20px;width:25px;height:13px;transform:translateX(-50%);display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:1px;background:rgba(81,90,135,.22);border:0;border-radius:2.5px;box-shadow:0 1px 0 rgba(54,61,102,.07)}
.castle-window-double::before,.castle-window-double::after{display:none}
.castle-window-double i{position:relative;display:block;border-radius:1.5px;background:#d2c9b3;box-shadow:inset 0 0 0 1px rgba(255,252,239,.20)}
.castle-window-double i+ i{border-left:0}
.castle-window-double i::after{content:"";position:absolute;left:2px;top:2px;width:3px;height:1.5px;border-radius:1px;background:rgba(255,252,239,.42)}
.castle-window-double i::before{display:none}
.castle-steps{position:absolute;left:50%;bottom:-9px;width:30px;height:12px;transform:translateX(-50%);z-index:3;pointer-events:none}
.castle-steps i{position:absolute;left:50%;transform:translateX(-50%);height:5px;border-radius:2px 2px 3px 3px;background:linear-gradient(180deg,#f1e7d8,#cfc3b3);border:1px solid rgba(104,92,92,.18);box-shadow:0 2px 0 rgba(104,92,92,.14)}
.castle-steps i:first-child{bottom:5px;width:22px}.castle-steps i:last-child{bottom:0;width:30px}
html[data-theme="night"] .castle-window,html[data-theme="night"] .castle-window-double i{background:#969184;border-color:rgba(196,190,176,.22);box-shadow:inset 0 0 0 1px rgba(214,242,255,.14),0 0 4px rgba(83,173,255,.05)}
html[data-theme="night"] .castle-window-double{background:rgba(196,190,176,.22)}
@media(prefers-color-scheme:dark){html[data-theme="auto"] .castle-window,html[data-theme="auto"] .castle-window-double i{background:#969184;border-color:rgba(196,190,176,.22);box-shadow:inset 0 0 0 1px rgba(214,242,255,.14),0 0 4px rgba(83,173,255,.05)}html[data-theme="auto"] .castle-window-double{background:rgba(196,190,176,.22)}}
@media(max-width:600px){.castle-window-side{width:12px;height:12px;top:29px}.castle-window-double{width:23px;height:12px;top:21px}.castle-steps{bottom:-8px;transform:translateX(-50%) scale(.94)}}

/* CONTENT-0129 — organic scroll flower + 90% scroll-peek bear, spatially separated. */
.home-scroll-flower{--flower-turn:0deg;position:relative;z-index:4;height:0;pointer-events:none}
.home-scroll-flower-rotor{position:absolute;right:-68px;top:-72px;width:112px;height:116px;display:block;transform:rotate(var(--flower-turn));transform-origin:50% 50%;will-change:transform}
.home-scroll-flower-art{display:block;width:100%;height:100%;filter:drop-shadow(0 8px 12px rgba(25,111,144,.10));animation:flower-breeze 6.6s ease-in-out infinite;transform-origin:50% 56%;user-select:none;-webkit-user-drag:none}
@keyframes flower-breeze{0%,100%{transform:rotate(-1.1deg) skewX(0deg) scale(1)}27%{transform:rotate(1.7deg) skewX(-.7deg) scale(.997,1.006)}58%{transform:rotate(-.4deg) skewX(.55deg) scale(1.004,.998)}82%{transform:rotate(.8deg) skewX(-.25deg) scale(.999,1.003)}}
.home-peek-mascot{--peek-y:176px;--peek-lean:0deg;position:relative;z-index:5;height:0;pointer-events:none}
.home-peek-clip{position:absolute;left:clamp(-136px,-8vw,-94px);top:-172px;width:160px;height:172px;overflow:hidden;filter:drop-shadow(0 10px 14px rgba(121,72,35,.10));z-index:1}
.home-peek-art{position:absolute;left:50%;top:0;width:136px;height:auto;transform:translate3d(-50%,var(--peek-y),0) rotate(var(--peek-lean));transform-origin:50% 88%;will-change:transform;user-select:none;-webkit-user-drag:none}
.home-peek-hole{position:absolute;left:clamp(-140px,-8.2vw,-98px);top:-12px;width:148px;height:26px;border-radius:50%;background:radial-gradient(ellipse at 50% 42%,rgba(38,34,50,.84) 0 38%,rgba(77,63,76,.52) 56%,rgba(113,92,83,.13) 72%,transparent 73%);box-shadow:0 5px 12px rgba(52,42,51,.08);transform-origin:center;opacity:.9;z-index:2}
.home-peek-hole::before,.home-peek-hole::after{content:"";position:absolute;top:9px;width:34px;height:2px;border-radius:999px;background:rgba(97,76,72,.24)}
.home-peek-hole::before{left:-18px;transform:rotate(-8deg)}.home-peek-hole::after{right:-18px;transform:rotate(8deg)}
@media(max-width:1100px){.home-scroll-flower,.home-peek-mascot{display:none}}
@media(prefers-reduced-motion:reduce){.home-scroll-flower-rotor{transform:rotate(14deg)!important;will-change:auto}.home-scroll-flower-art{animation:none!important}.home-peek-art{transform:translate3d(-50%,18px,0)!important;will-change:auto}.home-peek-hole{opacity:.7}}

/* Footer turtle — isolated module. Does not alter flower or bear. */
.home-turtle-lane{--turtle-x:calc(100vw - 320px);--turtle-dir:-1;position:relative;width:100vw;height:112px;margin-left:calc(50% - 50vw);margin-top:4px;z-index:3;pointer-events:none;overflow:hidden}
.home-turtle-walker{position:absolute;left:0;bottom:2px;width:150px;z-index:3;transform:translate3d(var(--turtle-x),0,0);will-change:transform}
.home-turtle-art{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 9px rgba(47,73,61,.13));user-select:none;-webkit-user-drag:none;animation:turtle-soft-walk 2.7s ease-in-out infinite}
.home-turtle-shadow{position:absolute;left:15px;bottom:1px;width:120px;height:13px;z-index:1;border-radius:50%;background:radial-gradient(ellipse at center,rgba(44,61,52,.2) 0 34%,rgba(44,61,52,.08) 55%,transparent 73%);transform:translate3d(var(--turtle-x),0,0);will-change:transform}
.home-turtle-grass{--grass-bend:0deg;--grass-sway:1.2deg;--grass-scale:1;position:absolute;left:var(--grass-x);bottom:var(--grass-y,1px);width:24px;height:38px;z-index:2;transform-origin:50% 100%;transform:translateX(-50%) rotate(var(--grass-bend)) scale(var(--grass-scale));transition:transform .24s cubic-bezier(.2,.75,.28,1);filter:drop-shadow(0 3px 2px rgba(47,73,61,.08));will-change:transform}
.home-turtle-grass::before,.home-turtle-grass::after{content:"";position:absolute;left:10px;bottom:0;width:4px;height:34px;border-radius:90% 10% 85% 15%;background:linear-gradient(to top,#5f9d69,#84bc76 72%,#a7cc83);transform-origin:50% 100%;animation:turtle-grass-wind 3.8s ease-in-out infinite}
.home-turtle-grass::before{transform:rotate(-20deg) scaleY(.86)}
.home-turtle-grass::after{height:27px;left:6px;transform:rotate(24deg) scaleY(.72);animation-delay:-1.7s}
.home-turtle-grass>i{position:absolute;left:13px;bottom:0;width:3px;height:25px;border-radius:80% 20% 90% 10%;background:linear-gradient(to top,#4f8f63,#91c67b);transform-origin:50% 100%;transform:rotate(4deg);animation:turtle-grass-wind-mid 4.6s ease-in-out infinite -2.1s}
.home-turtle-grass:nth-of-type(3n){z-index:4;opacity:.92}.home-turtle-grass:nth-of-type(4n){opacity:.78}
.home-turtle-grass:nth-of-type(5n){width:18px}.home-turtle-grass:nth-of-type(7n){width:28px}.home-turtle-grass:nth-of-type(6n)::before{height:38px}.home-turtle-grass:nth-of-type(8n)::after{height:18px}.home-turtle-grass:nth-of-type(9n)>i{height:31px}.home-turtle-grass:nth-of-type(10n)::before{transform:rotate(-31deg) scaleY(.78)}.home-turtle-grass:nth-of-type(11n)::after{transform:rotate(34deg) scaleY(.84)}

.home-turtle-wildflower{
  --flower-size:9px;--flower-lean:0deg;
  position:absolute;left:10px;bottom:19px;width:var(--flower-size);height:var(--flower-size);
  z-index:5;transform-origin:50% 145%;
  transform:translateX(-50%) rotate(var(--flower-lean));
  animation:turtle-flower-sway 4.9s ease-in-out infinite;
}
.home-turtle-wildflower::before{
  content:"";position:absolute;left:50%;top:50%;width:5px;height:7px;border-radius:70% 45% 70% 45%;
  background:var(--petal,#ffd34f);transform:translate(-50%,-100%);
  box-shadow:
    4px 4px 0 -1px var(--petal,#ffd34f),
    -4px 4px 0 -1px var(--petal,#ffd34f),
    0 8px 0 -1px var(--petal,#ffd34f);
}
.home-turtle-wildflower::after{
  content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;
  background:var(--center,#e78a36);transform:translate(-50%,-20%);
}
.home-turtle-wildflower>em{
  position:absolute;left:50%;top:7px;width:2px;height:16px;border-radius:2px;background:#679f67;
  transform:translateX(-50%);z-index:-1;
}
.home-turtle-wildflower.is-yellow{--petal:#f6c94a;--center:#e17f3e;--flower-size:8px;--flower-lean:-5deg}
.home-turtle-wildflower.is-red{--petal:#ef6b64;--center:#f4bf50;--flower-size:9px;--flower-lean:6deg}
.home-turtle-wildflower.is-pink{--petal:#f39ab0;--center:#f5c84f;--flower-size:7px;--flower-lean:-8deg}
.home-turtle-wildflower.is-white{--petal:#fff8e9;--center:#e8b740;--flower-size:8px;--flower-lean:4deg}
.home-turtle-grass:nth-of-type(6n) .home-turtle-wildflower{bottom:22px;animation-duration:5.7s}
.home-turtle-grass:nth-of-type(9n) .home-turtle-wildflower{bottom:16px;transform:translateX(-50%) scale(.82) rotate(var(--flower-lean));animation-delay:-2.1s}
.home-turtle-grass:nth-of-type(13n) .home-turtle-wildflower{bottom:25px;transform:translateX(-50%) scale(1.12) rotate(var(--flower-lean));animation-delay:-3.4s}
@keyframes turtle-flower-sway{
  0%,100%{margin-left:0;margin-top:0}
  38%{margin-left:1.4px;margin-top:-.4px}
  72%{margin-left:-.8px;margin-top:.2px}
}

@keyframes turtle-soft-walk{0%,100%{transform:translate3d(0,0,0) rotate(0) scaleX(var(--turtle-dir))}50%{transform:translate3d(0,-1.5px,0) rotate(calc(-.35deg * var(--turtle-dir))) scaleX(var(--turtle-dir))}}
@keyframes turtle-grass-wind{0%,100%{margin-left:0}50%{margin-left:1.25px}}
@keyframes turtle-grass-wind-mid{0%,100%{transform:rotate(1deg)}50%{transform:rotate(7deg)}}
@media(max-width:1100px){.home-turtle-lane{display:none}}
@media(prefers-reduced-motion:reduce){.home-turtle-lane{--turtle-x:72vw}.home-turtle-walker,.home-turtle-shadow,.home-turtle-grass{will-change:auto}.home-turtle-art,.home-turtle-grass::before,.home-turtle-grass::after,.home-turtle-grass>i,.home-turtle-wildflower{animation:none!important}.home-turtle-grass{transition:none}}


/* RESPONSIVE SECTION RHYTHM
   Keep compact card interiors, but restore external breathing room so
   shadows/motion never visually collide between major Home sections. */
@media (max-width:600px){
  .main-wrap > .hero{
    margin-bottom:18px;
  }

  .main-wrap > #materii{
    margin-bottom:24px;
  }

  .main-wrap > .home-materials-teaser{
    margin-top:4px;
    margin-bottom:30px;
  }

  .main-wrap > .feature-grid{
    margin-top:8px;
    margin-bottom:30px;
  }
}

@media (min-width:601px) and (max-width:980px){
  .main-wrap > .hero{
    margin-bottom:24px;
  }

  .main-wrap > #materii{
    margin-bottom:30px;
  }

  .main-wrap > .home-materials-teaser{
    margin-top:6px;
    margin-bottom:36px;
  }

  .main-wrap > .feature-grid{
    margin-top:10px;
    margin-bottom:34px;
  }
}


/* HOME RESPONSIVE RHYTHM — final spacing pass.
   Card internals stay compact; only the visual rhythm between components changes. */

/* Tablet: the two feature cards need enough room for shadows / lift effects. */
@media (min-width:601px) and (max-width:980px){
  .feature-grid{
    gap:22px !important;
  }

  /* The Home main content does not need the global mobile-nav reserve here;
     footer already owns its own bottom-nav safe spacing. */
  .main-wrap{
    padding-bottom:64px;
  }
}

/* Phones: slightly more breathing room inside grouped sections,
   while removing the oversized dead zone before the footer. */
@media (max-width:600px){
  /* Alege aventura: still one visual group, but cards should not touch. */
  #materii .quick-grid{
    gap:13px;
  }

  /* Materials: CTA stays before the decorative paper stack — deliberate mobile order.
     Give the CTA/illustration a little breathing room, not a new layout. */
  .home-materials-teaser{
    gap:14px;
  }

  /* Pronunție + Voci are siblings in one section, but each is a substantial card. */
  .feature-grid{
    gap:18px !important;
    padding-top:18px;
    padding-bottom:10px;
  }

  /* Cut the large empty strip after Voci roughly in half.
     Footer itself still keeps the required mobile-nav/safe-area clearance. */
  .main-wrap{
    padding-bottom:46px;
  }

  .main-wrap > .feature-grid{
    margin-bottom:14px;
  }
}

/* Very narrow phones need the same separation; do not squeeze effects away. */
@media (max-width:380px){
  #materii .quick-grid{
    gap:12px;
  }

  .feature-grid{
    gap:17px !important;
  }
}


/* DESKTOP / LAPTOP SUBJECTS + SECTION RHYTHM
   Mobile/tablet <=980px remain untouched.
   981–1279px: premium 2x2 subject grid.
   >=1280px: 4-card desktop row, with a smarter internal header composition. */

@media (min-width:981px){
  /* More deliberate breathing room between major Home sections. */
  .main-wrap > #materii{
    padding-top:48px;
    padding-bottom:52px;
  }

  .main-wrap > .feature-grid{
    padding-top:52px;
    padding-bottom:48px;
  }

  #materii .section-head{
    margin-bottom:24px;
  }

  /* Subject cards: icon + title act as one compact header;
     description remains a clean full-width reading row underneath. */
  #materii .quick-card{
    --subject-accent:var(--purple);
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    grid-template-rows:auto 1fr;
    column-gap:16px;
    row-gap:15px;
    align-items:start;
    min-height:188px;
    padding:24px;
    border-radius:30px;
  }

  #materii .card-language{--subject-accent:var(--purple)}
  #materii .card-math{--subject-accent:var(--cyan)}
  #materii .card-games{--subject-accent:var(--pink)}
  #materii .card-world{--subject-accent:var(--mint)}

  #materii .quick-card::after{
    content:"";
    position:absolute;
    z-index:0;
    left:24px;
    top:0;
    width:72px;
    height:3px;
    border-radius:0 0 999px 999px;
    background:linear-gradient(90deg,var(--subject-accent),transparent);
    opacity:.32;
    pointer-events:none;
  }

  #materii .quick-card .tile-icon{
    grid-column:1;
    grid-row:1;
    width:58px;
    height:58px;
    border-radius:19px;
  }

  #materii .quick-card .tile-icon svg{
    width:30px;
    height:30px;
  }

  #materii .quick-card h3{
    grid-column:2;
    grid-row:1;
    align-self:center;
    margin:0;
    padding:0;
    font-size:1.28rem;
    line-height:1.08;
  }

  #materii .card-math h3,
  #materii .card-world h3{
    padding-right:60px;
  }

  #materii .quick-card p{
    grid-column:1/-1;
    grid-row:2;
    margin:0;
    max-width:32rem;
    font-size:.9rem;
    line-height:1.52;
  }

  #materii .soon{
    top:18px;
    right:18px;
  }

  #materii .card-glow{
    right:20px;
    bottom:20px;
  }
}

/* Laptop / compact desktop: use the width intelligently instead of
   squeezing four narrow cards into one row. */
@media (min-width:981px) and (max-width:1279px){
  #materii .quick-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
  }

  #materii .quick-card{
    min-height:174px;
    padding:24px 26px;
  }

  #materii .quick-card p{
    max-width:44rem;
  }
}

/* Wide desktop: preserve the elegant single-row overview. */
@media (min-width:1280px){
  #materii .quick-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
  }

  #materii .quick-card{
    min-height:194px;
    padding:23px 22px;
  }

  #materii .quick-card::after{
    left:22px;
  }

  #materii .quick-card h3{
    font-size:1.20rem;
  }

  #materii .card-math h3,
  #materii .card-world h3{
    padding-right:54px;
  }

  #materii .quick-card p{
    font-size:.86rem;
    line-height:1.5;
  }
}


/* TABLET SUBJECT CARD COMPOSITION
   601–980px only: use the available width more intelligently.
   Keep the existing 2x2 grid, but place icon + title in one header row. */
@media (min-width:601px) and (max-width:980px){
  #materii .quick-card{
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    grid-template-rows:auto 1fr;
    column-gap:14px;
    row-gap:12px;
    align-items:start;
    min-height:158px;
    padding:20px 22px;
  }

  #materii .quick-card .tile-icon{
    grid-column:1;
    grid-row:1;
    width:54px;
    height:54px;
    border-radius:18px;
  }

  #materii .quick-card .tile-icon svg{
    width:28px;
    height:28px;
  }

  #materii .quick-card h3{
    grid-column:2;
    grid-row:1;
    align-self:center;
    margin:0;
    padding:0;
    font-size:1.08rem;
    line-height:1.1;
  }

  #materii .card-math h3,
  #materii .card-world h3{
    padding-right:58px;
  }

  #materii .quick-card p{
    grid-column:1/-1;
    grid-row:2;
    margin:0;
    font-size:.84rem;
    line-height:1.48;
  }

  #materii .soon{
    top:16px;
    right:16px;
  }

  #materii .card-glow{
    right:18px;
    bottom:16px;
  }
}

