/* Extensions to the original Hexa Firmware Labs visual system. */
:root{--text3:#99a8b9}body{overflow-x:visible}main,footer{position:relative;z-index:1}main{padding-top:72px}h1,h2,h3{font-family:var(--ff-display);line-height:1.12}h1{font-size:clamp(2.35rem,5.5vw,4.4rem);max-width:950px;overflow-wrap:break-word}p{color:var(--text2)}p+p{margin-top:16px}address{font-style:normal;color:var(--text2);line-height:1.9;margin-bottom:20px}address strong,address a{color:var(--text)}address a{overflow-wrap:anywhere}a:hover{color:var(--amber)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:5px}button,a,input,select,textarea{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.65}.skip-link{position:fixed;left:16px;top:-100px;z-index:2000;background:var(--amber);color:var(--bg);padding:12px}.skip-link:focus{top:12px}.nav-links{gap:18px}.nav-links a{font-size:.68rem;letter-spacing:.03em}.nav-inner{gap:16px}.nav-logo{flex-shrink:0}.nav-cta{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}.hamburger{min-width:44px;min-height:44px;justify-content:center;align-items:center}.mobile-menu.open{max-height:calc(100dvh - 72px);overflow-y:auto}.mobile-menu a{min-height:44px}.hero-title{font-size:clamp(2.7rem,5.1vw,4.25rem);line-height:1.05}.hero-inner{grid-template-columns:1.3fr 1fr}.hero-actions{flex-wrap:wrap;margin-top:24px;gap:12px}.hero-actions>a,.btn-primary,.btn-ghost{min-height:46px}.hero-minor{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:.88rem;margin-top:20px}.hero-minor .btn-ghost{padding:0;border:0;min-height:44px}.hero-stats{margin-top:32px}#hero{min-height:auto;padding:66px 0 80px}.hero-visual{min-width:0}.circuit-board{max-width:100%}.breadcrumbs{padding-top:26px;color:var(--text3);font-size:.8rem;overflow-wrap:anywhere}.breadcrumbs span[aria-hidden]{padding:0 8px;color:var(--amber)}.breadcrumbs a:hover{text-decoration:underline}.page-hero{padding:42px 0 52px;border-bottom:1px solid var(--border)}.page-hero .label{display:block;margin-bottom:20px}.lead{font-size:1.16rem;max-width:800px;margin-top:24px;line-height:1.7}.page-section{padding:72px 0}.page-section.alt{background:var(--bg2);border-block:1px solid var(--border)}.section-head{margin-bottom:32px}.section-head .label{display:block;margin-bottom:10px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.cards .course-card{display:flex;flex-direction:column;min-width:0}.cards .course-desc{flex:1}.cards .course-link{margin-top:20px;min-height:44px;display:flex;align-items:center}.cards .course-title{font-size:1.75rem}.course-num{color:var(--green)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.two-col>*{min-width:0}.terminal-body{white-space:pre-wrap;overflow-wrap:anywhere}.t-green{color:var(--green)}.t-amber{color:var(--amber)}.body-list{padding-left:22px;margin:22px 0;color:var(--text2)}.body-list li{padding:6px 0}.body-list li::marker{color:var(--amber)}.topic-links{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.topic-links .tool-chip{min-height:48px;padding:12px 20px}.steps{counter-reset:step;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.steps li{counter-increment:step;border-top:1px solid var(--border2);padding-top:20px}.steps li:before{content:'0' counter(step);font: .8rem var(--ff-mono);color:var(--amber)}.steps h3{font-size:1.5rem;margin:12px 0}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.facts>div{border:1px solid var(--border);background:var(--bg2);padding:20px}.facts dt,.idea-card dt{font:.75rem var(--ff-mono);color:var(--green);margin-bottom:8px}.facts dd{color:var(--text)}.syllabus{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}.syllabus li{display:flex;gap:16px;align-items:baseline;padding:18px 12px;border-bottom:1px solid var(--border)}.syllabus .module-num{color:var(--amber)}.faq{max-width:900px}.faq details{padding:18px 0;border-bottom:1px solid var(--border2)}.faq summary{font-size:1.05rem;cursor:pointer;color:var(--text);min-height:30px}.faq details p{padding-top:16px}.course-link{display:inline-flex;margin-right:18px;padding:10px 0}.ideas{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.idea-card{padding:28px;border:1px solid var(--border);background:var(--bg2);border-radius:var(--radius);min-width:0}.idea-card h2{font-size:1.9rem;margin:12px 0 18px}.idea-card dl>div{margin-top:20px}.idea-card dd{color:var(--text2)}.reading{max-width:820px;padding-bottom:64px}.reading section{margin:44px 0}.reading h2{font-size:2rem;margin-bottom:18px}.reading p{font-size:1.08rem;line-height:1.85}.notice{padding:24px;border-left:3px solid var(--amber);background:var(--bg2);margin:28px 0}.enroll-inner>*{min-width:0}.enroll-inner{align-items:start}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group label{color:var(--text2)}.form-group input,.form-group select,.form-group textarea{font-size:16px;min-width:0;min-height:46px}.consent{display:block;color:var(--text2);font-size:.88rem;margin:16px 0}.consent input{width:18px;height:18px;vertical-align:middle;margin-right:8px}.consent a{text-decoration:underline}.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#form-status{margin-top:18px}.footer-inner{grid-template-columns:1.2fr .85fr .85fr 1.3fr;gap:32px}.footer-inner>div{min-width:0}.footer-inner h2{font:600 .8rem var(--ff-mono);color:var(--amber);margin-bottom:16px}.footer-inner>div>a:not(.nav-logo){display:block;margin:8px 0;line-height:1.6;font-size:.9rem}.footer-brand p{font-size:.9rem}.footer-inner address{font-size:.85rem}.footer-inner .nav-logo{flex-wrap:wrap}.mobile-cta{display:none}.reveal{opacity:1;transform:none}.reveal.is-pending{opacity:1;transform:translateY(12px)}.reveal.visible{opacity:1;transform:none}.analytics-banner{position:fixed;bottom:20px;left:20px;max-width:440px;background:var(--bg3);border:1px solid var(--border2);padding:24px;z-index:1500;border-radius:8px;box-shadow:0 12px 50px #0008}.analytics-banner h2{font-size:1.5rem;margin-bottom:12px}.analytics-banner .hero-actions{margin-top:16px}.analytics-banner button{padding:10px 18px}.analytics-banner[hidden]{display:none}html{scroll-padding-top:90px}
@media(max-width:1100px){.nav-links{gap:12px}.nav-logo-text{font-size:1.1rem}.nav-links a{font-size:.65rem}.nav-cta{padding:8px 12px}.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:auto}}
@media(max-width:1024px){.nav-links,.nav-inner>.nav-cta{display:none}.hamburger{display:flex}.hero-inner{grid-template-columns:1fr 1fr;gap:24px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr;text-align:center}.hero-title{max-width:730px;margin-inline:auto}.hero-minor{justify-content:center}.hero-visual{display:none}.two-col,.enroll-inner{grid-template-columns:1fr}.footer-brand{grid-column:auto}.two-col{gap:28px}.steps,.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body{padding-bottom:68px}#hero{padding:40px 0 52px}.hero-title{font-size:clamp(2.6rem,10.5vw,3.7rem)}.hero-actions{align-items:stretch}.hero-actions a{justify-content:center}.hero-stats{gap:20px;flex-wrap:wrap}.stat-item{min-width:0}.stat-num{font-size:1.7rem}.stat-label{font-size:.62rem}.cards,.ideas,.syllabus,.facts,.form-row{grid-template-columns:1fr}.page-section{padding:48px 0}.page-hero{padding:32px 0}.page-hero h1{font-size:2.45rem}.enroll-form-wrap{padding:22px 18px}.footer-inner{grid-template-columns:1fr}.steps{gap:20px}.steps h3{font-size:1.35rem}.idea-card{padding:22px}.nav-logo-text{font-size:1.12rem}.nav-logo-icon{width:28px;height:28px}.nav-inner{gap:8px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:1000;background:var(--bg2);border-top:1px solid var(--border2);padding:8px 16px calc(8px + env(safe-area-inset-bottom));gap:12px}.mobile-cta a{flex:1;text-align:center;padding:9px;min-height:44px;border-radius:4px;background:var(--amber);color:var(--bg);font-weight:600}.mobile-cta a:last-child{background:var(--green)}.analytics-banner{bottom:80px;left:12px;right:12px;max-height:70dvh;overflow:auto}.terminal-body{padding:20px;font-size:.72rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.is-pending{opacity:1;transform:none}}
