:root{--paper:#f7f7f0;--ink:#16382e;--lime:#dbfa74;--line:#d8dfd5;--muted:#617267}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'PingFang SC','Microsoft YaHei',sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #477620;outline-offset:5px}.wrap{max-width:1160px;width:calc(100% - 80px);margin:auto}.preview{text-align:center;background:#e8ecdf;font-size:11px;letter-spacing:2px;padding:6px}header{display:flex;align-items:center;justify-content:space-between;height:94px}.wordmark{font-weight:900;letter-spacing:1px;font-size:20px}.wordmark span{font-size:13px;font-weight:500;letter-spacing:0}nav{display:flex;gap:30px;align-items:center;font-size:13px}.nav-cta{border:1px solid var(--ink);border-radius:30px;padding:9px 19px}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:50px;padding-top:44px;padding-bottom:76px;align-items:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;margin-bottom:20px}.eyebrow>span{display:inline-block;width:7px;height:7px;background:#72a83a;border-radius:50%;margin-right:7px}h1{font-size:clamp(34px,4.1vw,58px);line-height:1.28;letter-spacing:-2px;margin:0 0 24px;font-weight:800}h1 em{font-style:normal;background:linear-gradient(transparent 64%,var(--lime) 64%)}.lead{font-size:16px;color:var(--muted);max-width:440px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.chips span{font-size:11px;border:1px solid var(--line);padding:5px 10px;border-radius:20px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--ink);color:white;border:0;padding:16px 24px;border-radius:7px;font-weight:700;font-size:15px;transition:transform .2s}.button:hover{transform:translateY(-2px)}.hero-date{font-size:12px;color:var(--muted);margin-top:18px}.art{background:#153e33;height:480px;border-radius:18px;position:relative;overflow:hidden;color:var(--lime);padding:25px;isolation:isolate;box-shadow:12px 12px 0 #e8eddc}.art-top,.art-bottom{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;position:relative;z-index:2}.live{color:#e0e9e0}.game-title{font-weight:900;font-size:80px;line-height:.95;letter-spacing:-5px;position:absolute;top:96px;left:35px;transform:rotate(-8deg);text-shadow:5px 6px 0 #0d2b22}.game-title i{color:#f8faf0;font-style:normal}.orbit{position:absolute;border:1px solid #658476;border-radius:50%;width:450px;height:450px;z-index:-1;transform:rotate(-30deg)}.orbit-one{left:60px;top:60px}.orbit-two{left:110px;top:40px;width:180px;height:550px}.star{position:absolute;color:#efadf0;font-size:86px}.s1{right:27px;top:78px}.s2{left:30px;bottom:91px;font-size:38px}.track{position:absolute;left:85px;bottom:88px;display:flex;gap:12px;transform:rotate(-8deg)}.track span{display:grid;place-items:center;width:62px;height:68px;background:var(--lime);color:var(--ink);font-size:39px;border-radius:10px;box-shadow:0 8px 0 #7c9c4d}.track span:nth-child(2){transform:translateY(-16px);background:#f0c5fa}.track span:nth-child(4){background:#f6faf0}.art-bottom{position:absolute;bottom:30px;left:25px;right:25px}.art small{position:absolute;bottom:9px;right:25px;color:#a8c0b3;font-size:9px}.date-strip{border-block:1px solid var(--line)}.strip-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:28px 0;gap:35px}.strip-grid>div{display:flex;flex-direction:column}.strip-grid small{font-size:10px;letter-spacing:2px;color:var(--muted)}.strip-grid strong{font-size:17px;margin-top:5px}.strip-grid span{font-size:12px;color:var(--muted)}.section{padding-top:90px;padding-bottom:90px}h2{font-size:36px;line-height:1.4;letter-spacing:-1px;margin:0 0 22px}.section-heading{display:flex;justify-content:space-between;gap:80px;align-items:end;margin-bottom:34px}.section-heading>p{max-width:380px;color:var(--muted);font-size:14px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cards article{border:1px solid var(--line);border-radius:12px;padding:26px;position:relative;background:#fffef9}.number{position:absolute;right:22px;top:22px;font-size:11px;color:var(--muted)}.icon{font-size:36px;height:70px}h3{font-size:19px;margin:10px 0}.cards p,.timeline p{font-size:14px;color:var(--muted)}.process{background:#e9efdf}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:42px}.timeline article{border-top:1px solid #b7c5ad;padding-top:20px}.timeline span{font-size:11px;letter-spacing:2px}.process-note{font-size:11px;color:var(--muted);margin-top:30px}.info{display:grid;grid-template-columns:1fr 1fr;gap:75px}.muted{color:var(--muted)}.text-link{border-bottom:1px solid var(--ink);font-size:13px}.info-box{border:1px solid var(--line);border-radius:12px;padding:12px 28px;background:#fffef9}.info-box>div{display:flex;padding:19px 0;border-bottom:1px solid var(--line);gap:30px;font-size:14px}.info-box>div:last-child{border:0}.info-box span{color:var(--muted);min-width:36px}.info-box strong{font-weight:500}.info-box small{font-size:11px;color:var(--muted)}.faq{padding-top:0;max-width:850px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:600;font-size:16px}details p{color:var(--muted);font-size:14px;max-width:720px}.booking{background:var(--ink);border-radius:18px;color:var(--paper);padding:50px 60px;display:flex;justify-content:space-between;align-items:center;gap:30px}.booking .button{background:var(--lime);color:var(--ink)}.booking p{font-size:13px;color:#d0dbd1}.booking-action{text-align:center}.booking-action p{font-size:11px}footer{display:flex;gap:30px;align-items:center;justify-content:space-between;padding-top:45px;padding-bottom:45px}footer p{font-size:11px;color:var(--muted)}.fine{font-size:10px}.mobile-bar{display:none}dialog{border:0;border-radius:16px;padding:40px;max-width:440px;width:calc(100% - 36px);color:var(--ink);background:var(--paper)}dialog::backdrop{background:#10251fc4}dialog h2{font-size:24px}dialog p{font-size:14px}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:26px}dialog .button{margin-top:12px}@media(max-width:760px){.wrap{width:calc(100% - 36px)}header{height:75px}.wordmark{font-size:17px}.wordmark span{font-size:11px}nav>a:not(.nav-cta){display:none}.nav-cta{padding:7px 12px;font-size:11px}.hero{grid-template-columns:1fr;padding-top:24px;padding-bottom:40px;gap:28px}h1{font-size:clamp(28px,8.2vw,38px);letter-spacing:-1.5px}.eyebrow{font-size:9px;letter-spacing:1.5px}.lead{font-size:15px}.hero .button{width:100%}.art{height:365px;max-width:500px;width:100%}.game-title{font-size:68px;top:70px}.track{bottom:65px;left:60px;gap:9px}.track span{width:51px;height:54px;font-size:30px}.star.s1{top:57px;font-size:65px}.art-top{font-size:8px}.strip-grid{grid-template-columns:1fr;gap:18px;padding:24px 0}.strip-grid>div{display:grid;grid-template-columns:110px 1fr}.strip-grid strong{margin:0;font-size:14px}.strip-grid span{grid-column:2}.strip-grid small{font-size:9px;padding-top:4px}.section{padding-block:52px}h2{font-size:29px}.section-heading{display:block;margin-bottom:24px}.cards{grid-template-columns:1fr;gap:12px}.cards article{padding:23px}.icon{height:45px}.timeline{grid-template-columns:1fr;gap:15px;margin-top:25px}.timeline article{padding-top:15px}.timeline p{margin-bottom:5px}.info{grid-template-columns:1fr;gap:25px}.info-box{padding:8px 20px}.info-box>div{gap:15px}.faq{padding-top:0}.booking{padding:32px 25px;display:block}.booking-action{margin-top:25px}.booking .button{width:100%}footer{display:block;padding-bottom:110px}.mobile-bar{display:flex;position:fixed;z-index:10;bottom:0;left:0;right:0;justify-content:space-between;align-items:center;padding:11px 18px max(11px,env(safe-area-inset-bottom));background:#f7f7f0f5;border-top:1px solid var(--line);backdrop-filter:blur(10px)}.mobile-bar span{font-size:13px;font-weight:600}.mobile-bar small{display:block;font-size:10px;font-weight:400;color:var(--muted)}.mobile-bar a{background:var(--ink);color:white;padding:9px 22px;border-radius:6px;font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Playful course-inspired visual refresh */
:root{--paper:#fffcf2;--ink:#302360;--lime:#ffdf55;--line:#ddd3f1;--muted:#74678d}body{background-image:radial-gradient(#cabcf03d 1px,transparent 1px);background-size:22px 22px}.preview{background:#ffe466;color:#483263;font-weight:700}.wordmark{display:flex;align-items:center;gap:9px}.brand-logo{width:130px;height:auto}.nav-cta,.button{border-radius:18px}.button{background:#7853e6;box-shadow:0 5px 0 #49308e;border:2px solid #49308e}.hero{gap:42px}.hero h1{color:#37245d}.hero h1 em{background:none;color:#8150df;text-shadow:2px 2px 0 #e8ddff}.eyebrow>span{background:#ee7bae}.chips span{background:#fff;border:2px solid #e6dcf6;font-weight:600}.chips span:nth-child(2){background:#e9fbff}.chips span:nth-child(3){background:#ffeaf2}.hero-picture{position:relative;padding:16px 0 28px}.hero-picture>img{width:100%;aspect-ratio:1/1;object-fit:cover;border:6px solid white;border-radius:45px;box-shadow:9px 12px 0 #dccdfa;transform:rotate(2deg)}.sticker{position:absolute;z-index:1;font-weight:900}.sticker-one{top:-8px;right:-12px;background:#ffe66c;color:#5a3977;border:3px solid #5a3977;line-height:1.4;padding:16px;border-radius:26% 35% 30% 32%;transform:rotate(12deg);font-size:21px}.sticker-two{bottom:0;left:20px;background:#a3edff;border:3px solid #49306a;border-radius:15px;padding:9px 19px;transform:rotate(-5deg);font-size:13px;letter-spacing:1px}.date-strip{background:#e6f9ff;border:0;border-top:3px dashed #c1e6f2;border-bottom:3px dashed #c1e6f2}.cards article{border:2px solid #dfd4ef;box-shadow:5px 6px 0 #e4d8f4;border-radius:25px;background:#fff}.cards article:nth-child(2){background:#fff4ce}.cards article:nth-child(3){background:#e8f9f1}.icon{color:#8c55dc}.process{background:#f0e7ff;border-radius:55px;margin-inline:18px}.timeline article{border-top:3px dotted #c5ace9}.info-box{border:2px solid #dbcdf0;border-radius:25px;box-shadow:6px 6px 0 #efe4fb}.booking{background:#efe3ff;color:var(--ink);border:3px solid #b898e9;border-radius:36px;align-items:flex-start}.booking p{color:var(--muted)}.booking .button{background:#ffd953;color:#392563;border-color:#8a652c;box-shadow:0 5px 0 #b78c38}.registration{width:48%;flex-shrink:0;background:#fff;padding:26px;border-radius:24px;border:2px solid #d7c2ef}.registration h3{margin-top:0;font-size:20px}.registration label{display:block;font-size:13px;font-weight:700;margin-top:15px}.registration input:not([type=checkbox]),.registration select{width:100%;min-height:46px;border:1px solid #cfc2e5;border-radius:11px;padding:11px;font:inherit;background:#fff;color:var(--ink);margin-top:6px}.registration input:focus,.registration select:focus{outline:3px solid #d9c9ff}.registration .consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;font-weight:400;line-height:1.65}.consent input{margin-top:4px;min-width:16px}.consent a{text-decoration:underline}.registration .button{width:100%;margin-top:20px}.registration small{font-size:10px;display:block;color:var(--muted)}.form-status{font-weight:600;white-space:pre-line}.trap{position:absolute;left:-9999px}.privacy{padding-top:32px;max-width:900px}.privacy p{font-size:12px;color:var(--muted)}.button:disabled{opacity:.65;cursor:wait}.mobile-bar a{background:#7853e6;border-radius:12px}.mobile-bar{background:#fffaf3f5}@media(max-width:760px){.brand-logo{width:105px}.hero-picture{margin:10px 8px 0}.sticker-one{font-size:18px;right:-9px}.process{margin-inline:0;border-radius:28px}.booking{padding:27px 19px}.registration{width:100%;margin-top:24px;padding:19px}.hero{gap:15px}.booking h2{font-size:31px}.registration h3{font-size:18px}}

.demo{padding:45px 0 0;text-align:center}.demo video{width:100%;max-width:780px;aspect-ratio:16/9;object-fit:contain;background:#241840;border:5px solid white;border-radius:25px;box-shadow:6px 8px 0 #ded0f4}.demo p{font-size:11px;color:var(--muted)}.timeline{grid-template-columns:repeat(4,1fr);gap:25px}.timeline h3{font-size:17px}@media(max-width:760px){.timeline{grid-template-columns:1fr 1fr;gap:20px}.timeline p{font-size:12px}.timeline h3{font-size:15px}.demo{padding-top:40px}}

/* School first, technical partner second. */
.school-brand{display:flex;flex-direction:column;font-size:18px!important;font-weight:900!important;letter-spacing:.3px!important;color:#bf3347;line-height:1.1}.school-brand small{font-size:8px;letter-spacing:1px;margin-top:4px;color:#403656}.brand-times{font-size:19px!important;color:#847793}.tech-brand{display:flex;flex-direction:column;align-items:center;gap:4px}.tech-brand small{font-size:9px;color:#75678c;letter-spacing:1px}.tech-brand .brand-logo{width:108px}.footer-brands>span{font-size:17px;font-weight:700}@media(max-width:760px){header{gap:12px;flex-wrap:wrap;height:auto;padding-block:18px}header .wordmark{gap:8px}.school-brand{font-size:15px!important}.school-brand small{font-size:7px;letter-spacing:.4px}.tech-brand .brand-logo{width:88px}.tech-brand small{font-size:8px}header nav{margin-left:auto}.nav-cta{font-size:10px;padding:6px 9px}}

.north-shore-logo{width:160px;height:96px;object-fit:cover;object-position:center;border-radius:8px}header{min-height:116px}@media(max-width:760px){.north-shore-logo{width:130px;height:80px}header{min-height:100px;padding-block:10px}header .wordmark{gap:7px}}

/* Compact, transparent partner marks on one shared centre line. */
header{height:88px;min-height:88px;padding-block:12px;flex-wrap:nowrap}.north-shore-logo{width:102px;height:51px;object-fit:contain;border-radius:0}.tech-brand{display:flex;align-items:center;justify-content:center}.tech-brand .brand-logo{width:100px;height:auto}header .wordmark{display:flex;align-items:center;gap:13px}.brand-times{font-size:16px!important;font-weight:400!important;color:#a297b5}@media(max-width:760px){header{height:78px;min-height:78px;gap:8px;padding-block:12px}.north-shore-logo{width:86px;height:43px}.tech-brand .brand-logo{width:82px}header .wordmark{gap:9px}.brand-times{font-size:14px!important}.nav-cta{padding:7px 9px;font-size:10px;white-space:nowrap}}

.school-contact{background:#fff9;padding:24px 30px;border-radius:20px;min-width:250px}.school-contact h3{margin-top:0}.school-contact p{margin-bottom:0;font-size:16px}.booking{align-items:center}@media(max-width:760px){.school-contact{margin-top:22px;min-width:0}}
