/* Page compositions */

.section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: var(--s-6); margin-bottom: clamp(32px, 5vw, 64px); }
.section-head .t-label { display: block; margin-bottom: 16px; }
.section-head > .t-lead { max-width: 44ch; }
.section-head__tools { display: flex; gap: 10px; flex-wrap: wrap; }
.empty { max-width: 720px; padding: 40px 0; border-top: 1px solid var(--rule); }
.empty__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

/* Tabs */
.tabs { display: inline-flex; border: 1px solid var(--rule-strong); border-radius: var(--radius); padding: 3px; gap: 2px; flex-wrap: wrap; }
.tabs [role="tab"] { border: 0; background: transparent; padding: 10px 16px; border-radius: var(--radius); font-size: var(--fs-micro); font-stretch: 125%; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--fg-muted); display: inline-flex; gap: 8px; align-items: center; min-height: 40px; }
.tabs [role="tab"][aria-selected="true"] { background: var(--fg); color: var(--bg); }

/* ======================================================= ARRIVAL */
.arrival { position: relative; min-height: 100svh; display: grid; grid-template-rows: 1fr auto; overflow: hidden; background: #0a0d10; isolation: isolate; }
.arrival__stage { position: absolute; inset: 0; z-index: -1; }
.arrival__canvas, .arrival__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.arrival__video { z-index: 1; opacity: 0; transition: opacity var(--dur-reveal) var(--ease-precise); }
@media (max-aspect-ratio: 9/10) { .arrival__video { object-position: 50% 35%; } }
.arrival__video { object-position: 70% 50%; }
.arrival__video.is-playing { opacity: 1; }
.arrival__photo { position: absolute; inset: 0; }
.arrival__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; }
.arrival__canvas { opacity: 0; transition: opacity 400ms linear; }
.has-webgl .arrival__canvas { opacity: 1; }
@media (max-aspect-ratio: 9/10) { .arrival__photo img { object-position: 50% 35%; } }
.arrival__vignette { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(10 13 16 / .85) 0%, rgb(10 13 16 / .45) 34%, transparent 58%), linear-gradient(0deg, rgb(10 13 16 / .9) 0%, transparent 30%), linear-gradient(180deg, rgb(10 13 16 / .6) 0%, transparent 18%); pointer-events: none; }

.arrival__content { align-self: end; padding-top: calc(var(--header-h) + 40px); padding-bottom: clamp(32px, 6vh, 72px); }
.arrival__eyebrow { margin-bottom: 24px; color: var(--alpenglow); }
.arrival__title { max-width: 11ch; }
.arrival__title .word { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .04em; }
.arrival__title .word > span { display: inline-block; }
.arrival__sub { margin: 28px 0 36px; font-size: var(--fs-lead); color: var(--silver); max-width: 36ch; }
.arrival__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.arrival__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 24px; color: var(--fg-faint); }
.arrival__skip { background: none; border: 0; padding: 12px 0; color: var(--silver); font-size: var(--fs-micro); letter-spacing: var(--track-label); text-transform: uppercase; font-stretch: 125%; font-weight: 600; min-height: 44px; }
.arrival__skip:hover { color: var(--white); }
.arrival.is-done .arrival__skip { visibility: hidden; }
.arrival__cue { width: 1px; height: 40px; background: var(--rule-strong); position: relative; overflow: hidden; }
.arrival__cue span { position: absolute; left: 0; top: -40%; width: 1px; height: 40%; background: var(--alpenglow); animation: cue 2.2s var(--ease-glide) infinite; }
@keyframes cue { to { top: 100%; } }
.arrival__meta { font-size: var(--fs-micro); }

/* Choreography: elements wait for .is-playing, then enter in sequence. */
.js .arrival [data-seq] { opacity: 0; transform: translateY(14px); }
.js .arrival.is-playing [data-seq], .js .arrival.is-done [data-seq] { opacity: 1; transform: none; transition: opacity var(--dur-cine) var(--ease-precise), transform var(--dur-cine) var(--ease-precise); }
.js .arrival.is-playing [data-seq="1"] { transition-delay: 1.4s; }
.js .arrival.is-playing [data-seq="2"] { transition-delay: 2.0s; }
.js .arrival.is-playing [data-seq="3"] { transition-delay: 2.9s; }
.js .arrival.is-playing [data-seq="4"] { transition-delay: 3.3s; }
.js .arrival [data-seq="2"] { transform: none; }
.js .arrival .arrival__title .word > span { transform: translateY(105%); }
.js .arrival.is-playing .arrival__title .word > span, .js .arrival.is-done .arrival__title .word > span { transform: none; transition: transform 1.1s var(--ease-precise); }
.js .arrival.is-playing .arrival__title .word:nth-child(1) > span { transition-delay: 2.0s; }
.js .arrival.is-playing .arrival__title .word:nth-child(2) > span { transition-delay: 2.12s; }
.js .arrival.is-playing .arrival__title .word:nth-child(3) > span { transition-delay: 2.24s; }
.js .arrival.is-playing .arrival__title .word:nth-child(4) > span { transition-delay: 2.36s; }
.js .arrival.is-done [data-seq], .js .arrival.is-done .word > span { transition-delay: 0s !important; transition-duration: var(--dur-ui) !important; }
/* Actions are never hidden from keyboard users */
.js .arrival .arrival__actions:focus-within { opacity: 1; transform: none; }
[data-tier="essential"] .arrival [data-seq], [data-tier="essential"] .arrival .word > span { opacity: 1 !important; transform: none !important; transition: none !important; }

@media (max-width: 767px) {
  .arrival__vignette { background: linear-gradient(0deg, rgb(10 13 16 / .97) 0%, rgb(10 13 16 / .82) 42%, rgb(10 13 16 / .35) 66%, transparent 82%); }
  .arrival__actions .btn { flex: 1 1 100%; }
  .arrival__eyebrow, .arrival__title, .arrival__sub { text-shadow: 0 1px 18px rgb(10 13 16 / .85); }
  .arrival__meta { display: none; }
}

/* ======================================================= SPLIT */
.split { position: relative; display: grid; grid-template-columns: 1fr 1fr; min-height: 92vh; border-top: 1px solid var(--rule); }
.split__line { position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; z-index: 2; pointer-events: none; }
.split__line .cline--v { height: 100%; transform-origin: top; transform: scaleY(var(--p, 0)); }
.split__side { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 20px; padding: clamp(40px, 6vw, 96px); text-decoration: none; overflow: hidden; isolation: isolate; transition: background-color var(--dur-section) var(--ease-precise); }
.split__side::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .0; transition: opacity var(--dur-section) var(--ease-precise); }
.split__side--buy::before { background: radial-gradient(90% 70% at 20% 100%, rgb(231 168 106 / .14), transparent 70%); }
.split__side--sell::before { background: radial-gradient(90% 70% at 80% 100%, rgb(184 192 199 / .12), transparent 70%); }
.split__side:hover::before, .split__side:focus-visible::before { opacity: 1; }
.split__side .t-h1 { font-size: clamp(2.4rem, 1.4rem + 3.6vw, 5rem); text-transform: uppercase; font-stretch: 125%; }
.split__side .t-label { color: var(--alpenglow); }
.split__list { display: grid; gap: 8px; color: var(--fg-muted); }
.split__list li { padding-left: 22px; position: relative; }
.split__list li::before { content: ""; position: absolute; left: 0; top: .8em; width: 12px; height: 1px; background: var(--alpenglow); }
.split__side .link-arrow { margin-top: 8px; }
@media (hover: hover) {
  .split { transition: grid-template-columns var(--dur-cine) var(--ease-glide); }
  .split:has(.split__side--buy:hover) { grid-template-columns: 1.18fr .82fr; }
  .split:has(.split__side--sell:hover) { grid-template-columns: .82fr 1.18fr; }
  .split:has(.split__side--buy:hover) .split__line { left: 59%; }
  .split:has(.split__side--sell:hover) .split__line { left: 41%; }
  .split__line { transition: left var(--dur-cine) var(--ease-glide); }
}
@media (max-width: 767px) {
  .split { grid-template-columns: 1fr; min-height: 0; }
  .split__line { display: none; }
  .split__side { padding: 64px var(--gutter); min-height: 70svh; }
  .split__side--sell { border-top: 1px solid transparent; border-image: var(--line) 1; }
}

