.directions[data-layout=split]{height:auto;padding:110px 6%;background:#f7f9f8}
.directions[data-layout=split] .direction-sticky{position:relative;top:auto;height:auto;display:grid;grid-template-columns:1fr 1.15fr;gap:6vw;overflow:visible;align-items:center}
.directions[data-layout=split] .direction-photos{position:relative;inset:auto;grid-column:2;grid-row:1;height:690px;border-radius:36px;overflow:hidden;clip-path:none}
.directions[data-layout=split] .direction-copy{position:relative;inset:auto;grid-column:1;grid-row:1;width:auto;max-width:none;padding:0;color:var(--ink);opacity:1;transform:none}
.directions[data-layout=split] .direction-copy:before{display:none}
.directions[data-layout=split] h2{font-size:clamp(32px,3.5vw,50px);line-height:1.12;letter-spacing:-.035em;margin-bottom:35px}
.directions[data-layout=split] .direction-tabs{position:static;display:flex;flex-direction:column;gap:0;padding:0;overflow:visible}
.directions[data-layout=split] .direction-tabs button{position:relative;border:0;border-bottom:1px solid #c6d5da;border-radius:0;background:transparent;backdrop-filter:none;color:var(--ink);font-size:19px;line-height:1.3;text-align:left;white-space:normal;padding:19px 32px 19px 0}
.directions[data-layout=split] .direction-tabs button:after{content:'+';position:absolute;right:0;top:16px;font-size:26px;font-weight:400}
.directions[data-layout=split] .direction-tabs button[aria-selected=true]{color:var(--blue);background:transparent;border-color:var(--blue)}
.directions[data-layout=split] .direction-tabs button[aria-selected=true]:after{content:'−'}
.directions[data-layout=split] #direction-caption,.directions[data-layout=split] .step-count{display:none}
.directions[data-layout=split] #direction-detail{display:block}
.directions[data-layout=split] #direction-detail p{color:#49636e;font-size:15px;margin:23px 0;min-height:75px;line-height:1.6}
.directions[data-layout=split] .pill,.about[data-layout=editorial] .pill{background:#0878b510;border:1px solid #638c9f65;color:var(--ink);backdrop-filter:blur(12px)}
.direction-photo-label{position:absolute;inset:auto 0 0;color:white;padding:75px 30px 30px;background:linear-gradient(transparent,#102a3caa);font-size:24px;line-height:1.2}
.projects[data-layout=gallery]{padding:95px 0 25px;background:#233d49;overflow:hidden}
.projects[data-layout=gallery]>.section-intro{padding:0 6%;text-align:left;margin:0;max-width:900px}
.projects[data-layout=gallery]>.section-intro>p{margin:24px 0 0}
.gallery-controls{padding:40px 6% 25px;display:flex;justify-content:space-between;gap:25px;align-items:center;color:white}
.gallery-controls>p{font-size:14px;color:#bed2da}.gallery-controls>div{display:flex;gap:20px;align-items:center}.gallery-count{font-size:12px;font-variant-numeric:tabular-nums}
.gallery-controls button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff50;background:#ffffff15;border-radius:50%;color:white;backdrop-filter:blur(12px)}.gallery-controls button:disabled{opacity:.3;cursor:default}.gallery-prev svg{transform:rotate(180deg)}
.projects[data-layout=gallery] .project-grid{display:flex;gap:25px;overflow-x:auto;padding:0 6% 25px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#78929e transparent;scroll-padding-inline:6%;overscroll-behavior-x:contain}
.projects[data-layout=gallery] .project{flex:0 0 min(740px,73vw);height:560px;width:auto;margin:0;padding:0;scroll-snap-align:start}
.projects[data-layout=gallery] .project-stage{position:relative;top:0;height:100%;border-radius:32px;overflow:hidden}
.projects[data-layout=gallery] .project-image{position:absolute;inset:0;height:100%;border-radius:32px;clip-path:none}
.projects[data-layout=gallery] .project-copy{left:38px;right:38px;bottom:45px;width:auto;max-width:580px;opacity:1;transform:none}
.projects[data-layout=gallery] .project-copy h3{font-size:48px}.projects[data-layout=gallery] .project-copy p{font-size:16px;margin-top:20px}.projects[data-layout=gallery] .project-note{text-align:left;max-width:none;padding:25px 6% 15px;color:#bed2da}
.geography{padding:110px 6%;background:#edf3f1;text-align:left}.geo-editorial{display:grid;grid-template-columns:1fr 1.1fr;gap:8vw;align-items:center}.geography h2{font-size:clamp(34px,3.5vw,50px)}.geo-selector>p{font-size:15px;color:#58717b;max-width:360px;margin:25px 0}.geo-tabs{display:flex;flex-direction:column}.geo-tabs button{border:0;border-bottom:1px solid #c5d4d7;background:transparent;padding:19px 0;text-align:left;display:flex;justify-content:space-between;font-size:24px}.geo-tabs button[aria-selected=true]{color:var(--blue);border-color:var(--blue)}.geo-tabs button span{font-size:22px}.geo-detail{position:relative;padding-top:100px;isolation:isolate}.geo-background{position:absolute;top:0;left:-5%;width:110%;height:310px;object-fit:contain;opacity:.25;z-index:-1}.geo-image{height:320px;width:88%;margin-left:auto;border-radius:28px;overflow:hidden}.geo-image img{height:100%;transition:opacity 180ms ease}.geo-description{padding:28px 0 15px;max-width:400px}.geo-description h3{font-size:36px}.geo-description p{font-size:16px;margin:16px 0 23px}.geo-detail small{font-size:11px}
.about[data-layout=editorial]{height:auto;padding:110px 6%;background:#fff}.about[data-layout=editorial] .about-stage{position:relative;top:0;height:auto;min-height:650px;display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;overflow:visible;align-items:center}
.about[data-layout=editorial] .about-photo{position:relative;inset:auto;grid-column:1;grid-row:1;height:590px;width:90%;border-radius:32px;clip-path:none}
.about-inset{position:absolute;left:23%;bottom:-30px;width:26%;height:225px;border:10px solid white;border-radius:30px;overflow:hidden;z-index:2}.about-inset img{height:100%}
.about[data-layout=editorial] .about-copy{position:relative;inset:auto;grid-column:2;grid-row:1;width:auto;max-width:none;color:var(--ink);padding:0;opacity:1;transform:none}
.about[data-layout=editorial] .about-copy:before{display:none}.company-year{display:block;font-size:80px;line-height:1;letter-spacing:-.07em;color:var(--blue);margin-bottom:25px}.about[data-layout=editorial] h2{font-size:clamp(35px,3.6vw,52px)}.about[data-layout=editorial] .about-copy p{font-size:15px;color:#49636e}.about[data-layout=editorial] .facts strong{font-size:34px}.about[data-layout=editorial] .facts span{color:#49636e}
.company-history{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:110px}.company-history details{border-top:1px solid #b6cbd3;padding-top:18px}.company-history summary{position:relative;list-style:none;cursor:pointer;padding-right:25px;font-size:17px;line-height:1.4}.company-history summary::-webkit-details-marker{display:none}.company-history summary span{display:block;font-size:32px;color:var(--blue);margin-bottom:12px}.company-history summary b{position:absolute;right:0;top:5px;font-weight:400;font-size:26px}.company-history details[open] summary b{transform:rotate(45deg)}.company-history p{font-size:14px;line-height:1.65;margin-top:20px;color:#49636e}
html[data-motion=quiet] .directions[data-layout=split] .direction-sticky{height:auto}html[data-motion=quiet] .projects[data-layout=gallery] .project{height:560px}html[data-motion=quiet] .projects[data-layout=gallery] .project-stage{height:100%}html[data-motion=quiet] .about[data-layout=editorial]{height:auto}html[data-motion=quiet] .about[data-layout=editorial] .about-stage{height:auto}
@media(max-width:760px){
.directions[data-layout=split]{padding:70px 24px}.directions[data-layout=split] .direction-sticky{display:flex;flex-direction:column;gap:30px;align-items:stretch;height:auto}.directions[data-layout=split] .direction-copy{order:0}.directions[data-layout=split] .direction-photos{order:1;height:380px;flex-shrink:0;border-radius:25px}.directions[data-layout=split] h2{font-size:34px;margin-bottom:25px}.directions[data-layout=split] .direction-tabs button{font-size:17px;padding:16px 30px 16px 0}.directions[data-layout=split] .direction-tabs button:after{top:12px}.directions[data-layout=split] #direction-detail p{min-height:0;margin:22px 0}.direction-photo-label{font-size:21px;padding:60px 23px 23px}
.projects[data-layout=gallery]{padding-top:70px}.projects[data-layout=gallery]>.section-intro{padding:0 24px}.gallery-controls{padding:30px 24px 22px;align-items:flex-end}.gallery-controls>p{max-width:140px;font-size:12px}.gallery-controls>div{gap:10px}.gallery-controls button{width:40px;height:40px}.projects[data-layout=gallery] .project-grid{padding-inline:24px;gap:15px;scroll-padding-inline:24px}.projects[data-layout=gallery] .project{flex-basis:85vw;height:470px}.projects[data-layout=gallery] .project-copy{left:25px;right:25px;bottom:32px}.projects[data-layout=gallery] .project-copy h3{font-size:37px}.projects[data-layout=gallery] .project-copy p{font-size:14px}.projects[data-layout=gallery] .project-note{padding-inline:24px;font-size:11px}
.geography{padding:70px 24px}.geo-editorial{grid-template-columns:1fr;gap:38px}.geography h2{font-size:35px}.geo-selector>p{font-size:14px}.geo-tabs button{font-size:21px;padding:15px 0}.geo-detail{padding-top:60px}.geo-background{height:240px}.geo-image{height:260px;width:92%}.geo-description h3{font-size:31px}.geo-description p{font-size:14px}
.about[data-layout=editorial]{padding:70px 24px}.about[data-layout=editorial] .about-stage{display:flex;flex-direction:column;gap:65px;min-height:0;align-items:stretch}.about[data-layout=editorial] .about-photo{height:360px;width:90%;flex-shrink:0}.about-inset{left:auto;right:-10px;top:240px;bottom:auto;width:48%;height:170px;border-width:7px;border-radius:22px}.about[data-layout=editorial] .about-copy{width:auto;max-width:none}.company-year{font-size:70px;margin-bottom:20px}.about[data-layout=editorial] h2{font-size:36px}.about[data-layout=editorial] .facts strong{font-size:29px}.company-history{grid-template-columns:1fr;gap:25px;margin-top:55px}.company-history summary{font-size:16px}.company-history summary span{font-size:28px;margin-bottom:8px}
html[data-motion=quiet] .projects[data-layout=gallery] .project{height:470px}
}

/* Crossfade keeps rapid changes interruptible without moving the image. */
.directions[data-layout=split] .direction-photos>img{transition:opacity 300ms var(--ease-out)}
html[data-motion=quiet] .directions[data-layout=split] .direction-photos>img{transition:none}

/* Depth is applied to content, leaving sticky scene geometry and native scroll intact. */
.depth-word{display:inline-block;transform-origin:50% 100%;backface-visibility:hidden;transition:transform 180ms var(--ease-out),opacity 180ms var(--ease-out)}
.depth-card{transform-origin:50% 100%;backface-visibility:hidden;transition:transform 250ms var(--ease-out),opacity 250ms var(--ease-out)}
html[data-motion=quiet] .depth-word,html[data-motion=quiet] .depth-card{transition:none}
@media(prefers-reduced-motion:reduce){html:not([data-motion=full]) .depth-word,html:not([data-motion=full]) .depth-card{transform:none!important;opacity:1!important;transition:opacity 180ms ease}}

/* Timed word entrance follows the reference: rotate from 80deg, then settle fully. */
.depth-heading .depth-word{opacity:0;transform:perspective(1000px) translate3d(0,30px,0) rotateX(80deg);transition:transform 700ms var(--ease-out),opacity 700ms var(--ease-out)}
.depth-heading.has-entered .depth-word{opacity:1;transform:perspective(1000px) translate3d(0,0,0) rotateX(0)}
.depth-flow{opacity:0;transform:translate3d(0,24px,0);transition:transform 600ms var(--ease-out),opacity 600ms var(--ease-out)}
.depth-flow.has-entered{opacity:1;transform:none}
html[data-motion=quiet] .depth-heading .depth-word,html[data-motion=quiet] .depth-flow{opacity:1;transform:none;transition:none;transition-delay:0ms!important}
@media(prefers-reduced-motion:reduce){html:not([data-motion=full]) .depth-flow{transform:none;opacity:1;transition:none}}

/* Photographic scenes carry the movement; reading surfaces stay still. */
.hero:after{height:18svh}
.story{height:175svh}
.fleet-feature{height:175svh}
.story-copy{width:43%;max-width:610px;padding:28px}
.story-copy:before{inset:-70px -80px;background:radial-gradient(ellipse at center,#071824d9 0%,#07182499 45%,#07182400 73%)}
.story-copy p{font-size:17px;line-height:1.6;max-width:39ch}
.section-reveal{opacity:1;transform:none;transition:none}
.depth-card.photo-reveal{opacity:1;transform:none;transition:clip-path 250ms var(--ease-out)}
.header.is-scrolled .nav-contact{opacity:1;transform:none;visibility:visible;pointer-events:auto}
.header.is-scrolled .nav-contact{background:var(--ink);color:white}
.header .nav-contact:focus-visible{outline-offset:4px}
.capability-proof{display:flex;align-items:center;gap:45px;border-top:1px solid #b6cbd3;padding-top:35px;margin-top:65px}
.capability-proof>p{font-size:20px;max-width:190px;line-height:1.3}
.capability-proof dl{display:flex;gap:48px;margin:0;flex:1}
.capability-proof dt{font-size:32px;line-height:1.15;letter-spacing:-.03em}
.capability-proof dd{font-size:13px;color:#49636e;margin:8px 0 0}
.company-founded{font-size:18px!important;line-height:1.4;color:var(--blue)!important;margin:0 0 20px!important}
.about[data-layout=editorial] .about-copy h2{margin-bottom:26px}
.geo-detail{padding-top:0}
.geo-network{width:100%;background:#dfebef;border-radius:28px;padding:20px 12px}
.geo-network>svg{width:100%;height:auto;display:block;fill:none;stroke:none;overflow:visible}
.geo-network .network-sea{stroke:#0878b5;stroke-width:3;fill:none}
.geo-network .network-link{stroke:#78929e;stroke-width:1.5;stroke-dasharray:5 8;fill:none}
.geo-network g circle{fill:#dfebef;stroke:#56707c;stroke-width:2}
.geo-network g.is-active circle{fill:#0878b5;stroke:#0878b5;stroke-width:5}
.geo-network text{fill:#18323e;font-family:Golos,Arial,sans-serif;font-size:23px;stroke:none}
.geo-network .node-caption{font-size:14px;fill:#49636e}
.geo-network g.is-active text{fill:#056ca5;font-weight:700}
.network-key{display:flex;gap:24px;font-size:12px;padding:8px 16px;color:#49636e;flex-wrap:wrap}
.network-key span:before{content:'';display:inline-block;width:22px;border-top:2px solid #0878b5;vertical-align:middle;margin-right:8px}
.network-key span+span:before{border-color:#78929e;border-top-style:dashed}
.geo-description{min-height:200px}
.geo-detail small{font-size:12px;line-height:1.6;display:block;max-width:48ch;color:#49636e}
.project-route{background:#18323e}
.project-route:after{display:none}
.project-route>svg{width:100%;height:100%;stroke:none;fill:none;display:block}
.project-route .route-track{stroke:#a9d8e6;stroke-width:2.5;fill:none}
.project-route circle{fill:#dfebef}
.project-route text{fill:#dfebef;stroke:none;font-family:Golos,Arial,sans-serif;font-size:23px}
.project-first .project-copy{padding-top:40px;background:linear-gradient(transparent,#18323ef2)}
.project-note{font-size:13px!important;line-height:1.6}
.gallery-controls button{min-width:44px;min-height:44px}
.fleet-grid details>p{line-height:1.65}
.company-history summary span{letter-spacing:-.03em}
.footer-wordmark{letter-spacing:-.04em}
.directions[data-layout=split] .direction-tabs button:after{content:'';width:8px;height:8px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg);top:27px;right:5px}
.directions[data-layout=split] .direction-tabs button[aria-selected=true]:after{content:''}
@media(max-width:760px){
 .hero:after{height:10svh}
 .story{height:165svh}
 .fleet-feature{height:165svh}
 .story-copy{left:24px;right:24px;bottom:16%;width:auto;padding:0}
 .story-copy h2{font-size:34px}
 .story-copy p{font-size:15px;line-height:1.6}
 .story-copy:before{inset:-85px -70px;background:radial-gradient(ellipse at center,#071824e6 0%,#071824aa 46%,#07182400 73%)}
 .fleet-copy{bottom:16%}
 .header .nav-contact,.header.is-scrolled .nav-contact{display:inline-flex;min-width:0;padding:13px 15px;min-height:44px;font-size:12px;border-radius:14px;gap:8px;grid-column:5}
 .header .nav-contact svg{width:15px;height:15px}
 .directions[data-layout=split] .direction-tabs button{width:100%;flex-shrink:0}
 .directions[data-layout=split] .direction-tabs button:after{content:'+';width:auto;height:auto;border:0;transform:none;top:11px;right:0}
 .directions[data-layout=split] .direction-tabs button[aria-expanded=true]{color:var(--blue);border-color:var(--blue)}
 .directions[data-layout=split] .direction-tabs button[aria-expanded=true]:after{content:'−'}
 .directions[data-layout=split] #direction-detail{padding:0 0 26px}
 .directions[data-layout=split] #direction-detail p{font-size:15px;margin:20px 0;line-height:1.65}
 .directions[data-layout=split] #direction-detail .direction-photos{height:300px;width:100%;margin:0 0 20px}
 .direction-photo-label{display:none}
 .directions[data-layout=split] .direction-sticky{gap:0}
 .capability-proof{display:block;margin-top:35px;padding-top:26px}
 .capability-proof>p{max-width:none;font-size:19px}
 .capability-proof dl{gap:28px;margin:24px 0}
 .capability-proof dt{font-size:27px}
 .capability-proof dd{font-size:12px;max-width:17ch}
 .geo-network{padding:10px 0}
 .geo-network text{font-size:25px}
 .geo-network .node-caption{font-size:18px}
 .geo-network .network-key{gap:10px;padding-inline:16px;font-size:12px}
 .geo-description{min-height:0}
 .project-route>svg{position:absolute;inset:-40px 0 auto;width:100%;height:80%}
 .project-route text{font-size:28px}
 .projects[data-layout=gallery] .project-copy h3{font-size:34px}
 .projects[data-layout=gallery] .project-note{font-size:12px}
 .fleet-grid details>p{font-size:14px}
}
html[data-motion=quiet] .hero-media{position:relative}
html[data-motion=quiet] .story,html[data-motion=quiet] .fleet-feature{height:auto}
html[data-motion=quiet] .story-sticky,html[data-motion=quiet] .fleet-stage{position:relative;height:100svh;min-height:660px}
:root{--blue:#056ca5}
.story-copy:before{display:none}
.story-image:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#071824b8 0%,#07182480 38%,#07182400 76%)}
.directions[data-layout=split] .direction-tabs button{scroll-margin-top:105px}
@media(max-width:760px){
 .header .logo{grid-area:auto;position:fixed;left:50vw;right:auto;bottom:auto;top:15px;transform:translateX(-50%);margin:0;justify-self:auto}
 .header .nav-contact{position:absolute;right:16px;top:20px}
 .story-image:after{background:linear-gradient(0deg,#071824cc 0%,#07182499 42%,#07182400 80%)}
 .directions[data-layout=split] #direction-detail .direction-photos{clip-path:none!important;transition:none}
}
@media(max-width:350px){.header .nav-contact{padding-inline:11px;gap:6px}.header .nav-contact svg{display:none}}


.directions[data-layout=split] .direction-photos.instant-update>img{transition:none}

/* How-to-ride experiment: one continuous photographic transformation. */
.hero.ride-sequence{height:560svh;min-height:0;padding:0;margin:0;background:white;color:var(--ink);isolation:isolate}
.hero.ride-sequence:after{display:none}
.ride-stage{position:sticky;top:0;height:100svh;width:100%;overflow:hidden;perspective:1500px;background:white;isolation:isolate}
.journey-turn{position:absolute;inset:0;transform-origin:50% 50%;backface-visibility:hidden;transform-style:preserve-3d;pointer-events:none;will-change:transform}
.journey-front{z-index:2}
.journey-back{z-index:3;transform:rotateY(180deg);visibility:hidden}
.journey-photo,.journey-next-photo{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;will-change:clip-path;backface-visibility:hidden}
.journey-photo img,.journey-next-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transform-origin:50% 50%}
.journey-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#061b2ad9 0%,#061b2a55 32%,#061b2a00 65%);pointer-events:none}
.journey-heading{position:absolute;z-index:4;top:13%;left:25%;right:25%;text-align:center;color:white}
.ride-sequence .journey-heading h1{padding:0;font-size:clamp(42px,4.5vw,68px);line-height:1.06;max-width:none;transform:none;opacity:1;transition:none}
.ride-sequence .hero-sub{margin:25px auto 22px;color:white;font-size:15px;max-width:46ch;opacity:1;transform:none;transition:none}
.journey-heading .text-link{color:white;font-size:13px}
.ride-sequence .journey-side{position:absolute;z-index:4;top:2%;right:1.2%;left:auto;bottom:auto;width:42%;height:96%;padding:0;margin:0;background:transparent;opacity:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:28px;transform:none;pointer-events:none}
.journey-side-photo{width:100%;height:51%;flex-shrink:0;overflow:hidden;border-radius:28px}
.journey-side-photo img{width:100%;height:100%;object-fit:cover;object-position:35% center}
.ride-sequence .story-copy{position:static;inset:auto;width:100%;max-width:530px;padding:0 30px;margin:auto 0;transform:none;opacity:1;color:var(--ink);text-align:center;background:none;transition:none}
.ride-sequence .story-copy:before{display:none}
.ride-sequence .story-copy h2{font-size:clamp(28px,2.6vw,42px);line-height:1.12}
.ride-sequence .story-copy p{font-size:16px;line-height:1.6;color:var(--ink);max-width:42ch;margin:22px auto 0}
.journey-tagline{position:absolute;z-index:4;left:67%;top:75%;font-size:clamp(21px,2vw,30px);line-height:1.25;letter-spacing:-.025em;opacity:0}
.journey-next-copy{position:absolute;z-index:4;left:56%;right:5%;top:50%;opacity:0;text-align:center}
.journey-next-copy h2{font-size:clamp(30px,3vw,46px);line-height:1.12}
.journey-next-copy p{font-size:17px;line-height:1.6;max-width:43ch;margin:25px auto}
.journey-next-copy .text-link{font-size:14px}
.journey-scroll-cue{position:absolute;z-index:4;left:50%;bottom:25px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;color:white;font-size:12px;pointer-events:none}
.journey-scroll-cue svg{width:16px;height:20px}
.header.is-journey-dark .nav-trigger{color:white}
.header.is-journey-dark .logo{background:#ffffffed}
@media(max-width:760px){
 .hero.ride-sequence{height:500svh;padding:0}
 .ride-stage{perspective:950px}
 .journey-heading{top:16%;left:22px;right:22px}
 .ride-sequence .journey-heading h1{font-size:39px}
 .ride-sequence .hero-sub{font-size:13px;max-width:29ch;margin:23px auto}
 .journey-photo img{object-position:58% center}
 .ride-sequence .journey-side{top:auto;bottom:8%;left:24px;right:24px;width:auto;height:28%;gap:0;justify-content:center}
 .journey-side-photo{display:none}
 .ride-sequence .story-copy{padding:0;max-width:none;margin:0}
 .ride-sequence .story-copy h2{font-size:28px}
 .ride-sequence .story-copy p{font-size:14px;line-height:1.6;margin-top:16px}
 .journey-tagline{left:auto;right:8%;top:73%;font-size:22px;text-align:right}
 .journey-next-copy{left:24px;right:24px;top:65%;text-align:left}
 .journey-next-copy h2{font-size:29px}
 .journey-next-copy p{font-size:14px;line-height:1.6;margin:18px 0}
 .journey-next-copy .text-link{font-size:13px}
}
html[data-motion=quiet] .hero.ride-sequence{height:auto}
html[data-motion=quiet] .ride-stage{position:relative;height:auto;overflow:visible;perspective:none;display:flex;flex-direction:column;background:white!important}
html[data-motion=quiet] .journey-turn{position:relative;inset:auto;transform:none!important;visibility:visible!important;will-change:auto;height:85svh;min-height:560px}
html[data-motion=quiet] .journey-back{height:70svh;min-height:420px;order:3}
html[data-motion=quiet] .journey-photo,html[data-motion=quiet] .journey-next-photo{clip-path:none!important;will-change:auto}
html[data-motion=quiet] .journey-heading{top:110px;transform:none!important;opacity:1!important}
html[data-motion=quiet] .ride-sequence .journey-side{position:relative;inset:auto;width:auto;height:auto;opacity:1!important;transform:none!important;padding:70px 6%;display:grid;grid-template-columns:1fr 1fr;order:2}
html[data-motion=quiet] .journey-side-photo{height:420px;display:block}
html[data-motion=quiet] .journey-next-copy{position:relative;inset:auto;opacity:1!important;transform:none!important;padding:70px 8%;order:4;background:#dcebe5}
html[data-motion=quiet] .journey-tagline,html[data-motion=quiet] .journey-scroll-cue{display:none}
@media(max-width:760px){html[data-motion=quiet] .ride-sequence .journey-side{display:block;padding:50px 24px}html[data-motion=quiet] .journey-side-photo{height:330px;margin-bottom:30px}html[data-motion=quiet] .journey-next-copy{padding:45px 24px}}
.journey-photo:after{opacity:var(--journey-shade,1)}
.journey-next-copy{top:40%}
@media(max-width:760px){.journey-next-copy{top:65%}}
/* The right-hand photograph carries the mask and turn into the next scene. */
.journey-bridge{z-index:5;visibility:hidden}
.journey-bridge-photo{position:absolute;inset:0;overflow:hidden;will-change:clip-path}
.journey-bridge-photo img{width:100%;height:100%;object-fit:cover;transform-origin:50% 50%;object-position:35% center}
html[data-motion=quiet] .journey-bridge{display:none}
html[data-motion=quiet] .journey-side-photo{visibility:visible!important}
/* The final split scene continues through the five directions. */
.hero.ride-sequence{height:900svh}
.journey-service-base,.journey-wipe,.journey-wipe img{position:absolute;inset:0;width:100%;height:100%}
.journey-wipe{clip-path:inset(0 100% 0 0);z-index:1;pointer-events:none}
.journey-service-dock{position:absolute;z-index:7;left:38.5%;right:8%;bottom:1.8%;height:70px;background:#dcebe5;border-radius:28px 0 0;display:flex;align-items:center;padding:12px 16px;opacity:0}
.journey-service-tabs{display:flex;align-items:center;gap:6px;justify-content:space-between;width:100%}
.journey-service-tabs button{border:0;background:transparent;color:#38565a;border-radius:13px;padding:13px 12px;min-height:44px;font-size:12px;line-height:1.2;white-space:nowrap;transition:background 180ms ease,color 180ms ease}
.journey-service-tabs button[aria-selected=true]{background:#233d49;color:white}
.journey-next-copy{top:43%;left:55%;right:5%}
.journey-next-copy h2{font-size:clamp(24px,2.4vw,38px);line-height:1.14}
.journey-next-copy p{font-size:17px;line-height:1.6;max-width:46ch;margin:22px auto 26px}
@media(max-width:1100px) and (min-width:761px){.journey-service-dock{left:34%;right:1.5%;padding-inline:12px}.journey-service-tabs button{font-size:11px;padding-inline:8px}}
@media(max-width:760px){
 .hero.ride-sequence{height:800svh}
 .journey-next-copy{top:61%;left:24px;right:24px}
 .journey-next-copy h2{font-size:25px}
 .journey-next-copy p{font-size:14px;margin:16px 0 20px;line-height:1.6}
 .journey-service-dock{left:4%;right:4%;bottom:25px;height:auto;padding:8px;border-radius:18px;max-width:92%;overflow:auto;scrollbar-width:thin}
 .journey-service-tabs{width:max-content;gap:3px}
 .journey-service-tabs button{font-size:12px;padding:12px 13px}
 html:has(.ride-sequence[data-phase=next]) .motion-toggle{bottom:95px}
}
html[data-motion=quiet] .journey-service-dock{position:relative;inset:auto;order:5;opacity:1!important;padding:22px 6%;height:auto;border-radius:0}
html[data-motion=quiet] .journey-service-tabs{justify-content:center;flex-wrap:wrap;width:100%}

/* Exit storyboard: left photograph -> centre edge -> reverse photograph -> centred shaped card. */
.hero.ride-sequence{height:1090svh}
.direction-arrival-slot{z-index:auto;margin-top:0;overflow:visible;will-change:auto}
.direction-arrival-slot>.directions{transform:none;will-change:auto}
.journey-exit-reverse{z-index:6;visibility:hidden;transform:rotateY(-90deg)}
.journey-arrival-photo{position:absolute;inset:0;overflow:hidden;will-change:clip-path}
.journey-arrival-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:50% 50%}
.journey-arrival-copy{position:absolute;z-index:7;top:70%;left:28%;right:28%;text-align:center;opacity:0}
.journey-arrival-copy h2{font-size:28px;line-height:1.15}
.journey-arrival-copy p{font-size:17px;line-height:1.55;max-width:40ch;margin:17px auto 22px}
.journey-arrival-copy .pill{min-height:44px;padding:13px 19px;font-size:12px}
@media(max-width:760px){.hero.ride-sequence{height:970svh}.journey-arrival-copy{top:65%;left:24px;right:24px}.journey-arrival-copy h2{font-size:25px}.journey-arrival-copy p{font-size:15px}}
html[data-motion=quiet] .hero.ride-sequence{height:auto}
html[data-motion=quiet] .journey-exit-reverse{position:relative;order:6;height:450px;min-height:0;transform:none!important;visibility:visible!important}
html[data-motion=quiet] .journey-arrival-photo{clip-path:none!important;will-change:auto}
html[data-motion=quiet] .journey-arrival-copy{position:relative;inset:auto;order:7;padding:45px 24px;background:#dcebe5;transform:none!important;opacity:1!important}


/* One moving capsule, rather than separate button backgrounds. */
.journey-service-tabs{position:relative;isolation:isolate}
.journey-service-tabs button{position:relative;z-index:1;transition:color 160ms var(--ease-out);background:transparent!important}
.journey-service-tabs button[aria-selected=true]{background:transparent;color:#fff}
.journey-tab-indicator{position:absolute;top:0;left:0;width:1px;height:44px;pointer-events:none;z-index:0;transition:transform 280ms var(--ease-out);will-change:transform}
.journey-tab-indicator>span{position:absolute;left:0;top:0;height:100%;display:block;background:#233d49}
.journey-tab-indicator .indicator-cap{width:44px;border-radius:15px}
.journey-tab-indicator .indicator-fill{width:1px;transform-origin:0 50%;transition:transform 280ms var(--ease-out)}
.journey-tab-indicator .indicator-end{transition:transform 280ms var(--ease-out)}
.indicator-instant .journey-tab-indicator,.indicator-instant .journey-tab-indicator>span,.indicator-instant button{transition:none}
html[data-motion=quiet] .journey-tab-indicator,html[data-motion=quiet] .journey-tab-indicator>span{transition:none;will-change:auto}
@media(prefers-reduced-motion:reduce){html:not([data-motion=full]) .journey-tab-indicator,html:not([data-motion=full]) .journey-tab-indicator>span{transition:none}}
/* Mobile Zoox-style navigation: full page, central close/brand capsule, two link scales. */
.mobile-menu-content{display:none}
@media(max-width:1100px){
 .menu{inset:0;width:100%;max-height:none;height:100svh;margin:0;padding:0;border:0;border-radius:0;background:#fff;box-shadow:none;z-index:50;overflow-y:auto;overscroll-behavior:contain;transform-origin:50% 0}
 .menu>.menu-links,.menu>.menu-email{display:none}
 .mobile-menu-content{display:block;min-height:100%;color:#18323e}
 .mobile-menu-brand{position:fixed;z-index:2;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid #d5dfe0;border-radius:19px;background:white}
 .mobile-menu-close{width:40px;height:40px;display:grid;place-items:center;padding:0;background:white;border:1px solid #d5dfe0;border-radius:13px;color:#18323e}
 .mobile-menu-close svg{width:22px;height:22px}
 .mobile-menu-brand>a{display:flex;align-items:center;width:40px;height:40px}
 .mobile-menu-brand img{width:40px;height:auto;object-fit:contain}
 .mobile-menu-scroll{padding:clamp(180px,34svh,290px) 38px max(45px,env(safe-area-inset-bottom))}
 .mobile-menu-title{font-size:12px;line-height:1.4;font-weight:700;color:#637a7d;margin:0 0 31px}
 .mobile-menu-primary{display:flex;flex-direction:column;gap:0}
 .mobile-menu-primary>a{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:25px;letter-spacing:-.025em;line-height:1.2;min-height:48px;padding:6px 0}
 .mobile-menu-arrow{display:grid;place-items:center;width:32px;height:32px;border:1px solid #d5dfe0;border-radius:12px;flex-shrink:0;transition:background 180ms ease,color 180ms ease}
 .mobile-menu-arrow svg{width:20px;height:20px}
 .mobile-menu-primary>a[aria-current=location] .mobile-menu-arrow{background:#233d49;color:white;border-color:#233d49}
 .mobile-menu-cta{background:#8bd4cb;color:#18323e;border-radius:15px;min-height:48px;padding:14px 18px;font-size:13px;display:flex;width:max-content;margin:34px auto 67px;gap:14px}
 .mobile-menu-secondary>a{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #d5dfe0;padding:17px 0;font-size:15px;line-height:1.4}
 .mobile-menu-secondary .mobile-menu-arrow{width:20px;height:20px;border:0;border-radius:0}
 .mobile-menu-mail{display:inline-block;margin-top:31px;font-size:15px;text-decoration:underline;text-underline-offset:4px}
 .mobile-menu-open .header{visibility:hidden!important;pointer-events:none!important}
}
@media(max-width:350px){.mobile-menu-scroll{padding-inline:25px}.mobile-menu-primary>a{font-size:23px}}
.ride-sequence .journey-heading h1{white-space:normal}
.ride-sequence .hero-sub{max-width:60ch;font-size:18px;line-height:1.55;margin-top:28px}
@media(max-width:760px){.ride-sequence .journey-heading h1{font-size:38px}.ride-sequence .hero-sub{font-size:16px;line-height:1.5;max-width:34ch;margin:25px auto}}

/* Neutral grotesque with Cyrillic, selected to approach the GT Standard reference. */
@font-face{font-family:Inter;src:url('assets/inter-variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
body{font-family:Inter,Arial,sans-serif;font-optical-sizing:auto;font-weight:400}
h1,h2,h3{font-weight:400;letter-spacing:-.03em}
.ride-sequence .journey-heading h1{font-weight:400;letter-spacing:-.035em}
.ride-sequence .hero-sub{font-weight:400;letter-spacing:-.01em;line-height:1.5}
.nav-trigger,.pill,.mobile-menu-cta{font-weight:500}
.mobile-menu-primary>a{font-weight:400;letter-spacing:-.025em}
.journey-service-tabs button{font-weight:500;letter-spacing:-.01em}
.geo-network text,.project-route text{font-family:Inter,Arial,sans-serif}
.journey-arrival-copy{top:66%;left:20%;right:20%}
@media(max-width:760px){.journey-arrival-copy{top:49%;left:24px;right:24px}}

.journey-arrival-photo img{object-fit:contain}
html[data-motion=quiet] .journey-arrival-photo img{object-fit:cover}

/* Compact navigation applies to the narrow desktop preview as well as phones. */
@media(max-width:1100px){
 .header{height:95px;display:flex;padding:16px 20px;justify-content:space-between}
 .header .nav-left,.header .nav-right{display:none}
 .nav-panel{display:none!important}
 .header .logo{grid-area:auto;position:fixed;left:50vw;right:auto;top:15px;bottom:auto;width:65px;height:55px;transform:translateX(-50%);margin:0;justify-self:auto}
 .header .logo img{width:48px}
 .header #menu-button{position:absolute;left:20px;top:20px;width:44px;height:44px}
 .header #menu-button span{left:14px;top:18px}
 .header #menu-button span+span{top:25px}
 .header .nav-contact{display:inline-flex;position:absolute;right:16px;top:20px;min-width:0;min-height:44px;padding:13px 15px;font-size:12px;gap:8px;border-radius:14px}
 .header .nav-contact svg{width:15px;height:15px}
 .header.is-scrolled.is-revealed .nav-contact{opacity:1;visibility:visible;pointer-events:auto}
}
/* Three reference states: transparent, central badge, expanded white bar. */
@media(min-width:1101px){
 .header{--nav-reveal:280ms;height:84px;padding:12px 36px;grid-template-columns:1fr 180px 60px 180px 1fr;gap:28px;isolation:isolate}
 .header nav{gap:30px}
 .header .nav-left{justify-content:flex-end}
 .header .nav-right{justify-content:flex-start}
 .header .nav-trigger{font-size:11px;font-weight:600;gap:0;padding:15px 0}
 .header .nav-trigger>svg{display:none}
 .header .logo{width:60px;height:60px;border:1px solid transparent;border-radius:16px;background:transparent;box-shadow:none;transition:background 180ms ease,border-color 180ms ease}
 .header .logo img{width:46px}
 .header #menu-button{width:44px;height:44px;border-radius:14px;justify-self:start}
 .header #menu-button span{left:14px;top:18px;transition:transform 180ms var(--ease-out)}
 .header #menu-button span+span{top:25px}
 .header .nav-contact{min-height:46px;min-width:126px;padding:12px 17px;border-radius:15px;font-size:11px}
 .header:before{inset:12px 28px;border:1px solid #d5dfe0;border-radius:21px;background:#fff;backdrop-filter:none;opacity:0;clip-path:inset(0 calc(50% - 30px) 0 calc(50% - 30px) round 16px);transition:clip-path var(--nav-reveal) var(--ease-out),opacity 180ms ease}
 .header.is-journey-dark:not(.is-scrolled) .logo{background:transparent}
 .header.is-journey-dark:not(.is-scrolled) .logo img{filter:brightness(0) invert(1)}
 .header.is-journey-dark:not(.is-scrolled) #menu-button{background:transparent;border-color:#ffffff30}
 .header.is-journey-dark:not(.is-scrolled) #menu-button span{background:white}
 .header.is-journey-dark:not(.is-scrolled) .nav-contact{background:#101919;color:white}
 .header.is-scrolled:before{opacity:0}
 .header.is-scrolled .logo{border-color:#d5dfe0;background:white;box-shadow:none}
 .header.is-scrolled nav,.header.is-scrolled #menu-button,.header.is-scrolled .nav-contact{opacity:0;visibility:visible;pointer-events:none;transition:transform var(--nav-reveal) var(--ease-out),opacity 180ms ease}
 .header.is-scrolled .nav-left{transform:translateX(45px)}
 .header.is-scrolled .nav-right{transform:translateX(-45px)}
 .header.is-scrolled #menu-button{transform:translateX(100px)}
 .header.is-scrolled .nav-contact{transform:translateX(-100px)}
 .header.is-scrolled.is-revealed{pointer-events:auto}
 .header.is-scrolled.is-revealed:before,.header.is-scrolled:focus-within:before{clip-path:inset(0 0 0 0 round 21px);opacity:1}
 .header.is-scrolled.is-revealed .logo,.header.is-scrolled:focus-within .logo{border-color:transparent;background:transparent}
 .header.is-scrolled.is-revealed nav,.header.is-scrolled.is-revealed #menu-button,.header.is-scrolled.is-revealed .nav-contact,.header.is-scrolled:focus-within nav,.header.is-scrolled:focus-within #menu-button,.header.is-scrolled:focus-within .nav-contact{opacity:1;transform:translateX(0);pointer-events:auto}
 .header.is-scrolled.is-revealed .nav-trigger,.header.is-scrolled:focus-within .nav-trigger{color:var(--ink)}
 .header:not(.is-scrolled):before{opacity:0}
 .header:has(:focus-visible):before,.header:has(:focus-visible) nav,.header:has(:focus-visible) #menu-button,.header:has(:focus-visible) .nav-contact{transition:none}
 .nav-panel{top:87px}
}
@media(min-width:1101px) and (prefers-reduced-motion:reduce){
 .header:before,.header.is-scrolled nav,.header.is-scrolled #menu-button,.header.is-scrolled .nav-contact{transition:none}
}
/* Keep the five labels together; their capsule and photograph share scroll progress. */
@media(min-width:761px){
 .journey-service-dock{left:38.5%;right:auto;width:max-content;max-width:calc(61.5% - 24px);padding-inline:16px}
 .journey-service-tabs{justify-content:flex-start;gap:12px;width:max-content}
 .journey-next-copy{left:55%;right:auto;width:40%;max-width:660px}
 .journey-next-copy p{max-width:46ch}
}
.journey-service-copy{will-change:opacity}
@media(max-width:1100px) and (min-width:761px){
 .journey-service-dock{left:34%;max-width:calc(66% - 16px);padding-inline:12px}
 .journey-service-tabs{gap:4px}
}

.journey-next-copy .journey-section-label{font-size:11px;line-height:1.4;font-weight:600;letter-spacing:.03em;margin:0 0 18px;max-width:none}
@media(max-width:760px){.journey-next-copy .journey-section-label{font-size:10px;margin:0 0 12px}}
