/* One scroll-driven side elevation, with a horizontal road and a shared rolling distance. */
.hero-image{transform:none}.hero-content,.hero-foot{position:relative;z-index:2}
.drive-story{height:290svh;min-height:1700px;position:relative;background:#15172a}
.drive-sticky{height:100svh;min-height:680px;position:sticky;top:0;overflow:hidden;isolation:isolate;color:#fff;background:#15172a;--road-offset:0px}
.drive-landscape{position:absolute;inset:0 -7%;z-index:-4;background:url('assets/ortolland-alpes.jpg') center 28%/cover;opacity:.40;will-change:transform,opacity}
.drive-landscape-shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(180deg,#15172a33 0%,#15172acc 52%,#15172a 82%),linear-gradient(90deg,#15172acb,transparent 85%)}
.drive-topline{position:absolute;left:6%;right:6%;top:5%;display:flex;align-items:center;gap:12px;color:#e9ecff;font-size:12px;font-weight:800;letter-spacing:.12em;z-index:4}
.drive-step-label{margin-left:auto;letter-spacing:.07em;color:#d6d8f7}
.drive-copy-wrap{position:absolute;left:8%;right:6%;top:15%;height:290px;z-index:4;pointer-events:none}
.drive-copy{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s,transform .4s,visibility .3s}
.drive-copy.is-current{opacity:1;visibility:visible;transform:none}
.drive-copy h2{font-size:clamp(46px,5.2vw,76px);line-height:1.02;margin:20px 0 16px;letter-spacing:-.06em}
.drive-copy h2 em{color:#c3d9f6}.drive-copy p{font-size:16px;color:#e2e6f2;line-height:1.7}
.drive-visual{position:absolute;inset:43% 0 20%;z-index:2;pointer-events:none}
.illustrated-truck{position:absolute;left:0;bottom:-30px;width:min(82vw,1200px);aspect-ratio:2264/546;will-change:transform;isolation:isolate}
.truck-drawing{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 8px 5px #090a1740)}
.journey-road{position:absolute;top:calc(100% - 4px);left:0;right:0;height:90px;border-top:2px solid #8792ac; background:linear-gradient(180deg,#30364e 0%,#20253b 74%,#15172a00 100%)}
.journey-lane{position:absolute;left:-180px;right:-180px;top:31px;height:3px;background:repeating-linear-gradient(90deg,#b9c3d39c 0 84px,transparent 84px 180px);transform:translate3d(var(--road-offset),0,0)}
.drive-cartography{position:absolute;right:7%;top:8%;width:min(35vw,430px);height:47%;opacity:0;z-index:-2;pointer-events:none;will-change:opacity}
.drive-cartography svg{height:100%;width:100%}.drive-cartography svg>path:first-of-type{fill:#5c648a28;stroke:#c8d5f366;stroke-width:2}.drive-cartography svg text{fill:#dce6ff}.drive-cartography .map-path,.drive-cartography .map-flow{stroke:#c3d9f6}.drive-cartography svg circle{fill:#e8b7c4}.drive-cartography svg rect{fill:var(--red)}
.drive-timeline{position:absolute;left:8%;bottom:8%;display:flex;align-items:center;gap:18px;z-index:5;color:#a7aec2;font-size:12px;font-weight:600}
.drive-timeline>span{display:flex;gap:9px;align-items:center}.drive-timeline b{font-size:14px}.drive-timeline>span.active{color:#fff}
.drive-timeline>i{width:60px;height:2px;display:block;background:#9faac34d}.drive-timeline>i>span{height:100%;width:100%;display:block;background:#d0defa;transform:scaleX(0);transform-origin:left}
.drive-skip{position:absolute;right:6%;bottom:8%;z-index:5;color:#fff;font-size:14px;border-bottom:1px solid #ffffff55;padding:6px 0}.drive-skip span{margin-left:16px}
@media(min-width:1500px){.illustrated-truck{width:min(82vw,1460px)}}
@media(max-width:760px){
.drive-story{height:290svh;min-height:1800px}.drive-sticky{min-height:700px}
.drive-topline{left:22px;right:22px;top:5%;gap:9px;font-size:12px;letter-spacing:.04em}.drive-step-label{font-size:12px;letter-spacing:0}.drive-topline .savoie-cross{width:19px;transform:scale(.8);transform-origin:left}
.drive-copy-wrap{left:24px;right:24px;top:14%;height:280px}.drive-copy .eyebrow{max-width:300px;line-height:1.6}
.drive-copy h2{font-size:clamp(40px,10.8vw,58px);margin:20px 0 16px}.drive-copy p{font-size:16px;max-width:340px}.drive-copy p br{display:none}
.drive-visual{inset:48% 0 24%}.illustrated-truck{width:92vw;bottom:-20px}
.journey-road{height:62px;top:calc(100% - 2px);border-top-width:1px}.journey-lane{top:21px;height:2px}
.drive-cartography{width:62vw;height:30%;right:2%;top:37%}
.drive-timeline{left:24px;right:24px;bottom:14%;gap:10px;justify-content:space-between}.drive-timeline>i{width:30px;flex:1;max-width:45px}.drive-timeline>span{gap:6px}.drive-timeline b{font-size:13px}
.drive-skip{bottom:8%;right:24px;font-size:14px}
}
@media(max-width:370px){.drive-step-label{display:none}.drive-copy-wrap{top:14%}.drive-copy h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.drive-story{height:auto;min-height:0}.drive-sticky{position:relative}.drive-copy{transition:none}.illustrated-truck,.drive-landscape{will-change:auto}}

/* Official partner artwork, animated independently without changing either logo. */
.hero-network .network-showcase{position:relative;isolation:isolate;overflow:hidden;gap:18px;padding:18px 22px;min-height:98px;border:1px solid #ffffffcc;background:linear-gradient(130deg,#fff 10%,#f0f3fb 100%);box-shadow:0 12px 36px #080a2638;transition:transform .35s,box-shadow .35s}
.network-showcase::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 23%,#ffffffc9 45%,transparent 66%);transform:translateX(-130%);pointer-events:none;z-index:2}
.network-showcase::after{content:"";position:absolute;inset:auto 22px 9px;height:2px;border-radius:4px;background:linear-gradient(90deg,var(--blue),var(--red),var(--blue));opacity:.25;transform:scaleX(.3);pointer-events:none}
.hero-network .network-brand{position:relative;display:block;min-width:0;perspective:450px;transform-origin:center;--network-delay:0s}
.hero-network .network-brand--pole{--network-delay:-3.5s}
.network-motion{display:block;transform-origin:50% 70%;will-change:transform}
.hero-network .network-showcase img{width:102px;height:60px;max-width:100%;object-fit:contain;transition:transform .35s;transform-origin:center}
.hero-network .network-showcase i{height:32px;flex:0 0 1px;background:#d6dce5}
.hero-network .network-arrow{font-size:22px;line-height:1;transition:transform .3s;flex-shrink:0}
.network-showcase.has-entered .network-brand{animation:network-arrival .85s cubic-bezier(.2,.7,.2,1) both}
.network-showcase.has-entered .network-brand--pole{animation-delay:.18s}
.network-showcase.has-entered .network-motion{animation:network-float 7s ease-in-out infinite;animation-delay:var(--network-delay)}
.network-showcase.has-entered::before{animation:network-sheen 7s ease-in-out infinite}
.network-showcase.has-entered::after{animation:network-signal 7s ease-in-out infinite}
@keyframes network-arrival{from{opacity:0;transform:translateY(16px) rotateX(-12deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}
@keyframes network-float{0%,100%{transform:translateY(3px) rotateY(-5deg) scale(.98)}50%{transform:translateY(-4px) rotateY(5deg) scale(1.045)}}
@keyframes network-sheen{0%,18%{transform:translateX(-130%)}38%,100%{transform:translateX(130%)}}
@keyframes network-signal{0%,100%{opacity:.2;transform:scaleX(.3)}50%{opacity:.7;transform:scaleX(1)}}
.network-showcase:not(.is-active) .network-brand,.network-showcase:not(.is-active) .network-motion,.network-showcase:not(.is-active)::before,.network-showcase:not(.is-active)::after{animation-play-state:paused}
@media(hover:hover){.hero-network .network-showcase:hover{transform:translateY(-4px);box-shadow:0 17px 44px #080a2652}.network-showcase:hover .network-brand img{transform:scale(1.055)}.hero-network .network-showcase:hover .network-arrow{transform:translate(2px,-2px)}}
.hero-network .network-showcase:focus-visible .network-arrow{transform:translate(2px,-2px)}
.hero-network .network-showcase:active{transform:translateY(-1px)}
@media(max-width:1059px){.hero-network .network-showcase{gap:13px;padding:16px;min-height:90px}.hero-network .network-showcase img{width:86px;height:56px}}
@media(max-width:760px){.hero-network .network-showcase{max-width:260px;gap:8px;padding:15px 12px;min-height:88px}.hero-network .network-showcase img{width:clamp(60px,18vw,78px);height:52px}.hero-network .network-arrow{font-size:19px}.network-showcase::after{inset-inline:12px;bottom:7px}.hero-network .network-showcase i{height:26px}}
@media(max-width:360px){.hero-network .network-showcase{gap:6px;padding-inline:9px}.hero-network .network-showcase img{width:57px}.hero-network>span{max-width:75px}}
.motion-paused .network-showcase .network-brand,.motion-paused .network-showcase .network-motion,.motion-paused .network-showcase::before,.motion-paused .network-showcase::after{animation-play-state:paused}
.motion-paused .network-showcase .network-brand{animation:none;opacity:1;transform:none}
.motion-paused .network-showcase,.motion-paused .network-showcase img,.motion-paused .network-showcase .network-arrow{transition:none}
@media(prefers-reduced-motion:reduce){.network-showcase.has-entered .network-brand,.network-showcase.has-entered .network-motion,.network-showcase.has-entered::before,.network-showcase.has-entered::after{animation:none}.network-showcase::before{display:none}.network-motion{will-change:auto}.hero-network .network-showcase,.hero-network .network-showcase img,.hero-network .network-showcase .network-arrow{transition:none;transform:none}}