/* ======================================================= COLLECTION RAIL */
.rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(300px, 380px); gap: var(--s-5); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 16px; scrollbar-width: thin; scrollbar-color: var(--graphite) transparent; }
.rail > * { scroll-snap-align: start; }
@media (max-width: 479px) { .rail { grid-auto-columns: 86%; } }

/* ======================================================= HOW-YOU-DRIVE EXPLORER */
.dream__explorer { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(32px, 5vw, 80px); align-items: stretch; }
.dream__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule); }
.dream__item { position: relative; display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 12px; padding: 18px 4px; border-bottom: 1px solid var(--rule); text-decoration: none; color: var(--fg-muted); transition: color var(--dur-ui) var(--ease-precise), padding var(--dur-section) var(--ease-precise); }
.dream__item .t-mono { color: var(--fg-faint); font-size: var(--fs-small); }
.dream__word { font-size: clamp(1.1rem, .95rem + .55vw, 1.5rem); font-stretch: 112%; font-weight: 500; }
.dream__item .arrow { width: 18px; height: 10px; color: var(--alpenglow); opacity: 0; transform: translateX(-8px); transition: opacity var(--dur-ui), transform var(--dur-ui) var(--ease-precise); }
.dream__item::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--line); transform: scaleX(0); transform-origin: left; transition: transform var(--dur-section) var(--ease-glide); }
.dream__item.is-active, .dream__item:hover, .dream__item:focus-visible { color: var(--fg); padding-left: 12px; }
.dream__item.is-active::after { transform: scaleX(1); }
.dream__item.is-active .arrow, .dream__item:hover .arrow { opacity: 1; transform: none; }
.dream__stage { position: relative; margin: 0; border-radius: var(--radius-lg); overflow: hidden; min-height: 480px; background: var(--obsidian-2); }
.dream__img { position: absolute; inset: 0; opacity: 0; transform: scale(1.04); transition: opacity var(--dur-cine) var(--ease-precise), transform 2.4s var(--ease-precise); }
.dream__img.is-active { opacity: 1; transform: none; }
.dream__img img { width: 100%; height: 100%; object-fit: cover; }
.dream__stage::after { content: ""; position: absolute; inset: auto 0 0 0; height: 40%; background: linear-gradient(transparent, rgb(10 13 16 / .75)); }
.dream__cap { position: absolute; left: 20px; bottom: 16px; z-index: 1; color: var(--silver); }
@media (max-width: 1023px) {
  .dream__explorer { grid-template-columns: 1fr; }
  .dream__stage { order: -1; min-height: 0; aspect-ratio: 4 / 3; }
}

/* ======================================================= TIMELINE */
.timeline { position: relative; }
.timeline__line { position: absolute; left: 0; right: 0; top: 7px; }
.timeline__line .cline { box-shadow: none; background: linear-gradient(90deg, rgb(231 168 106 / .35), var(--alpenglow) 50%, rgb(231 168 106 / .35)); }
.timeline__steps { display: grid; grid-template-columns: repeat(var(--n, 6), minmax(0, 1fr)); gap: 32px 24px; }
.timeline__steps .t-h3 { font-size: clamp(1.05rem, .8rem + .5vw, 1.3rem); }
/* Long processes (more than 6 steps) always split into two even rows; shorter ones split at mid widths. */
@media (min-width: 768px) {
  .timeline--split .timeline__line { display: none; }
  .timeline__steps--split { grid-template-columns: repeat(var(--half), minmax(0, 1fr)); row-gap: 48px; }
  .timeline__steps--split li { border-top: 1px solid rgb(231 168 106 / .45); }
  .timeline__steps--split .timeline__dot { top: -8px; }
}
@media (min-width: 768px) and (max-width: 1279px) {
  .timeline__steps { grid-template-columns: repeat(var(--half, 3), minmax(0, 1fr)); row-gap: 48px; }
  .timeline__line { display: none; }
  .timeline__steps li { border-top: 1px solid rgb(231 168 106 / .45); }
  .timeline__dot { top: -8px; }
}
.timeline__steps li { position: relative; padding-top: 36px; display: grid; gap: 8px; align-content: start; }
.timeline__steps p { color: var(--fg-muted); font-size: var(--fs-small); margin: 0; }
.timeline__dot { position: absolute; top: 0; left: 0; width: 15px; height: 15px; border-radius: 50%; background: var(--bg); border: 1px solid var(--alpenglow); }
.timeline__dot::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--alpenglow); }
@media (max-width: 767px) {
  .timeline__line { left: 7px; right: auto; top: 0; bottom: 0; width: 1px; }
  .timeline__line .cline { width: 1px; height: 100%; transform-origin: top; background: linear-gradient(180deg, var(--alpenglow-ink), var(--alpenglow)); }
  .timeline__line [data-draw] { transform: scaleY(0); }
  .timeline__line [data-draw].is-in { transform: scaleY(1); }
  .timeline__steps { grid-template-columns: 1fr; gap: 28px; }
  .timeline__steps li { padding: 0 0 0 40px; }
}

/* ======================================================= COLORADO */
.colorado { overflow: hidden; isolation: isolate; padding-block: clamp(120px, 16vw, 220px); }
.colorado__bg { position: absolute; inset: 0; z-index: -1; }
.colorado__bg img { width: 100%; height: 100%; object-fit: cover; }
.colorado::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgb(10 13 16 / .9) 0%, rgb(10 13 16 / .72) 45%, rgb(10 13 16 / .45) 100%), linear-gradient(0deg, var(--obsidian) 0%, transparent 25%, transparent 75%, var(--obsidian) 100%); }
.colorado .facts dd { color: var(--silver); }
.colorado__grid { display: grid; grid-template-columns: 5fr 7fr; gap: var(--s-8); align-items: start; }
.facts { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 40px 32px; }
.facts div { border-top: 1px solid var(--rule); padding-top: 20px; }
.facts dt { color: var(--alpenglow); font-size: var(--fs-small); margin-bottom: 10px; letter-spacing: .08em; }
.facts dd { margin: 0; color: var(--fg-muted); }
@media (max-width: 1023px) { .colorado__grid { grid-template-columns: 1fr; gap: 48px; } }
@media (max-width: 599px) { .facts { grid-template-columns: 1fr; } }

/* ======================================================= CLOSING */
.closing__inner { display: grid; gap: 40px; justify-items: start; }
.closing__inner .cline { width: 100%; }
.closing__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ======================================================= BUY */
.buy-entry { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 40px; background: var(--rule); border: 1px solid var(--rule); border-radius: var(--radius-lg); overflow: hidden; }
.buy-entry__item { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; row-gap: 2px; padding: 18px 20px; background: var(--bg); text-decoration: none; transition: background-color var(--dur-ui); }
.buy-entry__item .t-mono { grid-row: span 2; color: var(--fg-faint); font-size: var(--fs-small); padding-top: 2px; }
.buy-entry__item small { color: var(--fg-faint); }
.buy-entry__item:hover { background: var(--obsidian-2); }
.buy-entry__item.is-current { box-shadow: inset 0 -2px 0 var(--alpenglow); }
@media (max-width: 767px) { .buy-entry { grid-template-columns: 1fr; } }

.inventory { padding: 32px 0 120px; }
.inv-bar { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding-bottom: 24px; border-bottom: 1px solid var(--rule); margin-bottom: 32px; }
.mode-switch { display: inline-flex; border: 1px solid var(--rule-strong); border-radius: var(--radius); padding: 3px; gap: 2px; }
.mode-switch button { display: inline-flex; align-items: center; gap: 8px; border: 0; background: transparent; padding: 0 14px; min-height: 40px; border-radius: var(--radius); font-size: var(--fs-micro); font-stretch: 125%; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--fg-muted); }
.mode-switch button[aria-pressed="true"], .mode-switch button[aria-selected="true"] { background: var(--fg); color: var(--bg); }
.mode-switch--lg { margin-top: 32px; }
.mode-switch--lg button { min-height: 48px; padding: 0 20px; }
.inv-count { margin: 0 0 0 auto; color: var(--fg-muted); }
.inv-count .t-mono { color: var(--fg); font-size: 1.1rem; }
.inv-sort .select { min-height: 44px; padding-block: 8px; width: auto; }
.filter-toggle { display: none; }

