/* Private presentation: exact governed brand/environment photographs only.
   Original logo/vector and publication rights remain a client handoff. */
:root{--paper:#eeeae2;--ink:#101211;--muted:#b1b1a8;--line:#484941;--tan:#bca180;--red:#b5192c;color-scheme:dark;background:var(--ink);color:var(--paper)}
body{background:var(--ink)}h1,h2{letter-spacing:-.045em}button:hover{background:var(--paper);color:var(--ink)}.site-header{height:86px;background:#090b0b;color:var(--paper);border-color:#ffffff20}.site-header .wordmark{width:168px}.logo-crop{display:block;position:relative;overflow:hidden;aspect-ratio:2.7;width:100%;background:#000}.logo-crop img{position:absolute;width:100%;max-width:none;height:auto;top:50%;transform:translateY(-50%)}.site-header .logo-crop{width:156px}.site-header nav{font-size:12px;letter-spacing:.04em}.site-header [aria-current]{border-color:var(--red)}.eyebrow{font-size:11px;font-weight:400;letter-spacing:.2em}.entry-link{letter-spacing:.08em;font-size:12px}.entry-link span{color:var(--tan)}
#categories.selection-page,.selection-page{display:block;position:relative;min-height:calc(100svh - 86px);padding:0;isolation:isolate;overflow:hidden;background:#0b0e0e}.selection-environment{position:absolute;inset:0 0 0 32%;z-index:-1}.selection-environment img{width:100%;height:100%;object-fit:cover;object-position:50% 36%;filter:brightness(.66) saturate(.75)}.selection-environment:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b0e0e,transparent 75%),linear-gradient(0deg,#0b0e0eaa,transparent 30%)}.selection-environment figcaption{position:absolute;bottom:32px;right:5vw;font-size:10px;color:#d3cec4;z-index:1}.selection-copy{padding:8vh 7% 9vh;width:62%;max-width:900px}.selection-copy h1{font-size:clamp(55px,6.5vw,100px);margin:35px 0}.selection-copy h1 em{color:#cbbba4}.selection-note{color:#c2bfb6;font-size:14px;margin-bottom:40px}.selection-entry{display:flex;flex-direction:column;border-top:1px solid #bca18088;border-bottom:1px solid #bca18088;padding:26px 0;gap:18px;max-width:400px;position:relative}.selection-entry strong{font-size:clamp(60px,6vw,94px);font-weight:400;letter-spacing:-.05em}.selection-entry>span:last-child{font-size:12px;letter-spacing:.08em;display:flex;justify-content:space-between;gap:20px}.selection-entry:after{content:'↗';position:absolute;right:0;top:36px;font-size:40px;color:var(--tan);transition:transform .2s}.selection-entry:hover{text-decoration:none}.selection-entry:hover:after{transform:translate(5px,-5px)}.selection-entry:focus-visible{outline-offset:10px}.selection-skip{display:inline-block;padding:20px 0;font-size:12px;color:#cbc5bb}.back-link{display:inline-block;font-size:12px;padding:0 0 30px}.inventory-selection img{object-position:50% 55%}
.vehicle-workspace{background:#171b19;grid-template-columns:230px 1fr}.vehicle-navigation{background:#101411;padding:24px 18px;border-color:var(--line)}.view-tabs{gap:2px}.view-tabs button{color:#d4cec4}.view-tabs button[aria-pressed=true]{border-color:var(--tan);color:#fff}.anchor-map{height:auto;margin-top:22px}.anchor-button{position:relative;inset:auto!important;display:flex;align-items:center;gap:12px;width:100%;max-width:none;padding:7px;margin-bottom:8px;background:transparent;color:#c6c2b9;border:1px solid transparent;font-size:11px}.anchor-button:before{display:none}.anchor-button img{width:67px;height:65px;object-fit:cover;object-position:50% 55%;filter:brightness(.8)}.anchor-button[aria-pressed=true]{background:#292d28;color:#fff;border-color:#a58a68}.anchor-button[aria-pressed=true] img{filter:none}.anchor-button[aria-pressed=true]:after{content:'—';margin-left:auto;color:var(--tan)}.map-note{line-height:1.6;margin:20px 5px}.inspection-bar{background:#171b19}.inspection-bar .eyebrow{font-size:10px}.vehicle-heading{padding-top:30px;padding-bottom:30px}.vehicle-details{background:#151915}.vehicle-enquiry{background:#090c0a}.vehicle-enquiry em{color:#cbbba4}.zoom-controls button{border-color:#64675e}.room-stage{background:#151917}.display-caption{background:linear-gradient(120deg,#0c100fee,#17201bec);border-color:#ac9070;box-shadow:0 12px 55px #0004}.display-caption button{background:#ddd4c4;color:#151915;border:none}.room-top h1{font-family:Georgia,serif}.room-bottom{border-bottom:1px solid #393d35}.room-bottom small{color:#bbbfb5}footer{background:#0c100e;color:#ddd8ce}.is-enhanced main>[data-route]{animation:none}

@media(max-width:800px){.selection-copy{width:78%}.vehicle-workspace{grid-template-columns:190px 1fr}.anchor-button img{width:52px;height:56px}}
@media(max-width:650px){.site-header{height:76px;padding:0 6%}.site-header .logo-crop{width:128px}.site-header .wordmark{width:128px}.site-header nav{gap:20px}.selection-page,#categories.selection-page{min-height:calc(100svh - 76px)}.selection-environment{inset:0}.selection-environment:after{background:linear-gradient(90deg,#090d0ce8, #090d0c55),linear-gradient(0deg,#090d0c,transparent 50%)}.selection-copy{width:100%;padding:45px 8% 100px}.selection-copy h1{font-size:59px;margin:25px 0 40px}.selection-entry{max-width:100%;padding:24px 0}.selection-entry strong{font-size:65px}.selection-environment figcaption{right:8%;left:8%;bottom:28px;font-size:9px}.vehicle-workspace{display:flex;flex-direction:column}.vehicle-navigation{padding:15px 6%}.view-tabs{justify-content:flex-start}.anchor-map{margin-top:10px}.anchor-map #photo-anchors{display:flex;gap:10px;overflow-x:auto;padding:4px 3px 10px;scroll-snap-type:x proximity}.anchor-button{flex:0 0 110px;display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:0;padding:5px;scroll-snap-align:start;min-height:100px;font-size:10px}.anchor-button img{width:98px;height:66px}.anchor-button[aria-pressed=true]:after{display:none}.map-note{margin:8px 0;font-size:11px}.inspection-bar{padding:18px 6%}.vehicle-heading h1{font-size:28px}.vehicle-heading{padding:24px 6%}.room-top{align-items:start}.room-top h1{font-size:24px}.room-bottom .movement{gap:6px}.movement button{width:42px}.vehicle-details h2{font-size:46px}}
@media(prefers-reduced-motion:reduce){.route-threshold{display:none}}
.photo-view-tabs{display:flex;gap:2px}
.view-tabs a{display:flex;align-items:center;font-size:12px;padding:12px 8px;min-height:44px}.display-traversal{display:flex;gap:8px;margin-top:12px}.display-traversal button{font-size:11px;padding:8px}
.view-tabs button:hover{background:#292d28;color:#fff}.view-tabs a:hover{color:#fff}.selection-entry:hover{border-color:#e0c4a0}

/* Approved exact BMW identification asset accompanies the text label. */
.selection-entry--brand{padding:26px 24px;border-left:2px solid var(--tan);background:linear-gradient(105deg,#bca18014,transparent 85%)}
.selection-entry--brand strong,.brand-identification{display:inline-block;align-self:flex-start;font-weight:500;letter-spacing:.075em;line-height:1}
.selection-entry--brand strong{font-size:clamp(62px,6.3vw,98px)}
.selection-entry--brand>span:last-child{font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.selection-entry--brand:after{right:20px;font-size:32px}
.selection-entry--brand:focus-visible{background-color:#bca18018}
@media(hover:hover) and (pointer:fine){.selection-entry--brand:hover{background-color:#bca18012}}
/* Threshold frames are decorative, pass pointer input through, and never
   cover the persistent navigation. Three planes make the crossing legible. */
.route-threshold{position:fixed;inset:86px 0 0;z-index:5;pointer-events:none;overflow:hidden}
.route-threshold i{opacity:0;position:absolute;inset:6% 12%;border:18px solid #433b2e;border-inline:32px solid #6c5b43;box-shadow:inset 0 0 0 2px #cab38b,0 0 0 4px #151c19;transform-origin:50% 56%}
.route-threshold i:nth-child(2){inset:10% 16%;border-color:#272d27;border-inline-color:#947b57}
.route-threshold i:nth-child(3){inset:14% 20%;border-width:9px;border-color:#b29b75}
.brand-lockup{display:inline-flex;align-items:center;gap:24px}
.bmw-mark{display:block;flex:none;width:72px;height:72px;object-fit:contain;padding:8px;background:#eeeae2;border-radius:50%}
.selection-entry--brand .brand-lockup{font-size:inherit;letter-spacing:normal;text-transform:none}
#brand-title .brand-lockup{gap:20px}#brand-title .bmw-mark{width:64px;height:64px}
@media(max-width:650px){.selection-entry--brand{padding:22px 20px}.selection-entry--brand strong{font-size:65px}.route-threshold{top:76px}.route-threshold i{border-width:10px;border-inline-width:18px}.brand-lockup{gap:16px}.bmw-mark{width:58px;height:58px}#brand-title .bmw-mark{width:52px;height:52px}}

/* Identity lands in a dedicated line; editorial type never shares its box. */
#brand-title{display:flex;flex-direction:column;gap:24px;line-height:1.08}
#brand-title>br{display:none}
#brand-title .brand-lockup{min-height:1.08em}
#brand-title em{display:block;font-size:.84em}
/* HOMEPAGE — Founder-approved cinematic arrival package.
   The film is reconstructed from governed same-origin chunks by cinematic.js.
   Static entrance imagery and an immediately usable CTA are the safe baseline. */
#home { --arrival-black:#000; --arrival-light:#f3f0ea; background:var(--arrival-black); color:var(--arrival-light); }
.arrival-sequence { position:relative; min-height:calc(100svh - 96px); background:#000; }
.arrival-stage { position:relative; isolation:isolate; overflow:hidden; width:100%; height:calc(100svh - 96px); min-height:540px; background:#000; }
.arrival-still,.arrival-film { position:absolute; inset:0; width:100%; height:100%; }
.arrival-still { margin:0; }
.arrival-still img,.arrival-film { width:100%; height:100%; object-fit:cover; object-position:center; }
.arrival-decoder { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.arrival-poster { opacity:0; z-index:1; }
.arrival-final { opacity:1; z-index:0; }
.arrival-film { z-index:2; opacity:0; border:0; background:#000; }
.arrival-vignette { position:absolute; inset:0; z-index:3; pointer-events:none; background:linear-gradient(180deg,#0007 0%,transparent 24%,transparent 66%,#000b 100%),radial-gradient(ellipse at 50% 54%,transparent 48%,#0006 100%); }
.arrival-logo { position:absolute; z-index:4; left:50%; top:50%; width:min(72vw,980px); margin:0; transform:translate(-50%,-50%); opacity:0; filter:drop-shadow(0 10px 42px #0008); }
.arrival-logo img { width:100%; height:auto; }
.arrival-location { position:absolute; z-index:4; left:50%; bottom:6.5vh; transform:translateX(-50%); margin:0; color:#eeeae2; font-size:10px; font-weight:600; letter-spacing:.25em; text-transform:uppercase; white-space:nowrap; opacity:.82; }
.arrival-load { display:none; position:absolute; z-index:6; left:50%; bottom:4vh; width:min(290px,70vw); transform:translateX(-50%); color:#eeeae2; font-size:9px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; text-align:center; }
.arrival-load i { display:block; height:1px; margin-top:11px; background:#e22b2f; transform:scaleX(var(--load-progress,0)); transform-origin:left; transition:transform 180ms linear; }
.arrival-invitation { position:absolute; z-index:7; left:50%; bottom:8vh; width:min(360px,84vw); transform:translate(-50%,18px); opacity:1; text-align:center; }
.arrival-invitation .eyebrow { margin-bottom:12px; color:#eeeae2; text-shadow:0 2px 12px #000; }
.arrival-invitation .entry-link { width:100%; min-height:62px; justify-content:center; border:1px solid #f3f0ea; padding:18px 26px; background:#080909c9; color:#fff; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; backdrop-filter:blur(10px); }
.arrival-invitation .entry-link span { margin-left:auto; }
.arrival-bloom { position:absolute; inset:0; z-index:8; pointer-events:none; background:#fff; opacity:0; }
.sequence-rule { position:absolute; z-index:9; left:0; right:0; bottom:0; height:2px; background:#d82027; transform:scaleX(var(--progress,0)); transform-origin:left; }

@media (prefers-reduced-motion:no-preference) and (min-height:540px) {
  .is-cinematic.arrival-sequence { height:600svh; }
  .is-cinematic .arrival-stage { position:sticky; top:0; height:100svh; min-height:540px; }
  .is-cinematic .arrival-poster { opacity:1; }
  .is-cinematic .arrival-final { opacity:0; }
  .is-cinematic .arrival-logo { opacity:var(--logo-opacity,1); transform:translate(-50%,-50%) scale(var(--logo-scale,1)); }
  .is-cinematic .arrival-location { opacity:var(--location-opacity,.82); }
  .is-cinematic .arrival-invitation { opacity:var(--cta-opacity,0); transform:translate(-50%,calc((1 - var(--cta-opacity,0)) * 18px)); pointer-events:none; }
  .is-cinematic .arrival-invitation.is-ready { pointer-events:auto; }
  .is-cinematic.cinematic-loading .arrival-load { display:block; }
  .is-cinematic.cinematic-loading .arrival-logo,.is-cinematic.cinematic-pending .arrival-logo { opacity:0; }
  .is-cinematic.cinematic-ready .arrival-film { opacity:1; }
  .is-cinematic.cinematic-ready .arrival-poster { opacity:0; }
  .is-cinematic.cinematic-ready .arrival-logo { opacity:0; }
  .is-cinematic.cinematic-fallback { height:auto; min-height:calc(100svh - 96px); }
  .is-cinematic.cinematic-fallback .arrival-stage { position:relative; height:calc(100svh - 96px); }
  .is-cinematic.cinematic-fallback .arrival-final { opacity:1; }
  .is-cinematic.cinematic-fallback .arrival-poster,.is-cinematic.cinematic-fallback .arrival-film,.is-cinematic.cinematic-fallback .arrival-logo,.is-cinematic.cinematic-fallback .arrival-load { opacity:0; display:none; }
  .is-cinematic.cinematic-fallback .arrival-invitation { opacity:1; transform:translate(-50%,0); pointer-events:auto; }
  .arrival-stage.is-entering .arrival-film,.arrival-stage.is-entering .arrival-final { transform:scale(1.35); transform-origin:50% 68%; transition:transform 500ms cubic-bezier(.77,0,.175,1); }
  .arrival-stage.is-entering .arrival-bloom { opacity:1; transition:opacity 500ms cubic-bezier(.77,0,.175,1); }
}

@media(max-width:650px) {
  .arrival-sequence,.arrival-stage { min-height:calc(100svh - 76px); height:calc(100svh - 76px); }
  .arrival-logo { width:84vw; }
  .arrival-location { bottom:5vh; font-size:9px; }
  .arrival-invitation { bottom:max(5vh,28px); width:84vw; }
  .arrival-invitation .entry-link { min-height:58px; padding-inline:20px; }
}
@media(max-width:650px) and (prefers-reduced-motion:no-preference) and (min-height:540px) {
  .is-cinematic.arrival-sequence { height:500svh; }
  .is-cinematic.cinematic-fallback { min-height:calc(100svh - 76px); }
  .is-cinematic.cinematic-fallback .arrival-stage { height:calc(100svh - 76px); }
}

@media(prefers-reduced-motion:reduce), (max-height:539px) {
  .arrival-sequence { min-height:calc(100svh - 96px); height:auto; }
  .arrival-stage { height:calc(100svh - 96px); min-height:420px; }
  .arrival-poster { z-index:1; opacity:1; animation:arrival-poster-dissolve 8s ease forwards; }
  .arrival-final { z-index:0; opacity:1; }
  .arrival-film,.arrival-decoder,.arrival-load,.sequence-rule,.arrival-logo { display:none!important; }
  .arrival-invitation { opacity:1; transform:translate(-50%,0); pointer-events:auto; }
}
@keyframes arrival-poster-dissolve { 0%,20%{opacity:1} 100%{opacity:0} }

/* Bounded selection correction: material threshold around CORE-generated
   entries. All labels, marks, counts and destinations remain data-bound. */
#brand .selection-copy { width:57%; max-width:850px; padding:5vh 7% 8vh; }
#brand .back-link { min-height:44px; padding:12px 0; margin-bottom:24px; }
#brand .selection-environment { inset:5% 0 5% 43%; border-left:1px solid #bca18066; }
#brand .selection-environment img { object-position:58% 25%; filter:brightness(.72) saturate(.7); }
#brand .selection-environment:after { background:linear-gradient(90deg,#0b0e0e 0%,#0b0e0e88 24%,transparent 70%),linear-gradient(0deg,#0b0e0ee6,transparent 48%); }
#brand .selection-environment figcaption { left:22%; right:6%; bottom:24px; font-size:12px; line-height:1.5; }
#brand-title { margin:28px 0 32px; gap:20px; }
#brand-title .brand-identification { font-size:clamp(58px,6vw,88px); }
#brand-title em { font-size:clamp(36px,3.7vw,56px); line-height:1.15; }
#brand .class-introduction { color:var(--paper); font-size:14px; margin:0 0 18px; }
#brand #category-list { display:grid; gap:16px; }
#brand #category-list .selection-entry { max-width:480px; padding:24px 30px 26px; gap:20px; border:1px solid #bca18080; border-left:3px solid var(--tan); background:linear-gradient(115deg,#504638b8,#171d1bee 66%); box-shadow:inset 0 1px #e7ceb52b,0 18px 48px #0003; }
#brand #category-list .selection-entry strong { font-size:clamp(56px,5vw,76px); line-height:1; letter-spacing:-.045em; }
#brand #category-list .selection-entry>span:last-child { padding-top:16px; border-top:1px solid #c4b49c44; font-size:13px; letter-spacing:.04em; line-height:1.5; }
#brand #category-list .selection-entry:after { top:25px; right:28px; font-size:32px; }
#brand #category-list .selection-entry:focus-visible { outline:2px solid var(--paper); outline-offset:5px; background-color:#78634c; }
#brand #category-list .selection-entry:active { background:#4d4436; }
#brand .selection-skip { min-height:44px; margin-top:14px; font-size:13px; }
.selection-page [data-brand-mark]:not([hidden]) { width:72px; height:72px; object-fit:contain; flex:none; padding:8px; background:var(--paper); border-radius:50%; }
.selection-page [data-brand-mark][hidden] { display:none; }
@media(hover:hover) and (pointer:fine) {
  #brand #category-list .selection-entry:hover { border-color:var(--tan); background-color:#67533c; }
}
@media(prefers-reduced-motion:no-preference) {
  #brand #category-list .selection-entry { transition:background-color 180ms ease,border-color 180ms ease; }
}
@media(max-width:900px) {
  #brand .selection-copy { width:70%; }
  #brand .selection-environment { left:35%; }
}
@media(max-width:650px) {
  #brand .selection-copy { width:100%; padding:28px 8% 100px; }
  #brand .back-link { margin-bottom:16px; }
  #brand .selection-environment { inset:0; border:0; }
  #brand .selection-environment:after { background:linear-gradient(90deg,#0b0e0ef5,#0b0e0e99),linear-gradient(0deg,#0b0e0e,transparent 85%); }
  #brand .selection-environment figcaption { left:8%; right:8%; bottom:24px; }
  #brand-title { margin:24px 0 28px; gap:20px; }
  #brand-title .brand-lockup { gap:16px; }
  .selection-page [data-brand-mark]:not([hidden]) { width:58px; height:58px; }
  #brand #category-list .selection-entry { padding:22px 24px; }
}
