/* STEM & Robotics Academy — non-critical styles | v20260822 */
/* TODO FONT: Add licensed self-hosted WOFF2 files at assets/fonts/stem-regular.woff2 and stem-bold.woff2.
   Font files are intentionally not bundled. Once supplied, enable the @font-face blocks and preload tags in HTML.
@font-face{font-family:"STEM Sans";src:url("../fonts/stem-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0370-03FF;}
@font-face{font-family:"STEM Sans";src:url("../fonts/stem-bold.woff2") format("woff2");font-weight:700 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0370-03FF;}
TODO FONT METRICS: tune size-adjust/ascent-override/descent-override after selecting final font files.
*/
:root{--navy:#061836;--blue:#00a7ff;--orange:#ff8a00;--lime:#9ee820;--yellow:#ffd500;--paper:#f6f9ff;--ink:#172033;--muted:#667085;--line:#dfe7f2;--white:#fff;--shadow:0 18px 60px rgba(6,24,54,.12);--radius:28px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"STEM Sans",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 32px));margin-inline:auto}.section{padding:84px 0}.bg-paper{background:var(--paper)}.bg-navy{background:var(--navy);color:#fff}.kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:900;color:var(--blue)}.title{font-size:clamp(2.15rem,5vw,3.5rem);line-height:1.04;letter-spacing:-.045em;color:var(--navy);margin:.6rem 0 1rem;font-weight:900}.lede{font-size:1.08rem;line-height:1.8;color:var(--muted);max-width:760px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;font-weight:900;border:0;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--lime);color:var(--navy);box-shadow:0 10px 28px rgba(158,232,32,.22)}.btn-primary:hover{background:var(--yellow)}.btn-dark{background:var(--navy);color:#fff}.btn-dark:hover{background:#0d2d61}.btn-orange{background:var(--orange);color:#fff}.btn-ghost{border:1px solid var(--line);background:#fff;color:var(--navy)}.focusable:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.topbar{background:var(--navy);color:#fff;font-size:.78rem}.topbar-inner{display:flex;gap:18px;justify-content:space-between;align-items:center;min-height:38px}.topbar-links{display:flex;gap:16px;font-weight:800}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(223,231,242,.9)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--navy)}.brand-mark{width:44px;height:44px;border-radius:14px;background:var(--navy);display:grid;place-items:center}.brand-mark svg{width:30px;height:30px}.brand small{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;color:#6b7280}.desktop-nav{display:flex;align-items:center;gap:23px;font-size:.88rem;font-weight:800}.desktop-nav a:hover{color:#007fca}.menu-btn{display:none;background:#fff;border:1px solid var(--line);border-radius:12px;width:46px;height:46px;font-size:1.35rem}.mobile-nav{display:none;border-top:1px solid var(--line);padding:12px 16px 18px;background:#fff}.mobile-nav.open{display:grid;gap:12px}.mobile-nav a{font-weight:800;padding:7px 0}.skip-link{position:fixed;left:10px;top:10px;z-index:110;transform:translateY(-90px);background:var(--yellow);color:var(--navy);padding:10px 14px;border-radius:999px;font-weight:900}.skip-link:focus{transform:none}.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:88px 0}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:34px 34px;pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:56px}.eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);padding:9px 14px;border-radius:999px;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:900;color:#e7eefb}.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:var(--lime)}.hero h1{font-size:clamp(2.8rem,6.4vw,5.1rem);line-height:.98;letter-spacing:-.055em;margin:18px 0 22px;font-weight:950}.hero h1 span{color:var(--lime)}.hero-copy{font-size:1.15rem;line-height:1.72;color:#d5dfef;max-width:710px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:30px}.hero-stat{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.05);padding:12px;border-radius:16px;font-size:.85rem}.hero-stat strong{display:block;color:var(--lime)}.robot-card{position:relative;min-height:430px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);border-radius:38px;display:grid;place-items:center;padding:28px;box-shadow:0 30px 70px rgba(0,0,0,.22)}.robot-card svg{width:min(100%,510px);height:auto}.float-tag{position:absolute;padding:11px 14px;border-radius:15px;font-size:.74rem;font-weight:900;box-shadow:var(--shadow)}.float-a{left:18px;top:25px;background:var(--yellow);color:var(--navy)}.float-b{right:18px;top:82px;background:var(--blue);color:#fff}.float-c{left:28px;bottom:30px;background:var(--orange);color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.trust-card,.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.trust-card{padding:24px}.trust-card strong{display:block;font-size:1.85rem;color:var(--navy);letter-spacing:-.035em}.trust-card p{margin:4px 0 0;color:var(--muted);font-size:.9rem}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}.program-card{padding:26px;transition:transform .2s ease,box-shadow .2s ease}.program-card:hover{transform:translateY(-5px);box-shadow:0 23px 62px rgba(6,24,54,.14)}.program-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.program-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:1.7rem;background:#eef7ff}.age-chip{font-size:.72rem;font-weight:900;background:#ecfbd3;color:var(--navy);padding:7px 10px;border-radius:999px}.program-card h3{font-size:1.42rem;color:var(--navy);margin:18px 0 8px}.program-card p,.program-card li{color:var(--muted);font-size:.92rem}.program-card ul{padding-left:18px;margin-bottom:20px}.mini-programs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.mini-program{padding:22px;border-radius:24px;color:#fff}.mini-program:nth-child(1){background:var(--navy)}.mini-program:nth-child(2){background:var(--orange)}.mini-program:nth-child(3){background:var(--blue)}.mini-program h3{margin:10px 0 4px}.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}.method-art{min-height:430px;background:var(--navy);border-radius:36px;color:#fff;display:grid;place-items:center;position:relative;overflow:hidden}.method-core{position:relative;z-index:2;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.09);padding:28px;border-radius:30px;text-align:center}.method-core strong{display:block;font-size:2rem;line-height:1.15}.shape{position:absolute}.shape-a{width:110px;height:110px;background:var(--yellow);border-radius:30px;right:25px;top:25px}.shape-b{width:140px;height:140px;background:var(--blue);border-radius:50%;left:20px;bottom:20px}.shape-c{width:80px;height:80px;background:var(--orange);border-radius:20px;right:45px;bottom:55px;transform:rotate(12deg)}.benefit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:26px}.benefit{border:1px solid var(--line);border-radius:22px;padding:20px}.benefit h3{margin:8px 0 4px;color:var(--navy);font-size:1rem}.benefit p{margin:0;color:var(--muted);font-size:.86rem}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:32px}.step{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);padding:23px;border-radius:24px}.step small{font-weight:900;color:var(--yellow)}.step h3{margin:9px 0 5px}.step p{margin:0;color:#c8d4e7;font-size:.88rem}.mid-cta{background:linear-gradient(135deg,#071a3b,#0b3975);color:#fff;border-radius:34px;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:28px}.mid-cta h2{margin:0;font-size:clamp(1.7rem,4vw,2.6rem)}.mid-cta p{margin:.5rem 0 0;color:#d6dfed}.review-rail{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);padding:10px 0}.review-track{display:flex;width:max-content;gap:16px;animation:reviewTrain 34s linear infinite;will-change:transform}.review-track:hover{animation-play-state:paused}.review-card{width:min(330px,82vw);flex:none;background:#fff;border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:0 12px 34px rgba(6,24,54,.08)}.review-card strong{display:block;margin-top:10px;color:var(--navy);font-size:1.3rem}.review-card p{font-size:.88rem;color:var(--muted)}.stars{color:#d39500;font-size:1.25rem;letter-spacing:.08em}@keyframes reviewTrain{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 8px))}}.faq-wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px}.faq-list details{border-bottom:1px solid var(--line);padding:17px 0}.faq-list summary{font-weight:900;color:var(--navy);cursor:pointer;font-size:1.05rem}.faq-list p{color:var(--muted);margin:10px 0 2px}.location-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:28px}.contact-panel{background:var(--navy);color:#fff;border-radius:34px;padding:34px}.contact-panel h2{font-size:2.3rem;line-height:1.05;margin:12px 0}.contact-panel p{color:#cbd7e8}.contact-list{display:grid;gap:17px;margin-top:26px}.contact-list strong{display:block;color:var(--lime)}.map-facade{aspect-ratio:16/9;position:relative;overflow:hidden;border-radius:34px;border:1px solid var(--line);background:#edf5ff;box-shadow:var(--shadow)}.map-facade picture,.map-facade img{width:100%;height:100%;display:block;object-fit:cover}.map-overlay{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(to bottom,rgba(6,24,54,.05),rgba(6,24,54,.2));padding:20px}.map-load{background:#fff;color:var(--navy);border:0;border-radius:999px;min-height:52px;padding:0 22px;font-weight:900;box-shadow:var(--shadow);cursor:pointer}.map-facade iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.form-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px}.form-shell{border:1px solid var(--line);border-radius:32px;background:#fff;padding:30px;box-shadow:var(--shadow)}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{margin-bottom:14px}.field label{display:block;color:var(--navy);font-size:.86rem;font-weight:900;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;min-height:48px;border:1px solid #cfd9e8;border-radius:15px;padding:12px 13px;font-size:16px;color:var(--navy);background:#fff}.field textarea{min-height:105px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,167,255,.1);outline:0}.field-error{min-height:20px;font-size:.76rem;color:#a51b1b;padding-top:3px}.field [aria-invalid="true"]{border-color:#b42318}.consent{display:flex;gap:10px;align-items:flex-start;font-size:.78rem;color:var(--muted);line-height:1.55}.consent input{margin-top:3px;min-width:18px;min-height:18px}.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-status{min-height:26px;text-align:center;margin-top:12px;font-size:.86rem;font-weight:800}.form-status.success{color:#315900}.form-status.error{color:#a51b1b}.page-hero{background:var(--navy);color:#fff;padding:70px 0}.breadcrumbs{font-size:.78rem;color:#cbd7e8;margin-bottom:18px}.breadcrumbs a{text-decoration:underline}.page-hero h1{font-size:clamp(2.5rem,5.6vw,4.4rem);line-height:1;letter-spacing:-.05em;margin:0 0 20px}.page-hero p{max-width:780px;color:#d4deed;font-size:1.12rem}.course-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.course-chip{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:800}.content-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px}.content-card{border:1px solid var(--line);background:#fff;border-radius:28px;padding:28px}.content-card h2,.content-card h3{color:var(--navy)}.content-card p,.content-card li{color:var(--muted)}.link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.link-card{border:1px solid var(--line);border-radius:20px;padding:18px;background:#fff;font-weight:800;color:var(--navy)}.link-card:hover{border-color:#8ecfff}.privacy-main{max-width:850px}.privacy-main h2{color:var(--navy);margin-top:2rem}.privacy-main p,.privacy-main li{color:var(--muted)}.error-page{min-height:70vh;display:grid;place-items:center;text-align:center;background:var(--paper)}.error-page h1{font-size:6rem;margin:0;color:var(--navy)}.site-footer{background:#031127;color:#c6d1e3;padding:46px 0 30px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:32px}.site-footer h3{color:#fff;font-size:1rem;margin:0 0 12px}.footer-links{display:grid;gap:8px;font-size:.86rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:28px;padding-top:20px;font-size:.75rem;color:#8998b1}.sticky-cta{display:none}.notice{background:#fff8dc;border:1px solid #f5df8a;border-radius:16px;padding:14px;color:#6d5400;font-size:.82rem}.social-row{display:flex;gap:10px;flex-wrap:wrap}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;padding:0 17px;border:1px solid var(--line);font-weight:900}.center{text-align:center}.mt-0{margin-top:0}.mt-2{margin-top:12px}.mt-3{margin-top:18px}.mt-4{margin-top:26px}.mb-0{margin-bottom:0}
@media(max-width:960px){.desktop-nav{display:none}.menu-btn{display:block}.hero-grid,.two-col,.faq-wrap,.location-grid,.form-grid,.content-grid{grid-template-columns:1fr}.hero-grid{gap:34px}.robot-card{min-height:350px}.program-grid{grid-template-columns:repeat(2,1fr)}.mini-programs,.steps,.link-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.sticky-cta{display:grid;position:fixed;z-index:45;left:0;right:0;bottom:0;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-top:1px solid var(--line);transition:transform .22s ease,opacity .22s ease}.sticky-cta.hidden-by-form{transform:translateY(120%);opacity:0;pointer-events:none}.sticky-cta a{min-height:52px}body{padding-bottom:76px}}
@media(max-width:640px){.container{width:min(var(--max),calc(100% - 24px))}.section{padding:64px 0}.topbar-inner{justify-content:center;text-align:center}.topbar-links{display:none}.nav-wrap{min-height:68px}.brand strong{font-size:.86rem}.brand small{font-size:.55rem}.hero{padding:62px 0}.hero h1{font-size:2.8rem}.hero-copy{font-size:1rem}.hero-actions{display:grid}.hero-actions .btn{width:100%}.hero-stats{grid-template-columns:repeat(2,1fr)}.robot-card{min-height:310px}.program-grid,.mini-programs,.benefit-grid,.steps,.field-grid,.link-grid,.footer-grid{grid-template-columns:1fr}.mid-cta{display:block}.mid-cta .btn{margin-top:18px;width:100%}.contact-panel h2{font-size:2rem}.map-facade{border-radius:24px}.review-rail{mask-image:none;-webkit-mask-image:none}.form-shell{padding:20px}.page-hero{padding:54px 0}.page-hero h1{font-size:2.6rem}.footer-grid>div:first-child{grid-column:auto}.site-footer{padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.review-track{animation:none;flex-wrap:wrap;width:auto}.review-rail{overflow:visible;mask-image:none;-webkit-mask-image:none}.btn,.program-card,.sticky-cta{transition:none}}
