@font-face{font-family:"Nunito Sans";src:url("../fonts/nunito-sans.9d29fb026f0f.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
:root{--ink:#202840;--muted:#53617a;--violet:#6953dc;--violet-deep:#5039bd;--sky:#edf4fd;--ground:#f8fbff;--yellow:#f3cc48;--radius:16px;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ground);color:var(--ink);font-family:"Nunito Sans",sans-serif;font-size:17px;line-height:1.6}::selection{background:#e0d7ff;color:#29205e}body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-thumb{background:#b9b0e8;border:3px solid var(--ground);border-radius:9px}a{color:inherit;text-decoration:none;text-underline-offset:.25em}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--violet);outline-offset:5px}img{display:block;max-width:100%;height:auto}button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.13;font-weight:850;letter-spacing:-.03em;text-wrap:balance}p{color:var(--muted)}.wrap{width:min(1240px,calc(100% - 80px));margin-inline:auto}.skip-link{position:fixed;left:20px;top:-100px;z-index:20;background:var(--violet);color:white;padding:10px 18px;border-radius:8px}.skip-link:focus{top:10px}.site-header{height:100px;display:flex;align-items:center;gap:50px}.brand{display:inline-flex;align-items:center;gap:8px;font-size:31px;font-weight:900;letter-spacing:-.035em;line-height:1;flex-shrink:0}.brand img{object-fit:contain}.main-nav{display:flex;gap:34px;font-size:16px;font-weight:700}.main-nav a:hover,.text-link:hover,.site-footer>a:last-child:hover{color:var(--violet)}.header-cta{margin-left:auto;color:var(--violet);font-weight:800;font-size:15px;white-space:nowrap}.header-cta{display:inline-flex;align-items:center;gap:6px;min-height:44px}.header-cta .cta-prefix{margin-right:-3px}.link-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:-3px;flex-shrink:0}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:10px;align-items:center;min-height:620px;padding-block:35px 75px}.hero h1{font-size:clamp(49px,5.4vw,72px);line-height:1.06;margin-bottom:25px;letter-spacing:-.04em}.hero h1 span{color:var(--violet)}.hero-copy>p{font-size:18px;line-height:1.6;max-width:480px}.hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;border:0;border-radius:var(--radius);font-weight:800;font-size:17px;padding:15px 24px;min-height:55px;transition:background .2s,color .2s,transform .2s var(--ease)}.primary{background:var(--violet);color:#fff}.primary:hover:not(:disabled){background:var(--violet-deep);transform:translateY(-2px)}.primary:active:not(:disabled){transform:translateY(0)}.primary:disabled{background:#ded9f2;color:#6d638e}.text-link{font-size:15px;font-weight:800;display:inline-flex;gap:8px;align-items:center}.hero-copy .hero-note{font-size:14px;margin:21px 0 0}.hero-art{margin-inline:-35px -40px;transform:translateY(20px)}.hero-art img{width:690px;max-width:115%;filter:drop-shadow(0 20px 25px #b6cae136)}.section-title{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:38px}.section-title h2,.teacher-intro h2{font-size:clamp(34px,3.5vw,46px);margin-bottom:0}.section-title p{font-size:16px;max-width:310px;margin-bottom:4px}.featured-game{padding-block:55px 65px;border-top:1px solid #dce5f2;scroll-margin-top:25px}.game-feature{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;background:#eaf1fc;border-radius:var(--radius);overflow:hidden;transition:background .25s}.game-feature:hover{background:#e2ebfa}.feature-art{padding:25px 24px 0;background:#e0eafa;align-self:stretch;display:flex;align-items:center}.feature-art img{width:100%}.feature-copy{padding:50px 54px}.feature-copy h3{font-size:44px;margin-bottom:15px}.feature-copy p{max-width:440px}.feature-tags{display:flex;flex-wrap:wrap;gap:18px;list-style:none;padding:0;font-size:13px;color:#4f5d79;margin:25px 0}.feature-tags li+li:before{content:"•";padding-right:18px;color:#9186c7}.feature-launch{color:var(--violet);font-weight:850}.feature-launch span{display:inline-block;margin-left:12px;transition:transform .2s}.game-feature:hover .feature-launch span{transform:translate(3px,-3px)}.teacher-section{padding-block:70px 80px;display:grid;grid-template-columns:1fr 1fr;gap:100px;scroll-margin-top:30px}.teacher-intro>p{max-width:410px;margin-block:23px}.lesson-flow{list-style:none;padding:0;margin:0;display:grid;gap:26px}.lesson-flow li{display:flex;gap:21px}.step-number{display:flex;align-items:center;justify-content:center;background:#e6dffe;color:var(--violet);width:43px;height:43px;border-radius:50%;font-weight:900;flex-shrink:0}.lesson-flow h3{font-size:21px;margin-bottom:8px;letter-spacing:-.015em}.lesson-flow p{font-size:16px;margin-bottom:0}.closing{padding-block:70px;text-align:center;border-top:1px solid #dce5f2}.closing h2{font-size:clamp(34px,4vw,50px);margin-bottom:28px}.closing p{font-size:14px;margin:16px 0 0}.site-footer{display:flex;align-items:center;gap:25px;min-height:120px;border-top:1px solid #dce5f2}.footer-brand{font-size:23px}.site-footer p{font-size:13px;margin:0}.site-footer>a:last-child{font-size:14px;font-weight:800;margin-left:auto}.back-link{font-size:14px;font-weight:700;color:var(--violet)}.icon-button{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cdd9eb;background:#fff;border-radius:12px;color:var(--ink);flex-shrink:0}.icon-button:hover{background:#eeebff}.notice{background:#fff2cc;padding:18px;border-radius:12px;color:#604c17}
@media(min-width:1500px){.hero{min-height:680px}.hero-art{margin-right:-65px}.hero-art img{width:740px}}
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.site-header{gap:28px}.main-nav{gap:20px}.hero h1{font-size:60px}.hero-copy>p{font-size:16px}.hero-art{margin-inline:-15px -20px}.hero-actions{gap:15px}.feature-copy{padding:35px}.teacher-section{gap:50px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.site-header{height:80px;gap:16px}.brand{font-size:27px}.brand img{width:36px;height:36px}.main-nav{display:none}.header-cta{font-size:12px}.hero{grid-template-columns:1fr;min-height:0;padding-block:35px 45px;gap:5px}.hero h1{font-size:clamp(42px,9vw,64px);margin-bottom:20px}.hero h1 br:nth-child(2){display:none}.hero-copy>p{font-size:16px;max-width:420px}.hero-actions{margin-top:25px;gap:20px}.button{font-size:15px;padding:13px 19px}.hero-art{margin:0;transform:none;max-width:540px;justify-self:center}.hero-art img{width:100%;max-width:100%;filter:none}.hero-copy .hero-note{font-size:13px;margin-top:17px}.section-title{display:block;margin-bottom:25px}.section-title h2{font-size:34px}.section-title p{margin:18px 0 0}.featured-game{padding-block:40px}.game-feature{grid-template-columns:1fr}.feature-art{max-height:260px;padding:20px 35px;justify-content:center}.feature-art img{max-width:360px}.feature-copy{padding:30px}.feature-copy h3{font-size:36px}.feature-tags{gap:12px}.feature-tags li+li:before{padding-right:12px}.teacher-section{grid-template-columns:1fr;gap:40px;padding-block:45px}.teacher-intro h2{font-size:34px}.closing{padding-block:45px}.closing h2{font-size:34px}.site-footer{flex-wrap:wrap;gap:15px;padding-block:25px}.site-footer p{order:3;flex-basis:100%}.site-footer>a:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@media(max-width:380px){.header-cta .cta-prefix{display:none}.header-cta .link-icon{width:16px;height:16px}}

/* Shared site links and a compact, non-modal choice of analytics. */
.site-footer{display:grid;grid-template-columns:1.5fr 1fr 1.2fr;align-items:start;gap:45px;padding-block:35px}.footer-intro p{margin:15px 0 12px;font-size:14px;max-width:300px}.footer-email{font-size:14px;color:var(--violet-deep);text-decoration:underline;overflow-wrap:anywhere}.footer-links{display:grid;gap:7px;font-size:14px}.footer-links a,.footer-links button{display:block;min-height:32px}.footer-links a:hover{color:var(--violet-deep)}.plain-button{background:transparent;border:0;padding:0;text-align:left;color:var(--muted);font-size:14px;text-decoration:underline;text-underline-offset:4px;min-height:44px}.plain-button:hover{color:var(--violet-deep)}body{padding-bottom:var(--cookie-height,0)}.cookie-banner{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 36px));z-index:15;background:white;border-radius:var(--radius);padding:24px 28px;box-shadow:0 12px 45px #20284026;display:flex;align-items:center;gap:30px;flex-wrap:wrap}.cookie-banner>div:first-child{flex:1 1 460px}.cookie-banner h2{font-size:20px;letter-spacing:-.015em;margin-bottom:8px}.cookie-banner p{font-size:14px;line-height:1.6;margin-bottom:0}.cookie-banner p a{color:var(--violet-deep);text-decoration:underline}.cookie-actions{display:flex;gap:25px;align-items:center}.cookie-actions .button{font-size:15px;min-height:46px;padding:11px 24px}.cookie-actions .button:hover{transform:none}.cookie-decline{font-size:14px}.cookie-error{flex-basis:100%;color:#873316!important}.site-header .main-nav{gap:24px}
@media(max-width:1050px){.site-header{gap:25px}.site-header .main-nav{gap:18px;font-size:14px}}
@media(max-width:760px){.site-footer{grid-template-columns:1fr 1fr;gap:25px 20px;padding-block:30px}.footer-intro{grid-column:1/-1}.footer-intro p{order:initial}.cookie-banner{bottom:12px;padding:20px;gap:17px;max-height:calc(100svh - 24px);overflow:auto}.cookie-banner>div:first-child{flex-basis:100%}.cookie-banner h2{font-size:18px}.cookie-banner p{font-size:13px}.cookie-actions{width:100%;justify-content:flex-end;gap:25px}.footer-links{font-size:13px}}

.site-header,.site-footer{background:var(--ground)}.home-catalog-link{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px}.home-catalog-link .secondary{background:var(--sky);color:var(--violet-deep)}