.inv-layout { display: grid; grid-template-columns: 280px 1fr; gap: 40px; align-items: start; }
.filters { position: sticky; top: calc(var(--header-h) + 16px); max-height: calc(100vh - var(--header-h) - 32px); overflow-y: auto; padding-right: 8px; scrollbar-width: thin; }
.filters form { display: grid; gap: 24px; }
.filters__head { display: flex; align-items: center; justify-content: space-between; }
.filters__head a { color: var(--fg-muted); }
.filters__close, .filters__foot { display: none; }
.filter-group legend { margin-bottom: 12px; }
.filter-opts { display: grid; gap: 2px; }
.fopt { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 6px 0; cursor: pointer; font-size: var(--fs-small); }
.fopt input { width: 18px; height: 18px; margin: 0; accent-color: var(--alpenglow); }
.fopt em { font-style: normal; font-family: var(--mono); font-size: var(--fs-micro); color: var(--fg-faint); }
.range-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.range-pair .input { min-height: 44px; padding: 10px 12px; }
.saved-search { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--rule); }
.saved-search__list { margin-top: 12px; display: grid; gap: 6px; font-size: var(--fs-small); }
.saved-search__list li { display: flex; justify-content: space-between; gap: 8px; }
.saved-search__list button { background: none; border: 0; color: var(--fg-faint); padding: 0 4px; }

.results__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: var(--s-5); }
.results.is-loading .results__grid { opacity: .45; transition: opacity var(--dur-ui); }
.results__empty { padding: 48px 0; max-width: 560px; }
.pager { display: flex; gap: 6px; margin-top: 40px; flex-wrap: wrap; }
.pager a { display: grid; place-items: center; min-width: 44px; height: 44px; border: 1px solid var(--rule); border-radius: var(--radius); text-decoration: none; font-family: var(--mono); }
.pager a[aria-current="page"] { border-color: var(--alpenglow); color: var(--alpenglow); }

@media (max-width: 1023px) {
  .filter-toggle { display: inline-flex; }
  .inv-layout { grid-template-columns: 1fr; }
  .filters { position: fixed; inset: 0; z-index: 70; max-height: none; background: var(--obsidian); padding: 20px var(--gutter) 0; transform: translateY(100%); visibility: hidden; transition: transform var(--dur-section) var(--ease-precise), visibility 0s linear var(--dur-section); }
  .filters.is-open { transform: none; visibility: visible; transition: transform var(--dur-section) var(--ease-precise); }
  .filters__close { display: inline-grid; }
  .filters__foot { display: block; position: sticky; bottom: 0; padding: 16px 0 24px; background: linear-gradient(transparent, var(--obsidian) 30%); }
  .inv-count { order: 3; width: 100%; margin: 0; }
}

/* Explore (3D gallery) */
.explore { position: relative; }
.explore__stage { position: relative; height: min(78vh, 820px); min-height: 420px; border-radius: var(--radius-lg); overflow: hidden; background: #07090b; border: 1px solid var(--rule); }
.explore__canvas { width: 100%; height: 100%; touch-action: pan-y; cursor: grab; }
.explore__loading { position: absolute; inset: 0; display: grid; place-content: center; gap: 16px; text-align: center; width: 240px; margin: auto; }
.explore__hud { display: grid; grid-template-columns: 1fr auto; gap: 16px 24px; align-items: start; margin-top: 20px; }
.explore__info { min-height: 72px; }
.explore__info h3 { font-size: var(--fs-h3); font-stretch: 112%; }
.explore__controls { display: flex; align-items: center; gap: 12px; }
.explore__hint { grid-column: 1 / -1; margin: 0; }

.compare-tray { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: rgb(22 27 33 / .94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-top: 1px solid var(--rule); padding: 12px 0; transform: translateY(0); transition: transform var(--dur-section) var(--ease-precise); }
.compare-tray__inner { display: flex; align-items: center; gap: 16px; }
.compare-tray__list { display: flex; gap: 8px; flex: 1; overflow-x: auto; }
.compare-tray__list li { display: flex; align-items: center; gap: 6px; padding: 6px 6px 6px 12px; border: 1px solid var(--rule-strong); border-radius: 99px; font-size: var(--fs-small); white-space: nowrap; }
.compare-tray__list button { border: 0; background: none; color: var(--fg-faint); width: 28px; height: 28px; }

/* ======================================================= VEHICLE DETAIL */
.vdp-hero { position: relative; min-height: 92svh; display: grid; align-items: end; isolation: isolate; overflow: hidden; }
.vdp-hero__media { position: absolute; inset: 0; z-index: -1; background: var(--obsidian-2); }
.vdp-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.vdp-hero__media .vcard__noimg { display: grid; place-content: center; gap: 12px; text-align: center; color: var(--graphite-2); }
.vdp-hero__media .vcard__noimg svg { width: min(60vw, 520px); margin: auto; }
.vdp-hero__shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgb(10 13 16 / .96) 0%, rgb(10 13 16 / .55) 40%, rgb(10 13 16 / .1) 70%, rgb(10 13 16 / .5) 100%); }
.vdp-hero__text { padding-top: calc(var(--header-h) + 48px); padding-bottom: 48px; }
.crumbs { color: var(--fg-muted); margin-bottom: 20px; }
.crumbs a { color: inherit; }
.vdp-hero__flags { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.vdp-year { color: var(--alpenglow); margin: 0 0 8px; }
.vdp-title { font-size: clamp(2.4rem, 1.2rem + 5vw, 6rem); }
.vdp-title span { color: var(--silver); }
.vdp-keys { display: flex; flex-wrap: wrap; gap: 16px 48px; margin: 32px 0; }
.vdp-keys div { display: grid; gap: 6px; }
.vdp-keys dd { margin: 0; font-size: 1.15rem; }
.vdp-price { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem) !important; font-stretch: 112%; font-weight: 600; }
.vdp-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.vdp-skip { display: inline-block; margin-top: 20px; color: var(--fg-faint); }

