/* Shared route composition matches the source's editorial grid. */
.cinematic-panel{position:relative;height:100svh;min-height:38rem;overflow:hidden;background:#0c0c0c}.cinematic-panel>picture,.cinematic-panel>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cinematic-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(#0002,#0000 55%,#0007);pointer-events:none}.listing-intro-copy{position:absolute;z-index:2;bottom:13%;left:20%;width:60%;text-align:center}.listing-intro h1{font-size:clamp(6rem,10vw,11rem);margin-bottom:2rem;letter-spacing:-.04em}.listing-intro p{max-width:28rem;margin:auto;font-size:18px;line-height:1.4}.vehicle-panel-copy{position:absolute;z-index:2;top:18%;left:15%;width:70%;text-align:center}.vehicle-id{display:inline-block;font-size:.65rem;letter-spacing:.35em;background:#ffffff20;padding:.5rem .7rem;font-weight:500}.vehicle-panel h2{font-style:italic;font-size:clamp(5rem,8vw,9rem);line-height:1.04;margin:1.5rem 0 2rem;letter-spacing:-.04em}.vehicle-panel-copy>p{max-width:31rem;margin:auto;font-size:20px;line-height:1.4}.vehicle-panel-copy .vehicle-price{font-family:var(--serif);font-style:italic;color:#c5a064;margin-bottom:1rem;font-size:1.8rem}.vehicle-panel .outline-link{margin-top:2rem;background:#1115;backdrop-filter:blur(14px)}.vehicle-panel .outline-link:hover{background:var(--cream)}.outline-link:disabled{opacity:.6;cursor:default}.vehicle-list{position:relative}.detail-heading{padding:25vh 2.8vw 2.7rem;background:#0c0c0c}.detail-heading h1{font-style:italic;font-size:clamp(5rem,7.5vw,9rem);margin:1rem 0 2rem;line-height:1.05}.detail-price{font-family:var(--serif);color:#c5a064;font-size:1.5rem;font-style:italic;margin-left:1.5rem}.detail-meta{display:grid;grid-template-columns:55% 45%;align-items:end}.detail-meta>p{font-size:18px;line-height:1.4;max-width:25rem;color:#aaa}.detail-meta dl{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:0;font-size:18px}.detail-meta dt{color:#999;margin-bottom:.5rem}.detail-meta dd{margin:0}.detail-hero picture,.detail-hero img{width:100%;display:block}.detail-hero img{height:auto;max-height:100svh;object-fit:cover}.detail-story{padding:8rem 9.5%;text-align:center}.detail-story>p{font-family:var(--serif);font-size:clamp(2.4rem,4.1vw,4.6rem);font-weight:200;line-height:1.25;max-width:57rem;margin:auto;letter-spacing:-.025em}.detail-story em{font-style:italic}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:0 2.8vw 5rem}.detail-gallery figure{margin:0;min-width:0;overflow:hidden}.detail-gallery picture{display:block;height:100%}.detail-gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:.8}.detail-gallery .gallery-wide{grid-column:1/-1}.detail-gallery .gallery-wide img{aspect-ratio:1.53}.next-build{position:relative;height:100svh;min-height:35rem;display:grid;place-items:center;overflow:hidden}.next-build picture{position:absolute;inset:0;filter:brightness(.55)}.next-build img{width:100%;height:100%;object-fit:cover}.next-build>a{position:relative;z-index:1;text-align:center}.next-build h2{font-size:clamp(6rem,13vw,14rem);margin:1rem 0}.text-link{text-decoration:underline;text-underline-offset:.25rem;padding:0;font-size:inherit}.spec-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(45rem,48vw);max-width:100%;height:100%;max-height:100%;border:0;background:#161616;color:#f2f1ed;padding:3rem 2.5rem;overflow:auto}.spec-drawer::backdrop,.video-dialog::backdrop{background:#0008;backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:1.25rem;top:1.25rem;width:44px;height:44px;font-size:1.6rem;z-index:4}.spec-title{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem 0}.spec-title h2{font-size:1.9rem;line-height:1.1;letter-spacing:-.02em}.spec-title p{color:#c5a064;font-family:var(--serif);font-size:1.8rem;font-style:italic;white-space:nowrap}.spec-drawer details{border-top:1px solid #ffffff20}.spec-drawer summary{list-style:none;padding:1.4rem 0;font-family:var(--serif);font-size:1.8rem;cursor:pointer;display:flex;justify-content:space-between}.spec-drawer summary::-webkit-details-marker{display:none}.spec-drawer summary:after{content:'⌄';font-family:Arial;font-size:1rem}.spec-drawer details[open] summary:after{content:'⌃'}.spec-drawer dl{margin:0 0 2rem}.spec-drawer dl div{display:flex;justify-content:space-between;gap:2rem;padding:.65rem 0;font-size:18px}.spec-drawer dt{color:#999}.spec-drawer dd{margin:0;text-align:right}.spec-drawer ul{margin:0 0 2rem;padding-left:1rem;color:#ccc}.spec-drawer li{padding:.5rem 0}.vehicle-film{position:relative;height:85svh;display:grid;place-items:center;overflow:hidden}.vehicle-film>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55)}.vehicle-film>button{position:relative}.video-dialog{width:min(95vw,1440px);max-width:95vw;background:#111;color:#fff;border:0;padding:1.5rem;margin:auto;overflow:visible}.video-dialog>p{padding:0 3rem 1.5rem 0}.video-dialog iframe{display:block;border:0;width:100%;aspect-ratio:16/9}.video-dialog .dialog-close{top:.5rem;right:.5rem}.purchase-section{padding:7rem 9.5%;display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#410306}.purchase-section h2{font-size:clamp(4rem,6vw,6rem);max-width:8ch;margin-bottom:2rem}.purchase-section>div>p{max-width:25rem;color:#ccc}.error-page{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;text-align:center;padding:2rem}.error-page h1{font-size:clamp(4rem,10vw,8rem)}.detail-page .site-footer,.listing-page .site-footer{background:#0c0c0c}.detail-page .site-header,.listing-page .site-header{transition:background .3s}
@media(min-width:800px) and (prefers-reduced-motion:no-preference){.vehicle-panel{position:sticky;top:0}.detail-gallery img{transition:filter .6s}.detail-gallery figure:hover img{filter:brightness(1.04)}}
@media(max-width:799px){.cinematic-panel{min-height:38rem}.listing-intro-copy{left:6%;width:88%;bottom:12%}.listing-intro h1{font-size:5.5rem}.listing-intro p{font-size:16px;max-width:20rem}.vehicle-panel-copy{left:5%;width:90%;top:15%}.vehicle-panel h2{font-size:clamp(3.6rem,15vw,6rem);margin:1.5rem 0}.vehicle-panel-copy>p{font-size:16px;max-width:21rem}.vehicle-panel .outline-link{margin-top:1.5rem}.detail-heading{padding:10rem 1.4rem 2.5rem}.detail-heading h1{font-size:clamp(3.5rem,15vw,5.5rem);overflow-wrap:break-word}.detail-meta{display:block}.detail-meta>p{font-size:16px;margin-bottom:2rem}.detail-meta dl{font-size:14px;gap:1rem}.detail-hero img{min-height:50svh;max-height:90svh;object-fit:cover}.detail-story{padding:5rem 1.4rem}.detail-story>p{font-size:2.3rem}.detail-gallery{gap:12px;padding:0 .8rem 3rem}.detail-gallery img{aspect-ratio:.65}.detail-gallery .gallery-wide img{aspect-ratio:1}.next-build h2{font-size:22vw}.next-build .eyebrow{font-size:.5rem}.spec-drawer{width:100%;padding:4rem 1.4rem 2rem}.spec-title{align-items:flex-start}.spec-title h2{font-size:1.65rem;max-width:12ch}.spec-title p{font-size:1.5rem}.spec-drawer dl div{font-size:16px;gap:1rem}.spec-drawer summary{font-size:1.6rem}.video-dialog{padding:1rem}.purchase-section{display:block;padding:5rem 1.4rem}.purchase-section h2{font-size:4rem;max-width:10ch}.purchase-section>div{margin-bottom:3rem}.vehicle-film{height:65svh}.detail-meta dd{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.vehicle-panel{position:relative}.detail-gallery img{transition:none}}
body.dialog-open{overflow:hidden}.reduce-motion .vehicle-panel{position:relative}.reduce-motion *, .reduce-motion *:before,.reduce-motion *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}

@media(min-width:800px){.detail-heading{padding-top:14.5rem;padding-bottom:2rem}.detail-heading h1{font-size:clamp(5rem,6.667vw,8rem);line-height:1.2;letter-spacing:-2px;margin:1rem 0 .5rem}.detail-meta{grid-template-columns:60% 40%}.detail-meta dl{grid-template-columns:1.5fr 1fr}}

@media(min-width:800px){.vehicle-panel h2{font-size:clamp(5rem,6.667vw,8rem);line-height:1.2;letter-spacing:-2px}.vehicle-panel-copy>p{max-width:28rem}.vehicle-id{padding:.3rem .55rem}}



.video-fallback{font-size:.875rem;line-height:1.5;color:#ccc;margin:1rem 0 0}.video-fallback a{text-decoration:underline;text-underline-offset:.2em}

/* Listings — "recede & reveal" (active only with body.listing-motion).
   --enter: 0 → 1 as a panel slides up to fill the screen.
   --cover: 0 → 1 as the next panel covers this one. */
body.listing-motion .listing-intro,body.listing-motion .vehicle-panel{position:sticky;top:0;--enter:1;--cover:0;transform-origin:50% 40%;transform:translate3d(0,calc(var(--cover)*-3.5vh),0) scale(calc(1 - var(--cover)*.12));clip-path:inset(0 calc((1 - var(--enter))*7%) round calc((1 - var(--enter))*28px + var(--cover)*22px))}
body.listing-motion .vehicle-panel>picture img{transform:scale(calc(1.16 - var(--enter)*.16))}
body.listing-motion .cinematic-panel::before{content:'';position:absolute;inset:0;z-index:1;background:#000;opacity:calc(var(--cover)*.7);pointer-events:none}
body.listing-motion .vehicle-panel-copy{opacity:clamp(0,calc((var(--enter) - .55)*2.6),1);transform:translate3d(0,calc((1 - var(--enter))*7vh),0)}
body.listing-motion .listing-intro-copy{opacity:calc(1 - var(--cover)*1.4)}
body.listing-motion .vehicle-list{position:relative;z-index:1}
