/* Circuit Classroom: warm plywood labs, electric-blue traces, safety-orange practice nodes and a persistent course spine. */
:root{--chalk:#f6f4ec;--white:#fff;--birch:#d9bd8f;--birch2:#efdfc2;--blue:#145dff;--orange:#ff692e;--graphite:#262b2f;--line:#777d80;--ease:cubic-bezier(.23,1,.32,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--graphite);background:var(--chalk);font:400 17px/1.55 "Atkinson Hyperlegible",sans-serif;overflow-x:hidden}img{display:block;width:100%}button,input,select,textarea{font:inherit}button,a{color:inherit}a{text-decoration:none}.course-spine{position:fixed;z-index:100;inset:0 auto 0 0;width:126px;display:grid;grid-template-rows:auto 1fr auto;background:var(--graphite);color:#fff;border-right:7px solid var(--blue)}.spine-brand{display:grid;justify-items:center;gap:.2rem;padding:1rem .4rem;border-bottom:1px solid #555}.spine-brand img{width:44px;height:44px;object-fit:contain}.spine-brand b{font:700 .95rem "Space Grotesk",sans-serif}.spine-brand span{font-size:.48rem;letter-spacing:.12em;color:#bbc7dd}.course-spine nav{display:grid;align-content:center}.course-spine nav button{display:grid;justify-items:center;gap:.35rem;min-height:74px;padding:.6rem .2rem;border:0;border-top:1px solid #444;color:#fff;background:transparent}.course-spine nav button:last-child{border-bottom:1px solid #444}.course-spine nav button:hover{color:var(--graphite);background:var(--birch)}.course-spine nav i{font-style:normal;color:var(--orange);font:700 .58rem "Space Grotesk",sans-serif}.course-spine nav span{font-size:.65rem}.spine-contact{min-height:68px;border:0;color:#fff;background:var(--orange);font-weight:700}.spine-toggle{display:none}.course-canvas,footer{margin-left:126px}.bench-label{margin:0;color:var(--blue);font:700 .63rem "Space Grotesk",sans-serif;letter-spacing:.11em;text-transform:uppercase}.lab-hero{display:grid;grid-template-columns:.9fr 1.1fr;min-height:820px}.hero-instruction{display:flex;flex-direction:column;justify-content:center;padding:6rem 5vw}.hero-instruction h1,.skill-diagnostic h2,.live-lab h2,.pathboard h2,.course-modules h2,.feedback-loop h2,.course-questions h2,.enrolment-brief h2{margin:1rem 0;font:700 clamp(3.6rem,6vw,7rem)/.88 "Space Grotesk",sans-serif;letter-spacing:-.055em}.hero-instruction h1 em{color:var(--blue);font-style:normal}.hero-instruction>p:not(.bench-label){max-width:610px}.hero-buttons{display:flex;gap:.6rem;margin:2rem 0}.hero-buttons button,.path-output button{min-height:52px;padding:0 1rem;border:2px solid var(--blue);color:#fff;background:var(--blue);font-weight:700}.hero-buttons .ghost{color:var(--graphite);background:transparent;border-color:var(--graphite)}.hero-modules{display:grid;grid-template-columns:repeat(3,1fr);margin-top:2rem;border:1px solid var(--graphite);background:var(--white)}.hero-modules span{display:grid;gap:.2rem;padding:1rem;border-right:1px solid}.hero-modules span:last-child{border:0}.hero-modules i{width:12px;height:12px;background:var(--orange);border-radius:50%}.hero-modules b{font:600 1rem "Space Grotesk"}.hero-modules small{font-size:.72rem}.lab-hero>figure{position:relative;margin:0;padding:2rem;background:var(--birch)}.lab-hero>figure img{height:100%;object-fit:cover}.lab-hero figcaption,.live-lab figcaption,.feedback-loop figcaption,.pathboard figure figcaption{position:absolute;left:3rem;bottom:3rem;padding:.6rem .8rem;color:#fff;background:var(--graphite);font:600 .57rem "Space Grotesk";letter-spacing:.08em}.skill-diagnostic{padding:8rem 5vw;background:var(--white)}.skill-diagnostic>header{display:grid;grid-template-columns:.5fr 1.25fr .75fr;gap:2rem;max-width:1450px;margin:auto}.skill-diagnostic h2{margin:0;font-size:clamp(3.2rem,5vw,6rem)}.diagnostic-workbench{display:grid;grid-template-columns:1fr .55fr .8fr;max-width:1450px;margin:4rem auto 0;border:2px solid;background:var(--birch2)}.diagnostic-workbench>figure{margin:0;padding:1rem}.diagnostic-workbench>figure img{height:100%;min-height:620px;object-fit:cover}.diagnostic-controls{display:grid;background:var(--graphite)}.diagnostic-controls button{display:grid;align-content:center;gap:.3rem;padding:1.2rem;border:0;border-bottom:1px solid #51575b;color:#fff;background:transparent;text-align:left}.diagnostic-controls button.active{color:var(--graphite);background:var(--orange)}.diagnostic-controls small{font-size:.55rem}.diagnostic-controls b{font:600 1.25rem "Space Grotesk"}.diagnostic-controls span{font-size:.78rem}.diagnostic-output{display:flex;flex-direction:column;justify-content:center;padding:2.5rem;background:var(--chalk)}.diagnostic-output>p:first-child{color:var(--blue);font-size:.6rem;font-weight:700}.diagnostic-output h3{font:700 clamp(2.2rem,3.5vw,4rem)/.92 "Space Grotesk"}.diagnostic-output dl div{padding:1rem 0;border-top:1px solid}.diagnostic-output dt{font-size:.6rem;font-weight:700;color:var(--orange);text-transform:uppercase}.diagnostic-output dd{margin:.3rem 0}.live-lab{display:grid;grid-template-columns:1fr 1fr;background:var(--blue);color:#fff}.lab-copy{padding:8rem 5vw}.live-lab .bench-label{color:#cbd9ff}.live-lab h2{font-size:clamp(3.2rem,5vw,6rem)}.live-lab>figure{position:relative;margin:0;padding:2rem}.live-lab>figure img{height:100%;min-height:850px;object-fit:cover}.lab-principles{margin-top:3rem}.lab-principles article{display:grid;grid-template-columns:86px 1fr;gap:.3rem 1rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.4)}.lab-principles span{grid-row:1/3;color:#dce5ff;font-size:.58rem}.lab-principles h3{margin:0;font:600 1.4rem "Space Grotesk"}.lab-principles p{margin:.2rem 0}.pathboard{padding:8rem 4vw;background:var(--birch2)}.pathboard>header{display:grid;grid-template-columns:.5fr 1.5fr;gap:2rem;max-width:1500px;margin:auto}.pathboard h2{margin:0;font-size:clamp(3.2rem,5vw,6rem)}.pathboard-grid{display:grid;grid-template-columns:.42fr 1fr .78fr;max-width:1500px;margin:4rem auto 0;border:2px solid;background:var(--white)}.path-inputs{background:var(--graphite);color:#fff}.path-inputs fieldset{display:grid;gap:.25rem;padding:1rem;border:0;border-bottom:1px solid #53595d}.path-inputs legend{font:600 .58rem "Space Grotesk";letter-spacing:.08em}.path-inputs button{padding:.65rem;border:1px solid #596066;color:#fff;background:transparent;text-align:left}.path-inputs button.active{color:var(--graphite);background:var(--orange);border-color:var(--orange)}.pathboard figure{position:relative;margin:0;padding:1rem;background:var(--chalk)}.pathboard figure img{height:100%;min-height:720px;object-fit:cover}.path-output{display:flex;flex-direction:column;justify-content:center;padding:2.5rem;border-left:2px solid}.path-output>p:first-child{color:var(--blue);font-size:.58rem;font-weight:700}.path-output h3{font:700 clamp(2rem,3vw,3.5rem)/.94 "Space Grotesk"}.path-output ol{padding-left:1.2rem}.path-output li{padding:.45rem 0;border-bottom:1px solid #ccc}.path-output button{width:max-content}.course-modules{display:grid;grid-template-columns:.7fr 1.3fr;padding:8rem 4vw;background:var(--white)}.module-rack-copy{padding-right:3rem}.course-modules h2{font-size:clamp(3.3rem,5vw,6rem)}.module-rack-copy figure{margin:3rem 0 0;padding:1rem;background:var(--birch2)}.module-rack-copy img{aspect-ratio:4/3;object-fit:cover}.module-plates{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;border:2px solid}.module-plates article{display:flex;flex-direction:column;min-height:700px;padding:1rem;border-right:2px solid}.module-plates article:last-child{border:0}.module-plates img{aspect-ratio:4/3;object-fit:cover}.module-plates span{margin-top:1.5rem;color:var(--blue);font-size:.58rem;font-weight:700}.module-plates h3{font:600 2rem/1 "Space Grotesk"}.module-plates b{margin-top:auto;padding-top:2rem;color:var(--orange);font-size:.6rem}.feedback-loop{display:grid;grid-template-columns:1.1fr .9fr;background:var(--orange)}.feedback-loop figure{position:relative;margin:0;padding:2rem}.feedback-loop figure img{height:100%;min-height:720px;object-fit:cover}.feedback-loop>div{padding:7rem 5vw}.feedback-loop h2{font-size:clamp(3.2rem,5vw,6rem)}.feedback-loop ol{padding:0;list-style:none}.feedback-loop li{display:grid;grid-template-columns:80px 1fr;padding:1rem 0;border-top:1px solid}.course-questions{display:grid;grid-template-columns:.75fr 1.25fr;padding:8rem 5vw;background:var(--chalk)}.course-questions h2{font-size:clamp(3.1rem,5vw,5.8rem)}.course-questions>div>label{display:flex;gap:.6rem;padding:1rem;border:2px solid;background:var(--white)}.course-questions input{width:100%;border:0;outline:0;background:transparent}.course-questions details{border-bottom:2px solid}.course-questions summary{display:grid;grid-template-columns:1fr 20px;align-items:center;min-height:78px;cursor:pointer;list-style:none;font-weight:700}.course-questions summary::-webkit-details-marker{display:none}.course-questions summary i:before{content:"+"}.course-questions details[open] summary i:before{content:"−"}.course-questions details p{padding:0 2rem 1.2rem 0}.enrolment-brief{display:grid;grid-template-columns:1fr .9fr;background:var(--graphite);color:#fff}.enrolment-visual{padding:5rem}.enrolment-visual figure{margin:0 0 3rem;padding:1rem;background:var(--birch)}.enrolment-visual img{aspect-ratio:4/3;object-fit:cover}.enrolment-brief .bench-label{color:#9ebaff}.enrolment-brief h2{font-size:clamp(3rem,5vw,5.7rem)}.enrolment-visual>a{color:var(--orange);font-weight:700}.enrolment-brief form{align-self:center;margin:4rem;background:var(--chalk);color:var(--graphite);padding:2rem;border-left:10px solid var(--blue)}.enrolment-brief form>p:first-child{color:var(--blue);font-size:.6rem;font-weight:700}.enrolment-brief label{display:grid;gap:.3rem;padding:.75rem 0;font-size:.65rem;font-weight:700;text-transform:uppercase}.enrolment-brief input,.enrolment-brief select,.enrolment-brief textarea{border:0;border-bottom:2px solid;background:transparent;font-size:16px}.enrolment-brief input,.enrolment-brief select{height:42px}.enrolment-brief small{display:none;color:#a23516;text-transform:none}.enrolment-brief label.invalid small{display:block}.enrolment-brief .consent{grid-template-columns:auto 1fr;text-transform:none}.enrolment-brief .consent input{width:18px;height:18px}.enrolment-brief form>button{width:100%;min-height:52px;border:0;color:#fff;background:var(--blue);font-weight:700}.form-success{padding:1rem;background:#dbe7ff}footer{display:grid;grid-template-columns:1fr 1fr auto auto;gap:2rem;align-items:center;padding:2rem 3vw;color:#fff;background:#15191c}footer>a:first-child{display:flex;align-items:center;gap:.6rem}footer img{width:36px;height:36px}footer nav{display:flex;gap:1rem;flex-wrap:wrap}.cookie-module{position:fixed;z-index:140;right:8px;bottom:8px;display:flex;align-items:center;gap:.25rem;padding:.35rem;background:var(--graphite);box-shadow:0 10px 30px #0004}.cookie-module span{padding:0 .45rem;color:#fff;font-size:.6rem}.cookie-module button,.cookie-module a{padding:.55rem .7rem;border:0;color:#fff;background:var(--blue);font-size:.64rem}.cookie-module button:first-of-type{color:var(--graphite);background:var(--orange)}.reveal{opacity:1;transform:none}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(18px);transition:.38s var(--ease)}.reveal.visible{opacity:1;transform:none}}@media(max-width:1050px){.course-spine{inset:0 0 auto;width:auto;height:70px;grid-template-columns:1fr auto auto;grid-template-rows:1fr;border-right:0;border-bottom:6px solid var(--blue)}.spine-brand{display:flex;padding:0 1rem;border:0}.spine-brand img{width:38px}.spine-brand span{display:none}.spine-toggle{display:grid;place-items:center;grid-auto-flow:column;gap:.4rem;padding:0 1rem;border:0;color:#fff;background:transparent}.course-spine nav{display:none}.course-spine nav.open{position:absolute;top:64px;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);background:var(--graphite)}.course-spine nav button{min-height:62px}.spine-contact{padding:0 1rem}.course-canvas,footer{margin-left:0}.lab-hero{padding-top:70px}.lab-hero,.live-lab,.feedback-loop,.enrolment-brief,.course-questions,.course-modules{grid-template-columns:1fr}.diagnostic-workbench,.pathboard-grid{grid-template-columns:1fr}.skill-diagnostic>header,.pathboard>header{grid-template-columns:1fr}.diagnostic-controls{grid-template-columns:repeat(3,1fr)}.diagnostic-controls button{border-right:1px solid #555}.path-inputs{display:grid;grid-template-columns:repeat(3,1fr)}.path-output{border:0;border-top:2px solid}.module-rack-copy{padding:0 0 3rem}.module-plates{grid-template-columns:1fr}.module-plates article{min-height:auto;border-right:0;border-bottom:2px solid}.enrolment-brief form{margin-top:0}footer{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.course-spine{height:62px}.course-spine nav.open{top:56px;grid-template-columns:repeat(2,1fr)}.spine-brand{padding:0 .6rem}.spine-brand img{width:32px}.spine-brand b{font-size:.9rem}.spine-toggle span{display:none}.spine-contact{padding:0 .7rem}.lab-hero{grid-template-columns:1fr;padding-top:62px}.hero-instruction{padding:6rem 1rem 3rem}.hero-instruction h1,.skill-diagnostic h2,.live-lab h2,.pathboard h2,.course-modules h2,.feedback-loop h2,.course-questions h2,.enrolment-brief h2{font-size:3.35rem}.hero-buttons{display:grid}.hero-modules{grid-template-columns:1fr}.hero-modules span{border-right:0;border-bottom:1px solid}.lab-hero>figure,.live-lab>figure,.feedback-loop figure{padding:1rem}.lab-hero>figure img,.live-lab>figure img,.feedback-loop figure img{min-height:auto;aspect-ratio:4/3}.skill-diagnostic,.pathboard,.course-modules,.course-questions{padding:5rem 1rem}.diagnostic-controls,.path-inputs{grid-template-columns:1fr}.pathboard figure img{min-height:auto;aspect-ratio:4/3}.path-output,.diagnostic-output{padding:2rem 1rem}.module-rack-copy figure{padding:.6rem}.lab-copy,.feedback-loop>div,.enrolment-visual{padding:5rem 1rem}.enrolment-brief form{margin:0 1rem 4rem;padding:1.2rem}.cookie-module{left:6px;right:6px;bottom:6px;justify-content:flex-end}.cookie-module span{display:none}footer{grid-template-columns:1fr;padding:2rem 1rem}}
/* Contact stays visible in the course spine/header without permanent orange emphasis. */
.course-spine .spine-contact{color:#fff!important;background:transparent!important;border-top:1px solid #ffffff38!important}
.course-spine .spine-contact:hover,.course-spine .spine-contact:focus-visible{background:#ffffff0d!important}