.gallery__main { position: relative; border-radius: var(--radius-lg); overflow: hidden; background: #000; aspect-ratio: 16 / 9; }
.gallery__view { all: unset; display: block; width: 100%; height: 100%; cursor: zoom-in; }
.gallery__view:focus-visible { outline: 2px solid var(--focus); outline-offset: -4px; }
.gallery__view img { width: 100%; height: 100%; object-fit: contain; transition: opacity var(--dur-ui) linear; }
.gallery__nav { position: absolute; top: 50%; transform: translateY(-50%); }
.gallery__nav--prev { left: 16px; } .gallery__nav--next { right: 16px; }
.gallery__pos { position: absolute; right: 16px; bottom: 14px; background: rgb(16 20 25 / .7); padding: 4px 10px; border-radius: 99px; }
.gallery__thumbs { display: flex; gap: 8px; overflow-x: auto; padding: 16px 0; scroll-snap-type: x proximity; }
.gallery__thumbs button { all: unset; display: block; width: 120px; aspect-ratio: 16 / 10; border-radius: var(--radius); overflow: hidden; cursor: pointer; opacity: .55; transition: opacity var(--dur-feedback); outline-offset: 2px; scroll-snap-align: start; }
.gallery__thumbs button[aria-current="true"], .gallery__thumbs button:hover { opacity: 1; box-shadow: inset 0 -2px 0 var(--alpenglow); }
.gallery__thumbs button:focus-visible { outline: 2px solid var(--focus); }
.gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.lightbox { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: #000; }
.lightbox::backdrop { background: #000; }
.lightbox img { width: 100%; height: 100%; object-fit: contain; }
.lightbox__close { position: absolute; top: 16px; right: 16px; background: rgb(16 20 25 / .7); }
.lightbox__prev, .lightbox__next { position: absolute; top: 50%; transform: translateY(-50%); }
.lightbox__prev { left: 16px; } .lightbox__next { right: 16px; }

.vdp-body { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 64px; padding-block: clamp(56px, 8vw, 112px); }
.vdp-block + .vdp-block { margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--rule); }
.vdp-block > .t-label { display: block; margin-bottom: 20px; }
.highlights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.highlights li:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (max-width: 599px) { .highlights { grid-template-columns: 1fr; } }
.highlights li { padding: 16px; border: 1px solid var(--rule); border-radius: var(--radius); font-weight: 500; }
.spec-table { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
.spec-table > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (max-width: 599px) { .spec-table { grid-template-columns: 1fr; } }
.spec-table div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--rule); }
.spec-table dt { color: var(--fg-muted); font-size: var(--fs-small); }
.spec-table dd { margin: 0; text-align: right; }
.feature-list { columns: 2 220px; column-gap: 32px; }
.feature-list li { padding: 6px 0 6px 20px; position: relative; break-inside: avoid; }
.feature-list li::before { content: ""; position: absolute; left: 0; top: 1.05em; width: 10px; height: 1px; background: var(--accent); }
.prose { max-width: 68ch; }
.vdp-side { position: relative; }
.ask { position: sticky; top: calc(var(--header-h) + 24px); padding: 28px; background: var(--obsidian); color: var(--white); border-radius: var(--radius-lg); --fg: var(--white); --fg-muted: var(--silver); --fg-faint: var(--silver-dim); --rule-strong: rgb(184 192 199 / .32); --accent: var(--alpenglow); --focus: var(--alpenglow); }
.ask h2 { margin-bottom: 8px; }
.ask__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.ask__chips .chip { background: transparent; cursor: pointer; padding: 8px 12px; min-height: 36px; text-align: left; }
.ask__chips .chip:hover, .ask__chips .chip[aria-pressed="true"] { border-color: var(--alpenglow); color: var(--white); }
.ask__answer { font-size: var(--fs-small); line-height: 1.6; }
.ask__answer p { margin: 0 0 10px; }
.ask__answer .src { color: var(--fg-faint); font-size: var(--fs-micro); }
@media (max-width: 1023px) { .vdp-body { grid-template-columns: 1fr; gap: 48px; } .ask { position: static; } }

.inquire { border-top: 1px solid var(--rule); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.form-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.form-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 899px) { .form-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .form-grid--3 { grid-template-columns: 1fr; } }
@media (max-width: 599px) { .form-grid, .form-grid--2, .form-grid--4 { grid-template-columns: 1fr; } }
.form-status:empty { display: none; }
.lead-form { margin-top: 32px; }
.lead-form .t-h2 { margin-bottom: 8px; }
.input-row { display: flex; gap: 8px; }
.input-row .input { flex: 1; }
.form-success { padding: 32px; border: 1px solid var(--accent); border-radius: var(--radius-lg); }
.form-success h3 { margin-bottom: 8px; }

/* ======================================================= SELL */
.sell-intro { position: relative; min-height: 100svh; display: grid; align-items: center; overflow: hidden; isolation: isolate; }
.sell-intro__stage { position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 50% at 70% 60%, #1b2128, #0b0e11 70%); }
.sell-intro__photo { position: absolute; inset: 0; }
.sell-intro__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 75% 50%; }
.sell-intro__stage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(10 13 16 / .88) 0%, rgb(10 13 16 / .55) 45%, transparent 75%), linear-gradient(0deg, rgb(10 13 16 / .8), transparent 40%); }
@media (max-width: 767px) { .sell-intro__stage::after { background: linear-gradient(0deg, rgb(10 13 16 / .95) 30%, rgb(10 13 16 / .4) 100%); } }
.sell-intro__beam { position: absolute; z-index: 1; top: 0; bottom: 0; left: 64%; display: none; width: 1px; background: var(--line-v); box-shadow: var(--line-glow); transform-origin: top; animation: beam 1.8s var(--ease-glide) .2s both; }
@keyframes beam { from { transform: scaleY(0); } }
.sell-intro__content { padding-top: calc(var(--header-h) + 48px); padding-bottom: 64px; display: grid; gap: 28px; justify-items: start; }
.sell-intro .t-display { font-size: clamp(2.2rem, 1rem + 4.6vw, 5.4rem); }
.readout { display: flex; flex-wrap: wrap; gap: 0; border: 1px solid var(--rule); border-radius: var(--radius); }
.readout span { display: grid; gap: 4px; padding: 12px 18px; border-right: 1px solid var(--rule); min-width: 110px; }
.readout span:last-child { border-right: 0; }
.readout em { font-style: normal; font-size: var(--fs-micro); color: var(--fg-faint); letter-spacing: .1em; }
.readout b { font-weight: 500; color: var(--alpenglow); }
.js .sell-intro [data-seq] { animation: seq-in var(--dur-cine) var(--ease-precise) both; }
.js .sell-intro [data-seq="2"] { animation-delay: .25s; } .js .sell-intro [data-seq="3"] { animation-delay: .5s; } .js .sell-intro [data-seq="4"] { animation-delay: .7s; }
@keyframes seq-in { from { opacity: 0; transform: translateY(14px); } }
[data-tier="essential"] .sell-intro [data-seq], [data-tier="essential"] .sell-intro__beam { animation: none; }
@media (max-width: 599px) { .readout span { min-width: 50%; border-bottom: 1px solid var(--rule); } .sell-intro__beam { left: 88%; } }

.sell-flow { padding-block: clamp(56px, 8vw, 120px); scroll-margin-top: var(--header-h); }
.sell-flow__grid { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 64px; align-items: start; }
.sell-steps { position: sticky; top: calc(var(--header-h) + 24px); display: grid; gap: 20px; }
.sell-steps ol { display: grid; gap: 4px; }
.sell-steps li { padding: 8px 0; color: var(--fg-faint); display: flex; gap: 12px; }
.sell-steps li.is-done { color: var(--fg-muted); }
.sell-steps li[aria-current="step"] { color: var(--fg); font-weight: 600; }
.progress-line { height: 2px; background: var(--rule); position: relative; overflow: hidden; }
.progress-line span { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(231 168 106 / .5), var(--alpenglow)); transform-origin: left; transform: scaleX(var(--p, .2)); transition: transform var(--dur-section) var(--ease-precise); }
.data-use { padding: 16px; border: 1px solid var(--rule); border-radius: var(--radius); color: var(--fg-muted); }
.data-use p { margin: 6px 0 0; }
.sell-form { display: grid; gap: 40px; min-width: 0; }
.step { display: grid; gap: 28px; }
.step > legend { margin-bottom: 8px; }
.step-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid var(--rule); }
.step-actions [data-draft-note] { margin-right: auto; }
.step-actions [data-step-back]:not([hidden]) + [data-draft-note] { margin-left: 0; }
.angle-guide { display: flex; flex-wrap: wrap; gap: 8px; }
.angle-guide li { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border: 1px dashed var(--rule-strong); border-radius: 99px; font-size: var(--fs-small); color: var(--fg-muted); }
.angle-guide li.is-done { border-style: solid; border-color: var(--accent); color: var(--fg); }
.angle-guide__check { width: 10px; height: 10px; border-radius: 50%; border: 1px solid currentColor; }
.angle-guide li.is-done .angle-guide__check { background: var(--accent); border-color: var(--accent); }
.dropzone { position: relative; border: 1px dashed var(--rule-strong); border-radius: var(--radius-lg); transition: border-color var(--dur-feedback), background-color var(--dur-feedback); }
.dropzone.is-over { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 6%, transparent); }
.dropzone__label { display: grid; justify-items: center; gap: 8px; padding: 40px 24px; text-align: center; cursor: pointer; }
.dropzone:focus-within { outline: 2px solid var(--focus); outline-offset: 2px; }
.uploads { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.upload { position: relative; display: grid; gap: 8px; padding: 8px; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--bg-raised); }
.upload.is-dragging { opacity: .4; }
.upload__thumb { aspect-ratio: 4 / 3; border-radius: 2px; overflow: hidden; background: var(--obsidian-3); position: relative; }
.upload__thumb img { width: 100%; height: 100%; object-fit: cover; }
.upload__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgb(16 20 25 / .2); }
.upload__bar span { display: block; height: 100%; background: var(--alpenglow); width: 0; transition: width 120ms linear; }
.upload.is-done .upload__bar { display: none; }
.upload.is-error { border-color: var(--danger); }
.upload .select { min-height: 36px; padding: 6px 30px 6px 8px; font-size: var(--fs-small); }
.upload__row { display: flex; gap: 4px; align-items: center; justify-content: space-between; }
.upload__row button { border: 1px solid var(--rule); background: transparent; border-radius: var(--radius); min-width: 32px; height: 32px; font-size: var(--fs-small); }
.upload__err { color: var(--danger); font-size: var(--fs-micro); }
.upload__handle { cursor: grab; color: var(--fg-faint); display: grid; place-items: center; }
.review { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
@media (max-width: 599px) { .review { grid-template-columns: 1fr; } }
.review div { padding: 12px 0; border-bottom: 1px solid var(--rule); display: flex; justify-content: space-between; gap: 12px; }
.review dt { color: var(--fg-muted); font-size: var(--fs-small); }
.review dd { margin: 0; text-align: right; font-weight: 500; }
.review button { background: none; border: 0; color: var(--accent); text-decoration: underline; padding: 0; font-size: var(--fs-small); }
.sell-done { grid-column: 2; display: grid; gap: 24px; }
.next-steps { display: grid; gap: 12px; }
.next-steps li { display: flex; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--rule); }
@media (max-width: 1023px) {
  .sell-flow__grid { grid-template-columns: 1fr; gap: 32px; }
  .sell-steps { position: static; }
  .sell-steps ol { display: flex; gap: 12px; overflow-x: auto; }
  .sell-steps li { white-space: nowrap; }
  .sell-steps .data-use { display: none; }
  .sell-done { grid-column: 1; }
}

