/* CRUX colour study 01: midnight, plum, graphite and restrained lime. */
:root{--paper:#f0f1f5;--ink:#1c2332;--forest:#171d30;--lime:#b8ff35;--line:#cdd1dc;--gold:#bca7c9}body{background:#101525}header{background:#131827ed;border-bottom:1px solid #d7dcff20;color:#eceef4}.brand{border-radius:10px;background:#f4f4f2;box-shadow:0 1px 8px #0002}header .brand img{mix-blend-mode:multiply}.nav-actions .text-btn{background:#34384266;color:#eceef4;border-color:#ffffff25}.nav-actions .text-btn:before{color:#c4b2d6}.nav-actions .pill{color:#101525}.hero{background:#101525}.hero-sticky{background:#101525;min-height:620px}.hero-shade{background:linear-gradient(90deg,#101525ed,#10152555 47%,transparent 75%),linear-gradient(0deg,#10152599,transparent 40%)}.scene-switch{background:#241b3866;border-color:#e9e6ff30}.hero-desc{color:#d4d7e2}.hall-floor{background:repeating-linear-gradient(90deg,transparent 0 99px,#d8deff14 100px),repeating-linear-gradient(0deg,#171b2ab0 0 99px,#8a85b82b 100px)}.gate-specks{opacity:.3}.sun-beams{opacity:.22}.portal,.chapter-motion,.tools,.join,footer{background:#101525!important;color:#eceef4}.portal{background:radial-gradient(ellipse at 72% 45%,#241b38,#101525 70%)!important}.portal-lines{border-color:#a99fc333}.portal-lines:after{border-color:#a99fc333}.portal-note,.tools p,.chapter-motion p{color:#b4b6c8}.chapter-motion{background:linear-gradient(145deg,#101525,#241b38)!important}.chapter-orbits,.chapter-orbits:before,.chapter-orbits:after{border-color:#b6a3d52b}.chapter-line{background:#a6a0c33d}.programs,.academy,.team,.journal,.shop{background:#f0f1f5;color:#1c2332}.section-head p,.caption{color:#6d7182}.order-entry{background:#25283c;color:#eceef4;border-color:#ffffff20}.order-entry p{color:#bfc3d4}.join{border-top:1px solid #ffffff18}footer{border-top:1px solid #ffffff18}.tools .particle-stage{background:radial-gradient(ellipse at 65% 60%,#241b3877,transparent)}
/* Fixed square prop. Responsive uniform scale, never independent width/height stretching. */
.academy-gate{inset:auto;left:39%;top:50%;width:min(61vw,820px);height:auto;aspect-ratio:1/1;border:0;box-shadow:none;border-radius:0;transform:translateY(-50%) scale(calc(1 + var(--camera-push,0)*6));transform-origin:50% 54%;background:none;opacity:clamp(0,calc((1 - var(--journey,0))*10),1);isolation:isolate}
.academy-gate:before{display:none}.academy-gate:after{inset:17.4% 31.5% 4.5%;border-radius:0;box-shadow:0 0 0 100vmax #101525;clip-path:none;z-index:-1;background:transparent}
.stone-frame{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 18px #03050b99);z-index:4}.gate-aperture{inset:17.2% 31.2% 4.4%;border-radius:0;clip-path:polygon(8% 0,92% 0,100% 5%,100% 100%,0 100%,0 5%);box-shadow:none;overflow:hidden;z-index:2;isolation:isolate}
.shutter-door{position:absolute;inset:-1% -1% 0;transform:translate3d(0,calc(var(--door-open,0)*-102%),0);will-change:transform;filter:drop-shadow(0 5px 8px #000b);z-index:2}.shutter-door>img{width:100%;height:100%;object-fit:fill}.gate-inner-light{position:absolute;inset:0;border:2px solid #f1f7ff;box-shadow:inset 0 0 14px #e4f3ff99,0 0 8px #f1f7ff;opacity:calc(var(--rim-light,0)*.65);pointer-events:none;z-index:3;clip-path:polygon(8% 0,92% 0,100% 5%,100% 100%,0 100%,0 5%)}
.gate-status-lamp{position:absolute;z-index:5;left:47.7%;top:5.4%;width:5.6%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 36% 29%,#ffaea0,#fa382d 32%,#9e191d 75%);box-shadow:0 0 0 2px #283025,inset 0 0 7px #650606,0 0 15px #ef403855;transition:background .18s,box-shadow .18s}.gate-powered .gate-status-lamp{background:radial-gradient(circle at 36% 29%,#e9ffb7,#b8ff35 35%,#638b0e 85%);box-shadow:0 0 0 2px #283025,inset 0 0 7px #527204,0 0 18px #b8ff3570}.gate-access-label{position:absolute;top:98%;left:50%;transform:translateX(-50%);display:flex;gap:7px;align-items:center;font:7px monospace;letter-spacing:.15em;color:#b7bdcc;white-space:nowrap;opacity:calc(1 - var(--camera-push,0)*3)}.gate-access-label i{width:4px;height:4px;border-radius:50%;background:#ff5d55}.gate-powered .gate-access-label i{background:var(--lime)}.hero-copy{max-width:62%;pointer-events:none}.hero-copy .actions{pointer-events:auto}.hero h1{font-size:clamp(43px,5vw,78px)}
/* Relay-inspired original flip dock: readable text, proximity magnification and reverse face. */
header nav{padding:6px;gap:5px;background:linear-gradient(#33394a,#141a2b);border:1px solid #aab8d340;border-radius:16px;box-shadow:inset 0 1px #d2ddf044,0 8px 18px #0003;perspective:750px}header nav a{padding:0;display:block;width:100px;height:51px;border-radius:9px;transition:transform .32s cubic-bezier(.2,.8,.2,1);transform:translateY(calc(var(--near,0)*-5px)) scale(calc(1 + var(--near,0)*.09));z-index:1}header nav a:hover,header nav a.active{background:none;box-shadow:none;transform:translateY(-7px) scale(1.1);z-index:3}.nav-flip{position:relative;width:100%;height:100%;display:block;transform-style:preserve-3d;transition:transform .48s cubic-bezier(.2,.8,.2,1)}header nav a:hover .nav-flip,header nav a:focus-visible .nav-flip{transform:rotateX(180deg)}.nav-front,.nav-back{position:absolute;inset:0;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;backface-visibility:hidden;background:linear-gradient(#3c4353,#22293b);border:1px solid #ffffff15;box-shadow:inset 0 1px #ffffff15,0 3px 5px #0003}.nav-front>span{font-size:14px;color:#e6eaf2}header nav a small{font-size:6px!important;color:#9faac0!important;letter-spacing:.1em}.nav-back{transform:rotateX(180deg);background:linear-gradient(#f6f8fe,#d9e0ec);color:#182235;gap:2px}.nav-back b{font:21px Arial;color:#26334d;font-weight:400}.nav-back>span{font-size:10px}header nav a.active .nav-front{border-bottom:2px solid var(--lime)}
@media(min-width:1500px){.academy-gate{left:auto;right:3%;width:min(61vw,calc(100svh - 115px))}}
@media(max-width:1250px){header nav a{width:83px}.nav-front>span{font-size:12px}.nav-actions .text-btn,.nav-actions .pill.small{padding:10px;font-size:12px}.academy-gate{left:38%;width:65vw}.hero-copy{max-width:67%}}
@media(max-width:1050px){header nav a{width:100%;height:50px}.nav-flip{max-width:100%}.nav-front{flex-direction:row;gap:16px}.nav-front>span{font-size:17px}.nav-back{flex-direction:row;gap:12px}.nav-back>span{font-size:15px}header nav a:hover,header nav a.active{transform:none}.academy-gate{left:35%;width:69vw}.hero-copy{max-width:70%}}
@media(max-width:760px){.academy-gate{left:50%;top:37%;width:min(112vw,650px);height:auto;aspect-ratio:1;transform:translate(-50%,-50%) scale(calc(1 + var(--camera-push,0)*6));transform-origin:50% 54%}.hero-copy{max-width:100%;bottom:95px;position:absolute;padding:0 7%}.hero h1{font-size:36px;line-height:1.25}.hero-desc{font-size:12px;max-width:250px}.hero .actions{margin-top:14px;gap:15px}.hero .actions .pill{padding:14px 20px;font-size:12px}.hero-shade{background:linear-gradient(0deg,#101525fa 3%,#101525bb 25%,transparent 72%)}.hero-copy .eyebrow{font-size:8px;margin-bottom:12px}.hero-sticky{min-height:660px}.gate-access-label{display:none}.brand{height:58px}.hero-bottom{bottom:13px}.gate-status-lamp{transition:none}.scene-switch{font-size:9px}.journey-caption strong{font-size:27px}}
@media(prefers-reduced-motion:reduce){.academy-gate{transform:translateY(-50%)}.shutter-door{transform:translateY(-102%)}.gate-inner-light{opacity:.5}.nav-flip{transition:none}header nav a:hover .nav-flip{transform:none}.gate-status-lamp{background:#b8ff35}header nav a{transform:none}@media(max-width:760px){.academy-gate{transform:translate(-50%,-50%)}}}

.gate-rim{position:absolute;inset:0;width:100%;height:100%;z-index:6;fill:none;stroke:#edf7ff;stroke-width:2;opacity:calc(var(--rim-light,0)*.8);filter:drop-shadow(0 0 3px #e0f3ff) drop-shadow(0 0 8px #dceeff);pointer-events:none}.gate-inner-light{display:none}
@media(min-width:1051px) and (max-width:1499px){.academy-gate{left:39%;width:60vw}}

@media(max-width:760px){.hero-sticky{min-height:0}.academy-gate{top:34%;width:min(108vw,570px)}.hero-copy{bottom:100px}.hero-bottom>span{font-size:6px}.hero-bottom{padding-top:12px}}
