.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:100;border:0;background:transparent;appearance:none}.reading-progress::-webkit-progress-bar{background:transparent}.reading-progress::-webkit-progress-value{background:#4384c6}.page-tools{position:fixed;bottom:16px;right:20px;z-index:50;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.page-tools button,.page-tools a{border:1px solid #b1beca;background:#fffef8;color:#102d43;padding:10px 13px;font:12px inherit;box-shadow:0 3px 16px #153d3510;cursor:pointer;text-decoration:none}.journey{display:grid;grid-template-columns:160px minmax(0,1.7fr) minmax(240px,1fr);gap:30px;align-items:start}.journey-tabs{display:flex;flex-direction:column;border-top:1px solid var(--line)}.journey-tabs button,.report-tabs button{font:inherit;text-align:left;background:none;color:var(--ink);border:0;border-bottom:1px solid var(--line);padding:20px 14px;cursor:pointer;line-height:1.6}.journey-tabs button span{font-size:12px;margin-right:15px;color:#677a8d}.journey-tabs button[aria-selected=true],.report-tabs button[aria-selected=true]{background:var(--lime)}.journey-graphic{min-width:0}.journey-graphic figure{margin:0}.journey-map{display:block;width:100%;height:auto;overflow:hidden}.journey-map text{font:17px sans-serif}.journey-map .map-evidence text{font-size:12px}.map-pois{fill:#304963}.journey-graphic figcaption,.journey-legend{font-size:11px;color:var(--muted);line-height:1.8;margin-top:15px}.journey-legend{display:flex;gap:18px;flex-wrap:wrap}.journey-copy h3{font-size:23px;line-height:1.6;margin:0 0 22px}.journey-copy h4{font-size:13px;margin:20px 0 8px}.journey-copy p{font-size:14px;line-height:1.95;color:var(--muted);margin:0}.journey-copy .journey-next{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:12px}.journey-controls{border-top:1px solid var(--line);padding-top:22px;margin-top:30px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.journey-controls p{font-size:13px;flex:1;min-width:210px;color:var(--muted)}.journey-controls button{cursor:pointer}.journey-controls .text-link{font-size:13px}.js .journey[data-stage="0"] .map-pois,.js .journey[data-stage="0"] .map-route,.js .journey[data-stage="0"] .map-narrow,.js .journey[data-stage="0"] .map-vehicle,.js .journey[data-stage="1"] .map-route,.js .journey[data-stage="1"] .map-narrow,.js .journey[data-stage="1"] .map-vehicle{opacity:.1}.map-evidence,.diagram-scan{opacity:0}.js .journey[data-stage="0"] .diagram-scan{opacity:1;animation:scan 6s linear infinite}.js .journey[data-stage="3"] .map-evidence{opacity:1}.js .journey[data-stage="3"] .map-vehicle{opacity:0}.assessment-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:40px}.assessment-levels article{border-top:1px solid var(--line);padding-top:24px}.assessment-levels h3{font-size:24px;margin:16px 0}.level-question{font-size:17px;line-height:1.8;min-height:60px}.assessment-levels dt{font-size:12px;font-weight:700;margin-top:22px}.assessment-levels dd{font-size:14px;line-height:1.95;margin:8px 0;color:var(--muted)}.source-table{width:100%;min-width:650px;border-collapse:collapse;text-align:left;margin-top:32px;font-size:14px;line-height:1.9}.source-table th,.source-table td{padding:22px 20px;border-bottom:1px solid var(--line);vertical-align:top}.source-table thead{background:#dae3ed;font-size:12px}.source-table tbody th{width:24%}.source-table small{display:block;font-size:11px;font-weight:400;color:var(--muted)}.source-table td{width:38%;color:var(--muted)}.report-preview{display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;border-top:1px solid var(--line);padding-top:25px}.report-tabs{display:flex;flex-direction:column}.report-tabs button{display:flex;justify-content:space-between;font-size:14px;gap:20px}.report-pages{background:#eef2f7;padding:35px 40px}.report-page h3{font-size:26px;margin:0 0 16px}.report-page p{font-size:15px;line-height:1.9;color:var(--muted)}.report-page dl{display:grid;grid-template-columns:105px 1fr;gap:20px;font-size:14px;line-height:1.9;margin-top:30px}.report-page dt{font-weight:700}.report-page dd{margin:0;color:var(--muted)}.report-caption{border-top:1px solid var(--line);padding-top:20px;margin-top:28px}.delivery-checks{display:grid;grid-template-columns:1fr 1fr;gap:0 45px;list-style:none;padding:0}.delivery-checks li{display:flex;gap:22px;padding:24px 0;border-top:1px solid var(--line)}.delivery-checks li>span{color:#5a748e;font-size:13px;padding-top:3px}.delivery-checks h3{font-size:19px;margin:0 0 10px}.delivery-checks p{font-size:14px;line-height:1.9;color:var(--muted);margin:0}.guide-download{margin-top:22px}.has-entered{animation:enter .8s cubic-bezier(.2,.7,.2,1) var(--enter-delay,0ms) backwards}.js .journey-copy:not([hidden]),.js .report-page:not([hidden]),.js .scenario-panel:not([hidden]){animation:enter .4s ease both}.button span{transition:transform .2s}.button:hover span{transform:translateX(4px)}[hidden]{display:none!important}@keyframes enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes scan{from{transform:translateX(0)}to{transform:translateX(730px)}}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important}.motion-paused .has-entered,.motion-paused .journey-copy,.motion-paused .report-page,.motion-paused .scenario-panel{animation:none!important}
@media(max-width:1100px){.journey{grid-template-columns:145px minmax(0,1fr)}.journey-description{grid-column:1/-1;max-width:780px}.journey-copy{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px}.journey-copy h3,.journey-copy .journey-next{grid-column:1/-1}.journey-copy h4{margin:5px 0}.journey-copy p{grid-column:2}.journey-copy h4{grid-column:1}.journey-copy h3{margin-bottom:10px}.journey-copy .journey-next{margin-top:10px}.site-nav{gap:17px;font-size:12px}}
@media(max-width:720px){.journey{display:block}.journey-tabs{flex-direction:row;margin-bottom:24px}.journey-tabs button{flex:1;padding:13px 2px;text-align:center;font-size:12px}.journey-tabs button span{display:block;margin:0 0 4px}.journey-description{margin-top:28px}.journey-copy{display:block}.journey-copy h4{margin-top:18px}.journey-controls{gap:14px}.journey-controls p{flex-basis:100%;margin:0}.assessment-levels{grid-template-columns:1fr;gap:26px}.level-question{min-height:0}.report-preview{grid-template-columns:1fr;gap:20px}.report-tabs{display:grid;grid-template-columns:1fr 1fr}.report-tabs button{font-size:13px;padding:15px 12px}.report-pages{padding:24px 20px}.report-page dl{grid-template-columns:1fr;gap:7px}.report-page dd{margin-bottom:15px}.report-page h3{font-size:23px}.delivery-checks{grid-template-columns:1fr}.page-tools{bottom:10px;right:10px}.page-tools button,.page-tools a{font-size:11px;padding:9px}.source-table th,.source-table td{padding:16px}.journey-section .section{padding-top:48px;padding-bottom:48px}}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled){scroll-behavior:auto!important}html:not(.motion-enabled) *,html:not(.motion-enabled) *:before,html:not(.motion-enabled) *:after{animation:none!important;transition:none!important}}