/* ======================================================= CONCIERGE */
.concierge__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.concierge__form { gap: 36px; }
.concierge__out { position: sticky; top: calc(var(--header-h) + 24px); min-height: 320px; }
.concierge__placeholder { display: grid; grid-template-columns: 1px 1fr; gap: 24px; min-height: 240px; }
.rec { padding: 28px 0; border-top: 1px solid var(--rule); }
.rec:first-of-type { border-top: 0; }
.rec__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.rec__rank { font-family: var(--mono); color: var(--alpenglow); font-size: var(--fs-small); }
.rec h3 { font-size: var(--fs-h3); font-stretch: 112%; margin: 6px 0 12px; }
.rec ul { margin: 0 0 12px; padding: 0; list-style: none; display: grid; gap: 6px; }
.rec li { padding-left: 20px; position: relative; color: var(--fg-muted); }
.rec li::before { content: ""; position: absolute; left: 0; top: .8em; width: 10px; height: 1px; background: var(--alpenglow); }
.rec__note { font-size: var(--fs-small); color: var(--fg-faint); }
.rec__matches { display: grid; gap: 8px; margin-top: 16px; }
.rec__match { display: grid; grid-template-columns: 80px 1fr auto; gap: 12px; align-items: center; padding: 8px; border: 1px solid var(--rule); border-radius: var(--radius); text-decoration: none; }
.rec__match:hover { border-color: var(--rule-strong); }
.rec__match img, .rec__match .ph { width: 80px; aspect-ratio: 16/10; object-fit: cover; border-radius: 2px; background: var(--obsidian-3); }
.rec__none { font-size: var(--fs-small); color: var(--fg-muted); }
.rec__cta { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--rule); display: grid; gap: 12px; }

@media (max-width: 1023px) { .concierge__grid { grid-template-columns: 1fr; } .concierge__out { position: static; } }

/* ======================================================= COMPARE / GARAGE */
.compare { overflow-x: auto; }
.compare table { width: 100%; border-collapse: collapse; min-width: 640px; }
.compare th, .compare td { text-align: left; padding: 14px 16px; border-bottom: 1px solid var(--rule); vertical-align: top; }
.compare thead th { vertical-align: bottom; }
.compare thead img { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: var(--radius); margin-bottom: 12px; }
.compare tbody th { font-size: var(--fs-small); color: var(--fg-muted); font-weight: 500; width: 180px; position: sticky; left: 0; background: var(--bg); }
.compare td { font-family: var(--mono); font-size: var(--fs-small); }
.compare tr.is-diff td { color: var(--fg); background: rgb(231 168 106 / .05); }
.compare tr:not(.is-diff) td { color: var(--fg-muted); }
.compare .remove { background: none; border: 0; color: var(--fg-faint); font-size: var(--fs-small); text-decoration: underline; padding: 0; }
.garage__bar { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; }
.garage .vcard__select { position: absolute; left: 12px; bottom: 12px; z-index: 2; }

/* ======================================================= HOW / ABOUT / CONTACT */
.how { display: grid; grid-template-columns: 4fr 8fr; gap: 64px; }
.how__title { position: sticky; top: calc(var(--header-h) + 24px); align-self: start; }
.how__steps { display: grid; }
.how__steps li { position: relative; display: grid; gap: 8px; padding: 0 0 48px 48px; }
.how__rail { position: absolute; left: 7px; top: 0; bottom: 0; width: 1px; background: var(--rule-strong); }
.how__rail span { position: absolute; top: 4px; left: -7px; width: 15px; height: 15px; border-radius: 50%; border: 1px solid var(--accent); background: var(--bg); }
.how__steps li:last-child .how__rail { bottom: auto; height: 20px; }
.how > p { grid-column: 2; }
@media (max-width: 1023px) { .how { grid-template-columns: 1fr; gap: 40px; } .how__title { position: static; } .how > p { grid-column: 1; } }
.principles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
@media (max-width: 1023px) { .principles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .principles { grid-template-columns: 1fr; } }
.principle { border-top: 1px solid var(--rule-strong); padding-top: 20px; display: grid; gap: 10px; }
.contact-grid { display: grid; grid-template-columns: 4fr 8fr; gap: 64px; align-items: start; }
.contact-grid .lead-form { margin-top: 0; }
.contact-direct address { font-style: normal; }
@media (max-width: 1023px) { .contact-grid { grid-template-columns: 1fr; } }
.blog-list { display: grid; gap: 32px; max-width: 760px; }
.blog-item { border-top: 1px solid var(--rule); padding-top: 24px; display: grid; gap: 8px; }
.blog-item a { text-decoration: none; }

/* ======================================================= LONG-FORM CONTENT */
.prose h2, .prose .t-h3 { margin: 2em 0 .6em; }
.prose p, .prose li { color: var(--fg-muted); line-height: 1.75; }
.prose a { color: var(--accent); }
.prose img { border-radius: var(--radius-lg); margin-bottom: 32px; }
.table-scroll { overflow-x: auto; margin: 32px 0; border: 1px solid var(--rule); border-radius: var(--radius-lg); }
.compare-table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: var(--fs-small); }
.compare-table th, .compare-table td { text-align: left; vertical-align: top; padding: 14px 18px; border-bottom: 1px solid var(--rule); }
.compare-table thead th { font-size: var(--fs-micro); font-stretch: 125%; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--fg-muted); background: color-mix(in srgb, var(--fg) 4%, transparent); }
.compare-table tbody th { font-weight: 600; color: var(--fg); width: 24%; }
.compare-table td { color: var(--fg-muted); }
.compare-table tr:last-child > * { border-bottom: 0; }
.faq { border-top: 1px solid var(--rule); }
.faq:last-of-type { border-bottom: 1px solid var(--rule); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 20px 0; font-size: 1.1rem; font-stretch: 108%; font-weight: 600; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; flex: none; width: 12px; height: 12px; border-right: 1.5px solid var(--accent); border-bottom: 1.5px solid var(--accent); transform: rotate(45deg) translateY(-3px); transition: transform var(--dur-ui) var(--ease-precise); }
.faq[open] summary::after { transform: rotate(225deg) translateY(-3px); }
.faq > div { padding: 0 0 24px; color: var(--fg-muted); max-width: 70ch; }
.faq summary:focus-visible { outline-offset: 4px; }
.blog-item { grid-template-columns: 320px 1fr; column-gap: 32px; align-items: start; }
.blog-item > img { grid-row: span 3; border-radius: var(--radius-lg); }
@media (max-width: 767px) { .blog-item { grid-template-columns: 1fr; } }
.demo-note { display: inline-flex; gap: 8px; align-items: center; color: var(--alpenglow); font-size: var(--fs-small); }

/* Split: photographic backdrops behind each path */
.split__bg { position: absolute; inset: 0; z-index: -2; opacity: .32; transition: opacity var(--dur-cine) var(--ease-precise), transform 2.4s var(--ease-precise); transform: scale(1.04); }
.split__bg img { width: 100%; height: 100%; object-fit: cover; }
.split__side::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgb(10 13 16 / .95) 15%, rgb(10 13 16 / .55) 60%, rgb(10 13 16 / .8) 100%); }
.split__side:hover .split__bg, .split__side:focus-visible .split__bg { opacity: .6; transform: none; }

