[hidden]{display:none!important}body[data-view=welcome]{background:#0b1728}body[data-view=welcome]>footer{display:none}.welcome{min-height:100svh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:90px 24px;background:radial-gradient(ellipse at 74% 54%,#19394a70,transparent 48%),radial-gradient(ellipse at 15% 14%,#202b3f70,transparent 50%),#0b1728}.welcome:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#79cfff07 1px,transparent 1px),linear-gradient(90deg,#79cfff07 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse,#000,transparent 75%);pointer-events:none}.welcome-top{position:absolute;top:38px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#93aabd}.welcome-top span:first-child{color:var(--blue)}.welcome-content{position:relative;text-align:center;z-index:1;max-width:1000px}.welcome h1{font-size:clamp(86px,17vw,210px);line-height:1;letter-spacing:-.075em;margin:0 0 26px;font-weight:800}.welcome h1 span{color:var(--orange)}.welcome-tagline{font-size:clamp(21px,3vw,35px);font-weight:550;letter-spacing:-.7px;color:#dce8f1;margin:0 0 42px;line-height:1.45}.welcome-tagline span{color:var(--blue)}.enter-lab{padding:18px 29px;border-radius:15px;display:inline-flex;align-items:center;gap:42px;font-size:18px;box-shadow:0 8px 50px #ffad6612}.enter-lab span{font-size:25px;font-weight:400}.welcome-caption{font-size:14px;max-width:420px;margin:26px auto 0;color:#96aabd}.welcome-bottom{position:absolute;bottom:28px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:2px;color:#7e95a9}.welcome-orbit{position:absolute;width:780px;height:780px;right:-260px;bottom:-400px;opacity:.32;pointer-events:none;fill:none;stroke:#79cfff;stroke-width:1}.welcome-orbit .orbit-inner{stroke:#ffad66;stroke-dasharray:2 12}.orbit-dot{fill:#ffad66;stroke:none;transform-origin:390px 390px;animation:orbit 40s linear infinite}@keyframes orbit{to{transform:rotate(360deg)}}.entry-header .brand{text-decoration:none}.header-actions{display:flex;gap:10px;align-items:center}.header-actions a{font-size:13px;text-decoration:none;color:var(--muted);padding:10px 14px;border:1px solid var(--line);border-radius:10px}.overview-heading{margin:12px 0 34px}.overview-heading h1{font-size:clamp(35px,5vw,58px);outline:none}.overview-heading p{max-width:650px}.overview-heading .eyebrow{display:flex;align-items:center;gap:9px}.overview-heading .eyebrow:before{content:'';height:6px;width:6px;background:var(--orange);border-radius:50%}.subject-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:22px 0 45px}.subject-door{display:block;overflow:hidden;border:1px solid var(--line);border-radius:20px;text-decoration:none;background:var(--panel);transition:transform .2s,border-color .2s}.subject-door:hover{border-color:#79cfff88;transform:translateY(-4px)}.subject-door:focus-visible,.math-start:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.door-art{height:160px;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(ellipse at 50% 90%,#24475c,#102235 75%);border-bottom:1px solid #294255}.door-art:before{content:'';position:absolute;inset:15px;background-image:linear-gradient(#79cfff08 1px,transparent 1px),linear-gradient(90deg,#79cfff08 1px,transparent 1px);background-size:20px 20px}.door-art svg{width:220px;height:145px;position:relative;stroke:#98ccdf;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.door-art .warm{stroke:var(--orange)}.door-art .fill{fill:var(--orange);stroke:none}.door-art>span{position:absolute;right:18px;top:15px;font-size:11px;color:#7e9cb0;letter-spacing:2px}.door-art .pulse{animation:catalogPulse 3s ease-in-out infinite}.door-copy{padding:24px}.door-copy h3{font-size:23px;margin:0 0 9px;letter-spacing:-.6px}.door-copy p{font-size:14px;margin:0 0 22px;min-height:46px}.door-open{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:650;color:var(--orange)}.door-open>span{font-size:20px}.math-start{margin-top:0;padding:30px 34px;position:relative;overflow:hidden;background:linear-gradient(115deg,#233d50,#15273c 80%)}.math-start h2{font-size:clamp(29px,3.4vw,42px)}.math-start svg{display:block}.catalog-search{margin-top:40px}.all-topics{margin-bottom:25px;border-top:1px solid var(--line);padding-top:25px}.all-topics>summary{font-size:19px;color:#dfeaf3;padding:8px 0}.all-topics[open]>summary{margin-bottom:25px}#lessonIntro>.eyebrow{margin-top:10px}#lessonNav{margin:0 0 25px}body[data-view=home] #lessonIntro,body[data-view=home] #lessonNav{display:none}body:not([data-view=home]) .overview-heading{display:none}.entry-footer{line-height:1.7}.entry-footer .footer-name{font-size:18px;font-weight:700;letter-spacing:-.5px;color:#dfeaf3;margin-right:12px}@media(max-width:900px){.subject-doors{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-orbit{opacity:.18}.welcome h1{font-size:clamp(80px,18vw,160px)}}@media(max-width:580px){.welcome{padding:110px 20px}.welcome-top{font-size:9px;letter-spacing:1px}.welcome-top span:last-child{display:none}.welcome-tagline{font-size:22px;letter-spacing:-.6px}.welcome h1{font-size:clamp(72px,19vw,110px)}.welcome-caption{font-size:13px;max-width:270px}.welcome-bottom{font-size:9px;letter-spacing:1px}.subject-doors{grid-template-columns:1fr;gap:16px}.door-art{height:150px}.door-copy p{min-height:0}.math-start{padding:24px;gap:5px}.math-start svg{max-height:145px}.math-start h2{font-size:32px}.header-actions a{font-size:12px;padding:9px}.entry-header .brand{font-size:22px}.door-copy{padding:22px}.overview-heading{margin-bottom:25px}.welcome-orbit{right:-380px;bottom:-480px}}@media(prefers-reduced-motion:reduce){.orbit-dot,.door-art .pulse,.door-art .flow{animation:none}.subject-door{transition:none}}
#lessonNav{margin:0}body[data-view=energy] .header-actions,body[data-view=efficiency] .header-actions{display:none}

/* The longer name keeps the existing typography and two-tone wordmark. */
.welcome-content{max-width:1180px;width:100%}.welcome h1{font-size:clamp(58px,9.5vw,128px);letter-spacing:-.065em}.entry-header .brand{font-size:24px}@media(max-width:650px){.welcome h1{font-size:clamp(50px,12vw,78px);line-height:1.03}.welcome h1 span{display:block;margin-top:5px}.entry-header .brand{font-size:20px}.header-actions a{font-size:11px;padding:8px}.welcome-tagline{margin-top:25px}}
