/* Photographic motion: entry, continuous driving and scroll departure use separate layers. */
.driving-car{left:50%;right:auto;width:76%;transform:translateX(calc(-50% + var(--drive,0)*85vw));bottom:17px}.car-arrival,.car-ride{display:block;width:100%}.car-arrival{transform:translateX(-150vw);transition:transform 1.65s cubic-bezier(.18,.76,.2,1)}.is-arrived .car-arrival{transform:translateX(0)}.car-ride{position:relative;animation:car-float 3.2s ease-in-out infinite,car-road-vibration .22s linear infinite alternate;animation-play-state:paused}.car-ride>img{width:100%;height:auto}.car-ride .hero-rim{animation:road-wheel .65s linear infinite;animation-play-state:paused;transform:none}.is-running .car-ride,.is-running .hero-rim,.is-running .hero-wind i,.is-running .road-wind i{animation-play-state:running}.hero-wind,.road-wind{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hero-wind i,.road-wind i{position:absolute;width:23%;height:1px;background:linear-gradient(90deg,transparent,#7c8c8155,transparent);left:20%;top:39%;animation:car-wind .85s linear infinite;animation-play-state:paused}.hero-wind i:nth-child(2),.road-wind i:nth-child(2){top:67%;left:7%;animation-delay:-.35s;width:30%}.hero-wind i:nth-child(3),.road-wind i:nth-child(3){top:84%;left:55%;animation-delay:-.6s}.hero-floor:after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:2px;background:repeating-linear-gradient(90deg,transparent 0 85px,#9caaa330 85px 125px,transparent 125px 190px);background-size:190px 2px;animation:road-lines .5s linear infinite;animation-play-state:paused}.is-running .hero-floor:after{animation-play-state:running}.road{height:200px;overflow:hidden}.road-car{left:50%;width:340px;bottom:14px;transform:translateX(-50%)}.road-car .hero-rim{border-width:2px;box-shadow:inset 0 0 0 2px #1118}.road-stripe{bottom:23px;background:repeating-linear-gradient(90deg,#ffd2c880 0 90px,transparent 90px 150px);background-size:150px 1px;animation:road-lines .45s linear infinite;animation-play-state:paused}.road.is-running .road-stripe{animation-play-state:running}.road-wind i{background:linear-gradient(90deg,transparent,#ffe0d660,transparent);top:30%}
@keyframes road-wheel{to{transform:rotate(360deg)}}@keyframes car-float{0%,100%{translate:-1.1% 0}50%{translate:1.1% 0}}@keyframes car-road-vibration{from{transform:translateY(0) rotate(-.07deg)}to{transform:translateY(-1.2px) rotate(.07deg)}}@keyframes car-wind{0%{transform:translateX(100%);opacity:0}20%{opacity:1}100%{transform:translateX(-130%);opacity:0}}@keyframes road-lines{to{background-position:-190px 0}}
/* A large photographic, layered exploded view. */
.scroll-story{height:340vh}.story-sticky{padding:25px 0;min-height:calc(100svh - 91px)}.story-layout{display:block;min-height:0;margin-top:20px}.story-copy{display:grid;grid-template-columns:1.2fr .8fr;gap:8px 65px}.story-label{grid-column:1/-1;margin-bottom:0;font-size:9px}.story-copy h2{font-size:36px;max-width:none;grid-row:2/4;margin:0}.story-copy p{max-width:440px;font-size:12px;margin:0;line-height:1.65}.story-copy .text-link{font-size:10px;padding:6px 0;justify-self:start}.assembly-scene{max-width:1050px;width:100%;margin:5px auto 0;transform:none!important}.photo-assembly{position:relative;height:clamp(280px,45vh,480px);isolation:isolate}.assembly-complete,.assembly-platform{position:absolute;width:76%;left:12%;height:auto;pointer-events:none;filter:drop-shadow(0 15px 10px #0005)}.assembly-complete{top:16%;opacity:clamp(0,calc(1 - var(--explode,0)*1.6),1);transform:translateX(calc(var(--exit,0)*90px));z-index:2}.assembly-platform{top:24%;opacity:calc(.2 + var(--explode,0)*.45);transform:scale(calc(1 - var(--explode,0)*.1))}.assembly-parts{position:absolute;inset:0;z-index:3}.photo-part{position:absolute;left:calc((var(--x) + var(--dx)*var(--explode,0))*1%);top:calc((var(--y) + var(--dy)*var(--explode,0))*1%);width:calc(var(--w)*1%);aspect-ratio:4/3;transform:translate(-50%,-50%) scale(calc(.55 + var(--explode,0)*.45));opacity:clamp(0,calc((var(--explode,0) - .06)*3.5),1);padding:0;border:0;background:none;pointer-events:none;filter:drop-shadow(0 7px 6px #0006)}.parts-visible .photo-part{pointer-events:auto}.atlas-tile{display:block;width:100%;height:100%;background-image:url('images/photoreal/parts-atlas.webp');background-size:400% 400%;background-position:var(--tile-x,0%) var(--tile-y,0%);background-repeat:no-repeat}.photo-part .atlas-tile{transition:filter .2s,scale .25s}.photo-part:hover,.photo-part:focus-visible{z-index:5}.photo-part:hover .atlas-tile,.photo-part:focus-visible .atlas-tile{scale:1.12;filter:drop-shadow(0 0 7px #e9573a)}.assembly-guides{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#ca7566;stroke-width:1;opacity:calc(var(--explode,0)*.7);pointer-events:none}.assembly-tag{position:absolute;color:#c5cfc8;font-size:8px;letter-spacing:.09em;opacity:var(--explode,0);pointer-events:none}.tag-body{left:4%;top:4%}.tag-power{right:0;top:24%}.tag-chassis{left:0;bottom:14%}.assembly-hint{text-align:center;font-size:9px;color:#b1beb6;margin:8px 0 0}.assembly-hint span{margin:0 8px;color:#e06048}.assembly-scene>.scene-note{font-size:8px;margin-top:3px}.story-bottom{margin-top:15px}.story-tabs{padding-top:9px}.story-range-label{margin-top:3px}.part-dialog{background:#e9e9e1;color:var(--ink);border:0;padding:35px;width:600px;max-width:calc(100% - 28px);max-height:calc(100dvh - 28px)}.part-preview{width:100%;aspect-ratio:4/3;max-height:380px;margin-bottom:25px}.part-dialog .kicker{margin-bottom:15px}.part-dialog h2{font-size:32px;margin-bottom:20px}.part-description{font-size:15px}.part-dialog>.small-note{font-size:10px;margin-bottom:0}
/* Photographic service studies with independent, accessible callouts. */
.lab-layout{grid-template-columns:.65fr 1.35fr;gap:6%}.service-lab{padding:25px;background:radial-gradient(ellipse at 50% 38%,#334047 0,#1c252a 65%)}.lab-screen{padding:15px 0 0;background:none}.machine-stage{position:relative;aspect-ratio:1.5;isolation:isolate}.machine-image-wrap{position:absolute;inset:14% 7% 9%;overflow:hidden}.machine-photo{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 9px #0005);transform:scale(1);transition:transform .85s cubic-bezier(.2,.6,.2,1),filter .8s;transform-origin:var(--focus-x,50%) var(--focus-y,50%)}.service-lab[data-stage='1'] .machine-photo{transform:scale(1.09);filter:drop-shadow(0 19px 12px #0007)}.service-lab[data-stage='2'] .machine-photo{transform:scale(1.025)}.photo-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.photo-leaders path{fill:none;stroke:#62746e;stroke-width:1;opacity:.5;transition:stroke .4s,opacity .4s;vector-effect:non-scaling-stroke}.photo-leaders path.is-active{stroke:#f19b81;opacity:1}.photo-pin{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;background:#17252be6;color:#ccd8d1;border:1px solid #9aac9f;font-size:9px;padding:0;z-index:3;transition:background .3s,box-shadow .3s}.photo-pin[aria-pressed='true']{background:#df4d35;color:#fff;border-color:#ffad8f;box-shadow:0 0 0 5px #d4533425}.photo-note{position:absolute;background:#17252be8;color:#aabbb2;border:0;border-bottom:1px solid #60756b;display:flex;gap:9px;text-align:left;font-size:11px;font-weight:600;line-height:1.5;padding:7px 2px;max-width:45%;min-height:36px;z-index:3}.photo-note span{font-size:8px;color:#f19b81;margin-top:2px}.photo-note[aria-pressed=true]{color:#fff;border-color:#e88c71}.note-0{top:0;left:0}.note-1{top:0;right:0}.note-2{bottom:0;right:0}.photo-status{position:absolute;bottom:2%;left:0;font-size:7px;letter-spacing:.12em;color:#9eb3a7}.photo-annotation{display:flex;gap:15px;padding:19px 0 5px;min-height:100px}.annotation-index{font-size:11px;color:#ed9b82;border:1px solid #7a6f63;width:28px;height:28px;display:grid;place-items:center;flex:none}.photo-annotation strong{font-size:14px}.photo-annotation p{font-size:12px;color:#b6c4bd;margin:7px 0 0;line-height:1.65}.lab-caption{min-height:80px;padding-top:17px}.lab-caption strong{font-size:12px;color:#e5b49e}.lab-caption p{font-size:11px}.service-lab>.scene-note{font-size:8px;line-height:1.6}.inspection-sweep{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(100deg,transparent 35%,#eab79a18 48%,#ffc4a654 50%,#eab79a18 52%,transparent 65%);transform:translateX(-100%)}.service-lab.in-view[data-stage='1'] .inspection-sweep{opacity:1;animation:inspect-surface 3.4s ease-in-out infinite}.photo-machine[data-photo='diagnostics'] .inspection-sweep{background:linear-gradient(0deg,transparent 45%,#8ae4c044 50%,transparent 55%)}.photo-machine[data-photo='alignment'] .inspection-sweep{background:linear-gradient(0deg,transparent 46%,#f96455 49.7%,transparent 50%,#f9645566 50.5%,transparent 53%)}.photo-machine[data-photo='cooling'] .inspection-sweep{background:linear-gradient(100deg,transparent 35%,#8dcce522 48%,#9ee0fb44 50%,transparent 60%)}.photo-machine[data-photo='aquablast'] .inspection-sweep{background:linear-gradient(100deg,transparent 40%,#d7eddf55 50%,transparent 60%)}@keyframes inspect-surface{0%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}
@media(max-width:1199px){.story-copy{gap:8px 40px}.story-copy h2{font-size:32px}.photo-assembly{height:42vh}.photo-note{font-size:10px}.lab-layout{gap:5%}}
@media(max-width:900px){.driving-car{width:88%;left:50%;right:auto}.story-sticky{top:78px;min-height:calc(100svh - 78px);padding:22px 0}.story-layout{margin-top:15px}.story-copy h2{font-size:30px}.story-copy p{font-size:11px}.photo-assembly{height:36vh;min-height:280px}.story-bottom{margin-top:12px}.lab-layout{grid-template-columns:.65fr 1.35fr;gap:4%}.service-lab{padding:18px}.photo-note{font-size:9px}.photo-pin{width:24px;height:24px;font-size:8px}.photo-annotation p{font-size:11px}.photo-annotation strong{font-size:12px}}
@media(max-width:600px){.driving-car{width:104%;left:50%;right:auto;bottom:22px}.hero-stage{height:210px}.hero-wind i{height:1px}.road{height:170px}.road-car{width:280px;left:50%;bottom:16px}.story-sticky{top:73px;min-height:calc(100svh - 131px);padding:20px 0}.story-copy{display:block}.story-label{display:block;font-size:8px;margin-bottom:8px}.story-copy h2{font-size:29px;min-height:0;margin-bottom:12px;max-width:none}.story-copy p{min-height:0;font-size:11px;max-width:none;margin-bottom:0}.story-copy .text-link{display:none}.photo-assembly{height:240px;min-height:0}.assembly-complete{top:24%}.assembly-platform{top:31%}.assembly-tag,.assembly-guides{display:none}.assembly-hint{font-size:8px;margin-top:2px;max-width:260px;margin-inline:auto;line-height:1.6}.assembly-scene>.scene-note{font-size:6px;max-width:290px}.story-bottom{margin-top:14px}.story-tabs{gap:5px}.story-tabs button{font-size:8px;min-height:38px}.story-range-label{font-size:8px}.part-dialog{padding:25px}.part-preview{margin:20px 0}.part-dialog h2{font-size:28px}.part-description{font-size:13px}.part-dialog .dialog-close{width:38px;height:38px;top:12px;right:12px}.lab-layout{grid-template-columns:1fr;gap:28px}.machine-stage{aspect-ratio:1.25}.machine-image-wrap{inset:15% 0 12%}.photo-note{font-size:10px;max-width:48%;gap:6px}.photo-pin{width:26px;height:26px}.photo-status{font-size:6px;max-width:95px;line-height:1.5}.photo-annotation{min-height:105px}.photo-annotation strong{font-size:13px}.photo-annotation p{font-size:12px}.lab-caption p{font-size:11px}.lab-top{font-size:8px}}
@media(max-width:600px) and (max-height:700px){.story-sticky{padding:10px 0}.story-layout{margin-top:12px}.story-label{display:none}.story-copy h2{font-size:24px;margin-bottom:8px;min-height:0}.story-copy p{font-size:9px;line-height:1.5}.photo-assembly{height:180px}.assembly-hint{font-size:7px}.story-tabs span{display:none}.story-bottom{margin-top:6px}.story-range-label{display:none}.assembly-scene>.scene-note{display:none}}
@media(min-width:901px) and (max-height:800px){.story-sticky{padding:15px 0}.story-copy h2{font-size:29px}.story-layout{margin-top:12px}.story-copy p{font-size:11px}.photo-assembly{height:37vh;min-height:240px}.story-bottom{margin-top:6px}.story-tabs button{padding:8px 0}.story-range-label{margin-top:0}.story-label{font-size:8px}}
html[data-motion='off'] .car-arrival{transform:none!important;transition:none!important}html[data-motion='off'] .driving-car{transform:translateX(-50%)!important}html[data-motion='off'] .road-car{transform:translateX(-50%)!important}html[data-motion='off'] .photo-part,html[data-motion='off'] .assembly-platform,html[data-motion='off'] .assembly-guides,html[data-motion='off'] .assembly-tag{display:none}html[data-motion='off'] .assembly-complete{opacity:1;transform:none}html[data-motion='off'] .assembly-hint{visibility:hidden}html[data-motion='off'] .car-ride,html[data-motion='off'] .hero-rim{animation:none}html[data-motion='off'] .hero-wind,html[data-motion='off'] .road-wind,html[data-motion='off'] .inspection-sweep{display:none}
@media(prefers-reduced-motion:reduce){.car-arrival{transform:none!important}.driving-car,.road-car{transform:translateX(-50%)!important}.photo-part,.assembly-platform,.assembly-tag,.assembly-guides,.hero-wind,.road-wind,.inspection-sweep{display:none}.assembly-complete{opacity:1;transform:none}.assembly-hint{visibility:hidden}}
/* The spinning rims use the same photographic material as the body. */
.car-ride .hero-rim{background-image:url('images/hero-car.webp');background-size:819.672% 367.76%;background-position:var(--rim-x) 78.6%;border:0;box-shadow:none;opacity:1}.rear-rim{--rim-x:15.72%}.front-rim{--rim-x:86.56%}
.assembly-platform{opacity:calc(var(--explode,0)*.65);mask-image:radial-gradient(ellipse 8.8% 22.5% at 18% 64%,transparent 97%,#000 100%),radial-gradient(ellipse 8.8% 22.5% at 83% 64%,transparent 97%,#000 100%);mask-composite:intersect}.machine-photo{padding:3%}.service-lab[data-stage='1'] .machine-photo{transform:scale(1.05)}