/* ======================================================= EDITORIAL LAYOUT (About and long-form) */
.editorial { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--s-6); align-items: start; }
.editorial__head { grid-column: 1 / span 4; position: sticky; top: calc(var(--header-h) + 32px); display: grid; gap: 16px; }
.editorial__body { grid-column: 6 / -1; }
.editorial__body.prose { max-width: none; }
.editorial__body.prose p { font-size: clamp(1.02rem, .95rem + .3vw, 1.18rem); line-height: 1.75; max-width: 66ch; }
@media (max-width: 1023px) {
  .editorial { grid-template-columns: 1fr; gap: 24px; }
  .editorial__head, .editorial__body { grid-column: 1; position: static; }
}
.photo-band { position: relative; margin: 0; height: clamp(280px, 42vw, 560px); overflow: hidden; }
.photo-band img { width: 100%; height: 100%; object-fit: cover; }
.photo-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, var(--obsidian) 0%, transparent 22%, transparent 78%, var(--obsidian) 100%); }
.photo-band figcaption { position: absolute; right: var(--gutter); bottom: 20px; z-index: 1; color: var(--silver); }
.honesty { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 32px; }
.honesty > div { display: grid; gap: 10px; align-content: start; padding-top: 20px; border-top: 1px solid var(--rule-strong); }
.honesty p { color: var(--fg-muted); margin: 0; }
@media (max-width: 599px) { .honesty { grid-template-columns: 1fr; } }
.section-head--center { flex-direction: column; align-items: center; text-align: center; gap: 16px; }
.section-head--center .t-label { margin: 0; }
.section-head--center p { max-width: 56ch; margin: 0; }

/* Contact aside */
.contact-aside { display: grid; gap: 48px; align-content: start; }
.contact-aside .t-label { display: block; margin-bottom: 16px; }
.contact-aside .next-steps li { gap: 16px; padding: 14px 0; color: var(--fg-muted); }
.shortcut-links { display: grid; gap: 14px; }

/* Blog article */
.byline { color: var(--fg-faint); margin-top: 24px; }
.byline a { color: var(--fg-muted); }
.editorial-note { margin-top: 48px; padding: 20px 24px; border-left: 2px solid var(--alpenglow); background: color-mix(in srgb, var(--alpenglow) 6%, transparent); color: var(--fg-muted); }
.editorial-note strong { color: var(--fg); font-weight: 600; }
.post-cta { text-align: center; justify-items: center; display: grid; }
.post-cta p { margin: 0; }

/* ======================================================= PAGE RHYTHM (client review: centered heads, wider long-form) */
.page-head .wrap, .page-head .wrap-narrow { text-align: center; }
.page-head .t-h1 { margin-inline: auto; max-width: 20ch; }
.page-head .t-lead { margin-inline: auto; max-width: 62ch; }
.page-head .crumbs { justify-content: center; }
.page-head .buy-entry, .page-head .buy-entry * { text-align: left; }
.page-head .page-head__actions { justify-content: center; }
/* The first section after a page head doesn't need a second full-height gap */
.page-head + .section, .page-head + section.section { padding-top: clamp(48px, 6vw, 96px); }

/* Long-form measure: ~960px of text on desktop, larger body type to keep lines comfortable */
.wrap-narrow, .wrap-narrow.prose { max-width: calc(960px + 2 * var(--gutter)); }
.prose { max-width: none; }
.wrap-narrow.prose p, .wrap-narrow .prose p, .wrap-narrow.prose li { font-size: clamp(1.02rem, .95rem + .3vw, 1.15rem); line-height: 1.75; }
.faq > div { max-width: none; }

/* ======================================================= PHOTOGRAPHIC PAGE HEROES */
.page-head--photo { min-height: min(78vh, 760px); display: grid; align-content: end; isolation: isolate; overflow: hidden; padding-bottom: clamp(56px, 8vw, 112px); }
.page-head__bg { position: absolute; inset: 0; z-index: -1; will-change: transform; }
.page-head__bg img { width: 100%; height: 100%; object-fit: cover; animation: hero-push 6s var(--ease-precise) both; }
@keyframes hero-push { from { transform: scale(1.08); opacity: .4; } to { transform: scale(1); opacity: 1; } }
.page-head--photo::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: radial-gradient(70% 60% at 50% 70%, rgb(10 13 16 / .62), transparent 75%),
              linear-gradient(0deg, var(--obsidian) 0%, rgb(10 13 16 / .55) 38%, rgb(10 13 16 / .25) 70%, rgb(10 13 16 / .65) 100%); }
.page-head--photo .t-h1 { text-shadow: 0 2px 30px rgb(10 13 16 / .6); }
.page-head--photo .t-lead { color: var(--white); opacity: .88; }
.page-head--photo .t-label { color: var(--alpenglow); }
[data-tier="essential"] .page-head__bg img { animation: none; }
@media (max-width: 767px) { .page-head--photo { min-height: 64svh; } }

/* ======================================================= HOW IT WORKS: process walkthrough */
.process .section-head { margin-bottom: 48px; }
.process__panel { display: grid; grid-template-columns: 6fr 6fr; gap: clamp(32px, 5vw, 80px); align-items: start; }
.process__media { position: sticky; top: calc(var(--header-h) + 32px); margin: 0; aspect-ratio: 4 / 3; border-radius: var(--radius-lg); overflow: hidden; background: var(--obsidian-2); }
.process__img { position: absolute; inset: 0; opacity: 0; transform: scale(1.04); transition: opacity var(--dur-cine) var(--ease-precise), transform 2s var(--ease-precise); }
.process__img.is-active { opacity: 1; transform: none; }
.process__img img { width: 100%; height: 100%; object-fit: cover; }
.process__media::after { content: ""; position: absolute; inset: auto 0 0 0; height: 35%; background: linear-gradient(transparent, rgb(10 13 16 / .75)); }
.process__count { position: absolute; left: 20px; bottom: 22px; z-index: 1; color: var(--white); font-size: var(--fs-small); }
.process__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; z-index: 1; background: rgb(245 244 240 / .15); }
.process__bar span { display: block; height: 100%; background: var(--line); transform-origin: left; transform: scaleX(0); transition: transform var(--dur-section) var(--ease-precise); }
.process__steps { display: grid; gap: 0; }
.process__step { position: relative; display: grid; gap: 8px; padding: 36px 0 36px 32px; border-left: 1px solid var(--rule-strong); cursor: pointer; opacity: .45; transition: opacity var(--dur-section) var(--ease-precise); min-height: 34vh; align-content: center; }
.process__step::before { content: ""; position: absolute; left: -6px; top: calc(50% - 6px); width: 11px; height: 11px; border-radius: 50%; background: var(--bg); border: 1px solid var(--alpenglow); transition: background-color var(--dur-ui); }
.process__step.is-active { opacity: 1; }
.process__step.is-active::before { background: var(--alpenglow); box-shadow: var(--line-glow); }
.process__step p { margin: 0; color: var(--fg-muted); max-width: 52ch; }
.process__thumb { display: none; }
.process__end { padding: 40px 0 0 32px; display: grid; gap: 20px; justify-items: start; }
.process__end p { margin: 0; }
@media (max-width: 899px) {
  .process__panel { grid-template-columns: 1fr; }
  .process__media { display: none; }
  .process__step { opacity: 1; min-height: 0; padding: 24px 0 32px 24px; }
  .process__thumb { display: block; aspect-ratio: 16 / 9; border-radius: var(--radius); overflow: hidden; margin-bottom: 8px; }
  .process__thumb img { width: 100%; height: 100%; object-fit: cover; }
  .process__step::before { top: 32px; }
  .process__end { padding-left: 24px; }
}
[data-tier="essential"] .process__step { opacity: 1; }