/* v0.4.4: spatial motion, staged reading rhythm and quieter controls. */
.footer-motion{flex-shrink:0;align-self:flex-start;border:0;border-bottom:1px solid #9cb8ca;background:none;color:#345d75;padding:0 0 3px;font:inherit;cursor:pointer;white-space:nowrap}
.hero-spatial{position:absolute;right:max(48px,calc((100vw - 1192px)/2));bottom:72px;width:min(32vw,400px);z-index:1;background:#061d30c9;border:1px solid #97dbe84d;border-radius:4px;padding:18px 20px 12px;pointer-events:none;box-shadow:0 15px 60px #00101f30}
.hero-spatial svg{display:block;width:100%;height:auto;overflow:visible}.spatial-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:1.8px;color:#bcdeeb}.spatial-label i{width:5px;height:5px;border-radius:50%;background:#35dce5}.hero-spatial p{font-size:10px!important;line-height:1.7!important;margin:7px 0 0!important;color:#b8d1df!important;letter-spacing:1px}.spatial-rooms{opacity:.5}.spatial-route{stroke-dasharray:7 7}.spatial-traveler{offset-path:path('M50 150V110Q50 100 65 100H385');offset-distance:38%;offset-rotate:0deg}.spatial-node{transform-box:fill-box;transform-origin:center}
.motion-enabled .hero.in-view .hero-photo img{animation:field-drift 18s ease-in-out infinite alternate;will-change:transform}.hero-photo:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,transparent 45%,#35dce522 49.8%,#77f4fb90 50%,transparent 50.4%);opacity:0;pointer-events:none}.motion-enabled .hero.in-view .hero-photo:before{animation:field-scan 9s ease-in-out infinite}.motion-enabled .hero.in-view .spatial-route{animation:route-flow 2.4s linear infinite}.motion-enabled .hero.in-view .spatial-traveler{animation:spatial-travel 7s cubic-bezier(.4,0,.3,1) infinite}.motion-enabled .hero.in-view .spatial-node{animation:node-breathe 3s ease-in-out infinite}.motion-enabled .hero.in-view .spatial-node:nth-child(2){animation-delay:1s}.motion-enabled .hero.in-view .spatial-node:nth-child(3){animation-delay:2s}
.motion-enabled .hero-copy h1,.motion-enabled .hero-copy>p,.motion-enabled .hero-copy .actions,.motion-enabled .hero-rail,.motion-enabled .hero-spatial,.motion-enabled .intro-grid>*{animation:enter .9s cubic-bezier(.2,.7,.2,1) backwards}.motion-enabled .hero-copy>p{animation-delay:.12s}.motion-enabled .hero-copy .actions{animation-delay:.24s}.motion-enabled .hero-rail{animation-delay:.36s}.motion-enabled .hero-spatial{animation-delay:.48s}.motion-enabled .intro-grid>p{animation-delay:.15s}
.hero-rail a{position:relative}.hero-rail a:after{content:'';position:absolute;bottom:-12px;left:27px;right:27px;height:2px;transform:scaleX(0);transform-origin:left;background:#35dce5}.hero-rail a:first-child:after{left:0}.motion-enabled .hero.in-view .hero-rail a:after{animation:rail-trace 9s ease-in-out infinite}.motion-enabled .hero.in-view .hero-rail a:nth-child(2):after{animation-delay:3s}.motion-enabled .hero.in-view .hero-rail a:nth-child(3):after{animation-delay:6s}
.process li{position:relative;overflow:hidden}.process li:before{content:'';position:absolute;top:0;left:0;width:80px;height:2px;background:linear-gradient(90deg,transparent,#35dce5,transparent);transform:translateX(-100%)}.motion-enabled .process.in-view li:before{animation:process-trace 5s ease-in-out infinite}.motion-enabled .process.in-view li:nth-child(2):before{animation-delay:1s}.motion-enabled .process.in-view li:nth-child(3):before{animation-delay:2s}.motion-enabled .process.in-view li:nth-child(4):before{animation-delay:3s}
.motion-enabled .journey.in-view .map-route{animation:route-flow 2.4s linear infinite}.motion-enabled .tech-rail.in-view li>span{animation:tech-signal 4s ease-in-out infinite}.motion-enabled .tech-rail.in-view li:nth-child(2)>span{animation-delay:.6s}.motion-enabled .tech-rail.in-view li:nth-child(3)>span{animation-delay:1.2s}.motion-enabled .tech-rail.in-view li:nth-child(4)>span{animation-delay:1.8s}.motion-enabled .tech-rail.in-view li:nth-child(5)>span{animation-delay:2.4s}
.service-grid article,.scenario-preview,.button,.text-link,.site-nav a,.jump-links a{transition:transform .3s ease,background-color .3s ease,color .3s ease,border-color .3s ease}.text-link:hover,.jump-links a:hover{transform:translateX(4px)}.service-grid article>a span{display:inline-block;transition:transform .3s}.service-grid article:hover>a span{transform:translateX(7px)}.button:hover{transform:translateY(-2px)}.service-grid article:hover{transform:translateY(-4px)}.faq-list details[open]>p{animation:enter .35s ease both}
.page-hidden *,.page-hidden *:before,.page-hidden *:after{animation-play-state:paused!important}.motion-paused .spatial-traveler{offset-distance:38%}.motion-paused .hero-photo:before{display:none}
.js .journey .diagram-scan{animation-play-state:paused}.motion-enabled .journey.in-view .diagram-scan{animation-play-state:running}
@keyframes field-drift{from{transform:scale(1)}to{transform:scale(1.055) translate(-.8%,.4%)}}
@keyframes field-scan{0%,15%{opacity:0;transform:translateX(-50%)}28%,65%{opacity:.55}85%,100%{opacity:0;transform:translateX(50%)}}
@keyframes route-flow{to{stroke-dashoffset:-28}}
@keyframes spatial-travel{0%,8%{offset-distance:0%}88%,100%{offset-distance:100%}}
@keyframes node-breathe{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.45)}}
@keyframes rail-trace{0%,3%{transform:scaleX(0)}12%,28%{transform:scaleX(1)}34%,100%{transform:scaleX(0)}}
@keyframes process-trace{0%,10%{left:0;opacity:0}25%{opacity:1}80%,100%{left:100%;opacity:0}}
@keyframes tech-signal{0%,70%,100%{color:#60758a}20%,40%{color:#009fbd}}
@media(max-width:1100px){.hero-spatial{width:290px;right:32px;bottom:55px;padding:14px 16px 10px}}
@media(max-width:720px){.hero-spatial{width:260px;right:24px;bottom:52px;padding:12px 14px 9px}.spatial-label{font-size:8px;letter-spacing:1.2px}.hero-spatial p{font-size:9px!important}.hero-rail a:after{left:18px;right:18px}.hero-photo:before{background:linear-gradient(180deg,transparent 45%,#35dce51a 49.5%,#77f4fb80 50%,transparent 50.5%)}@keyframes field-scan{0%,15%{opacity:0;transform:translateY(-50%)}28%,65%{opacity:.55}85%,100%{opacity:0;transform:translateY(50%)}}}
@media(hover:none){.service-grid article:hover,.button:hover{transform:none}}
