@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Noto+Serif+SC:wght@600;700;900&display=swap');

:root { --ink:#17352e; --ink-soft:#35554d; --cream:#f5f2e9; --paper:#fffdf7; --yellow:#f5cd54; --red:#e84f35; --mint:#c9e3d5; --line:rgba(23,53,46,.18); --mono:'DM Mono',monospace; --sans:'Manrope','PingFang SC','Microsoft YaHei',sans-serif; --serif:'Noto Serif SC','Songti SC',serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--sans); line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button, input, select, textarea { font:inherit; }
.section-shell { width:min(1160px, calc(100% - 64px)); margin:0 auto; }
.site-header { height:82px; padding:0 4.5vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:10px; font-size:15px; font-weight:800; letter-spacing:-.03em; white-space:nowrap; }
.brand-mark { display:flex; align-items:flex-end; gap:3px; width:25px; height:23px; transform:rotate(-8deg); }
.brand-mark span { display:block; width:6px; border-radius:1px; background:var(--ink); }
.brand-mark span:nth-child(1){height:11px}.brand-mark span:nth-child(2){height:19px;background:var(--red)}.brand-mark span:nth-child(3){height:15px;background:var(--yellow)}
.nav-links { display:flex; gap:30px; margin-left:auto; margin-right:35px; font-size:12px; font-weight:600; color:var(--ink-soft); }
.nav-links a:hover,.text-link:hover { color:var(--red); }
.header-cta { padding:10px 15px; border:1px solid var(--ink); font-size:12px; font-weight:700; transition:.2s ease; }.header-cta:hover{background:var(--ink);color:var(--cream)}.header-cta span{margin-left:10px}
.hero { min-height:650px; display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; padding-top:65px; padding-bottom:90px; }
.eyebrow { margin:0 0 22px; color:var(--red); font:500 11px var(--mono); letter-spacing:.04em; text-transform:uppercase; }.eyebrow-dot{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--red)}
h1,h2,h3,p { margin-top:0; }.hero h1,.section-intro h2,.outcomes-heading h2,.section-heading-row h2,.booking-intro h2 { margin-bottom:24px; font:900 clamp(39px,5.2vw,73px)/1.14 var(--serif); letter-spacing:-.08em; }.hero h1 em,.section-intro h2 em,.outcomes-heading h2 em,.section-heading-row h2 em,.booking-intro h2 em { color:var(--red); font-style:normal; }
.hero-lede { max-width:480px; margin-bottom:34px; color:var(--ink-soft); font-size:16px; line-height:1.9; }.hero-actions{display:flex;align-items:center;gap:25px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border:0;cursor:pointer;font-weight:800;font-size:13px}.button-primary{padding:16px 19px;background:var(--ink);color:var(--cream);transition:.2s}.button-primary:hover{background:var(--red);transform:translateY(-2px)}.button-primary span{font-size:19px}.text-link{font-size:12px;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:3px}.text-link span{margin-left:8px;color:var(--red)}
.hero-proof{display:flex;align-items:center;gap:12px;margin-top:45px;color:var(--ink-soft);font:11px var(--mono)}.hero-proof p{margin:0;line-height:1.6}.hero-proof strong{font-family:var(--sans);font-size:12px;color:var(--ink)}.avatar-stack{display:flex}.avatar-stack i{display:grid;place-items:center;width:28px;height:28px;margin-right:-6px;border:2px solid var(--cream);border-radius:50%;background:var(--yellow);font:700 10px var(--sans);font-style:normal}.avatar-stack i:nth-child(2){background:var(--mint)}.avatar-stack i:nth-child(3){background:var(--red);color:white}.avatar-stack i:nth-child(4){background:var(--ink);color:white}
.workbench{position:relative;min-height:450px;padding:24px 25px;background:var(--mint);border:1px solid var(--ink);box-shadow:12px 12px 0 var(--ink);transform:rotate(1.5deg)}.workbench-top{display:flex;justify-content:space-between;margin-bottom:19px;color:var(--ink-soft);font:10px var(--mono)}.status b{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#58a966}.workbench-window{background:var(--paper);border:1px solid var(--ink);box-shadow:4px 4px 0 rgba(23,53,46,.2)}.window-bar{display:flex;justify-content:space-between;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--ink-soft);font:9px var(--mono)}.window-dots i{display:inline-block;width:6px;height:6px;margin-right:3px;border-radius:50%;background:var(--red)}.window-dots i:nth-child(2){background:var(--yellow)}.window-dots i:nth-child(3){background:var(--mint)}.window-content{position:relative;min-height:260px;padding:25px 21px;background:repeating-linear-gradient(0deg,transparent,transparent 29px,rgba(23,53,46,.05) 30px)}.prompt-bubble,.answer-bubble{position:relative;display:flex;gap:10px;width:max-content;max-width:73%;padding:10px 12px;font-size:11px;line-height:1.6}.prompt-bubble{margin-left:auto;background:var(--yellow);border-radius:9px 9px 2px 9px}.answer-bubble{margin-top:14px;background:var(--mint);border-radius:9px 9px 9px 2px}.prompt-icon,.ai-icon{color:var(--red);font-weight:bold}.ai-icon{color:var(--ink)}.creation-card{position:absolute;right:20px;bottom:18px;display:flex;align-items:center;gap:11px;width:185px;padding:10px;background:var(--red);color:white;box-shadow:3px 3px 0 var(--ink)}.moon{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:27px}.creation-card small,.creation-card strong,.creation-tag{display:block}.creation-card small{font:8px var(--mono);opacity:.8}.creation-card strong{font:700 13px var(--serif)}.creation-tag{margin-top:4px;font:8px var(--mono);opacity:.9}.workbench-note{position:absolute;padding:9px 12px;border:1px solid var(--ink);font:10px/1.5 var(--mono);box-shadow:3px 3px 0 var(--ink)}.workbench-note b{font-family:var(--sans);font-size:11px}.workbench-note span{position:absolute;right:7px;bottom:3px}.note-yellow{left:-42px;bottom:35px;background:var(--yellow);transform:rotate(-7deg)}.note-red{right:-35px;top:76px;background:var(--red);color:white;transform:rotate(6deg)}.workbench-tape{position:absolute;left:40%;bottom:-23px;padding:5px 14px;background:var(--ink);color:var(--yellow);font:11px/1.05 var(--mono);letter-spacing:.12em;transform:rotate(-4deg)}.workbench-tape strong{font-size:8px;color:var(--cream)}
.marquee{display:flex;justify-content:center;gap:28px;padding:20px 30px;background:var(--yellow);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);overflow:hidden;font:700 12px var(--mono);letter-spacing:.08em;white-space:nowrap}.marquee span{color:var(--red)}
.why,.outcomes,.curriculum,.stories,.booking{padding-top:135px;padding-bottom:135px}.why{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.section-intro h2,.outcomes-heading h2,.section-heading-row h2,.booking-intro h2{font-size:clamp(33px,4vw,53px)}.why-content{padding-top:18px}.lead-paragraph{max-width:540px;font:600 18px/1.75 var(--serif);letter-spacing:-.03em}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px;padding-top:17px;border-top:1px solid var(--line)}.principle-number{display:grid;place-items:center;width:29px;height:29px;margin-bottom:19px;background:var(--red);color:#fff;font:12px var(--mono)}.principle-grid article:nth-child(2) .principle-number{background:var(--yellow);color:var(--ink)}.principle-grid article:nth-child(3) .principle-number{background:var(--ink)}.principle-grid h3{font-size:14px;margin-bottom:8px}.principle-grid p{font-size:12px;line-height:1.65;color:var(--ink-soft)}
.outcomes{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;padding-top:105px;padding-bottom:105px;background:var(--ink);color:var(--cream);width:100%;padding-left:max(32px,calc((100% - 1160px)/2));padding-right:max(32px,calc((100% - 1160px)/2))}.outcomes-heading .eyebrow{color:var(--yellow)}.outcomes-heading h2 em{color:var(--yellow)}.outcomes-heading>p:last-child{max-width:365px;color:#b3c7bc;font-size:13px;line-height:1.8}.outcome-list{border-top:1px solid rgba(245,242,233,.25)}.outcome-item{display:grid;grid-template-columns:45px 1fr 20px;gap:10px;align-items:start;padding:19px 0;border-bottom:1px solid rgba(245,242,233,.25)}.outcome-item>strong{color:var(--yellow);font:11px var(--mono);padding-top:4px}.outcome-item h3{margin-bottom:3px;font-size:17px;color:var(--cream)}.outcome-item p{margin:0;color:#b3c7bc;font-size:12px}.outcome-item>span{color:var(--yellow);font-size:21px}
.section-heading-row{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:55px}.section-aside{max-width:290px;margin-bottom:6px;color:var(--ink-soft);font-size:13px;line-height:1.8}.level-tabs{display:flex;border-bottom:1px solid var(--ink);margin-bottom:25px}.level-tab{padding:14px 22px 14px 0;margin-right:28px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--ink-soft);cursor:pointer;font-size:14px;font-weight:800}.level-tab small{display:block;margin-top:3px;color:var(--red);font:9px var(--mono)}.level-tab.is-active{border-color:var(--red);color:var(--ink)}.lesson-panel{display:grid;grid-template-columns:130px 1fr 230px;min-height:235px;background:var(--paper);border:1px solid var(--ink);box-shadow:7px 7px 0 var(--yellow)}.lesson-time{display:flex;align-items:center;justify-content:center;gap:7px;border-right:1px solid var(--line);background:var(--yellow)}.lesson-time strong{font:700 64px var(--serif);letter-spacing:-.1em}.lesson-time span{font:10px var(--mono);line-height:1.3}.lesson-main{padding:31px}.lesson-kicker{margin-bottom:8px;color:var(--red);font:10px var(--mono)}.lesson-main h3{max-width:420px;margin-bottom:28px;font:700 24px/1.35 var(--serif)}.lesson-steps{display:flex;gap:21px}.lesson-steps span{min-width:95px;color:var(--red);font:10px var(--mono)}.lesson-steps b,.lesson-steps small{display:block;color:var(--ink)}.lesson-steps b{margin-top:6px;font:700 12px var(--sans)}.lesson-steps small{margin-top:2px;font:10px/1.5 var(--sans);color:var(--ink-soft)}.lesson-result{display:flex;flex-direction:column;justify-content:flex-end;padding:24px;background:var(--ink);color:var(--cream)}.lesson-result span:first-child{margin-bottom:8px;color:var(--yellow);font:10px var(--mono)}.lesson-result strong{font:700 16px/1.45 var(--serif)}.result-arrow{align-self:flex-end;margin-top:30px;color:var(--yellow);font-size:24px}.hours-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:28px}.hours-guide div{padding-top:13px;border-top:1px solid var(--line)}.hours-guide span{display:block;margin-bottom:9px;color:var(--red);font:10px var(--mono)}.hours-guide strong{font-size:13px;line-height:1.5}
.stories{background:#ebe8dd;width:100%;padding-left:max(32px,calc((100% - 1160px)/2));padding-right:max(32px,calc((100% - 1160px)/2))}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.story-card{border:1px solid var(--ink);background:var(--paper);overflow:hidden}.story-green{background:var(--mint)}.story-yellow{background:var(--yellow)}.story-red{background:var(--red);color:white}.story-top{display:flex;justify-content:space-between;padding:17px 18px 0;font:10px var(--mono)}.story-art{position:relative;height:235px;margin-top:10px;overflow:hidden}.story-green .story-art{background:linear-gradient(165deg,#a6d0ba,#cbe5d4)}.story-yellow .story-art{background:#edd350}.story-red .story-art{background:#df4932}.sun{position:absolute;top:28px;right:47px;font-size:45px;color:var(--yellow)}.cloud{position:absolute;top:65px;left:34px;font-size:47px;color:var(--paper)}.house{position:absolute;right:38px;bottom:25px;font-size:130px;color:var(--red)}.story-caption{position:absolute;left:23px;bottom:33px;font:700 19px/1.3 var(--serif)}.pixel{position:absolute;left:36px;top:30px;font-size:145px;line-height:1;color:var(--ink)}.game-title{position:absolute;right:24px;top:54px;font:900 30px/1.1 var(--serif);text-align:right}.game-line{position:absolute;left:35px;bottom:33px;font:10px var(--mono)}.lens{position:absolute;left:40px;top:33px;font-size:150px;line-height:1;color:var(--yellow)}.map-line{position:absolute;right:30px;top:72px;font:900 25px/1.35 var(--serif)}.map-dot{position:absolute;left:36px;bottom:33px;font:24px var(--mono);color:var(--yellow)}.story-copy{padding:18px 19px 21px;border-top:1px solid var(--ink);font-size:12px}.story-copy p{margin:0 0 7px;line-height:1.65}.story-copy p:last-child{margin:0;font-weight:700}
.booking{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;background:var(--cream)}.booking-intro>p:not(.eyebrow){max-width:390px;color:var(--ink-soft);font-size:14px;line-height:1.85}.booking-note{display:flex;gap:12px;align-items:center;margin-top:45px;padding:14px 0;border-top:1px solid var(--line);font-size:11px;color:var(--ink-soft)}.booking-note>span{font-size:24px;color:var(--red)}.booking-note strong{color:var(--ink);font-size:12px}.booking-form{padding:33px;background:var(--paper);border:1px solid var(--ink);box-shadow:9px 9px 0 var(--red)}.form-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px;padding-bottom:15px;border-bottom:1px solid var(--line)}.form-title span{font:700 21px var(--serif)}.form-title small{font:10px var(--mono);color:var(--ink-soft)}.booking-form label{display:block;margin-bottom:17px;color:var(--ink-soft);font:10px var(--mono)}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;margin-top:7px;padding:11px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;outline:0;background:transparent;color:var(--ink);font:13px var(--sans);resize:vertical}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--red)}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#99aaa2}.form-split{display:grid;grid-template-columns:1fr 1fr;gap:28px}.button-submit{width:100%;margin-top:7px;padding:16px 18px;background:var(--red);color:white}.button-submit:hover{background:var(--ink)}.form-footnote{margin:13px 0 0;color:#8a9891;font-size:10px}.form-success{display:none;gap:11px;margin-top:20px;padding:14px;background:var(--mint);font-size:12px}.form-success.is-visible{display:flex}.form-success>span{color:var(--red);font-size:22px}.form-success strong{font-size:13px}.form-success p{margin:2px 0 0;color:var(--ink-soft);font-size:11px}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 4.5vw;border-top:1px solid var(--line);font-size:11px;color:var(--ink-soft)}.site-footer p{margin:0;font:11px var(--mono)}.site-footer>span{font:10px var(--mono)}
@media (max-width:850px){.nav-links{display:none}.section-shell{width:min(100% - 38px,620px)}.hero{grid-template-columns:1fr;gap:55px;padding-top:55px}.hero h1{font-size:47px}.workbench{margin:0 22px 18px 14px}.why,.outcomes,.booking{grid-template-columns:1fr;gap:48px;padding-top:90px;padding-bottom:90px}.outcomes,.stories{padding-left:19px;padding-right:19px}.principle-grid{gap:12px}.section-heading-row{display:block;margin-bottom:35px}.section-aside{margin-top:20px}.lesson-panel{grid-template-columns:90px 1fr}.lesson-result{grid-column:1/-1;min-height:105px}.lesson-main{padding:24px}.lesson-steps{gap:12px}.story-grid{grid-template-columns:1fr}.story-art{height:205px}.booking-form{box-shadow:6px 6px 0 var(--red)}}
@media (max-width:520px){.site-header{height:70px;padding:0 19px}.header-cta{padding:8px 10px}.header-cta span{display:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-proof{margin-top:32px}.workbench{padding:17px 14px;transform:none}.note-yellow{left:-13px;bottom:25px}.note-red{right:-12px;top:60px}.workbench-note{font-size:8px}.workbench-note b{font-size:9px}.creation-card{right:12px;width:170px}.why,.outcomes,.curriculum,.stories,.booking{padding-top:75px;padding-bottom:75px}.principle-grid{grid-template-columns:1fr;gap:20px}.principle-grid article{display:grid;grid-template-columns:35px 1fr;column-gap:10px}.principle-number{grid-row:span 2;margin:0}.level-tabs{overflow:auto}.level-tab{flex:0 0 auto;margin-right:17px;padding-right:12px}.lesson-panel{grid-template-columns:1fr}.lesson-time{justify-content:flex-start;padding:17px 23px;border-right:0;border-bottom:1px solid var(--line)}.lesson-time strong{font-size:48px}.lesson-main h3{font-size:20px}.lesson-steps{display:grid;grid-template-columns:1fr 1fr}.hours-guide{grid-template-columns:1fr;gap:18px}.form-split{grid-template-columns:1fr;gap:0}.form-title{display:block}.form-title small{display:block;margin-top:7px}.site-footer{align-items:flex-start;flex-direction:column}.site-footer p{order:3}.marquee{justify-content:flex-start;gap:20px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button-primary{transition:none}}