/* Ways to sell */
.routes-table .compare-table th[data-col], .routes-table .compare-table td { transition: background-color var(--dur-ui), color var(--dur-ui), opacity var(--dur-ui); }
.compare-table[data-focus="private"] [data-col]:not([data-col="private"]),
.compare-table[data-focus="trade"] [data-col]:not([data-col="trade"]),
.compare-table[data-focus="broker"] [data-col]:not([data-col="broker"]) { opacity: .45; }
.compare-table[data-focus="private"] td[data-col="private"],
.compare-table[data-focus="trade"] td[data-col="trade"],
.compare-table[data-focus="broker"] td[data-col="broker"] { color: var(--fg); background: rgb(231 168 106 / .07); box-shadow: inset 2px 0 0 var(--alpenglow); }
.tabs [aria-pressed="true"] { background: var(--fg); color: var(--bg); }
.tabs button[data-route], .alt-calc__presets button { border: 0; background: transparent; padding: 10px 16px; border-radius: var(--radius); font-size: var(--fs-micro); font-stretch: 125%; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--fg-muted); min-height: 40px; }
.routes-cards { display: none; margin: 0; }
.routes-cta { text-align: center; margin-top: 32px; }
@media (max-width: 767px) {
  .routes-table { display: none; }
  .routes-cards { display: grid; gap: 0; border-top: 1px solid var(--rule); }
  .routes-cards div { padding: 18px 0; border-bottom: 1px solid var(--rule); display: grid; gap: 6px; }
  .routes-cards dt { font-size: var(--fs-micro); font-stretch: 125%; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--alpenglow); }
  .routes-cards dd { margin: 0; color: var(--fg); }
}

/* Colorado cards */
.co-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.co-card { display: grid; grid-template-rows: auto 1fr; border: 1px solid var(--rule); border-radius: var(--radius-lg); overflow: hidden; background: var(--bg-raised); }
.co-card picture { aspect-ratio: 16 / 9; overflow: hidden; display: block; }
.co-card img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-cine) var(--ease-precise); }
.co-card:hover img { transform: scale(1.03); }
.co-card__body { padding: 24px 28px 28px; display: grid; gap: 12px; align-content: start; }
.co-card__body p { margin: 0; color: var(--fg-muted); }
.co-card__body a { color: var(--accent); }
@media (max-width: 899px) { .co-cards { grid-template-columns: 1fr; } }
.alt-calc { display: grid; gap: 14px; padding: 18px; border: 1px solid var(--rule-strong); border-radius: var(--radius); background: rgb(10 13 16 / .35); }
.alt-calc__presets { display: flex; flex-wrap: wrap; gap: 6px; }
.alt-calc__presets button { border: 1px solid var(--rule-strong); padding: 6px 10px; min-height: 34px; letter-spacing: .08em; }
.alt-calc__presets button[aria-pressed="true"] { background: var(--alpenglow); color: var(--obsidian); border-color: var(--alpenglow); }
.alt-calc__row { display: grid; grid-template-columns: 110px 1fr auto; align-items: center; gap: 12px; font-size: var(--fs-small); color: var(--fg-muted); }
.alt-calc__row .input { min-height: 40px; padding: 6px 10px; max-width: 110px; }
.alt-calc input[type=range] { width: 100%; accent-color: var(--alpenglow); }
.alt-calc__result { margin: 0; font-size: 1.05rem; color: var(--fg) !important; }
.alt-calc__result strong { color: var(--alpenglow); }
@media (max-width: 479px) { .alt-calc__row { grid-template-columns: 1fr; } }

/* FAQ search */
.faq-search { width: min(100%, 520px); }
.faq-search .input { text-align: center; }
.faq-empty { padding: 24px 0; text-align: center; }

/* Closing tiles */
.next-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.next-tile { position: relative; display: grid; align-content: end; gap: 8px; min-height: 340px; padding: 28px; border-radius: var(--radius-lg); overflow: hidden; text-decoration: none; isolation: isolate; }
.next-tile picture { position: absolute; inset: 0; z-index: -2; }
.next-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-cine) var(--ease-precise); }
.next-tile::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgb(10 13 16 / .92) 0%, rgb(10 13 16 / .35) 55%, rgb(10 13 16 / .15) 100%); }
.next-tile:hover img { transform: scale(1.05); }
.next-tile .t-label { color: var(--alpenglow); }
.next-tile__text { display: flex; align-items: center; gap: 10px; font-size: 1.25rem; font-stretch: 110%; font-weight: 600; }
.next-tile .arrow { width: 18px; height: 10px; transition: transform var(--dur-ui) var(--ease-precise); }
.next-tile:hover .arrow { transform: translateX(4px); }
@media (max-width: 899px) { .next-tiles { grid-template-columns: 1fr; } .next-tile { min-height: 220px; } }

/* Find: photo choice tiles */
.choice--photo span { position: relative; min-height: 132px; justify-content: flex-end; padding: 14px 16px; color: var(--white); font-weight: 600; overflow: hidden; isolation: isolate; border-color: transparent;
  background: linear-gradient(0deg, rgb(10 13 16 / .9) 0%, rgb(10 13 16 / .25) 70%), var(--img) center / cover no-repeat, var(--obsidian-3); transition: transform var(--dur-ui) var(--ease-precise), box-shadow var(--dur-ui), border-color var(--dur-ui); }
