:root{--night:#07151e;--night2:#102936;--paper:#eeeae0;--paper2:#ddd7ca;--signal:#ff774d;--amber:#ffc369;--cyan:#78dbe2;--ink:#10202a;--muted:#64727a;--line:rgba(16,32,42,.2);--white:#f8f7f3;--display:"Bahnschrift Condensed","Arial Narrow",sans-serif;--body:"Aptos","Segoe UI",sans-serif;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);overflow-x:hidden}
button,a{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--amber);color:var(--night);padding:.75rem 1rem}
.skip-link:focus{top:1rem}
:focus-visible{outline:2px solid var(--signal);outline-offset:4px}
.masthead{position:fixed;z-index:50;inset:0 0 auto;height:76px;padding:0 clamp(1.1rem,4vw,4.5rem);display:flex;align-items:center;gap:2rem;color:var(--white);border-bottom:1px solid rgba(255,255,255,.16);transition:background .4s}
.masthead.scrolled{height:64px;background:rgba(7,21,30,.94);backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none;margin-right:auto}
.brand svg{width:35px;fill:none;stroke:var(--signal);stroke-width:2}
.brand strong,.brand small{display:block}
.brand strong{font-family:var(--display);font-size:1.08rem;letter-spacing:.14em}
.brand small{font-size:.58rem;letter-spacing:.12em;color:rgba(255,255,255,.58)}
.masthead nav{display:flex;gap:1.65rem}
.masthead nav a{color:inherit;text-decoration:none;font-size:.75rem;font-weight:600;opacity:.66;transition:.2s}
.masthead nav a:hover,.masthead nav a.active{opacity:1;color:var(--amber)}
.header-action{display:flex;align-items:center;gap:.65rem;color:var(--night);background:var(--white);text-decoration:none;padding:.72rem .95rem;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.header-action svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.6}
.nav-toggle{display:none;background:none;border:0;width:38px}
.nav-toggle>span:not(.sr-only){display:block;height:2px;background:#fff;margin:6px}
.hero{min-height:100svh;position:relative;color:var(--white);background:var(--night);display:flex;align-items:center;padding:8.5rem clamp(1.2rem,7vw,8rem) 10rem;isolation:isolate;overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:-3;overflow:hidden}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;scale:1.04;transition:transform 1.2s var(--ease)}
.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,22,.98) 0%,rgba(3,14,22,.78) 37%,rgba(3,14,22,.25) 70%,rgba(3,14,22,.35) 100%),linear-gradient(0deg,rgba(3,14,22,.72),transparent 50%)}
.scan-line{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 18px var(--cyan);opacity:.42;animation:scan 7s ease-in-out infinite}
@keyframes scan{0%,100%{top:14%;opacity:0}
15%{opacity:.5}
85%{opacity:.2}
100%{top:88%}
}
.hero-grid{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:8vw 8vw;mask-image:linear-gradient(90deg,#000,transparent 60%)}
.hero-content{max-width:900px;position:relative}
.hero-status{display:flex;align-items:center;gap:.7rem;text-transform:uppercase;letter-spacing:.16em;font-size:.63rem;color:var(--amber);margin-bottom:1.5rem}
.hero-status i{width:7px;height:7px;background:var(--signal);border-radius:50%;box-shadow:0 0 0 7px rgba(255,119,77,.14)}
.hero-status b{color:rgba(255,255,255,.45);font-weight:500}
.hero h1{font-family:var(--display);font-size:clamp(3.6rem,7.5vw,7.9rem);font-weight:700;line-height:.84;letter-spacing:-.025em;text-transform:uppercase;margin:0;max-width:12ch}
.hero h1 em{display:block;color:var(--amber);font-style:normal;font-weight:400;font-size:.48em;line-height:1.05;letter-spacing:0;margin-top:.5em;max-width:19ch;text-transform:none}
.hero-content>p{font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.55;max-width:610px;color:rgba(255,255,255,.72);margin:2rem 0}
.hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.primary-action{display:flex;align-items:center;gap:1.2rem;background:var(--signal);color:var(--night);padding:1rem 1.25rem;text-decoration:none;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em;transition:transform .3s var(--ease),background .3s}
.primary-action:hover{transform:translateY(-3px);background:var(--amber)}
.primary-action svg{width:20px;fill:none;stroke:currentColor;stroke-width:2}
.text-action{color:rgba(255,255,255,.74);text-underline-offset:5px;font-size:.8rem}
.hero-coordinate{position:absolute;right:4vw;top:42%;display:flex;align-items:center;gap:.6rem;transform:rotate(90deg);font-size:.55rem;letter-spacing:.18em;color:rgba(255,255,255,.48)}
.hero-coordinate i{width:60px;height:1px;background:rgba(255,255,255,.3)}
.hero-caption{position:absolute;right:2rem;bottom:7.5rem;font-size:.55rem;color:rgba(255,255,255,.46)}
.briefing-bar{position:absolute;left:0;right:0;bottom:0;min-height:94px;padding:0 clamp(1.2rem,7vw,8rem);display:grid;grid-template-columns:1fr 1fr .6fr 80px;align-items:stretch;background:rgba(7,21,30,.86);border-top:1px solid rgba(255,255,255,.16);backdrop-filter:blur(13px)}
.briefing-bar>div{display:flex;flex-direction:column;justify-content:center;padding-right:2rem;border-right:1px solid rgba(255,255,255,.15)}
.briefing-bar>div+div{padding-left:2rem}
.briefing-bar span{font-size:.55rem;text-transform:uppercase;letter-spacing:.15em;color:var(--cyan);margin-bottom:.45rem}
.briefing-bar strong{font-size:.78rem}
.briefing-bar>a{display:grid;place-items:center;color:var(--white)}
.briefing-bar svg{width:28px;fill:none;stroke:currentColor;stroke-width:1.5;animation:bob 1.8s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(6px)}
}
.content-section{padding:clamp(5rem,10vw,9rem) clamp(1.2rem,7vw,8rem)}
.section-intro{display:grid;grid-template-columns:.35fr 1.3fr .65fr;gap:5vw;align-items:start}
.section-intro>p:first-child,.signals-heading>div>p,.model-copy>p:first-child,.roadmap-head>p,.assessment-copy>p:first-child,.closing>p{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:#9a4b32;margin:.7rem 0}
.section-intro h2,.signals-heading h2,.model-copy h2,.roadmap h2,.assessment h2,.closing h2{font-family:var(--display);font-size:clamp(2.6rem,5.2vw,5.6rem);line-height:.94;letter-spacing:-.025em;margin:0;text-transform:uppercase}
.section-intro h2 em,.model-copy h2 em,.closing h2 em{font-style:normal;color:#8a4f38}
.section-intro>p:last-child,.signals-heading>p,.model-copy>p:not(:first-child),.assessment-copy>p:not(:first-child){color:var(--muted);line-height:1.65;max-width:56ch;margin:.7rem 0}
.fault-lines{margin-top:6rem;border-top:1px solid var(--line)}
.fault{display:grid;grid-template-columns:.25fr 1fr .65fr 90px;gap:2rem;align-items:center;padding:1.6rem 0;border-bottom:1px solid var(--line)}
.fault>span{font-size:.65rem;text-transform:uppercase;letter-spacing:.13em;color:#9a4b32}
.fault h3{font-size:clamp(1.15rem,1.6vw,1.55rem);font-weight:550;margin:0;max-width:37ch}
.fault p{color:var(--muted);font-size:.82rem;line-height:1.5}
.fault i{width:70px;height:70px;border:1px solid var(--line);border-radius:50%;position:relative}
.fault i:before,.fault i:after{content:"";position:absolute;background:#9a4b32;left:50%;top:50%;transform:translate(-50%,-50%)}
.fault i:before{width:24px;height:1px}
.fault i:after{width:1px;height:24px}
.fault:hover i{background:var(--signal);border-color:var(--signal);transform:rotate(45deg);transition:.35s var(--ease)}
.signals{background:var(--night);color:var(--white);padding-bottom:8rem}
.signals-heading{display:grid;grid-template-columns:1fr .45fr;align-items:end;gap:6vw;padding-bottom:4rem}
.signals-heading>div>p{color:var(--signal)}
.signals-heading>p{color:rgba(255,255,255,.58)}
.signal-console{padding-top:0;padding-bottom:0;display:grid;grid-template-columns:.82fr 1.18fr;gap:5vw}
.signal-list{border-top:1px solid rgba(255,255,255,.17)}
.signal-button{width:100%;display:grid;grid-template-columns:38px 1fr auto;gap:1rem;align-items:center;background:none;color:rgba(255,255,255,.52);border:0;border-bottom:1px solid rgba(255,255,255,.17);padding:1.08rem .25rem;text-align:left;cursor:pointer;transition:.25s}
.signal-button>span{font-size:.6rem;color:var(--signal)}
.signal-button strong{font-size:.95rem;font-weight:520}
.signal-button svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.5;opacity:0;transform:translateX(-8px);transition:.25s}
.signal-button:hover,.signal-button[aria-selected=true]{color:#fff;padding-left:.8rem}
.signal-button[aria-selected=true]{background:rgba(255,255,255,.06)}
.signal-button[aria-selected=true] svg{opacity:1;transform:none}
.signal-detail{min-height:610px;position:sticky;top:84px;background:var(--night2);overflow:hidden;padding:clamp(1.5rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 30px 80px rgba(0,0,0,.28)}
.detail-map{position:absolute;inset:0;opacity:.55}
.detail-map svg{width:100%;height:100%}
.map-road{fill:none;stroke:var(--signal);stroke-width:2;stroke-dasharray:10 8;animation:route 18s linear infinite}
.map-road-two{stroke:var(--cyan);animation-duration:24s}
.map-road-three{stroke:rgba(255,255,255,.35);animation-duration:30s}
@keyframes route{to{stroke-dashoffset:-300}
}
.detail-map circle{fill:var(--amber);filter:drop-shadow(0 0 10px var(--amber))}
.detail-header,.signal-detail h3,.signal-detail>p,.detail-actions,.impact-meter{position:relative}
.detail-header{display:flex;justify-content:space-between;margin-bottom:1rem;text-transform:uppercase;font-size:.58rem;letter-spacing:.14em;color:var(--cyan)}
.signal-detail h3{font-family:var(--display);text-transform:uppercase;font-size:clamp(2.4rem,4.3vw,4.8rem);line-height:.9;letter-spacing:-.02em;margin:0;max-width:10ch}
.signal-detail>p{max-width:56ch;line-height:1.6;color:rgba(255,255,255,.66)}
.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.15);margin-top:1.4rem}
.detail-actions>div{background:var(--night2);padding:1.15rem}
.detail-actions small{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--signal);font-size:.54rem;margin-bottom:.5rem}
.detail-actions strong{font-size:.8rem;line-height:1.45;display:block}
.impact-meter{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;margin-top:1.5rem}
.impact-meter i{height:2px;background:rgba(255,255,255,.2)}
.impact-meter b{display:block;height:100%;width:95%;background:var(--amber);box-shadow:0 0 10px rgba(255,195,105,.55)}
.operating-model{display:grid;grid-template-columns:1fr .8fr;gap:8vw;align-items:center}
.stage-readout{margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--line);max-width:580px}
.stage-readout>span,.stage-readout>small{display:block;font-size:.58rem;text-transform:uppercase;letter-spacing:.14em;color:#9a4b32}
.stage-readout h3{font-size:1.9rem;margin:.8rem 0}
.stage-readout p{color:var(--muted);line-height:1.55}
.stage-readout strong{display:block;margin-top:.35rem}
.route-board{height:650px;position:relative;background:var(--paper2)}
.route-board>svg{position:absolute;inset:0;width:100%;height:100%}
.route-board>svg path{fill:none;stroke:rgba(16,32,42,.16);stroke-width:2}
.route-board>svg .route-progress{stroke:var(--signal);stroke-width:3;stroke-dasharray:9 9;animation:route 18s linear infinite}
.route-stop{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;align-items:center;gap:.7rem;background:none;border:0;cursor:pointer}
.route-stop b{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:1px solid var(--ink);font-size:.65rem;transition:.3s}
.route-stop span{font-size:.75rem;font-weight:700}
.route-stop.active b,.route-stop:hover b{background:var(--signal);border-color:var(--signal);scale:1.15;box-shadow:0 10px 30px rgba(154,75,50,.3)}
.roadmap{background:#f7f4ed}
.roadmap-head{display:grid;grid-template-columns:.35fr 1.65fr;gap:5vw;margin-bottom:4rem}
.cycle-selector{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}
.cycle-selector button{background:none;border:0;border-right:1px solid var(--line);padding:1.3rem;text-align:left;cursor:pointer;color:var(--muted)}
.cycle-selector button:last-child{border-right:0}
.cycle-selector b,.cycle-selector span{display:block}
.cycle-selector b{font-family:var(--display);font-size:2.6rem;color:var(--ink)}
.cycle-selector span{text-transform:uppercase;letter-spacing:.15em;font-size:.57rem;margin-top:.3rem}
.cycle-selector button[aria-selected=true]{background:var(--signal);color:var(--night)}
.cycle-content{display:grid;grid-template-columns:.65fr 1fr .5fr;gap:5vw;padding:4rem 0 0}
.cycle-statement>span{font-size:.58rem;text-transform:uppercase;letter-spacing:.14em;color:#9a4b32}
.cycle-statement h3{font-size:2rem;margin:.8rem 0}
.cycle-statement p{color:var(--muted);line-height:1.6}
.cycle-content ol{list-style:none;margin:0;padding:0;counter-reset:steps}
.cycle-content li{counter-increment:steps;display:grid;grid-template-columns:38px 1fr;gap:.8rem;padding:.9rem 0;border-bottom:1px solid var(--line);line-height:1.4}
.cycle-content li:before{content:"0" counter(steps);font-size:.58rem;color:#9a4b32;margin-top:.25rem}
.cycle-result{background:var(--night);color:var(--white);padding:1.5rem;align-self:start}
.cycle-result small{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:.54rem;color:var(--cyan);margin-bottom:.7rem}
.cycle-result strong{line-height:1.45;font-size:.92rem}
.assessment{background:var(--signal)}
.assessment-inner{display:grid;grid-template-columns:1fr .8fr;gap:8vw}
.assessment-copy>p:first-child{color:var(--night)}
.assessment-copy>p:not(:first-child){color:rgba(7,21,30,.72)}
.readiness{margin-top:3rem}
.readiness>span{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em}
.readiness>strong{font-family:var(--display);font-size:5rem;display:block;margin-top:.4rem}
.readiness>i{height:8px;background:rgba(7,21,30,.2);display:block;max-width:520px}
.readiness>i b{display:block;width:0;height:100%;background:var(--night)}
.readiness h3{font-size:1.6rem;margin:1.4rem 0 .3rem}
.readiness p{max-width:50ch;line-height:1.55}
.checklist{border-top:1px solid rgba(7,21,30,.35)}
.checklist label{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(7,21,30,.35);cursor:pointer}
.checklist input{appearance:none;width:30px;height:30px;flex:0 0 auto;border:1px solid var(--night);display:grid;place-items:center}
.checklist input:checked{background:var(--night)}
.checklist input:checked:after{content:"✓";color:var(--signal);font-size:1rem;font-weight:800;line-height:1}
.checklist span b,.checklist span small{display:block}
.checklist span b{font-size:.9rem}
.checklist span small{font-size:.72rem;color:rgba(7,21,30,.7);margin-top:.2rem}
.reset-button{margin-top:1rem;background:none;border:0;border-bottom:1px solid var(--night);padding:.4rem 0;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}
.closing{min-height:80vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.closing h2{font-size:clamp(3rem,7vw,7.4rem);max-width:12ch}
.closing>a{display:flex;align-items:center;gap:.9rem;margin-top:2rem;color:var(--night);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;text-underline-offset:5px}
.closing svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.7}
footer{display:flex;justify-content:space-between;gap:2rem;background:var(--night);color:rgba(255,255,255,.48);padding:1.4rem clamp(1.2rem,7vw,8rem);font-size:.58rem;text-transform:uppercase;letter-spacing:.12em}
.reveal{opacity:1;transform:none;transition:opacity .8s var(--ease),transform .8s var(--ease),clip-path .8s var(--ease);clip-path:inset(0)}
.js .reveal:not(.visible){opacity:.001;transform:translateY(24px);clip-path:inset(0 0 18% 0)}
@media(max-width:980px){.masthead nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--night);padding:1.3rem;flex-direction:column}
.masthead nav.open{display:flex}
.nav-toggle{display:block}
.header-action{display:none}
.section-intro{grid-template-columns:1fr}
.fault{grid-template-columns:.3fr 1fr 60px}
.fault p{display:none}
.fault i{width:50px;height:50px}
.signals-heading,.signal-console,.operating-model,.assessment-inner{grid-template-columns:1fr}
.signal-detail{position:relative;top:auto;min-height:560px}
.route-board{height:580px}
.roadmap-head{grid-template-columns:1fr}
.cycle-content{grid-template-columns:1fr 1fr}
.cycle-result{grid-column:1/-1}
.briefing-bar{grid-template-columns:1fr 1fr 60px}
.briefing-bar>div:nth-child(3){display:none}
.hero-coordinate{display:none}
}
@media(max-width:640px){.masthead{height:64px}
.hero{padding:7rem 1.2rem 9rem;align-items:flex-end}
.hero-media img{object-position:62% center}
.hero h1{font-size:3.6rem}
.hero h1 em{font-size:.43em}
.hero-caption{right:1rem;bottom:6.4rem}
.briefing-bar{grid-template-columns:1fr 54px;min-height:82px;padding:0 1rem}
.briefing-bar>div:nth-child(2){display:none}
.briefing-bar>div{border-right:1px solid rgba(255,255,255,.15);padding:0 1rem 0 0}
.content-section{padding-inline:1.2rem}
.fault{grid-template-columns:1fr 48px;gap:1rem}
.fault>span,.fault h3{grid-column:1}
.fault i{grid-column:2;grid-row:1/3}
.signals-heading{padding-bottom:2.5rem}
.signal-console{padding-inline:1.2rem}
.signal-list{display:flex;overflow:auto;scroll-snap-type:x mandatory}
.signal-button{min-width:220px;scroll-snap-align:start;border-right:1px solid rgba(255,255,255,.17)}
.signal-button svg{display:none}
.signal-detail{min-height:540px}
.detail-actions{grid-template-columns:1fr}
.detail-actions>div+div{border-top:1px solid rgba(255,255,255,.15)}
.route-board{height:540px}
.roadmap-head{margin-bottom:2rem}
.cycle-selector b{font-size:1.8rem}
.cycle-selector button{padding:.9rem .6rem}
.cycle-content{grid-template-columns:1fr}
.cycle-result{grid-column:auto}
.assessment-inner{gap:3rem}
.closing{min-height:70vh}
footer{flex-direction:column}
.hero-actions{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
.js .reveal:not(.visible){opacity:1;transform:none;clip-path:none}
}
