:root{color-scheme:dark;--bg:#080e15;--ink:#f6f8fa;--muted:#b9c2cd;--accent:#099cff;--gutter:clamp(24px,5vw,100px);font-family:"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{border:0}::selection{background:#075887}button:disabled{cursor:wait}.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;z-index:20;top:12px;left:20px;padding:12px;background:white;color:#09121e;transform:translateY(-200%)}.skip-link:focus{transform:none}
#journey{height:760svh;min-height:4500px}.stage{height:100svh;min-height:560px;position:sticky;top:0;overflow:hidden;background:var(--bg);isolation:isolate}.film,.scrim{position:absolute;inset:0;pointer-events:none}.film{z-index:-3}.film video{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.scrim{z-index:-2;background:linear-gradient(90deg,rgba(4,10,17,.91) 0%,rgba(4,10,17,.79) 25%,rgba(4,10,17,.39) 46%,transparent 70%),linear-gradient(0deg,rgba(4,10,17,.94),rgba(4,10,17,.06) 28%,transparent 70%,rgba(4,10,17,.6))}
.header{position:absolute;top:22px;left:var(--gutter);right:var(--gutter);height:70px;display:flex;align-items:center;gap:32px}.brand{width:137px;display:block;padding:0;background:transparent}.brand img{display:block;width:100%;height:67px;object-fit:contain;filter:none}.header-caption{padding-left:28px;border-left:1px solid #ffffff30;font-size:10px;letter-spacing:.2em;color:#d4dce6;font-weight:600}.header-index{margin-left:auto;font-size:11px;letter-spacing:.16em;color:#9aa9b8}.header-index span{color:white}
.content{position:absolute;left:var(--gutter);width:min(510px,42vw);top:47%;transform:translateY(-50%);transition:opacity 170ms ease,translate 170ms ease}.eyebrow{margin:0 0 21px;display:flex;gap:15px;align-items:center;font-size:10px;letter-spacing:.21em;font-weight:650;color:#e7eef6}.signal{width:7px;height:7px;border-radius:50%;background:#099cff;box-shadow:0 0 14px #099cff88}.intro{width:650px;max-width:51vw;opacity:1}.intro h1{font-weight:350;letter-spacing:-.055em;font-size:clamp(46px,4.9vw,82px);line-height:1.04;margin:0 0 25px}.intro h1 em{font-style:normal;color:#fff;font-weight:650}.intro-description{font-size:17px;line-height:1.65;color:#d2dae4;margin:0 0 30px}.primary{padding:15px 20px;background:#f6f8fa;color:#121c29;display:flex;align-items:center;gap:35px;font-size:12px;font-weight:650;transition:background .18s}.primary:hover{background:#cceaff}.primary span{font-size:20px;line-height:1}.intro-hint{font-size:11px;color:#a3b0be;margin-top:18px}.stop{opacity:0;pointer-events:none;translate:0 9px}.stop-number{color:var(--accent);font-variant-numeric:tabular-nums;border-bottom:1px solid var(--accent);padding-bottom:3px}.stop h2{font-weight:450;font-size:clamp(32px,3.2vw,54px);letter-spacing:-.045em;line-height:1.08;margin:0 0 18px;max-width:500px}.stop-description{font-size:14px;line-height:1.6;color:#c1cbd7;margin:0 0 25px;max-width:420px}.options{display:flex;gap:24px;border-bottom:1px solid #ffffff30;width:100%;margin-bottom:18px}.option{padding:0 0 12px;background:transparent;font-size:12px;white-space:nowrap;position:relative;color:#aebbc9;font-weight:500}.option::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--accent);transition:width .18s}.option[aria-selected=true]{color:white}.option[aria-selected=true]::after{width:100%}.option:hover{color:white}.details{min-height:116px;max-width:480px}.details ul{list-style:none;padding:0;margin:0;display:grid;gap:11px}.details li{font-size:13px;color:#e2e8ef;line-height:1.4;display:flex;align-items:baseline;gap:12px}.details li::before{content:"";width:5px;height:5px;flex:0 0 5px;background:var(--accent);opacity:.8}.details h3{font-size:16px;font-weight:550;margin:0 0 8px}.details p{font-size:13px;line-height:1.6;color:#d4dce6;margin:0 0 12px}.details .catalog-note{font-size:11px;color:#b6c2d0;border-left:1px solid var(--accent);padding-left:12px}.continue{background:transparent;padding:0;margin-top:27px;display:flex;gap:30px;align-items:center;font-size:12px;color:#f5f8fb}.continue span{color:var(--accent);font-size:21px}.continue:hover{text-decoration:underline;text-underline-offset:5px}
.stage[data-phase=intro] .stop{opacity:0;pointer-events:none}.stage[data-phase=hold] .intro,.stage[data-phase=travel] .intro{opacity:0;pointer-events:none;translate:0 -9px}.stage[data-phase=hold] .stop{opacity:1;pointer-events:auto;translate:0 0}.travel-label{position:absolute;left:var(--gutter);bottom:173px;display:flex;gap:14px;align-items:center;opacity:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;transition:opacity .2s}.travel-line{width:26px;height:1px;background:var(--accent)}.stage[data-phase=travel] .travel-label{opacity:1}
.journey-footer{position:absolute;bottom:28px;left:var(--gutter);right:var(--gutter);display:flex;align-items:flex-end;gap:40px}.scroll-instruction{display:flex;gap:11px;align-items:center;width:180px;flex-shrink:0;font-size:9px;letter-spacing:.13em;color:#d4dfe9;padding-bottom:5px;line-height:1.5}.scroll-icon{display:grid;place-items:center;border:1px solid #ffffff4d;width:22px;height:34px;border-radius:16px;flex-shrink:0;font-size:17px;color:#fff}.stop-navigation{display:flex;gap:26px;width:min(520px,45vw);margin-left:auto}.nav-stop{position:relative;background:transparent;display:grid;grid-template-columns:20px 1fr;column-gap:7px;row-gap:14px;text-align:left;flex:1;padding:8px 0 0;min-width:0}.nav-number{font-size:9px;color:#93a2b2;padding-top:3px}.nav-label{font-size:13px;color:#b9c6d5;white-space:nowrap}.nav-label small{font-size:9px;color:#96a4b2;display:block;margin-top:2px}.nav-line{height:2px;background:#ffffff35;grid-column:1/-1;overflow:hidden}.nav-line i{display:block;width:var(--progress,0%);height:100%;background:var(--nav-color)}.nav-stop[aria-current=step] .nav-number,.nav-stop[aria-current=step] .nav-label{color:#fff}.nav-stop:hover .nav-label{color:var(--nav-color)}.footer-note{display:none;font-size:9px;letter-spacing:.12em;color:#8a99aa}.footer-note span{padding:0 6px}.loading{position:absolute;bottom:130px;left:var(--gutter);font-size:12px;color:#dbe6f0}.loading[hidden]{display:none}.no-script{position:absolute;bottom:130px;left:var(--gutter);max-width:400px;background:#101c2a;padding:20px}
@media(min-width:1700px){.footer-note{display:block}.stop-navigation{margin-left:auto;margin-right:30px}.content{top:48%}}
@media(max-height:740px) and (min-width:761px){.header{top:10px;height:56px}.brand{width:115px}.content{top:47%;width:450px}.intro h1{font-size:57px}.intro-description{font-size:15px;line-height:1.5;margin-bottom:22px}.intro-hint{margin-top:12px}.eyebrow{margin-bottom:14px}.stop h2{font-size:38px;margin-bottom:12px}.stop-description{margin-bottom:18px;font-size:13px}.options{margin-bottom:13px}.details{min-height:100px}.details ul{gap:7px}.details li{font-size:12px}.continue{margin-top:15px}.journey-footer{bottom:20px}.travel-label{bottom:135px}}
@media(max-width:1000px) and (min-width:761px){.content{width:44vw}.stop h2{font-size:38px}.header-caption{font-size:9px}.options{gap:17px}.option{font-size:11px}.scroll-instruction{width:140px;font-size:8px}.journey-footer{gap:20px}.stop-navigation{width:49vw;gap:18px}}
@media(max-width:760px){:root{--gutter:24px}#journey{height:800svh;min-height:4500px}.stage{min-height:600px}.header{top:10px;height:53px}.brand{width:100px}.brand img{height:50px}.header-caption{border:0;padding:0;margin-left:auto;font-size:8px;letter-spacing:.12em}.header-index{display:none}.film{top:58px;bottom:auto;height:42svh}.film video{object-fit:cover;object-position:50% 50%}.scrim{background:linear-gradient(0deg,#080e15 0%,#080e15 48%,transparent 68%),linear-gradient(90deg,rgba(4,10,17,.20),transparent 70%)}.content{top:auto;bottom:113px;transform:none;width:calc(100% - 48px);max-width:none}.intro{bottom:145px}.intro .eyebrow{margin-bottom:15px;font-size:9px}.intro h1{font-size:48px;margin-bottom:17px;line-height:1.04}.intro-description{font-size:14px;line-height:1.6;margin-bottom:22px;max-width:320px}.primary{font-size:12px;padding:13px 17px}.intro-hint{font-size:10px;margin-top:15px}.stop .eyebrow{margin-bottom:14px;font-size:9px;letter-spacing:.15em}.stop h2{font-size:33px;max-width:350px;margin-bottom:12px}.stop-description{font-size:12px;line-height:1.5;margin-bottom:18px;max-width:330px}.options{gap:23px;margin-bottom:15px}.option{font-size:11px;padding-bottom:10px}.details{min-height:100px}.details ul{gap:9px}.details li{font-size:12px}.details p{font-size:12px}.details .catalog-note{font-size:10px;max-width:320px}.continue{margin-top:19px;font-size:11px;gap:20px}.journey-footer{bottom:24px;display:block}.scroll-instruction{font-size:8px;width:auto;position:absolute;bottom:68px;left:0;opacity:0}.stage[data-phase=travel] .scroll-instruction{opacity:1}.scroll-icon{width:18px;height:28px;font-size:14px}.stop-navigation{width:100%;margin:0;gap:25px}.nav-stop{row-gap:12px;column-gap:3px}.nav-label{font-size:12px}.nav-label small{font-size:8px}.nav-number{font-size:8px}.travel-label{bottom:160px;font-size:10px}.loading{bottom:110px}.desktop-only{display:none}}
@media(max-width:760px) and (max-height:740px){.film{height:36svh}.intro{bottom:112px}.intro h1{font-size:39px}.intro-description{font-size:12px;max-width:290px;line-height:1.5;margin-bottom:17px}.intro-hint{font-size:9px}.stop{bottom:99px}.stop .eyebrow{margin-bottom:10px}.stop h2{font-size:29px;max-width:310px;margin-bottom:9px}.stop-description{font-size:11px;margin-bottom:12px}.options{margin-bottom:11px;gap:20px}.details{min-height:88px}.details ul{gap:7px}.details li{font-size:11px}.details p{font-size:11px}.continue{margin-top:12px}.journey-footer{bottom:19px}.option{font-size:10px}.header-caption{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Playback runs through native video decoding; swaps preserve the same scene position. */
.film video{position:absolute;inset:0;opacity:0}.film video.is-active{opacity:1}.stage[data-phase=travel] .scrim{opacity:.42}.scrim{transition:opacity .25s ease}
@media(max-width:760px){.film video{object-fit:contain}}



#journey{height:2200svh;min-height:12000px}.stage{overflow:clip}
.film,.scrim{transition:none}.film video{visibility:visible;opacity:1;transform:none;filter:none}
.scrim,.stage[data-phase=travel] .scrim{opacity:1}
.focus-scene{position:absolute;inset:0;z-index:-1;display:block;visibility:hidden;pointer-events:none;background:transparent}
.stage[data-phase=hold] .focus-scene{visibility:visible;pointer-events:auto}
.service-detail{display:inline-flex;align-items:center;gap:24px;font-size:12px;font-weight:600;color:#fff;text-decoration:none;border-bottom:1px solid var(--accent);padding:8px 0;margin-top:3px}.service-detail span{color:var(--accent);font-size:17px}.service-detail:hover{color:var(--accent)}.stop .continue{margin-top:16px}
@media(max-width:760px){#journey{height:2400svh;min-height:12000px}.focus-scene{top:58px;bottom:auto;height:42svh}.service-detail{font-size:11px;padding:6px 0;margin-top:0}.stop .continue{margin-top:13px}}
@media(max-width:760px) and (max-height:740px){.focus-scene{height:36svh}.service-detail{padding:5px 0;font-size:10px}.stop .continue{margin-top:10px}}