.choice--photo input:hover + span { transform: translateY(-2px); border-color: var(--rule-strong); }
.choice--photo input:checked + span { border-color: var(--alpenglow); box-shadow: inset 0 0 0 1px var(--alpenglow), 0 10px 30px -18px var(--alpenglow); background: linear-gradient(0deg, rgb(10 13 16 / .85) 0%, rgb(231 168 106 / .18) 100%), var(--img) center / cover no-repeat; }
.choice--photo span::after { content: ""; position: absolute; top: 12px; right: 12px; width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid rgb(245 244 240 / .7); background: rgb(10 13 16 / .4); }
.choice--photo input:checked + span::after { background: var(--alpenglow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-8' fill='none' stroke='%23101419' stroke-width='2.5'/%3E%3C/svg%3E") center / 16px no-repeat; border-color: var(--alpenglow); }
@media (max-width: 599px) { .choices.choices--uses:has(> :last-child) { --c: 3; gap: 8px; } .choice--photo span { min-height: 108px; padding: 10px; font-size: .78rem; line-height: 1.25; } .choice--photo span::after { width: 18px; height: 18px; top: 8px; right: 8px; } }

/* "On this page" bar */
.toc { position: sticky; top: calc(var(--header-h) + 8px); z-index: 5; display: flex; align-items: center; gap: 16px; margin: 0 0 40px; padding: 10px 14px; border: 1px solid var(--rule); border-radius: var(--radius-lg); background: rgb(26 32 39 / .92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.toc .t-label { flex: none; margin: 0; }
.toc ol { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; margin: 0; padding: 0; list-style: none; }
.toc a { display: block; padding: 6px 12px; border-radius: 99px; white-space: nowrap; text-decoration: none; font-size: var(--fs-small); color: var(--fg-muted) !important; }
.toc a:hover { color: var(--fg) !important; }
.toc a[aria-current] { background: var(--alpenglow); color: var(--obsidian) !important; }
.prose h2 { scroll-margin-top: calc(var(--header-h) + 80px); }
@media (max-width: 599px) { .toc .t-label { display: none; } }

/* ======================================================= VEHICLE REVIEWS */
.review-hero__note { position: absolute; right: var(--gutter); bottom: 14px; margin: 0; color: var(--silver); opacity: .8; }
.review-hero .t-lead { max-width: 70ch; }
.review-body .toc { margin: 24px auto 0; max-width: var(--maxw); width: calc(100% - 2 * var(--gutter)); }
.review-verdict { padding-top: clamp(40px, 5vw, 72px); }
.verdict { display: grid; grid-template-columns: 1fr 1fr 320px; gap: clamp(24px, 4vw, 56px); align-items: start; }
.verdict__col .t-label, .proscons .t-label, .gen__watch .t-label { display: block; margin-bottom: 16px; }
.verdict__actions { display: grid; gap: 12px; justify-items: stretch; padding: 24px; border: 1px solid var(--rule-strong); border-radius: var(--radius-lg); background: var(--obsidian-2); }
.verdict__actions .link-arrow { justify-self: center; margin-top: 4px; }
@media (max-width: 1023px) { .verdict { grid-template-columns: 1fr 1fr; } .verdict__actions { grid-column: 1 / -1; } }
@media (max-width: 599px) { .verdict { grid-template-columns: 1fr; } }
.ticks { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ticks li { position: relative; padding-left: 28px; color: var(--fg-muted); line-height: 1.5; }
.ticks li::before { content: ""; position: absolute; left: 0; top: .2em; width: 16px; height: 16px; border-radius: 50%; background: rgb(143 196 162 / .15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-8' fill='none' stroke='%238fc4a2' stroke-width='3'/%3E%3C/svg%3E") center / 11px no-repeat; }
.ticks--warn li::before { background: rgb(231 168 106 / .15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6v8M12 18v.5' fill='none' stroke='%23e7a86a' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center / 11px no-repeat; }
.ticks a { color: var(--accent); }

/* Colorado fit meters */
.fit { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; max-width: 1100px; }
.fit li { border-bottom: 1px solid var(--rule); }
.fit__item { all: unset; box-sizing: border-box; width: 100%; display: grid; grid-template-columns: 1fr auto auto; gap: 16px; align-items: center; padding: 18px 4px; cursor: pointer; }
.fit__item:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.fit__use { font-weight: 600; font-stretch: 108%; }
.fit__meter { display: grid; grid-template-columns: repeat(5, 28px); gap: 4px; }
.fit__meter span { height: 6px; border-radius: 3px; background: var(--rule-strong); transform-origin: left; }
.fit__meter span.on { background: var(--line); background: linear-gradient(90deg, var(--alpenglow), var(--alpenglow-hi)); transform: scaleX(0); transition: transform var(--dur-section) var(--ease-precise); }
.fit.is-in .fit__meter span.on { transform: scaleX(1); }
.fit.is-in li .fit__meter span.on:nth-child(2) { transition-delay: 80ms; } .fit.is-in li .fit__meter span.on:nth-child(3) { transition-delay: 160ms; }
.fit.is-in li .fit__meter span.on:nth-child(4) { transition-delay: 240ms; } .fit.is-in li .fit__meter span.on:nth-child(5) { transition-delay: 320ms; }
[data-tier="essential"] .fit__meter span.on { transform: none; transition: none; }
.fit__score { color: var(--alpenglow); min-width: 3ch; text-align: right; }
.fit__item[aria-expanded="true"] .fit__use { color: var(--alpenglow); }
.fit__why { margin: 0 4px 18px; color: var(--fg-muted); font-size: var(--fs-small); line-height: 1.6; }
@media (max-width: 767px) { .fit { grid-template-columns: 1fr; } .fit__meter { grid-template-columns: repeat(5, 18px); } }

/* Generations */
.gen-tabs { margin-top: 8px; }
.gen { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 64px); max-width: 1100px; margin: 0 auto; align-items: start; }
.gen__intro { display: grid; gap: 12px; }
.gen__intro p { color: var(--fg-muted); margin: 0; font-size: 1.05rem; line-height: 1.7; }
.gen__intro a { color: var(--accent); }
.gen__watch { padding: 24px; border: 1px solid var(--rule-strong); border-radius: var(--radius-lg); background: var(--obsidian-2); }
@media (max-width: 899px) { .gen { grid-template-columns: 1fr; } }

/* Pros / cons, availability, method */
.proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 1100px; margin: 0 auto; }
.proscons > div { padding: 28px; border: 1px solid var(--rule); border-radius: var(--radius-lg); background: var(--bg-raised); }
@media (max-width: 767px) { .proscons { grid-template-columns: 1fr; } }
.avail-empty { text-align: center; display: grid; justify-items: center; gap: 8px; }
.avail-empty .empty__actions { justify-content: center; }
.results__grid--1 { grid-template-columns: minmax(0, 420px); justify-content: center; }
.results__grid--2 { grid-template-columns: repeat(2, minmax(0, 420px)); justify-content: center; }
.results__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.results__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1023px) { .results__grid--3, .results__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .results__grid--1, .results__grid--2, .results__grid--3, .results__grid--4 { grid-template-columns: 1fr; } }
.method { padding: 32px; border: 1px solid var(--rule-strong); border-radius: var(--radius-lg); display: grid; gap: 14px; }
.method p { margin: 0; color: var(--fg-muted); }
.method a { color: var(--accent); }
.sources { margin: 0; padding-left: 20px; display: grid; gap: 6px; font-size: var(--fs-small); }
.sources a { color: var(--fg-muted); }

/* Review tiles (hub + related) */
.review-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.review-tiles--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.review-tiles--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1023px) { .review-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } .review-tiles--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 599px) { .review-tiles, .review-tiles--3, .review-tiles--2 { grid-template-columns: 1fr; } }
.review-tile { position: relative; display: grid; align-content: end; gap: 6px; min-height: 300px; padding: 22px; border-radius: var(--radius-lg); overflow: hidden; text-decoration: none; isolation: isolate; border: 1px solid var(--rule); }
.review-tile.is-wide { grid-column: span 2; }
.review-tile picture { position: absolute; inset: 0; z-index: -2; }
.review-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-cine) var(--ease-precise); }
.review-tile::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgb(10 13 16 / .95) 0%, rgb(10 13 16 / .55) 45%, rgb(10 13 16 / .05) 80%); }
.review-tile:hover img { transform: scale(1.05); }
.review-tile .t-label { color: var(--alpenglow); }
.review-tile__name { font-size: 1.3rem; font-stretch: 112%; font-weight: 600; }
.review-tile__sum { color: var(--silver); font-size: var(--fs-small); line-height: 1.5; }
.hub-bar { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-bottom: 40px; }
.hub-bar .tabs button { display: inline-flex; gap: 8px; align-items: center; border: 0; background: transparent; padding: 10px 16px; border-radius: var(--radius); font-size: var(--fs-micro); font-stretch: 125%; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--fg-muted); min-height: 40px; }
.hub-search .input { min-height: 46px; width: min(320px, 80vw); }
.hub-empty { text-align: center; padding: 32px 0; }
.vdp-review { display: flex; margin-top: 12px; }
.rec__reviews { margin: 8px 0 0; color: var(--fg-muted); }
.rec__reviews a { color: var(--accent); }

/* SEO-led headings that keep the visual hierarchy */
.arrival__eyebrow { font-size: var(--fs-micro); font-weight: 600; line-height: 1.4; }
.vdp-h1 { display: grid; gap: 8px; margin: 0; font-weight: inherit; }
.vdp-h1 .vdp-year { margin: 0; }
.vdp-h1 .vdp-trim { display: block; margin-top: 4px; font-weight: 400; }
.sell-intro h1.t-label { margin: 0; }

/* Partners */
.partners { display: grid; gap: 24px; }
.partner { display: grid; grid-template-columns: 5fr 7fr; border: 1px solid var(--rule); border-radius: var(--radius-lg); overflow: hidden; background: var(--bg-raised); }
.partner__logo { display: grid; place-items: center; padding: clamp(32px, 5vw, 64px); background: var(--white); transition: background-color var(--dur-ui); }
.partner__logo:hover { background: #fff; }
.partner__logo img { width: min(100%, 360px); height: auto; transition: transform var(--dur-section) var(--ease-precise); }
.partner__logo:hover img { transform: scale(1.03); }
.partner__body { padding: clamp(28px, 4vw, 48px); display: grid; gap: 14px; align-content: center; justify-items: start; }
.partner__body p { margin: 0; color: var(--fg-muted); max-width: 62ch; }
.partner__body .t-label { color: var(--alpenglow); }
.partner__loc { margin-top: -6px !important; }
.partner__services { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 8px; padding: 0; list-style: none; }
.partner__services li { padding: 5px 12px; border: 1px solid var(--rule-strong); border-radius: 99px; font-size: var(--fs-small); color: var(--fg-muted); }
@media (max-width: 899px) { .partner { grid-template-columns: 1fr; } .partner__logo { padding: 32px; } }

/* Review spec cards: label above, value left-aligned, long values split into lines */
.spec-cards { margin: 0 auto; max-width: 1100px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.spec-card { padding: 22px 24px; border: 1px solid var(--rule); border-radius: var(--radius-lg); background: var(--bg-raised); display: grid; gap: 10px; align-content: start; }
.spec-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.spec-card dt { font-size: var(--fs-micro); font-stretch: 125%; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--alpenglow); }
.spec-card dd { margin: 0; color: var(--fg); line-height: 1.55; }
.spec-card ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.spec-card li { position: relative; padding-left: 16px; }
.spec-card li::before { content: ""; position: absolute; left: 0; top: .72em; width: 6px; height: 1px; background: var(--alpenglow); }
@media (max-width: 767px) { .spec-cards { grid-template-columns: 1fr; } }
