.page.wide{max-width:1080px}.hero{box-shadow:var(--shadow);background:linear-gradient(135deg,#d9f7f1 0%,#eaf3ff 55%,#fff4dc 100%);border-radius:32px;grid-template-columns:1.3fr 1fr;align-items:center;gap:24px;padding:34px 32px;display:grid;position:relative;overflow:hidden}.hero h1{text-wrap:balance;font-size:clamp(2.1rem,5.4vw,3.4rem)}.hero .lead{margin-bottom:10px}.hero-stage{place-items:center;min-height:260px;display:grid;position:relative}.hero-codie{filter:drop-shadow(0 10px #2b244026);z-index:2;width:min(230px,70%);position:relative}.hero-codie svg{width:100%;height:auto;overflow:visible}.floaty{opacity:.9;border-radius:10px;animation:6s ease-in-out infinite floaty;position:absolute}.floaty.a{background:#ff9f43;width:46px;height:46px;top:8%;left:8%;transform:rotate(12deg)}.floaty.b{background:#4d8dff;border-radius:50%;width:34px;height:34px;animation-delay:-2s;top:12%;right:10%}.floaty.c{background:0 0;border-bottom:40px solid #3ccf7a;border-left:24px solid #0000;border-right:24px solid #0000;border-radius:0;width:0;height:0;animation-delay:-4s;bottom:12%;left:4%}.floaty.d{background:#ff5c5c;width:40px;height:22px;animation-delay:-1s;bottom:16%;right:6%}.floaty.e{color:#8a55e6;background:0 0;font:700 1.6rem ui-monospace,monospace;animation-delay:-3s;top:46%;right:0}@keyframes floaty{50%{transform:translateY(-14px)rotate(-8deg)}}.codie-wave .codie-arm-r{animation:2.6s ease-in-out infinite wave}@keyframes wave{0%,60%,to{transform:rotate(0)}70%{transform:rotate(-18deg)}80%{transform:rotate(8deg)}90%{transform:rotate(-14deg)}}.hero-facts{flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.hero-facts li{background:#fff;border-radius:999px;padding:6px 14px;font-size:.95rem;font-weight:600;box-shadow:0 2px #2b24401a}.sec{margin-top:64px}.sec>h2{margin:0 0 6px;font-size:clamp(1.6rem,4vw,2.2rem)}.sec>.sub{color:var(--ink-soft);margin:0 0 18px;font-size:1.1rem}.kicker{color:var(--teal-dark);background:#dff6f1;border-radius:999px;margin-bottom:8px;padding:4px 12px;font-size:.9rem;font-weight:700;display:inline-block}.reveal{opacity:0;transition:opacity .6s,transform .6s cubic-bezier(.2,.9,.3,1);transform:translateY(26px)}.reveal.in{opacity:1;transform:none}.stats{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px;display:grid}.stat{background:var(--card);text-align:center;box-shadow:var(--shadow);border-radius:22px;padding:16px}.stat b{color:var(--teal-dark);font-size:clamp(2rem,6vw,2.8rem);line-height:1;display:block}.stat span{color:var(--ink-soft);font-weight:600}.mini{color:#fff;box-shadow:var(--shadow);background:#241a4d;border-radius:28px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:20px;padding:22px;display:grid}.mini-board{--w:5;--h:4;--cell:min(64px, calc((100vw - 120px) / var(--w)));grid-template-columns:repeat(var(--w), var(--cell));grid-auto-rows:var(--cell);background:#33266b;border-radius:16px;gap:0;width:max-content;margin:0 auto;display:grid;position:relative;overflow:hidden}.cell{border:1px solid #ffffff12}.cell.wall{background:repeating-linear-gradient(45deg,#ff9f43 0 8px,#e07a1f 8px 16px);border-radius:6px;margin:4px}.mini-star,.mini-bot{width:var(--cell);height:var(--cell);transform:translate(calc(var(--x) * var(--cell)), calc(var(--y) * var(--cell)));place-items:center;display:grid;position:absolute;top:0;left:0}.mini-star svg{fill:#ffd23f;width:62%;animation:1.6s ease-in-out infinite twinkle}@keyframes twinkle{50%{transform:scale(1.18)rotate(12deg)}}.mini-bot{z-index:2;transition:transform .33s cubic-bezier(.3,1.4,.5,1)}.mini-bot svg{width:82%;height:auto}.mini.oops .mini-bot{animation:.4s bump}@keyframes bump{25%{margin-left:-6px}75%{margin-left:6px}}.mini.won .mini-bot svg{animation:.5s 2 hop}@keyframes hop{50%{transform:translateY(-14px)}}.mini-say{min-height:3.2em;margin:0 0 10px;font-size:1.05rem;font-weight:600}.mini-plan{background:#ffffff14;border-radius:14px;flex-wrap:wrap;gap:6px;min-height:58px;margin:0 0 12px;padding:10px;list-style:none;display:flex}.mini-plan li{background:#2bb673;border-radius:10px;place-items:center;width:38px;height:38px;font-size:1.3rem;font-weight:700;animation:.25s both pop-in;display:grid}.mini-plan li.now{color:#241a4d;background:#ffd23f;transform:scale(1.12)}.mini-plan li.empty{color:#ffffff80;background:0 0;width:auto;font-size:1rem;font-weight:500;animation:none}.mini-arrows{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px;display:grid}.mini-arrows button{color:#241a4d;cursor:pointer;background:#fff;border:0;border-radius:14px;min-height:56px;font-size:1.6rem;font-weight:700;box-shadow:0 4px #b9b0e6}.mini-arrows button:active{transform:translateY(3px);box-shadow:0 1px #b9b0e6}.mini-go{flex-wrap:wrap;gap:10px;display:flex}.spark{z-index:3;border-radius:3px;width:10px;height:10px;animation:.9s ease-out forwards spark;position:absolute;top:50%;left:50%}@keyframes spark{to{transform:translate(var(--dx), var(--dy)) rotate(260deg);opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}}.chips{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.chips button,.tabbar button{font:inherit;cursor:pointer;background:var(--card);min-height:44px;color:var(--ink);box-shadow:var(--shadow);border:0;border-radius:999px;padding:0 16px;font-weight:700}.chips button[aria-pressed=true],.tabbar button[aria-selected=true]{background:var(--teal);color:#fff}.games{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.game{background:var(--card);box-shadow:var(--shadow);animation:.4s both pop-in;animation-delay:calc(var(--i,0) * 40ms);border-radius:22px;transition:transform .2s;display:grid;overflow:hidden}.game:hover{transform:translateY(-4px)rotate(-.6deg)}.game.pop{animation:.35s both pop-in;animation-delay:calc(var(--i,0) * 40ms)}.game-art{display:block}.game-art .place-art{aspect-ratio:16/10;place-items:center;padding:14px 24%;display:grid}.game-art .place-art svg{width:100%;height:100%}.game-text{gap:2px;padding:10px 14px 14px;display:grid}.game-text b{font-size:1.15rem}.game-text small{color:var(--ink-soft)}.game-kind{color:var(--teal-dark);background:#e6f6f2;border-radius:999px;justify-self:start;padding:2px 10px;font-size:.78rem;font-weight:700}.game-ages{color:var(--teal-dark);font-size:.85rem;font-weight:700}.game.code .place-art{background:#33266b;padding-inline:16%}.game.design .place-art{background:#fdf3e1;padding-block:24px}.game.design .place-art svg{border-radius:2px;box-shadow:0 0 0 6px #fff,0 0 0 10px #c8894a}.game.words .place-art{background:#dce8ff;padding-inline:10%}.game.words .word-card{justify-content:center;align-items:center;gap:8px;width:100%;height:100%;display:flex}.game.words .word-card svg{width:auto;max-width:55%;height:100%}.game.words .word-card b{color:#2f63d6;font-size:2.2rem}.game.data .place-art{background:#163d52;padding-inline:16%}.game.maths .place-art{background:#ffe3cc;padding:6px 10%}.game.steps .place-art{background:#d6f2c2;padding:6px 18%}.game.pattern .place-art{background:#d3e5ff;padding:6px 6%}.game.sort .place-art{background:#ffd6e4;padding:6px 12%}.game.build .place-art{background:#fff0b8;padding-inline:20%}.game.story .place-art{background:#ffd6e7;padding-inline:18%}.game.science .place-art{background:#d3f2dc;padding-inline:28%}.game.safety .place-art{background:#e4d9ff;padding-inline:20%}.how{counter-reset:how;grid-template-columns:repeat(3,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}.how li{background:var(--card);box-shadow:var(--shadow);text-align:center;border-radius:24px;padding:20px 18px 18px;position:relative}.how li:before{counter-increment:how;content:counter(how);background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid;position:absolute;top:-12px;left:18px}.how svg{width:96px;height:96px;margin:4px auto 8px;display:block}.how b{font-size:1.2rem;display:block}.how small{color:var(--ink-soft);font-size:1rem}.how.reveal li{transition:transform .5s cubic-bezier(.2,1.3,.4,1),opacity .5s}.how.reveal:not(.in) li{opacity:0;transform:translateY(20px)scale(.95)}.how.reveal li:nth-child(2){transition-delay:.12s}.how.reveal li:nth-child(3){transition-delay:.24s}.how.reveal li:nth-child(4){transition-delay:.36s}.prices{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:stretch;gap:16px;display:grid}.price-card{background:var(--card);box-shadow:var(--shadow);border-radius:26px;align-content:start;gap:8px;padding:22px 20px;transition:transform .2s;display:grid;position:relative}.price-card:hover{transform:translateY(-4px)}.price-card.best{color:#fff;background:#241a4d}.price-card.best small,.price-card.best li{color:#d9d3ff}.price-card .tag{color:#241a4d;background:#ffd23f;border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:700;position:absolute;top:-12px;right:18px}.price-card h3{margin:0;font-size:1.3rem}.price-card .amount{font-size:2.2rem;font-weight:700;line-height:1.1}.price-card .amount small{font-size:1rem;font-weight:600}.price-card ul{gap:4px;margin:4px 0 6px;padding:0;list-style:none;display:grid}.price-card li:before{content:"✓ ";color:var(--go);font-weight:700}.price-card .btn{margin-top:auto}.switch{background:#e6f6f2;border-radius:999px;gap:4px;padding:4px;display:inline-flex}.switch button{font:inherit;min-height:40px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 14px;font-weight:700}.switch button[aria-pressed=true]{background:#fff;box-shadow:0 2px #2b24401f}.price-card.best .switch{background:#ffffff1f}.price-card.best .switch button{color:#fff}.price-card.best .switch button[aria-pressed=true]{color:#241a4d}.save{color:#241a4d;background:#ffd23f;border-radius:8px;padding:2px 8px;font-size:.85rem;font-weight:700;display:inline-block}.flip{animation:.3s both pop-in;display:inline-block}.tiles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.tile{background:var(--card);box-shadow:var(--shadow);border-radius:20px}.tile summary{cursor:pointer;align-items:center;gap:12px;min-height:64px;padding:14px 16px;font-size:1.08rem;font-weight:700;list-style:none;display:flex}.tile summary::-webkit-details-marker{display:none}.tile summary:after{content:"+";color:var(--teal-dark);margin-left:auto;font-size:1.4rem;transition:transform .2s}.tile[open] summary:after{transform:rotate(45deg)}.tile p{color:var(--ink-soft);margin:0;padding:0 16px 16px 72px;animation:.25s both pop-in}.ico{border-radius:14px;flex:none;place-items:center;width:44px;height:44px;display:grid}.ico svg{width:26px;height:26px}.lesson{background:var(--card);box-shadow:var(--shadow);border-radius:26px;padding:20px}.lesson-bar{grid-template-columns:5fr 25fr 10fr;gap:6px;margin:6px 0 14px;display:grid;position:relative}.lesson-bar button{font:inherit;cursor:pointer;color:#fff;text-align:left;opacity:.55;border:0;border-radius:14px;min-height:64px;padding:6px 8px;font-weight:700;line-height:1.15;transition:opacity .2s,transform .2s}.lesson-bar button small{opacity:.9;font-weight:600;display:block}.lesson-bar button[aria-selected=true]{opacity:1;transform:translateY(-3px)}.lesson-bar [data-tab=intro]{background:#ff9f43}.lesson-bar [data-tab=play]{background:#2bb673}.lesson-bar [data-tab=talk]{background:#4d8dff}.lesson-panel{grid-template-columns:110px 1fr;align-items:center;gap:16px;display:grid}.lesson-panel svg{width:110px;height:110px}.lesson-panel h3{margin:0 0 4px}.lesson-panel p{color:var(--ink-soft);margin:0}.pop{animation:.35s both pop-in}.weeks{grid-template-columns:repeat(4,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid;position:relative}.weeks:before{content:"";background:repeating-linear-gradient(90deg,#9fd8cd 0 14px,#0000 14px 24px);border-radius:3px;height:6px;position:absolute;top:34px;left:6%;right:6%}.weeks li{text-align:center;position:relative}.weeks .dot{color:#fff;z-index:1;border-radius:50%;place-items:center;width:68px;height:68px;margin:0 auto 10px;font-size:1.6rem;font-weight:700;display:grid;position:relative;box-shadow:0 4px #2b244026}.weeks li:first-child .dot{background:#ff9f43}.weeks li:nth-child(2) .dot{background:#8a55e6}.weeks li:nth-child(3) .dot{background:#ff5c5c}.weeks li:nth-child(4) .dot{background:#2bb673}.weeks b{font-size:1.1rem;display:block}.weeks small{color:var(--ink-soft)}.weeks.reveal li{transition:opacity .5s,transform .5s cubic-bezier(.2,1.3,.4,1)}.weeks.reveal:not(.in) li{opacity:0;transform:scale(.8)}.weeks.reveal li:nth-child(2){transition-delay:.15s}.weeks.reveal li:nth-child(3){transition-delay:.3s}.weeks.reveal li:nth-child(4){transition-delay:.45s}.mock{grid-template-columns:1.4fr 1fr;align-items:start;gap:16px;display:grid}.mock-screen{background:var(--card);box-shadow:var(--shadow);border:3px solid #241a4d;border-radius:24px;padding:18px}.mock-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.mock-code{letter-spacing:.18em;color:var(--teal-dark);font-size:1.5rem;font-weight:700}.roster{gap:8px;margin:0;padding:0;list-style:none;display:grid}.roster li{white-space:nowrap;grid-template-columns:90px 1fr auto;align-items:center;gap:10px;font-weight:600;display:grid}.bar{background:#eef4f2;border-radius:7px;height:14px;overflow:hidden}.bar i{background:linear-gradient(90deg,#2ec4b6,#ffd23f);border-radius:7px;width:0;height:100%;transition:width 1.2s cubic-bezier(.2,.9,.3,1);display:block}.reveal.in .bar i{width:var(--w)}.pin-card-pic{text-align:center;box-shadow:var(--shadow);background:#fff;border:3px dashed #9fd8cd;border-radius:20px;padding:16px;transform:rotate(2deg)}.pin-card-pic b{font-size:1.4rem;display:block}.pin-card-pic .big{letter-spacing:.25em;color:var(--teal-dark);font-size:2rem;font-weight:700}.mock-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.mock-list li{align-items:center;gap:10px;font-weight:600;display:flex}.mock-list li:before{content:"✓";width:28px;height:28px;color:var(--teal-dark);background:#dff6f1;border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.ribbon{background:var(--sun);box-shadow:var(--shadow);border-radius:22px;align-items:center;gap:14px;margin-top:18px;padding:14px 18px;display:flex}.ribbon svg{flex:none;width:48px;height:48px}.ribbon p{margin:0}.cta{color:#fff;box-shadow:var(--shadow);background:linear-gradient(135deg,#2ec4b6,#3d7eff);border-radius:30px;grid-template-columns:auto 1fr;align-items:center;gap:18px;margin-top:64px;padding:24px;display:grid}.cta h2{margin:0 0 6px}.cta p{margin:0 0 10px}.cta .cta-codie{width:110px}.cta .cta-codie svg{width:100%;height:auto;overflow:visible}.cta .btn.alt{color:var(--ink)}@media (width<=760px){.hero{text-align:left;grid-template-columns:1fr;padding:24px 18px}.hero-stage{order:-1;min-height:170px}.hero-codie{width:140px}.mini{grid-template-columns:1fr;padding:16px}.how{grid-template-columns:1fr;gap:20px}.weeks{grid-template-columns:1fr 1fr;row-gap:22px}.weeks:before{display:none}.mock{grid-template-columns:1fr}.lesson-panel{grid-template-columns:70px 1fr}.lesson-panel svg{width:70px;height:70px}.cta{text-align:center;grid-template-columns:1fr;justify-items:center}.cta .cta-codie{width:90px}.stats{grid-template-columns:repeat(3,1fr);gap:8px}.stat{padding:12px 6px}.stat span{font-size:.85rem}.games{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-art .place-art{padding-inline:16%}.tile p{padding-left:16px}.roster li{grid-template-columns:70px 1fr 34px}.lesson-bar button{min-height:72px;font-size:.9rem}}@media (prefers-reduced-motion:reduce){.floaty,.codie-wave .codie-arm-r,.mini-star svg,.game,.game.pop,.mini-plan li,.pop,.flip{animation:none!important}.reveal{opacity:1;transition:none;transform:none}.mini-bot{transition:none}}.codie-wave .codie-bob{transform-origin:60px 120px;animation:2.4s ease-in-out infinite codie-bob}.codie-wave .codie-arm-r{transform-origin:98px 74px}.codie-wave .codie-eyes{transform-origin:60px 54px;animation:4s infinite codie-blink}@keyframes codie-bob{50%{transform:translateY(-3px)rotate(-2deg)}}@keyframes codie-blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}.codie-talk,.codie-frown{display:none}@media (prefers-reduced-motion:reduce){.codie-wave .codie-bob,.codie-wave .codie-eyes{animation:none}}.game-art .place-art{overflow:hidden}.game-art .place-art>svg,.game-art .place-art>.word-card{max-width:100%;min-height:0;max-height:100%}.game-art .place-art{grid-template-rows:minmax(0,1fr)}.games{align-items:start}.navbtn{font:inherit;cursor:pointer;background:var(--ink);color:#fff;min-height:44px;box-shadow:var(--shadow);border:0;border-radius:999px;padding:.35em .9em;font-weight:600}.for-two{grid-template-columns:1fr 1fr;gap:16px;display:grid}.for-card{color:var(--ink);box-shadow:var(--shadow);border-radius:28px;align-content:start;gap:6px;padding:22px;text-decoration:none;transition:transform .2s;display:grid}.for-card.home{background:linear-gradient(160deg,#e3f9ea,#fff)}.for-card.school{background:linear-gradient(160deg,#e3eeff,#fff)}.for-card:hover{transform:translateY(-4px)}.for-card:hover svg{transform:rotate(-6deg)scale(1.08)}.for-card svg{width:72px;height:72px;transition:transform .3s}.for-card h3{margin:0;font-size:1.5rem}.for-card ul{gap:4px;margin:0;padding:0;font-weight:500;list-style:none;display:grid}.for-card li:before{content:"✓ ";color:var(--go);font-weight:700}.for-card .more{color:var(--teal-dark);margin-top:6px;font-weight:700}.btn.ghost{color:#fff;background:0 0;box-shadow:inset 0 0 0 2px #fff}.pick-dialog{background:var(--bg);width:min(560px,100vw - 32px);color:var(--ink);border:0;border-radius:28px;padding:26px 22px 22px;box-shadow:0 20px 60px #2b244059}.pick-dialog[open]{animation:.3s cubic-bezier(.2,1.3,.4,1) pop-in}.pick-dialog::backdrop{background:#2b24408c}.pick-dialog h2{text-align:center;margin:0 0 16px;font-size:1.6rem}.dialog-x{cursor:pointer;width:44px;height:44px;color:var(--ink);background:#fff;border:0;border-radius:50%;font-family:inherit;font-size:1.6rem;font-weight:700;line-height:1;position:absolute;top:10px;right:12px}.picks{grid-template-columns:1fr 1fr;gap:12px;display:grid}.picks.three{grid-template-columns:repeat(3,1fr)}.pick{text-align:center;color:var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:22px;justify-items:center;gap:2px;padding:18px 10px;text-decoration:none;transition:transform .15s;animation:.35s both pop-in;display:grid}.pick:nth-child(2){animation-delay:60ms}.pick:nth-child(3){animation-delay:.12s}.pick:hover{transform:translateY(-4px)}.pick svg{width:64px;height:64px;margin-bottom:4px}.pick b{font-size:1.3rem}.pick.home b{color:#1f8a50}.pick.school b{color:#2f63d6}.pick.pupil b{color:#7442d6}.pick span{color:var(--ink-soft);font-size:.92rem;font-weight:500}@media (width<=760px){.for-two,.picks.three{grid-template-columns:1fr}.picks.three .pick{text-align:left;grid-template-columns:56px 1fr;justify-items:start;column-gap:12px}.picks.three .pick svg{grid-row:span 2;width:52px;height:52px;margin:0}}@media (prefers-reduced-motion:reduce){.pick,.pick-dialog[open]{animation:none}}
