:root {
  --ink: #1b1e23;
  --charcoal: #202329;
  --paper: #f4f3f1;
  --white: #fff;
  --line: #d7d5d0;
  --muted: #77746f;
  --accent: #6ea8ff;
  --success: #1d642a;
  --danger: #a5222c;
  --display: "Anton", Impact, sans-serif;
  --condensed: "Barlow Condensed", Arial, sans-serif;
  --body: "Inter", Arial, sans-serif;
  --dots: "Doto", monospace;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --mobile-announcement-height: 28px;
  --mobile-header-height: 62px;
}

* { box-sizing: border-box; }
html { width: 100%; min-width: 0; max-width: 100%; overflow-x: clip; overscroll-behavior-x: none; scroll-behavior: smooth; background: var(--white); }
body { width: 100%; min-width: 0; max-width: 100%; margin: 0; overflow-x: clip; overscroll-behavior-x: none; background: var(--white); color: var(--ink); font-family: var(--body); letter-spacing: 0; }
body.is-locked { overflow: hidden; }
button, input, select, textarea { color: inherit; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { border: 0; cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
[hidden] { display: none !important; }
.visually-hidden, .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.skip-link { position: fixed; z-index: 2000; top: .5rem; left: .5rem; transform: translateY(-150%); padding: .75rem 1rem; background: var(--white); color: var(--ink); font-weight: 700; }
.skip-link:focus { transform: none; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.fresh-site { min-height: 100vh; overflow: visible; background: var(--white); }
.fresh-mobile-only { display: none !important; }

.site-intro { display:none; }
.site-intro-ready .site-intro {
  position:fixed;
  z-index:3000;
  inset:0;
  display:grid;
  width:100vw;
  height:100vh;
  min-height:100svh;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
  background:var(--charcoal);
  color:var(--white);
  pointer-events:auto;
  touch-action:none;
  overscroll-behavior:none;
  animation:site-intro-shell 2.45s cubic-bezier(.22,.7,.24,1) both;
}
@supports (height:100dvh) {
  .site-intro-ready .site-intro { width:100dvw; height:100dvh; }
}
.site-intro__media,.site-intro__media img,.site-intro__grade,.site-intro__shutters { position:absolute; inset:0; width:100%; height:100%; }
.site-intro__media img {
  object-fit:cover;
  object-position:center;
  transform-origin:center;
  animation:site-intro-camera 2.45s cubic-bezier(.16,.72,.24,1) both;
}
.site-intro__grade { z-index:1; background:linear-gradient(180deg,rgba(27,30,35,.22),rgba(27,30,35,.08) 42%,rgba(27,30,35,.52)); animation:site-intro-grade 2.45s ease both; }
.site-intro__shutters { z-index:2; display:grid; grid-template-columns:1fr 1fr; }
.site-intro__shutters i { display:block; background:var(--charcoal); }
.site-intro__shutters i:first-child { transform-origin:left; animation:site-intro-shutter-left 2.45s cubic-bezier(.72,0,.2,1) both; }
.site-intro__shutters i:last-child { transform-origin:right; animation:site-intro-shutter-right 2.45s cubic-bezier(.72,0,.2,1) both; }
.site-intro__brand {
  position:absolute;
  z-index:3;
  inset:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);
  display:grid;
  place-content:center;
  justify-items:center;
  gap:.85rem;
  color:#fff;
  text-shadow:0 3px 28px rgba(27,30,35,.72);
  animation:site-intro-brand 2.45s cubic-bezier(.22,.7,.24,1) both;
}
.site-intro__brand span { font:400 clamp(2.25rem,6vw,5rem)/1 "Russo One",Arial Black,sans-serif; letter-spacing:0; }
.site-intro__brand i { display:block; width:clamp(58px,9vw,110px); height:2px; background:#fff; transform-origin:left; animation:site-intro-line 2.45s cubic-bezier(.22,.7,.24,1) both; }
@keyframes site-intro-shell { 0%,78% { opacity:1;visibility:visible; } 100% { opacity:0;visibility:hidden;pointer-events:none; } }
@keyframes site-intro-camera { 0% { transform:scale(1.18) translate3d(0,1.5%,0); } 100% { transform:scale(1.035) translate3d(0,0,0); } }
@keyframes site-intro-grade { 0%,14% { opacity:.95; } 42%,100% { opacity:1; } }
@keyframes site-intro-shutter-left { 0%,8% { transform:translateX(0); } 39%,100% { transform:translateX(-102%); } }
@keyframes site-intro-shutter-right { 0%,8% { transform:translateX(0); } 39%,100% { transform:translateX(102%); } }
@keyframes site-intro-brand { 0%,12% { opacity:0;transform:scale(.9); } 25%,72% { opacity:1;transform:scale(1); } 100% { opacity:0;transform:scale(1.06); } }
@keyframes site-intro-line { 0%,20% { opacity:0;transform:scaleX(0); } 38%,72% { opacity:1;transform:scaleX(1); } 92%,100% { opacity:0;transform:scaleX(1); } }
@media (max-width:719px) {
  .site-intro__media img { object-position:50% 54%; }
}

.fresh-announcement { position: relative; z-index: 210; height: 32px; overflow: hidden; background: var(--ink); color: var(--white); }
.fresh-announcement__track { display: flex; align-items: center; width: max-content; height: 100%; animation: ticker 28s linear infinite; }
.fresh-announcement__track span { display: inline-flex; align-items: center; gap: 3rem; padding-right: 3rem; white-space: nowrap; font: 700 12px/1 var(--condensed); }
.fresh-announcement__track b { color: var(--accent); font-size: 15px; }
.fresh-announcement--test { background: #fbd927; color: var(--ink); }
.fresh-announcement--test .fresh-announcement__track { animation-duration: 22s; }
.fresh-announcement--test .fresh-announcement__track b { color: var(--ink); }
@keyframes ticker { to { transform: translateX(-33.333%); } }

.fresh-header { position: absolute; z-index: 200; top: 32px; right: 0; left: 0; color: var(--white); background: linear-gradient(180deg, rgba(27,30,35,.56), transparent); transition: color .25s ease, background .25s ease, box-shadow .25s ease; }
.fresh-header.is-scrolled, .fresh-header--solid { color: var(--ink); background: rgba(255,255,255,.97); box-shadow: 0 1px 0 rgba(27,30,35,.12); }
.fresh-header.is-scrolled { position: fixed; top: 0; animation: header-in .28s ease both; }
@keyframes header-in { from { transform: translateY(-100%); } }
.fresh-header__primary { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: 68px; margin: 0 24px; border-bottom: 1px solid rgba(255,255,255,.55); }
.fresh-header.is-scrolled .fresh-header__primary, .fresh-header--solid .fresh-header__primary { border-bottom-color: var(--line); }
.fresh-header__left { justify-self: start; }
.fresh-search-trigger { display: inline-flex; align-items: center; gap: .65rem; width: 220px; height: 38px; padding: 0 12px; border-radius: 24px; background: rgba(245,245,242,.94); color: #686762; font: 500 13px/1 var(--body); text-align: left; }
.luma-pill { display: inline-flex; align-items: center; justify-content: center; justify-self: center; min-width: 0; min-height: 44px; color: inherit; font: 400 25px/1 "Russo One", Arial Black, sans-serif; text-align: center; text-transform: uppercase; }
.luma-pill span { display: block; white-space: nowrap; }
.luma-pill--compact { font-size: 21px; }
.fresh-header__actions { display: flex; align-items: center; justify-self: end; gap: .6rem; }
.fresh-currency { margin-right: .45rem; font: 700 12px/1 var(--condensed); }
.fresh-icon-button { position: relative; display: inline-grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid transparent; border-radius: 50%; background: transparent; color: inherit; transition: background .18s ease, border-color .18s ease; }
.fresh-icon-button:hover, .fresh-icon-button:focus-visible { border-color: currentColor; background: rgba(255,255,255,.12); outline: none; }
.fresh-header__nav { display: flex; align-items: center; justify-content: center; height: 57px; gap: 2rem; }
.fresh-header__nav a { display: inline-flex; align-items: center; height: 100%; font: 600 14px/1 var(--body); }
.fresh-header__nav a:hover, .fresh-header__nav a:focus-visible { color: var(--accent); outline: none; }
.fresh-nav-accent { color: var(--accent) !important; }

.fresh-mobile-menu { position: fixed; z-index: 600; inset: 0; display: flex; flex-direction: column; overflow: auto; background: var(--paper); color: var(--ink); animation: menu-in .24s ease both; }
@keyframes menu-in { from { transform: translateX(-100%); } }
.fresh-mobile-menu__top { display: flex; align-items: center; justify-content: space-between; min-height: 76px; padding: .7rem 1rem; border-bottom: 1px solid var(--line); }
.fresh-mobile-menu nav { display: flex; flex: 1; flex-direction: column; padding: 1rem; }
.fresh-mobile-menu nav a { display: flex; align-items: center; justify-content: space-between; min-height: 58px; border-bottom: 1px solid var(--line); font: 400 27px/1 var(--display); }
.fresh-mobile-menu nav svg { width: 19px; }
.fresh-mobile-menu__accent { color: var(--accent) !important; }
.fresh-mobile-menu__footer { padding: 1.2rem 1rem max(2rem, env(safe-area-inset-bottom)); border-top: 1px solid var(--line); }
.fresh-mobile-menu__footer span { display: flex; align-items: center; gap: .4rem; font: 700 11px/1 var(--condensed); }
.fresh-mobile-menu__footer svg { width: 16px; }

.fresh-search-layer { position: fixed; z-index: 700; inset: 0; overflow: auto; background: rgba(248,247,244,.99); color: var(--ink); animation: search-in .25s ease both; }
@keyframes search-in { from { opacity: 0; transform: translateY(-2rem); } }
.fresh-search-layer__top { display: flex; align-items: center; justify-content: space-between; height: 84px; padding: 0 3rem; border-bottom: 1px solid var(--line); }
.fresh-search-layer__input { display: flex; align-items: center; gap: 1.2rem; max-width: 1000px; margin: 4rem auto 2rem; padding: 0 1.5rem 1.2rem; border-bottom: 2px solid var(--ink); }
.fresh-search-layer__input > svg { width: 2rem; height: 2rem; }
.fresh-search-layer__input input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: 400 42px/1 var(--display); }
.fresh-search-layer__input button { min-height: 44px; padding: 0 1rem; background: var(--ink); color: var(--white); font: 700 12px/1 var(--body); }
.fresh-search-layer__suggestions { display: flex; flex-wrap: wrap; gap: .7rem; max-width: 1000px; margin: 0 auto; padding: 0 1.5rem; }
.fresh-search-layer__suggestions span { width: 100%; margin-bottom: .4rem; color: var(--muted); font: 700 10px/1 var(--body); }
.fresh-search-layer__suggestions a { padding: .7rem 1rem; border: 1px solid var(--line); font: 700 12px/1 var(--condensed); }

.fresh-button { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 48px; overflow: hidden; padding: .8rem 1.5rem; border: 1px solid currentColor; border-radius: 0; font: 700 14px/1 var(--condensed); transition: color .2s ease, background .2s ease, transform .2s ease; }
.fresh-button::after { content: ""; position: absolute; top: -150%; left: -50%; width: 35%; height: 400%; transform: rotate(24deg); background: rgba(255,255,255,.45); transition: left .55s ease; }
.fresh-button:hover::after { left: 125%; }
.fresh-button:hover { transform: translateY(-1px); }
.fresh-button svg { width: 15px; }
.fresh-button--light { border-color: var(--white); background: var(--white); color: var(--ink); }
.fresh-button--dark { border-color: var(--ink); background: var(--ink); color: var(--white); }
.fresh-button--glass { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.1); color: var(--white); box-shadow: inset 0 1px 0 rgba(255,255,255,.4); backdrop-filter: blur(8px); }
.fresh-button:disabled { cursor: not-allowed; opacity: .45; transform: none; }

.fresh-hero { position: relative; height: min(762px,79vh); min-height: 620px; background: var(--charcoal); color: var(--white); }
.fresh-hero__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 1s ease, visibility 1s ease; }
.fresh-hero__slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; }
.fresh-hero picture, .fresh-hero picture img { width: 100%; height: 100%; }
.fresh-hero picture img { object-fit: cover; }
.fresh-hero__slide.is-active img { animation: hero-zoom 6.2s cubic-bezier(.2,.55,.2,1) both; }
@keyframes hero-zoom { from { transform: scale(1.045); } to { transform: scale(1); } }
.fresh-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(27,30,35,.55),transparent 48%),linear-gradient(0deg,rgba(27,30,35,.58),transparent 52%); }
.fresh-hero__copy { position: absolute; z-index: 2; bottom: 36px; left: 24px; width: min(620px,60vw); animation: copy-in .7s .12s ease both; }
@keyframes copy-in { from { opacity: 0; transform: translateY(16px); } }
.fresh-hero__copy h1, .fresh-hero__copy h2 { max-width: 620px; margin: 0 0 1.25rem; font: 500 34px/1.05 var(--body); }
.fresh-hero__copy > div { display: flex; gap: .7rem; }
.fresh-hero__arrow { position: absolute; z-index: 4; top: 58%; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; background: rgba(27,30,35,.18); color: var(--white); backdrop-filter: blur(8px); }
.fresh-hero__arrow--left { left: 1.8rem; }
.fresh-hero__arrow--right { right: 1.8rem; }
.fresh-hero__dots { --dot-compress:4px; position: absolute; z-index: 4; right: 3rem; bottom: 2rem; display: flex; gap: .5rem; }
.fresh-hero__dots button { position: relative; width: 24px; height: 24px; padding: 0; background: transparent; }
.fresh-hero__dots button::before { position: absolute; top: 50%; left: 50%; width: 9px; height: 9px; background: rgba(255,255,255,.58); content: ""; transform: translate(-50%,-50%); }
.fresh-hero__dots button:first-child::before { left:calc(50% + var(--dot-compress)); }
.fresh-hero__dots button:last-child::before { left:calc(50% - var(--dot-compress)); }
.fresh-hero__dots button.is-active::before { background: var(--white); }

.fresh-brand-marquee { --brand-gap: 40px; overflow: hidden; padding: 32px 0; border-bottom: 1px solid var(--line); background: var(--white); }
.fresh-brand-marquee__viewport { overflow: hidden; margin-top: 24px; }
.fresh-brand-marquee__viewport:first-child { margin-top: 0; }
.fresh-brand-marquee__track { display: flex; width: max-content; gap: var(--brand-gap); animation: brand-forward 32s linear infinite; will-change: transform; }
.fresh-brand-marquee__viewport--reverse .fresh-brand-marquee__track { animation-name: brand-reverse; }
.fresh-brand-marquee:hover .fresh-brand-marquee__track { animation-play-state: paused; }
.fresh-brand-marquee__tile { display: grid; place-items: center; flex: 0 0 164px; height: 56px; padding: 4px 12px; border: 1px solid #ededed; background: #f6f6f6; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.fresh-brand-marquee__tile img { display: block; width: auto; max-width: 100px; height: auto; max-height: 40px; object-fit: contain; }
.fresh-brand-marquee__tile--wide img { max-width: 124px; max-height: 25px; }
.fresh-brand-marquee__tile:hover, .fresh-brand-marquee__tile:focus-visible { border-color: var(--ink); background: #ededed; outline: 2px solid var(--ink); outline-offset: 2px; transform: translateY(-1px); }
@keyframes brand-forward { to { transform: translateX(calc(-50% - (var(--brand-gap)/2))); } }
@keyframes brand-reverse { from { transform: translateX(calc(-50% - (var(--brand-gap)/2))); } to { transform: translateX(0); } }

.fresh-product-section { padding: 24px 24px 48px; background: var(--white); }
.fresh-product-section--second { border-top: 1px solid var(--line); }
.fresh-section-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 22px; }
.fresh-section-title h2 { margin: 0; font: 400 36px/1.05 var(--body); }
.fresh-section-title > a { display: flex; align-items: center; justify-content: center; gap: .4rem; min-width: 124px; min-height: 48px; padding: .65rem 1rem; border: 1px solid var(--line); font: 700 12px/1 var(--body); }
.fresh-section-title svg { width: 15px; }
.fresh-rail { position: relative; }
.fresh-rail__track { display: flex; gap: 15px; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.fresh-rail__track::-webkit-scrollbar { display: none; }
.fresh-rail__track > .fresh-vehicle-card { flex: 0 0 calc((100% - 60px)/5); scroll-snap-align: start; }
.fresh-rail__arrow { position: absolute; z-index: 5; top: 39%; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--ink); border-radius: 50%; background: rgba(255,255,255,.94); color: var(--ink); }
.fresh-rail__arrow--left { left: -1.5rem; }
.fresh-rail__arrow--right { right: -1.5rem; }
.fresh-rail__arrow:disabled { opacity: 0; pointer-events: none; }
.fresh-vehicle-card { display: block; min-width: 0; color: inherit; }
.fresh-vehicle-card__media { position: relative; display: block; aspect-ratio: 4/3; overflow: hidden; background: #efefed; }
.fresh-vehicle-card__media picture, .fresh-vehicle-card__media img { width: 100%; height: 100%; }
.fresh-vehicle-card__media img { object-fit: cover; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.fresh-vehicle-card__media:hover img { transform: scale(1.035); }
.fresh-vehicle-card__view { position: absolute; right: .65rem; bottom: .65rem; left: .65rem; display: grid; place-items: center; min-height: 42px; transform: translateY(calc(100% + .8rem)); background: rgba(27,30,35,.94); color: var(--white); font: 700 12px/1 var(--condensed); transition: transform .24s ease; }
.fresh-vehicle-card__media:hover .fresh-vehicle-card__view { transform: none; }
.fresh-vehicle-card__body { display: block; padding: .7rem 0 .3rem; }
.fresh-vehicle-card__body > span:not(.fresh-vehicle-card__price) { color: var(--muted); font: 500 10px/1 var(--body); text-decoration: underline; text-transform: uppercase; }
.fresh-vehicle-card__body h3 { margin: .45rem 0 0; font: 500 15px/1.2 var(--body); }
.fresh-vehicle-card__body p { min-height: 2.6em; margin: .35rem 0 0; color: var(--muted); font-size: 11px; line-height: 1.3; }
.fresh-vehicle-card__price { display: flex; align-items: baseline; gap: .35rem; margin-top: .45rem; }
.fresh-vehicle-card__body strong { font: 700 17px/1 var(--condensed); }
.fresh-vehicle-card__body small { color: var(--muted); font: 600 9px/1 var(--body); }

.fresh-shop-categories { padding: 24px 24px 52px; background: var(--white); }
.fresh-shop-categories__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.fresh-shop-categories__grid a { position: relative; min-width: 0; aspect-ratio: 1; overflow: hidden; background: #ddd; color: var(--white); }
.fresh-shop-categories__grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.65,.25,1); }
.fresh-shop-categories__grid a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(145deg,rgba(27,30,35,.42),transparent 48%,rgba(27,30,35,.12)); }
.fresh-shop-categories__grid span { position: absolute; z-index: 1; top: 20px; left: 22px; font: 500 28px/1 var(--body); text-shadow: 0 1px 8px rgba(27,30,35,.35); }
.fresh-shop-categories__grid a:hover img { transform: scale(1.04); }
.fresh-shop-categories__all { display: grid; place-items: center; width: 100%; height: 58px; margin-top: 16px; border: 1px solid var(--line); font: 700 14px/1 var(--body); transition: background .2s,color .2s; }
.fresh-shop-categories__all:hover { background: var(--ink); color: var(--white); }

.fresh-booking-band { display: grid; grid-template-columns: minmax(220px,.65fr) minmax(0,2.35fr); gap: 2rem; padding: 38px 4vw; border-block: 1px solid var(--line); background: var(--paper); }
.fresh-booking-band h2 { margin: 0; font: 400 34px/1 var(--body); }
.fresh-booking-band p { margin: .6rem 0 0; color: var(--muted); font-size: 12px; }
.fresh-booking-band form { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)) 1.15fr; gap: .65rem; }
.fresh-booking-band label { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: .7rem .8rem; border: 1px solid var(--line); background: var(--white); color: var(--muted); font: 700 9px/1 var(--body); }
.fresh-booking-band label button, .fresh-booking-band label select { width: 100%; min-height: 30px; margin-top: .3rem; padding: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font: 700 13px/1 var(--condensed); text-align: left; }
.fresh-booking-band .fresh-booking-band__message { grid-column:1/-1; margin:0; color:#9d3232; font:700 10px/1.3 var(--dots); }
.fresh-store-services { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid var(--line); background: var(--white); }
.fresh-store-services > div { display: grid; grid-template-columns: 26px 1fr; gap: .25rem .8rem; align-items: center; padding: 28px 4vw; border-right: 1px solid var(--line); }
.fresh-store-services > div:last-child { border-right: 0; }
.fresh-store-services svg { grid-row: 1/3; width: 22px; height: 22px; }
.fresh-store-services strong { font: 700 12px/1 var(--body); }
.fresh-store-services span { color: var(--muted); font-size: 11px; }

.fresh-scroll-campaign { --progress: 0; --reveal-one: 100%; --reveal-two: 100%; --copy-zero: 1; --copy-one: 0; --copy-two: 0; position: relative; height: 300vh; min-height: 1800px; background: var(--ink); color: var(--white); }
.fresh-scroll-campaign__stage { position: sticky; top: 0; height: 100vh; min-height: 640px; overflow: hidden; isolation: isolate; }
.fresh-scroll-campaign__backgrounds, .fresh-scroll-campaign__background, .fresh-scroll-campaign__background img, .fresh-scroll-campaign__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.fresh-scroll-campaign__background { clip-path: inset(0); }
.fresh-scroll-campaign__background img { object-fit: cover; transform: scale(calc(1.035 - var(--progress)*.035)); }
.fresh-scroll-campaign__background--1 { clip-path: inset(var(--reveal-one) 0 0); }
.fresh-scroll-campaign__background--2 { clip-path: inset(var(--reveal-two) 0 0); }
.fresh-scroll-campaign__shade { z-index: 3; background: linear-gradient(90deg,rgba(27,30,35,.8),rgba(27,30,35,.18) 47%,rgba(27,30,35,.4)),linear-gradient(0deg,rgba(27,30,35,.34),transparent 45%); pointer-events: none; }
.fresh-scroll-campaign__copy { position: absolute; z-index: 5; inset: 0 auto 0 0; width: min(43rem,49vw); }
.fresh-scroll-campaign__copy-item { position: absolute; top: 50%; left: 4vw; width: min(34rem,90%); transform: translateY(-50%); opacity: 0; pointer-events: none; transition: opacity .16s linear; }
.fresh-scroll-campaign__copy-item.is-active { pointer-events: auto; }
.fresh-scroll-campaign__copy-item--0 { opacity: var(--copy-zero); }
.fresh-scroll-campaign__copy-item--1 { opacity: var(--copy-one); }
.fresh-scroll-campaign__copy-item--2 { opacity: var(--copy-two); }
.fresh-scroll-campaign__copy-item h2 { max-width: 10ch; margin: 0; font: 500 clamp(3rem,5vw,5.6rem)/.9 var(--body); }
.fresh-scroll-campaign__copy-item p { margin: 1.2rem 0 1.4rem; color: rgba(255,255,255,.78); font-size: 12px; }
.fresh-scroll-campaign__button { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.8rem; min-height: 46px; padding: 0 1rem; border: 1px solid rgba(255,255,255,.7); background: rgba(255,255,255,.06); font: 600 12px/1 var(--body); backdrop-filter: blur(8px); }
.fresh-scroll-campaign__button svg { width: 15px; }
.fresh-scroll-campaign__preview { position: absolute; z-index: 6; top: 50%; right: clamp(3rem,8vw,10rem); width: min(31vw,420px); aspect-ratio: .72; transform: translateY(-50%); overflow: hidden; background: #dad8d4; box-shadow: 0 30px 90px rgba(27,30,35,.38); }
.fresh-scroll-campaign__panel { position: absolute; inset: 0; background: #ddd; clip-path: inset(0); }
.fresh-scroll-campaign__panel--1 { clip-path: inset(var(--reveal-one) 0 0); }
.fresh-scroll-campaign__panel--2 { clip-path: inset(var(--reveal-two) 0 0); }
.fresh-scroll-campaign__panel img { width: 100%; height: 100%; object-fit: cover; }
.fresh-scroll-campaign__counter { position: absolute; z-index: 7; right: 2rem; bottom: 2rem; display: flex; align-items: center; gap: .6rem; font: 700 9px/1 var(--body); }
.fresh-scroll-campaign__counter i { display: block; width: 54px; height: 2px; overflow: hidden; background: rgba(255,255,255,.35); }
.fresh-scroll-campaign__counter i::after { content: ""; display: block; width: 100%; height: 100%; background: var(--white); transform: translateX(calc((var(--progress) - 1)*100%)); }

.journey-page { background: var(--white); }
.journey-hero { position: relative; display: flex; min-height: min(78vh,760px); align-items: flex-end; overflow: hidden; padding: 170px 4vw 64px; color: var(--white); isolation: isolate; }
.journey-hero > picture, .journey-hero > picture img, .journey-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.journey-hero > picture { z-index: -2; }
.journey-hero > picture img { object-fit: cover; object-position: center 48%; }
.journey-hero__shade { z-index: -1; background: linear-gradient(90deg,rgba(27,30,35,.78),rgba(27,30,35,.08) 62%),linear-gradient(0deg,rgba(27,30,35,.45),transparent 55%); }
.journey-breadcrumbs { position: absolute; top: 148px; left: 4vw; display: flex; gap: .65rem; align-items: center; color: rgba(255,255,255,.74); font: 700 9px/1 var(--dots); }
.journey-breadcrumbs a { color: var(--white); }
.journey-hero__copy { width: min(620px,92vw); }
.journey-hero__copy > span { display: block; margin-bottom: 1rem; font: 700 11px/1 var(--dots); }
.journey-hero__copy h1 { max-width: 12ch; margin: 0; font: 400 clamp(48px,6vw,86px)/.92 var(--display); }
.journey-hero__copy p { max-width: 470px; margin: 1.4rem 0 0; color: rgba(255,255,255,.84); font-size: 14px; line-height: 1.55; }
.journey-list { width: min(1180px,calc(100% - 8vw)); margin: 76px auto 96px; border-top: 1px solid var(--line); }
.journey-card { display: grid; height: clamp(520px,45vw,620px); grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); border-bottom: 1px solid var(--line); }
.journey-card:nth-child(even) figure { order: 2; }
.journey-card figure { min-height: 100%; margin: 0; overflow: hidden; background: var(--paper); }
.journey-card figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.journey-card:hover figure img { transform: scale(1.025); }
.journey-card__content { display: flex; flex-direction: column; justify-content: center; padding: clamp(36px,5vw,76px); }
.journey-card__content header { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 2.2rem; color: var(--muted); font: 700 10px/1 var(--dots); }
.journey-card__content header strong { color: var(--ink); font: inherit; }
.journey-card__content h2 { max-width: 13ch; margin: 0; font: 400 clamp(34px,3.3vw,54px)/.96 var(--display); }
.journey-card__content > p { max-width: 510px; margin: 1.4rem 0 2rem; color: var(--muted); font-size: 14px; line-height: 1.65; }
.journey-card__content dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0 0 2rem; border: 1px solid var(--line); }
.journey-card__content dl div { min-width: 0; padding: 1rem; border-right: 1px solid var(--line); }
.journey-card__content dl div:last-child { border-right: 0; }
.journey-card__content dt { margin-bottom: .5rem; color: var(--muted); font: 700 8px/1 var(--dots); }
.journey-card__content dd { overflow-wrap: anywhere; margin: 0; font: 700 10px/1.2 var(--dots); }
.journey-card__link { display: inline-flex; width: fit-content; min-height: 48px; align-items: center; justify-content: space-between; gap: 2rem; padding: 0 1.1rem; background: var(--ink); color: var(--white); font: 700 11px/1 var(--dots); }
.journey-card__link svg, .journey-cta .fresh-button svg { width: 16px; height: 16px; }
.journey-cta { display: flex; min-height: 430px; flex-direction: column; align-items: center; justify-content: center; padding: 64px 20px; background: var(--ink); color: var(--white); text-align: center; }
.journey-cta > span { margin-bottom: 1.1rem; color: rgba(255,255,255,.7); font: 700 10px/1 var(--dots); }
.journey-cta h2 { margin: 0 0 2rem; font: 400 clamp(38px,4.8vw,64px)/.96 var(--display); }
.journey-cta .fresh-button { display: inline-flex; gap: 1.5rem; }

.fresh-footer { border-top: 1px solid var(--line); background: var(--paper); font-family: var(--dots); }
.fresh-footer__top { display: grid; grid-template-columns: 1.5fr repeat(3,1fr); gap: 3rem; padding: 3.5rem 4vw; }
.fresh-footer__top > div { display: flex; align-items: flex-start; flex-direction: column; gap: .8rem; }
.fresh-footer__top strong { font: 700 11px/1 var(--dots); }
.fresh-footer__top a, .fresh-footer__top p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.fresh-footer__top a:not(.luma-pill), .fresh-footer__top p { font-family: var(--dots); font-weight: 700; }
.fresh-footer__brand .luma-pill { justify-self: start; margin-bottom: .4rem; color: var(--ink); }
.fresh-footer__brand p { max-width: 300px; }
.fresh-footer__payments { display: flex; flex-wrap: wrap; gap: .45rem; padding: 0 4vw 1.5rem; }
.fresh-footer__payments img { display: block; width: auto; height: 20px; object-fit: contain; }
.fresh-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 4vw; border-top: 1px solid var(--line); color: var(--muted); font: 700 9px/1 var(--dots); }
.fresh-footer__bottom > div { display: flex; gap: 1.2rem; }
.sticky-mobile-cta { display: none; }

.calendar-dialog { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 1rem; }
.calendar-dialog__backdrop { position: absolute; inset: 0; width: 100%; background: rgba(27,30,35,.72); }
.calendar-dialog__panel { position: relative; width: min(420px,100%); padding: 1rem; background: var(--white); box-shadow: 0 25px 80px rgba(27,30,35,.28); }
.calendar-dialog__panel header { display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; }
.calendar-dialog__panel header button { display: grid; place-items: center; width: 44px; height: 44px; background: transparent; }
.calendar-dialog__panel h2 { margin: 0; font: 700 20px/1 var(--dots); text-align: center; }
.calendar-dialog__week, .calendar-dialog__days { display: grid; grid-template-columns: repeat(7,1fr); }
.calendar-dialog__week span { padding: .8rem 0 .4rem; color: var(--muted); font: 700 9px/1 var(--body); text-align: center; }
.calendar-dialog__days button, .calendar-dialog__days span { display: grid; place-items: center; aspect-ratio: 1; min-width: 0; background: transparent; font: 700 12px/1 var(--dots); }
.calendar-dialog__days button:hover, .calendar-dialog__days button:focus-visible, .calendar-dialog__days button.is-selected { background: var(--ink); color: var(--white); }
.calendar-dialog__days button.is-today { box-shadow: inset 0 0 0 1px var(--accent); }
.calendar-dialog__days button.is-in-range { background: #e7e5df; color: var(--ink); }
.calendar-dialog__days button.is-unavailable { color: #8d8a84; text-decoration: line-through; cursor: not-allowed; }
.calendar-dialog__days button.is-unavailable:hover { background: transparent; color: #8d8a84; }
.calendar-dialog__days button.is-unavailable:focus-visible { background: #f1efea; color: var(--ink); }
.calendar-dialog__done { width: 100%; min-height: 44px; margin-top: .8rem; background: var(--ink); color: var(--white); font: 700 12px/1 var(--body); }
.time-dialog { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 1rem; }
.time-dialog__backdrop { position: absolute; inset: 0; width: 100%; background: rgba(27,30,35,.72); }
.time-dialog__panel { position: relative; width: min(420px,100%); padding: 1rem; background: var(--white); box-shadow: 0 25px 80px rgba(27,30,35,.28); }
.time-dialog__panel header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .25rem 0 .85rem; border-bottom: 1px solid var(--line); }
.time-dialog__panel header span { color: var(--muted); font: 700 9px/1 var(--dots); }
.time-dialog__panel h2 { margin: .35rem 0 0; font: 700 20px/1 var(--dots); }
.time-dialog__panel header button { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; background: transparent; }
.time-dialog__panel header svg { width: 18px; height: 18px; }
.time-dialog__labels, .time-dialog__picker { display: grid; grid-template-columns: minmax(0,1fr) 26px minmax(0,1fr); align-items: center; }
.time-dialog__labels { padding: 1rem 0 .45rem; color: var(--muted); font: 700 9px/1 var(--dots); text-align: center; }
.time-dialog__picker > strong { font: 700 28px/1 var(--dots); text-align: center; }
.time-dialog__options { height: 264px; overflow-y: auto; border: 1px solid var(--line); overscroll-behavior: contain; scrollbar-width: thin; scroll-snap-type: y proximity; }
.time-dialog__options button { display: grid; width: 100%; min-height: 44px; place-items: center; scroll-snap-align: center; background: transparent; color: var(--muted); font: 700 17px/1 var(--dots); }
.time-dialog__options button:hover, .time-dialog__options button:focus-visible { background: #f0f0ee; color: var(--ink); }
.time-dialog__options button.is-selected { background: var(--ink); color: var(--white); }
.time-dialog__done { width: 100%; min-height: 48px; margin-top: 1rem; background: var(--ink); color: var(--white); font: 700 12px/1 var(--dots); }
.dob-dialog { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 1rem; }
.dob-dialog__backdrop { position: absolute; inset: 0; width: 100%; background: rgba(27,30,35,.72); }
.dob-dialog__panel { position: relative; width: min(480px,100%); padding: 1rem; background: var(--white); box-shadow: 0 25px 80px rgba(27,30,35,.28); }
.dob-dialog__panel header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .25rem 0 .85rem; border-bottom: 1px solid var(--line); }
.dob-dialog__panel header span { color: var(--muted); font: 700 9px/1 var(--dots); }
.dob-dialog__panel h2 { margin: .35rem 0 0; font: 700 20px/1 var(--dots); }
.dob-dialog__panel header button { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; background: transparent; }
.dob-dialog__panel header svg { width: 18px; height: 18px; }
.dob-dialog__labels, .dob-dialog__picker { display: grid; grid-template-columns: .8fr 1.1fr 1fr; gap: .55rem; }
.dob-dialog__labels { padding: 1rem 0 .45rem; color: var(--muted); font: 700 9px/1 var(--dots); text-align: center; }
.dob-dialog__options { height: 264px; overflow-y: auto; border: 1px solid var(--line); overscroll-behavior: contain; scrollbar-width: thin; scroll-snap-type: y proximity; }
.dob-dialog__options button { display: grid; width: 100%; min-height: 44px; place-items: center; scroll-snap-align: center; background: transparent; color: var(--muted); font: 700 14px/1 var(--dots); }
.dob-dialog__options button:hover, .dob-dialog__options button:focus-visible { background: #f0f0ee; color: var(--ink); }
.dob-dialog__options button.is-selected { background: var(--ink); color: var(--white); }
.dob-dialog__message { min-height: 18px; margin: .65rem 0 0; color: var(--danger); font: 700 10px/1.4 var(--dots); }
.dob-dialog__done { width: 100%; min-height: 48px; margin-top: .35rem; background: var(--ink); color: var(--white); font: 700 12px/1 var(--dots); }

.fresh-listing-hero { position: relative; display: grid; min-height: 520px; place-items: end start; overflow: hidden; padding: 190px 6vw 4rem; color: var(--white); isolation: isolate; }
.fresh-listing-hero picture { position: absolute; z-index: -2; inset: 0; }
.fresh-listing-hero picture::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(27,30,35,.86),rgba(27,30,35,.5) 43%,rgba(27,30,35,.08) 72%),linear-gradient(0deg,rgba(27,30,35,.55),transparent 55%); }
.fresh-listing-hero picture img { width: 100%; height: 100%; object-fit: cover; }
.fresh-listing-hero > div { animation: copy-in .35s ease both; }
.fresh-listing-hero h1 { margin: 0; font: 400 76px/.95 var(--display); }
.fresh-listing-hero h1.is-long { max-width: 12ch; font-size: 62px; }
.fresh-listing-hero p { margin: 1rem 0 0; font: 700 12px/1 var(--body); }
.fresh-listing__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.2rem 4vw; border-bottom: 1px solid var(--line); background: var(--white); }
.fresh-filter-chips { display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; }
.fresh-filter-chips::-webkit-scrollbar { display: none; }
.fresh-filter-chips a { display: grid; place-items: center; flex: 0 0 auto; min-height: 38px; padding: 0 .9rem; border: 1px solid var(--line); font: 700 12px/1 var(--condensed); }
.fresh-filter-chips a.is-active { border-color: var(--ink); background: var(--ink); color: var(--white); }
.fresh-listing__controls { display: flex; align-items: center; gap: .7rem; }
.fresh-listing__controls label { display: flex; align-items: center; gap: .45rem; height: 40px; padding: 0 .7rem; border: 1px solid var(--line); color: var(--muted); font: 700 10px/1 var(--body); }
.fresh-listing__controls input, .fresh-listing__controls select { max-width: 150px; border: 0; outline: 0; background: transparent; color: var(--ink); font: 700 12px/1 var(--condensed); }
.fresh-listing__controls svg { width: 15px; }
.fresh-budget-control { display: grid !important; grid-template-columns: auto minmax(80px,1fr) auto; min-width: 250px; }
.fresh-budget-control span { white-space: nowrap; }
.fresh-budget-control input { width: 100%; max-width: none; height: 24px; padding: 0; accent-color: var(--ink); cursor: pointer; }
.fresh-budget-control output { min-width: 38px; color: var(--ink); font: 700 12px/1 var(--condensed); text-align: right; }
.fresh-product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 2rem 1rem; padding: 2rem 4vw 6rem; }
.fresh-product-grid > div { min-width: 0; }
.fresh-listing__more { display: flex; justify-content: center; margin-top: -3.5rem; padding: 0 1rem 4.5rem; }
.fresh-listing__more button { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-width: 210px; min-height: 50px; border: 1px solid var(--ink); background: transparent; font: 700 12px/1 var(--body); }
.fresh-empty-state { padding: 7rem 2rem; text-align: center; }
.fresh-empty-state h2 { margin: 0 0 1rem; font: 400 40px/1 var(--display); }
.fresh-empty-state p { color: var(--muted); }

.fresh-solid-page .fresh-announcement { background: var(--ink); }
.fresh-breadcrumb { display: flex; gap: .5rem; padding: 190px 4vw 1.2rem; overflow: hidden; border-bottom: 1px solid var(--line); background: var(--white); color: var(--muted); font: 700 10px/1 var(--body); text-transform: uppercase; white-space: nowrap; }
.fresh-breadcrumb b { overflow: hidden; color: var(--ink); text-overflow: ellipsis; }
.fresh-vehicle-detail { display: grid; grid-template-columns: minmax(0,.9fr) minmax(460px,1.1fr); align-items: start; background: var(--white); }
.fresh-vehicle-detail__media { position: sticky; top: 0; display: grid; grid-template-rows: minmax(0,1fr) auto; height: min(760px,calc(100vh - 80px)); min-height: 620px; overflow: hidden; background: var(--paper); }
.fresh-vehicle-gallery__stage { position: relative; display: grid; width: 100%; min-height: 0; place-items: center; overflow: hidden; }
.fresh-vehicle-gallery__stage picture, .fresh-vehicle-gallery__stage img { width: 100%; height: 100%; }
.fresh-vehicle-gallery__stage picture { grid-area: 1/1; }
.fresh-vehicle-gallery__stage img { display: block; object-fit: contain; }
.fresh-vehicle-gallery__stage > span { position: absolute; z-index: 2; top: 1.2rem; left: 1.2rem; padding: .6rem .7rem; background: var(--ink); color: var(--white); font: 700 11px/1 var(--body); }
.fresh-vehicle-gallery__arrow { position: absolute; z-index: 3; top: 50%; display: grid; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(27,30,35,.22); border-radius: 50%; background: rgba(255,255,255,.88); color: var(--ink); place-items: center; transform: translateY(-50%); }
.fresh-vehicle-gallery__arrow:hover { border-color: var(--ink); background: var(--white); }
.fresh-vehicle-gallery__arrow svg { width: 18px; height: 18px; }
.fresh-vehicle-gallery__arrow--prev { left: 1rem; }
.fresh-vehicle-gallery__arrow--next { right: 1rem; }
.fresh-vehicle-gallery__count { position: absolute; z-index: 2; right: 1rem; bottom: 1rem; min-width: 52px; padding: .55rem .65rem; background: rgba(255,255,255,.9); color: var(--ink); font: 700 10px/1 var(--body); text-align: center; }
.fresh-vehicle-gallery__thumbs { display: flex; min-width: 0; gap: .45rem; padding: .55rem; overflow-x: auto; border-top: 1px solid var(--line); background: var(--white); scrollbar-width: thin; }
.fresh-vehicle-gallery__thumbs button { flex: 0 0 72px; width: 72px; height: 54px; padding: 2px; overflow: hidden; border: 1px solid transparent; background: var(--paper); }
.fresh-vehicle-gallery__thumbs button[aria-current="true"] { border-color: var(--ink); }
.fresh-vehicle-gallery__thumbs img { display: block; width: 100%; height: 100%; object-fit: contain; }
.fresh-vehicle-detail__info { padding: 4rem 5vw; border-left: 1px solid var(--line); }
.fresh-vehicle-detail__category { color: var(--accent); font: 700 11px/1 var(--body); text-transform: uppercase; }
.fresh-vehicle-detail__info h1 { margin: 1rem 0 .35rem; font: 400 48px/1 var(--display); text-transform: uppercase; }
.fresh-vehicle-detail__derivative { margin: 0 0 1rem; color: var(--muted); font-size: 13px; }
.fresh-vehicle-detail__price { display: flex; align-items: baseline; gap: .45rem; font: 700 26px/1 var(--condensed); }
.fresh-vehicle-detail__price span { color: var(--muted); font-size: 12px; }
.fresh-vehicle-detail__description { margin: 1.5rem 0 2rem; color: #585653; font-size: 14px; line-height: 1.7; }
.fresh-vehicle-detail__section-title { margin: 0 0 .65rem; color: var(--ink); font: 700 10px/1 var(--body); letter-spacing: 0; }
.fresh-vehicle-detail__section-title--features { margin-top: 1.2rem; }
.fresh-vehicle-specs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin: 0; padding: 1px; background: var(--line); }
.fresh-vehicle-specs > div { display: flex; min-width: 0; min-height: 78px; flex-direction: column; justify-content: center; gap: .45rem; padding: .8rem; background: var(--white); }
.fresh-vehicle-specs dt, .fresh-vehicle-operations dt { color: var(--muted); font: 700 8px/1 var(--body); }
.fresh-vehicle-specs dd, .fresh-vehicle-operations dd { margin: 0; font: 700 13px/1.25 var(--condensed); overflow-wrap: anywhere; }
.fresh-vehicle-operations { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.75fr) minmax(0,1.25fr); gap: 1px; margin: 1px 0 0; padding: 1px; background: var(--line); }
.fresh-vehicle-operations > div { display: flex; min-width: 0; min-height: 66px; flex-direction: column; justify-content: center; gap: .4rem; padding: .7rem .8rem; background: var(--paper); }
.fresh-vehicle-detail__features { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin: 0; padding: 1px; background: var(--line); list-style: none; }
.fresh-vehicle-detail__features li { display: flex; min-width: 0; min-height: 46px; align-items: center; gap: .55rem; padding: .65rem .75rem; background: var(--white); font-size: 11px; line-height: 1.3; }
.fresh-vehicle-detail__features svg { width: 14px; min-width: 14px; color: var(--success); }
.fresh-vehicle-detail__booking { display: grid; grid-template-columns: 150px 1fr; gap: .7rem; margin-top: 1.5rem; }
.fresh-vehicle-detail__booking > div { display: flex; flex-direction: column; justify-content: center; gap: .45rem; padding: .7rem; border: 1px solid var(--line); }
.fresh-vehicle-detail__booking span { color: var(--muted); font: 700 8px/1 var(--body); }
.fresh-vehicle-detail__booking strong { font: 700 18px/1 var(--condensed); }
.fresh-vehicle-detail__accordions { margin-top: 2rem; border-top: 1px solid var(--line); }
.fresh-vehicle-detail__accordions details { border-bottom: 1px solid var(--line); }
.fresh-vehicle-detail__accordions summary { display: flex; align-items: center; justify-content: space-between; padding: 1.1rem 0; cursor: pointer; list-style: none; font: 700 12px/1 var(--body); }
.fresh-vehicle-detail__accordions summary::-webkit-details-marker { display: none; }
.fresh-vehicle-detail__accordions summary svg { width: 15px; }
.fresh-vehicle-detail__accordions p { margin: 0 0 1rem; color: var(--muted); font-size: 12px; line-height: 1.6; }

/* Shared content and forms */
.page-main, .form-page { min-height: 70vh; padding: 180px 4vw 5rem; background: var(--white); }
.breadcrumbs { display: flex; gap: .5rem; margin-bottom: 2rem; color: var(--muted); font: 700 10px/1 var(--body); text-transform: uppercase; }
.page-intro { max-width: 850px; margin-bottom: 2.5rem; }
.page-intro h1, .form-page h1 { margin: .5rem 0 1rem; font: 400 clamp(44px,6vw,78px)/.95 var(--display); }
.page-intro > p, .form-page section > p { max-width: 650px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.eyebrow { color: var(--accent); font: 700 11px/1 var(--dots); }
.policy-centre { width: min(1440px,100%); margin: 0 auto; padding-bottom: 100px; }
.policy-centre__intro { max-width: 760px; margin-bottom: 70px; }
.policy-centre__intro h1 { max-width: 11ch; font-size: 56px; line-height: .98; }
.policy-group { margin-bottom: 56px; }
.policy-group__heading { display: grid; grid-template-columns: 44px minmax(0,1fr); align-items: end; gap: 16px; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--ink); }
.policy-group__heading span, .policy-links__number, .legal-note > span { font-family: var(--dots); font-weight: 700; }
.policy-group__heading span { color: #74777c; font-size: 9px; }
.policy-group__heading h2 { margin: 0; font: 600 24px/1.15 var(--body); }
.policy-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; padding: 1px; background: var(--line); }
.policy-links a { display: grid; min-width: 0; min-height: 112px; grid-template-columns: 34px minmax(0,1fr) 24px; align-items: center; gap: 14px; padding: 20px; background: var(--white); transition: background-color .18s ease, color .18s ease; }
.policy-links a:hover { background: #f4f4f3; }
.policy-links a:focus-visible { position: relative; z-index: 1; outline: 2px solid var(--ink); outline-offset: -2px; }
.policy-links__number { color: #8a8d92; font-size: 9px; }
.policy-links a > span:nth-child(2) { display: grid; min-width: 0; gap: 7px; }
.policy-links strong { font: 600 17px/1.2 var(--body); }
.policy-links small { color: #696c72; font-size: 11px; line-height: 1.5; }
.policy-links svg { width: 18px; height: 18px; stroke-width: 1.4; }
.legal-note { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 24px; margin-top: 76px; padding: 28px; background: var(--ink); color: var(--white); }
.legal-note > span { color: #fbd927; font-size: 9px; }
.legal-note strong { font: 600 18px/1.2 var(--body); }
.legal-note p { max-width: 760px; margin: 8px 0 0; color: #c9cbd0; font-size: 12px; line-height: 1.65; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 48px; padding: .8rem 1.2rem; border: 1px solid var(--ink); background: var(--ink); color: var(--white); font: 700 13px/1 var(--condensed); }
.button--quiet { background: transparent; color: var(--ink); }
.button--full { width: 100%; }
.panel-form, .glass-panel { padding: 1.4rem; border: 1px solid var(--line); background: var(--paper); }
.panel-form { display: grid; gap: 1rem; }
.panel-form label { display: grid; gap: .45rem; color: var(--muted); font: 700 10px/1 var(--body); }
.panel-form input, .panel-form select, .panel-form textarea { width: 100%; min-height: 46px; padding: .7rem; border: 1px solid var(--line); border-radius: 0; background: var(--white); }
.panel-form .dob-trigger { width: 100%; min-height: 46px; padding: .7rem; border: 1px solid var(--line); background: var(--white); color: var(--ink); font: 700 12px/1 var(--dots); text-align: left; }
.panel-form .dob-trigger:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.calendar-trigger { min-height: 44px; }
.checkout-page { width: 100%; min-width: 0; max-width: 100%; overflow-x: hidden; }
.checkout-page .compact-intro { max-width: 760px; margin-bottom: 2rem; }
.checkout-page .compact-intro h1 { font-size: clamp(44px,5vw,68px); }
.checkout__form { width: min(100%,980px); min-width: 0; max-width: 100%; border: 1px solid var(--line); background: var(--white); }
.checkout-vehicle { display: grid; grid-template-columns: 180px minmax(0,1fr) auto; align-items: center; gap: 1.25rem; min-height: 132px; padding: 1rem; border-bottom: 1px solid var(--line); }
.checkout-vehicle img { width: 180px; height: 100px; object-fit: contain; background: #f1f1f1; }
.checkout-vehicle > div { display: grid; gap: .35rem; min-width: 0; }
.checkout-vehicle p { margin: 0; color: var(--accent); font: 700 10px/1 var(--body); text-transform: uppercase; }
.checkout-vehicle h2 { margin: 0; font: 400 28px/1 var(--display); text-transform: uppercase; }
.checkout-vehicle span { color: var(--muted); font-size: 12px; line-height: 1.4; }
.checkout-vehicle > a { min-height: 44px; padding: 0 1rem; border: 1px solid var(--line); font: 700 10px/44px var(--body); text-transform: uppercase; }
.checkout__form > form { display: grid; min-width: 0; max-width: 100%; gap: 1.25rem; padding: 1.5rem; }
.date-fields { display: grid; min-width: 0; max-width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.date-fields > div { display: grid; align-content: start; gap: .5rem; min-width: 0; }
.date-fields label { color: var(--muted); font: 700 9px/1.2 var(--body); text-transform: uppercase; }
.date-fields input, .date-fields select, .date-fields .calendar-trigger, .date-fields .time-trigger { width: 100%; min-width: 0; max-width: 100%; min-height: 52px; padding: 0 .85rem; border: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--ink); font: 700 12px/1 var(--dots); text-align: left; }
.date-fields input:focus-visible, .date-fields select:focus-visible, .date-fields .calendar-trigger:focus-visible, .date-fields .time-trigger:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.date-fields .calendar-trigger:disabled { color: #8b8b88; background: #f4f4f2; cursor: not-allowed; }
.field-help { color: var(--muted); font-size: 10px; line-height: 1.4; }
.quote-panel { display: grid; min-width: 0; max-width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid var(--line); }
.quote-panel > div { display: flex; min-width: 0; min-height: 72px; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.quote-panel > div:nth-child(even) { border-right: 0; }
.quote-panel span { min-width: 0; overflow-wrap: anywhere; color: var(--muted); font-size: 10px; line-height: 1.35; }
.quote-panel strong { min-width: 0; overflow-wrap: anywhere; font: 700 15px/1.1 var(--condensed); text-align: right; }
.quote-panel .quote-panel__total { grid-column: 1/-1; min-height: 82px; border: 0; background: var(--ink); color: var(--white); }
.quote-panel__total span { color: #c8c9cb; font-weight: 700; }
.quote-panel__total strong { font-size: 24px; }
.booking-policy-links { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding-top: .15rem; }
.booking-policy-links a { min-height: 32px; color: var(--ink); font: 700 10px/32px var(--body); text-decoration: underline; text-underline-offset: 3px; }
.terms-check { display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: start; gap: .75rem; min-height: 44px; color: #565754; font-size: 11px; line-height: 1.55; cursor: pointer; }
.terms-check input { width: 22px; height: 22px; margin: 0; accent-color: var(--ink); }
.form-note { margin: -.25rem 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.stripe-payment { padding: 1.25rem 1.5rem; border-top: 1px solid var(--line); }
.stripe-payment > p { margin: 0 0 1rem; color: var(--muted); font: 700 9px/1 var(--body); }
.payment-pay-button { min-height:58px; font:700 13px/1 var(--dots); }
.test-payment-notice { margin: 1.25rem 1.5rem; padding: 1rem; border: 1px solid #dfc532; background: #fff9d9; }
.test-payment-notice strong, .test-payment-notice p { font-family: var(--dots); }
.test-payment-notice strong { font-size: 11px; }
.test-payment-notice p { margin: .6rem 0 0; color: #555037; font-size: 11px; line-height: 1.55; }
.checkout__form > .quote-panel, .checkout__form > .button, .checkout__form > .form-message { margin-right: 1.5rem; margin-left: 1.5rem; }
.checkout__form > .quote-panel { margin-top: 1.5rem; }
.checkout__form > .form-message { margin-bottom: 1.5rem; }
.success { padding: .8rem; background: #e5f1e7; color: var(--success); }
.form-message { color: var(--danger); font-size: 12px; }
.empty-state { padding: 5rem 1rem; text-align: center; }
.empty-state strong { display: block; margin-bottom: 1rem; font: 400 32px/1 var(--display); }

/* Dotted type is reserved for compact operational data and short metadata. */
.fresh-vehicle-card__body > span:not(.fresh-vehicle-card__price),
.fresh-vehicle-card__body small,
.fresh-booking-band label,
.fresh-store-services strong,
.fresh-scroll-campaign__copy-item p,
.fresh-scroll-campaign__button,
.fresh-scroll-campaign__counter,
.fresh-listing-hero p,
.fresh-listing__controls label,
.fresh-budget-control output,
.fresh-vehicle-gallery__stage > span,
.fresh-vehicle-gallery__count,
.fresh-vehicle-detail__category,
.fresh-vehicle-detail__price span,
.fresh-vehicle-detail__section-title,
.fresh-vehicle-specs dt,
.fresh-vehicle-operations dt,
.fresh-vehicle-detail__booking span {
  font-family: var(--dots);
  font-weight: 700;
}

@media (max-width:1120px) {
  .fresh-header__nav { gap: 1.4rem; }
  .fresh-rail__track > .fresh-vehicle-card { flex-basis: calc((100% - 45px)/4); }
  .fresh-booking-band { grid-template-columns: 1fr; }
}

@media (max-width:760px), (max-width:960px) and (max-height:500px) {
  .fresh-desktop-only { display: none !important; }
  .fresh-mobile-only { display: inline-grid !important; }
  .fresh-announcement { height: calc(var(--mobile-announcement-height) + var(--safe-top)); padding-top: var(--safe-top); padding-right: var(--safe-right); padding-left: var(--safe-left); }
  .fresh-announcement::before, .fresh-announcement::after { position:absolute; z-index:2; top:0; bottom:0; width:var(--safe-left); background:inherit; content:""; pointer-events:none; }
  .fresh-announcement::before { left:0; }
  .fresh-announcement::after { right:0; width:var(--safe-right); }
  .fresh-announcement__track { height: var(--mobile-announcement-height); }
  .fresh-announcement__track span { gap: 2rem; padding-right: 2rem; font-size: 10px; }
  .fresh-header { top: calc(var(--mobile-announcement-height) + var(--safe-top)); background: linear-gradient(180deg,rgba(27,30,35,.62),transparent); }
  .fresh-header.is-scrolled { top: 0; padding-top: var(--safe-top); background: rgba(255,255,255,.97); }
  .fresh-header__primary { height: var(--mobile-header-height); margin: 0; padding: 0 max(.8rem,var(--safe-right)) 0 max(.8rem,var(--safe-left)); border-bottom-color: rgba(255,255,255,.3); }
  .luma-pill { min-width: 0; height: auto; font-size: 21px; line-height: 1; }
  .fresh-header__actions { gap: 0; }
  .fresh-account-trigger { display: none; }
  .fresh-icon-button { width: 44px; height: 44px; }
  .fresh-icon-button svg { width: 20px; height: 20px; }
  .fresh-mobile-menu-toggle { border-radius: 0; }
  .fresh-mobile-menu-toggle svg { width: 23px; height: 23px; }
  .fresh-mobile-menu { min-height: 100dvh; padding-top: var(--safe-top); padding-right: var(--safe-right); padding-left: var(--safe-left); }
  .fresh-search-layer { min-height: 100dvh; padding-top: var(--safe-top); padding-right: var(--safe-right); padding-left: var(--safe-left); }
  .fresh-search-layer__top { height: 72px; padding: 0 1rem; }
  .fresh-search-layer__input { margin: 2.2rem 1rem 1rem; padding-inline: 0; }
  .fresh-search-layer__input input { font-size: 27px; }
  .fresh-search-layer__suggestions { padding: 1rem; }

  .fresh-hero { height: 625px; min-height: 625px; }
  .fresh-hero picture img { object-position: center top; }
  .fresh-hero__shade { background: linear-gradient(0deg,rgba(27,30,35,.84),rgba(27,30,35,.06) 70%); }
  .fresh-hero__copy { right: max(16px,var(--safe-right)); bottom: calc(28px + var(--safe-bottom)); left: max(16px,var(--safe-left)); width: auto; }
  .fresh-hero__copy h1, .fresh-hero__copy h2 { margin-bottom: 1rem; font: 500 30px/1.06 var(--body); }
  .fresh-hero__copy > div { gap: .45rem; }
  .fresh-hero__copy .fresh-button { min-height: 44px; padding-inline: .85rem; font-size: 11px; }
  .fresh-hero__arrow { display: none; }
  .fresh-hero__dots { --dot-compress:10px; right: max(1rem,var(--safe-right)); bottom: calc(1rem + var(--safe-bottom)); }
  .fresh-hero__dots { gap: 0; }
  .fresh-hero__dots button, .fresh-hero__dots button.is-active { position: relative; width: 44px; height: 44px; background: transparent; }
  .fresh-hero__dots button::before { position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; background: rgba(255,255,255,.58); content: ""; transform: translate(-50%,-50%); }
  .fresh-hero__dots button.is-active::before { background: var(--white); }
  .fresh-brand-marquee { --brand-gap: 32px; padding: 24px 0; }
  .fresh-brand-marquee__viewport { margin-top: 16px; }
  .fresh-brand-marquee__tile { flex-basis: 124px; height: 44px; padding: 4px 8px; }
  .fresh-brand-marquee__tile img { max-width: 89px; max-height: 32px; }
  .fresh-brand-marquee__tile--wide img { max-width: 106px; max-height: 20px; }

  .fresh-product-section { overflow: hidden; padding: 24px max(12px,var(--safe-right)) 36px max(12px,var(--safe-left)); }
  .fresh-section-title { align-items: flex-end; margin-bottom: 1.4rem; }
  .fresh-section-title h2 { font-size: 27px; }
  .fresh-section-title > a { min-width: 116px; min-height: 46px; font-size: 10px; }
  .fresh-rail { max-width: calc(100% + .8rem); margin-right: -.8rem; overflow: hidden; }
  .fresh-rail__track { gap: .65rem; padding-right: .8rem; }
  .fresh-rail__track > .fresh-vehicle-card { flex: 0 0 58vw; }
  .fresh-rail__arrow { display: none; }
  .fresh-vehicle-card__view { display: none; }
  .fresh-vehicle-card__body h3 { font-size: 14px; }
  .fresh-shop-categories { padding: 16px max(16px,var(--safe-right)) 42px max(16px,var(--safe-left)); }
  .fresh-shop-categories__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .fresh-shop-categories__grid span { top: 15px; left: 15px; font-size: 20px; }
  .fresh-shop-categories__all { height: 54px; }
  .fresh-booking-band { gap: 1.2rem; padding: 28px max(16px,var(--safe-right)) 28px max(16px,var(--safe-left)); }
  .fresh-booking-band h2 { font-size: 28px; }
  .fresh-booking-band form { grid-template-columns: 1fr 1fr; }
  .fresh-booking-band label button, .fresh-booking-band label select { min-height: 44px; }
  .fresh-booking-band form > .fresh-button { grid-column: 1/-1; }
  .fresh-store-services { grid-template-columns: 1fr; }
  .fresh-store-services > div { padding: 20px max(16px,var(--safe-right)) 20px max(16px,var(--safe-left)); border-right: 0; border-bottom: 1px solid var(--line); }
  .fresh-store-services > div:last-child { border-bottom: 0; }

  .fresh-scroll-campaign { height: 300svh; min-height: 2100px; }
  .fresh-scroll-campaign__stage { height: 100svh; min-height: 620px; }
  .fresh-scroll-campaign__shade { background: linear-gradient(0deg,rgba(27,30,35,.78),transparent 52%,rgba(27,30,35,.22)); }
  .fresh-scroll-campaign__preview { top: 44%; right: 50%; width: min(68vw,320px); transform: translate(50%,-50%); box-shadow: 0 24px 70px rgba(27,30,35,.45); }
  .fresh-scroll-campaign__copy { z-index: 8; width: 100%; }
  .fresh-scroll-campaign__copy-item { top: auto; right: 16px; bottom: 24px; left: 16px; width: auto; transform: none; }
  .fresh-scroll-campaign__copy-item h2 { font-size: 30px; }
  .fresh-scroll-campaign__copy-item p { margin: .65rem 0 0; font-size: 9px; }
  .fresh-scroll-campaign__button { min-height: 44px; margin-top: .8rem; font-size: 10px; }
  .fresh-scroll-campaign__counter { top: 20px; right: 16px; bottom: auto; }

  .journey-hero { min-height: 690px; padding: calc(132px + var(--safe-top)) max(20px,var(--safe-right)) 40px max(20px,var(--safe-left)); }
  .journey-hero > picture img { object-position: 53% center; }
  .journey-hero__shade { background: linear-gradient(0deg,rgba(27,30,35,.82),rgba(27,30,35,.04) 65%),linear-gradient(90deg,rgba(27,30,35,.25),transparent); }
  .journey-breadcrumbs { top: 112px; left: 20px; }
  .journey-hero__copy { width: 100%; }
  .journey-hero__copy > span { margin-bottom: .75rem; font-size: 9px; }
  .journey-hero__copy h1 { max-width: 12ch; font-size: clamp(42px,12vw,50px); line-height: .96; }
  .journey-hero__copy p { max-width: 32ch; margin-top: 1rem; font-size: 13px; }
  .journey-list { width: calc(100% - 32px); margin: 48px auto 64px; }
  .journey-card { display: flex; height: auto; min-height: 0; flex-direction: column; padding: 0 0 46px; }
  .journey-card + .journey-card { padding-top: 46px; }
  .journey-card:nth-child(even) figure { order: 0; }
  .journey-card figure { min-height: 0; aspect-ratio: 4/3; }
  .journey-card__content { padding: 28px 0 0; }
  .journey-card__content header { margin-bottom: 1.5rem; }
  .journey-card__content h2 { max-width: 13ch; font-size: 36px; line-height: 1; }
  .journey-card__content > p { margin: 1.1rem 0 1.5rem; font-size: 13px; line-height: 1.6; }
  .journey-card__content dl { margin-bottom: 1.4rem; }
  .journey-card__content dl div { padding: .85rem .7rem; }
  .journey-card__content dd { font-size: 9px; }
  .journey-card__link { width: 100%; min-height: 52px; }
  .journey-cta { min-height: 340px; padding: 52px 20px; }
  .journey-cta h2 { font-size: 36px; line-height: 1; }

  .fresh-footer__top { grid-template-columns: 1fr 1fr; gap: 2.5rem 1.5rem; padding: 3rem max(1rem,var(--safe-right)) 3rem max(1rem,var(--safe-left)); }
  .fresh-footer__brand { grid-column: 1/-1; }
  .fresh-footer__top a { display: flex; align-items: center; width: 100%; min-height: 44px; }
  .fresh-footer__payments { gap: .3rem; padding: 0 max(1rem,var(--safe-right)) 1.25rem max(1rem,var(--safe-left)); }
  .fresh-footer__payments img { height: 18px; }
  .fresh-footer__bottom { padding: 1rem max(1rem,var(--safe-right)) calc(5.6rem + var(--safe-bottom)) max(1rem,var(--safe-left)); }
  .fresh-footer__bottom > div { align-items: flex-start; flex-direction: column; gap: .45rem; }
  .sticky-mobile-cta { position: fixed; z-index: 150; right: max(12px,var(--safe-right)); bottom: calc(12px + var(--safe-bottom)); left: max(12px,var(--safe-left)); display: flex; align-items: center; justify-content: center; gap: .6rem; min-height: 50px; background: var(--ink); color: var(--white); box-shadow: 0 10px 35px rgba(27,30,35,.25); font: 700 13px/1 var(--condensed); transition: transform .22s ease, opacity .18s ease, visibility 0s linear 0s; }
  body.hero-visible .sticky-mobile-cta,
  body.campaign-visible .sticky-mobile-cta { transform: translateY(calc(100% + 24px)); opacity: 0; visibility: hidden; pointer-events: none; transition-delay: 0s, 0s, .22s; }
  .sticky-mobile-cta svg { width: 16px; }
  .calendar-dialog { align-items: end; padding: 0; }
  .calendar-dialog__panel { width: 100%; padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom)); }
  .time-dialog { align-items: end; padding: 0; }
  .time-dialog__panel { width: 100%; padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom)); }
  .time-dialog__options { height: min(308px,42vh); }
  .dob-dialog { align-items: end; padding: 0; }
  .dob-dialog__panel { width: 100%; padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom)); }
  .dob-dialog__options { height: min(308px,42vh); }
  .page-main, .form-page { padding: calc(130px + var(--safe-top)) max(1rem,var(--safe-right)) 4rem max(1rem,var(--safe-left)); }
  .policy-centre { padding-right: 16px; padding-bottom: 72px; padding-left: 16px; }
  .policy-centre__intro { margin-bottom: 48px; }
  .policy-centre__intro h1 { max-width: 100%; font-size: 38px; }
  .policy-group { margin-bottom: 42px; }
  .policy-group__heading { grid-template-columns: 30px minmax(0,1fr); gap: 10px; }
  .policy-group__heading h2 { font-size: 20px; }
  .policy-links { grid-template-columns: 1fr; }
  .policy-links a { min-height: 96px; grid-template-columns: 26px minmax(0,1fr) 22px; gap: 10px; padding: 16px 14px; }
  .policy-links strong { font-size: 15px; }
  .policy-links small { font-size: 10px; }
  .legal-note { grid-template-columns: 1fr; gap: 12px; margin-top: 54px; padding: 20px; }
  .checkout-page { width: 100%; max-width: 100%; padding-right: 0; padding-left: 0; }
  .checkout-page > .breadcrumbs, .checkout-page > .compact-intro { margin-right: 1rem; margin-left: 1rem; }
  .checkout-page .compact-intro { margin-bottom: 1.25rem; }
  .checkout-page .compact-intro h1 { font-size: 42px; }
  .checkout__form { border-right: 0; border-left: 0; }
  .checkout-vehicle { grid-template-columns: 104px minmax(0,1fr); gap: .85rem; min-height: 108px; padding: .75rem 1rem; }
  .checkout-vehicle img { width: 104px; height: 78px; }
  .checkout-vehicle h2 { font-size: 22px; }
  .checkout-vehicle > a { grid-column: 1/-1; width: 100%; text-align: center; }
  .checkout__form > form { gap: 1rem; padding: 1.1rem 1rem 1.25rem; }
  .date-fields { grid-template-columns: 1fr; gap: .9rem; }
  .date-fields input, .date-fields select, .date-fields .calendar-trigger, .date-fields .time-trigger { min-height: 54px; }
  .quote-panel { grid-template-columns: 1fr; }
  .quote-panel > div, .quote-panel > div:nth-child(even) { min-height: 64px; border-right: 0; }
  .quote-panel .quote-panel__total { grid-column: auto; }
  .booking-policy-links { gap: .25rem 1rem; }
  .booking-policy-links a { min-height: 44px; line-height: 44px; }
  .checkout__form > .quote-panel, .checkout__form > .button, .checkout__form > .form-message { margin-right: 1rem; margin-left: 1rem; }
  .stripe-payment { padding: 1rem; }
  .fresh-listing-hero { min-height: 390px; padding: calc(120px + var(--safe-top)) max(18px,var(--safe-right)) 30px max(18px,var(--safe-left)); }
  .fresh-listing-hero picture::after { background: linear-gradient(90deg,rgba(27,30,35,.72),rgba(27,30,35,.18)),linear-gradient(0deg,rgba(27,30,35,.78),transparent 66%); }
  .fresh-listing-hero h1 { font-size: 48px; }
  .fresh-listing-hero h1.is-long { max-width: 11ch; font-size: 36px; }
  .fresh-listing-hero p { margin-top: .65rem; }
  .fresh-listing__toolbar { display: block; padding: .8rem; }
  .fresh-filter-chips { padding-bottom: .7rem; }
  .fresh-filter-chips a { min-height: 34px; padding-inline: .75rem; font-size: 10px; }
  .fresh-listing__controls { display: grid; grid-template-columns: 1fr 1fr; }
  .fresh-listing__controls label { min-width: 0; }
  .fresh-listing__controls input, .fresh-listing__controls select { width: 100%; min-width: 0; }
  .fresh-budget-control { grid-column: 1/-1; width: 100%; min-width: 0; height: 52px !important; }
  .fresh-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.6rem .55rem; padding: .8rem .55rem 4rem; }
  .fresh-product-grid .fresh-vehicle-card__media { aspect-ratio: 4/3; }
  .fresh-product-grid .fresh-vehicle-card__body p { min-height: 2.6em; }
  .fresh-listing__more { margin-top: -2rem; padding-bottom: 3.5rem; }
  .fresh-listing__more button { width: 100%; }
  .fresh-breadcrumb { padding: 125px .8rem .8rem; }
  .fresh-vehicle-detail { grid-template-columns: 1fr; }
  .fresh-vehicle-detail__media { position: relative; height: auto; min-height: 0; }
  .fresh-vehicle-gallery__stage { aspect-ratio: 1.04; }
  .fresh-vehicle-gallery__stage > span { top: .75rem; left: .75rem; }
  .fresh-vehicle-gallery__arrow--prev { left: .65rem; }
  .fresh-vehicle-gallery__arrow--next { right: .65rem; }
  .fresh-vehicle-gallery__count { right: .65rem; bottom: .65rem; }
  .fresh-vehicle-gallery__thumbs button { flex-basis: 64px; width: 64px; height: 48px; }
  .fresh-vehicle-detail__info { padding: 2rem 1rem 3rem; border: 0; }
  .fresh-vehicle-detail__info h1 { font-size: 38px; }
  .fresh-vehicle-specs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fresh-vehicle-specs > div { min-height: 72px; }
  .fresh-vehicle-operations { grid-template-columns: 1fr 1fr; }
  .fresh-vehicle-operations > div { min-height: 58px; }
  .fresh-vehicle-operations > div:last-child { grid-column: 1/-1; }
  .fresh-vehicle-detail__booking { grid-template-columns: 118px 1fr; }
}

@media (max-width:390px) {
  .luma-pill { min-width: 0; }
  .fresh-hero__copy h1, .fresh-hero__copy h2 { font-size: 28px; }
}

@media (prefers-reduced-motion:reduce) {
  .site-intro { display:none !important; }
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .fresh-brand-marquee__viewport { overflow-x: auto; scrollbar-width: none; }
  .fresh-brand-marquee__track { animation: none; }
  .fresh-scroll-campaign { height: auto; min-height: 0; }
  .fresh-scroll-campaign__stage { position: relative; height: 760px; min-height: 0; }
  .fresh-scroll-campaign__background:not(:first-child), .fresh-scroll-campaign__panel:not(:first-child), .fresh-scroll-campaign__copy-item:not(:first-child), .fresh-scroll-campaign__counter { display: none; }
  .fresh-scroll-campaign__copy-item--0 { opacity: 1; }
}

@media (prefers-reduced-transparency:reduce) {
  .fresh-button--glass, .fresh-hero__arrow { background: rgba(27,30,35,.9); backdrop-filter: none; }
  .fresh-header.is-scrolled { background: var(--white); }
}

/* Operations portal */
.admin-login { display:grid; min-height:100vh; place-items:center; padding:32px; background:#f4f5f7; }
.admin-login__shell { display:grid; width:min(900px,100%); grid-template-columns:.85fr 1.15fr; overflow:hidden; border:1px solid #dfe1e5; background:#fff; box-shadow:0 18px 55px rgba(32,35,41,.1); }
.admin-login__brand { position:relative; display:flex; min-height:520px; align-items:flex-start; justify-content:flex-end; overflow:hidden; flex-direction:column; padding:42px; background:#202329; color:#fff; isolation:isolate; }
.admin-login__brand::after { position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(27,30,35,.08) 28%,rgba(27,30,35,.86) 100%); content:""; }
.admin-login__brand > picture { position:absolute; z-index:-2; inset:0; }
.admin-login__brand > picture img { width:100%; height:100%; object-fit:cover; object-position:58% center; }
.admin-login__brand .luma-pill { justify-self:start; margin-bottom:18px; box-shadow:0 10px 30px rgba(27,30,35,.22); }
.admin-login__brand p { max-width:230px; margin:0; color:#f2f3f4; font-size:13px; line-height:1.55; text-shadow:0 1px 8px rgba(27,30,35,.7); }
.admin-login__form { display:flex; justify-content:center; flex-direction:column; padding:48px; }
.admin-login__form h1 { margin:8px 0 28px; font:400 48px/.95 var(--display); }
.admin-login__form .panel-form { padding:0; border:0; background:transparent; }
.admin-login__form .panel-form > a { display:inline-flex;width:max-content;min-height:44px;align-items:center;color:#5e6269;font-size:12px;text-decoration:underline;text-underline-offset:3px; }
.ops-shell { min-height: 100vh; background: #f4f5f7; color: var(--ink); }
.ops-sidebar { position: fixed; z-index: 800; inset: 0 auto 0 0; display: flex; width: 224px; flex-direction: column; padding: 20px 14px; border-right: 1px solid #dfe1e5; background: #fff; }
.ops-sidebar__top { display: flex; min-height: 48px; align-items: center; justify-content: space-between; padding: 0 6px 16px; }
.ops-sidebar__close { display: none; }
.ops-sidebar nav { display: grid; gap: 3px; margin-top: 8px; }
.ops-sidebar nav a, .ops-sidebar > form button { display: flex; min-height: 44px; align-items: center; gap: 11px; padding: 0 12px; color: #64676d; font: 600 13px/1 var(--body); }
.ops-sidebar nav a:hover, .ops-sidebar nav a:focus-visible, .ops-sidebar nav a.is-active { background: #edf3ff; color: #245ea9; outline: none; }
.ops-sidebar svg { width: 18px; height: 18px; }
.ops-sidebar > form { margin-top: auto; border-top: 1px solid #e3e4e7; padding-top: 10px; }
.ops-sidebar > form button { width: 100%; background: transparent; }
.ops-mobile-header { display: none; }
.ops-main { width: min(1240px,calc(100% - 224px)); min-height: 100vh; margin-left: 224px; padding: 30px clamp(22px,3vw,46px) 70px; }
.ops-page-head { display: flex; min-height: 70px; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.ops-page-head span, .ops-section-head span, .ops-panel > span { color: #71757c; font: 700 10px/1 var(--dots); }
.ops-page-head h1 { margin: 5px 0 0; font: 500 36px/1 var(--body); }
.ops-page-head svg, .ops-visit svg { width: 15px; }
.ops-visit, .ops-primary, .ops-inline-form button, .ops-stacked-form button, .ops-save-bar button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 8px; padding: 0 16px; border: 1px solid #d9dade; background: #fff; font: 700 12px/1 var(--body); }
.ops-primary, .ops-inline-form button, .ops-stacked-form button, .ops-save-bar button { border-color: #202329; background: #202329; color: #fff; }
.ops-notice, .ops-error { padding: 13px 16px; border-left: 3px solid #3f8b62; background: #eaf5ee; font-size: 13px; }
.ops-error { border-color: #bd3030; background: #fdeeee; color: #842424; }
.ops-alert { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; margin-bottom: 22px; padding: 16px; border: 1px solid #dfc668; background: #fff9d7; }
.ops-alert span { color: #676154; font-size: 12px; }
.ops-alert form { display: flex; gap: 8px; }
.ops-alert input, .ops-alert button { min-height: 38px; border: 1px solid #c8b356; padding: 0 10px; background: #fff; }
.ops-alert button { background: #202329; color: #fff; }
.ops-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 34px; }
.ops-metrics article { display: grid; min-height: 116px; align-content: space-between; padding: 18px; border: 1px solid #dfe1e5; background: #fff; }
.ops-metrics span { color: #71757c; font: 600 11px/1 var(--body); }
.ops-metrics strong { font: 600 28px/1 var(--body); }
.ops-section-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 30px 0 15px; }
.ops-section-head h2 { margin: 5px 0 0; font: 500 24px/1.1 var(--body); }
.ops-section-head > a, .ops-text-link, .ops-inline-link { color: #245ea9; font: 700 11px/1 var(--body); text-decoration: underline; }
.ops-shortcuts { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.ops-shortcut { position: relative; display: grid; min-height: 148px; align-content: end; overflow: hidden; padding: 16px; border-radius: 7px; color: #fff; box-shadow: 0 4px 14px rgba(32,35,41,.11); }
.ops-shortcut svg { position: absolute; top: 15px; left: 15px; width: 27px; height: 27px; }
.ops-shortcut strong { font: 700 15px/1.1 var(--body); }
.ops-shortcut span { margin-top: 5px; color: rgba(255,255,255,.8); font-size: 10px; }
.ops-shortcut--1 { background: #3478c8; }.ops-shortcut--2 { background: #397f5d; }.ops-shortcut--3 { background: #7955a0; }.ops-shortcut--4 { background: #b0673c; }.ops-shortcut--5 { background: #4e596b; }
.ops-list, .ops-table { border: 1px solid #dfe1e5; background: #fff; }
.ops-list > a { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 16px; border-bottom: 1px solid #e6e7e9; }
.ops-list > a:last-child { border-bottom: 0; }
.ops-list > a > div { display: grid; gap: 4px; }
.ops-list > a > div:last-child { text-align: right; }
.ops-list span, .ops-list small { color: #777a80; font-size: 10px; }
.ops-toolbar { display: grid; grid-template-columns: 1fr 220px auto; gap: 10px; margin-bottom: 16px; }
.ops-toolbar label { display: flex; min-height: 46px; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid #d9dade; background: #fff; }
.ops-toolbar svg { width: 17px; }.ops-toolbar input { flex: 1; border: 0; outline: 0; }.ops-toolbar select, .ops-toolbar button { min-height: 46px; border: 1px solid #d9dade; padding: 0 12px; background: #fff; }.ops-toolbar button { background: #202329; color: #fff; }
.ops-result-count { margin:-6px 0 14px;color:#73767c;font:700 10px/1 var(--body); }
.ops-fleet-identifiers { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px; }.ops-fleet-identifiers h2 { margin-bottom:4px; }.ops-fleet-identifiers p { margin:0;max-width:620px; }.ops-fleet-identifiers > div:last-child { display:flex;align-items:center;gap:8px; }.ops-fleet-identifiers form { display:flex;align-items:center;gap:8px; }.ops-fleet-identifiers input[type="file"] { width:230px;max-width:100%;font-size:11px; }.ops-fleet-identifiers button,.ops-secondary-button { display:inline-grid;min-height:44px;place-items:center;border:1px solid #202329;padding:0 14px;background:#202329;color:#fff;font:700 10px/1 var(--body);white-space:nowrap; }.ops-secondary-button { background:#fff;color:#202329; }
.ops-pagination { display:flex;align-items:center;justify-content:center;gap:12px;margin:24px 0 4px; }.ops-pagination a { display:grid;min-width:92px;min-height:44px;place-items:center;border:1px solid #d9dade;background:#fff;font:700 10px/1 var(--body); }.ops-pagination a[aria-disabled="true"] { opacity:.4;pointer-events:none; }.ops-pagination span { color:#73767c;font:700 10px/1 var(--body); }
.ops-empty { padding:34px;border:1px solid #dfe1e5;background:#fff;text-align:center; }.ops-empty strong { font-size:18px; }.ops-empty p { margin:.5rem 0 0;color:#73767c; }
.ops-table { overflow-x: auto; }
.ops-table__head, .ops-table__row { display: grid; grid-template-columns: 1.25fr 1.5fr 1.35fr .75fr 1fr; min-width: 820px; align-items: center; gap: 12px; padding: 13px 16px; }
.ops-table__head { border-bottom: 1px solid #dfe1e5; background: #f8f8f9; color: #73767c; font: 700 9px/1 var(--body); text-transform: uppercase; }
.ops-table__row { min-height: 62px; border-bottom: 1px solid #e7e8ea; font-size: 12px; }
.ops-table__row:last-child { border-bottom: 0; }
.ops-table__row:hover { background: #fafcff; }
.ops-table__row > span { display: grid; gap: 4px; min-width: 0; overflow-wrap: anywhere; }
.ops-table__row small { color: #777a80; font-size: 10px; }
.ops-status { display: inline-flex; width: max-content; align-items: center; min-height: 22px; padding: 0 8px; border-radius: 12px; background: #eceef1; color: #555b64; font: 700 9px/1 var(--body); text-transform: capitalize; }
.ops-status--active,.ops-status--approved,.ops-status--paid,.ops-status--signed,.ops-status--success,.ops-status--confirmed,.ops-status--completed,.ops-status--sent { background:#e5f3e9;color:#2d7046; }
.ops-status--failed,.ops-status--rejected,.ops-status--disputed,.ops-status--cancelled,.ops-status--kyc_rejected { background:#fbe8e8;color:#9d3232; }
.ops-status--submitted,.ops-status--pending,.ops-status--contract_pending,.ops-status--ready_for_payment,.ops-status--kyc_pending { background:#fff3d9;color:#8a650d; }
.ops-empty { padding: 30px 16px; color: #73767c; font-size: 13px; }
.ops-detail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.ops-panel { margin-bottom: 16px; padding: 20px; border: 1px solid #dfe1e5; background: #fff; }
.ops-panel h2 { margin: 8px 0; font: 600 20px/1.2 var(--body); }.ops-panel p { color: #666a71; font-size: 12px; line-height: 1.6; }
.ops-panel dl { display: grid; gap: 0; margin: 18px 0 0; }.ops-panel dl div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid #e7e8ea; font-size: 11px; }.ops-panel dt { color: #777a80; }.ops-panel dd { margin: 0; text-align: right; }
.ops-test-mode { border-color:#ddd3a1;background:#fffdf2; }.ops-test-mode.is-active { border-color:#d2b80d;background:#fff8c9; }.ops-test-mode__head { display:flex;align-items:flex-start;justify-content:space-between;gap:16px; }.ops-test-mode__head span { color:#71757c;font:700 10px/1 var(--dots); }.ops-test-mode__head h2 { margin:8px 0 0; }.ops-switch { display:grid!important;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px!important;color:#202329!important;font-size:11px!important;line-height:1.4!important;cursor:pointer; }.ops-switch > input { position:absolute;width:1px!important;height:1px!important;min-height:0!important;opacity:0; }.ops-switch > span { position:relative;display:block;width:44px;height:24px;border:1px solid #a7a9ad;border-radius:12px;background:#dfe1e4;transition:background .16s ease; }.ops-switch > span i { position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(32,35,41,.25);transition:transform .16s ease; }.ops-switch > input:checked + span { background:#202329; }.ops-switch > input:checked + span i { transform:translateX(20px); }.ops-switch > input:focus-visible + span { outline:2px solid #245ea9;outline-offset:3px; }.ops-switch b { font-weight:600; }.ops-test-note { margin-top:14px!important;padding:10px;border:1px solid #d2b80d;background:#fff8c9;color:#4b430d!important;font:700 10px/1.4 var(--dots)!important; }
.ops-span-2 { grid-column: span 2; }
.ops-inline-form { display: grid; grid-template-columns: 220px 1fr auto; gap: 9px; margin-top: 14px; }.ops-inline-form input,.ops-inline-form select { min-height: 44px; border: 1px solid #d9dade; padding: 0 11px; background:#fff; }
.ops-timeline { display: grid; padding: 6px 18px; border: 1px solid #dfe1e5; background: #fff; }.ops-timeline article { display: grid; grid-template-columns: 14px 1fr; gap: 12px; padding: 15px 0; border-bottom: 1px solid #e7e8ea; }.ops-timeline article:last-child { border:0; }.ops-timeline i { width: 9px; height: 9px; margin-top: 3px; border-radius:50%; background:#3478c8; }.ops-timeline article div { display:grid;gap:4px; }.ops-timeline span,.ops-timeline small { color:#777a80;font-size:10px; }
.ops-cards { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }.ops-review-card { padding:18px;border:1px solid #dfe1e5;background:#fff; }.ops-review-card__head { display:flex;justify-content:space-between;gap:12px; }.ops-review-card__head > div { display:grid;gap:5px; }.ops-review-card__head span,.ops-review-card > p,.ops-review-card > small { color:#73767c;font-size:11px; }.ops-document-links { display:flex;gap:8px;margin:15px 0; }.ops-document-links a { padding:10px 12px;border:1px solid #d9dade;font:700 10px/1 var(--body); }.ops-review-card form textarea { width:100%;min-height:65px;border:1px solid #d9dade;padding:9px; }.ops-review-card form div { display:flex;gap:8px;margin-top:8px; }.ops-review-card form button { min-height:40px;padding:0 14px;background:#2d7046;color:#fff; }.ops-review-card form button.ops-danger { background:#9d3232; }
.ops-fleet-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }.ops-fleet-grid article { overflow:hidden;border:1px solid #dfe1e5;background:#fff; }.ops-fleet-card__image { position:relative;display:block;aspect-ratio:1.5;background:#eceef1; }.ops-fleet-card__image img { width:100%;height:100%;object-fit:cover; }.ops-fleet-card__image .ops-status { position:absolute;top:10px;left:10px; }.ops-fleet-grid article > div { padding:14px; }.ops-fleet-grid article > div > span { color:#73767c;font:700 9px/1 var(--body); }.ops-fleet-grid h2 { margin:7px 0 3px;font:600 18px/1.1 var(--body); }.ops-fleet-grid p { min-height:2.6em;margin:0 0 8px;color:#73767c;font-size:10px; }.ops-fleet-card__actions { display:flex;gap:8px;margin-top:14px; }.ops-fleet-card__actions a,.ops-fleet-card__actions button { min-height:38px;padding:0 12px;border:1px solid #d9dade;background:#fff;font:700 10px/1 var(--body); }.ops-fleet-card__actions a { display:grid;place-items:center;background:#202329;color:#fff; }
.ops-confirm { display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;color:#202329;font-size:12px;line-height:1.5; }.ops-confirm input { width:20px;height:20px;margin:0;accent-color:#202329; }.ops-panel > .ops-confirm + p { margin:10px 0 0;color:#73767c;font-size:10px;line-height:1.5; }
.ops-editor { display:grid;gap:0; }.ops-form-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:16px; }.ops-form-grid label,.ops-upload label,.ops-stacked-form label,.ops-panel > label,.ops-block-form label { display:grid;gap:6px;color:#656970;font:700 10px/1 var(--body); }.ops-form-grid input,.ops-form-grid select,.ops-form-grid textarea,.ops-upload input,.ops-stacked-form input,.ops-stacked-form select,.ops-panel > label input,.ops-block-form input { width:100%;min-height:44px;border:1px solid #d9dade;padding:10px;background:#fff;color:#202329; }.ops-form-grid textarea { min-height:100px;resize:vertical; }.ops-upload { display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:15px; }.ops-image-strip { display:flex;gap:8px;overflow:auto;margin-top:15px; }.ops-image-strip img { width:120px;aspect-ratio:1.4;object-fit:cover;background:#eceef1; }.ops-save-bar { position:sticky;z-index:10;bottom:14px;display:flex;justify-content:flex-end;gap:8px;padding:12px;border:1px solid #d9dade;background:rgba(255,255,255,.95);box-shadow:0 8px 30px rgba(32,35,41,.12); }.ops-save-bar a { display:grid;place-items:center;min-width:90px; }.ops-stacked-form { display:grid;gap:12px;margin-top:15px; }.ops-panel--danger { border-color:#e2baba; }.ops-staff-list { display:grid;margin-top:14px; }.ops-staff-list article { display:grid;grid-template-columns:minmax(0,1fr) auto minmax(250px,auto) auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #e7e8ea; }.ops-staff-list article > div { display:grid;gap:4px; }.ops-staff-list span { color:#73767c;font-size:10px; }.ops-staff-list button,.ops-hold-list button { min-height:34px;padding:0 10px;border:1px solid #d9dade;background:#fff; }.ops-role-form { display:flex;align-items:center;gap:7px; }.ops-role-form select { min-height:36px;border:1px solid #d9dade;background:#fff;padding:0 30px 0 10px; }.ops-block-form { grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end; }.ops-hold-list { display:grid;margin-top:18px;border-top:1px solid #e7e8ea; }.ops-hold-list article { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e7e8ea; }.ops-hold-list article > div { display:grid;gap:4px; }.ops-hold-list span { color:#73767c;font-size:11px; }
.ops-current-hero { display:grid;grid-template-columns:110px minmax(0,280px);align-items:center;gap:12px;margin-top:16px;padding:10px;border:1px solid #e1e2e5;background:#f7f7f8; }.ops-current-hero > span { color:#6b6f76;font:700 10px/1 var(--body); }.ops-current-hero img { width:100%;aspect-ratio:4/3;object-fit:contain;background:#eceef1; }.ops-image-manager { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px; }.ops-image-manager form { display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:10px;border:1px solid #dfe1e5;background:#fafafa; }.ops-image-manager img { width:120px;aspect-ratio:4/3;object-fit:contain;background:#eceef1; }.ops-image-manager label { display:grid;align-content:start;gap:6px;color:#656970;font:700 10px/1 var(--body); }.ops-image-manager input { width:100%;min-height:42px;border:1px solid #d9dade;padding:9px;background:#fff;color:#202329; }.ops-image-manager form > div { grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px; }.ops-image-manager button { min-height:36px;border:1px solid #d6d8dc;background:#fff;padding:0 10px;color:#202329;font:700 10px/1 var(--body); }.ops-image-manager button:disabled { opacity:.35;cursor:not-allowed; }.ops-image-manager .ops-danger-button { margin-left:auto;border-color:#d7a9a9;color:#8b1f1f; }
.ops-settings-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px; }.ops-settings-grid article { display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:18px;border:1px solid #dfe1e5;background:#fff; }.ops-settings-grid > article > svg { width:25px;height:25px; }.ops-settings-grid article > div { display:grid;gap:5px; }.ops-settings-grid span { color:#73767c;font-size:10px; }
.ops-readiness-list { display:grid;margin:16px 0 0;padding:0;border-top:1px solid #e7e8ea;list-style:none; }.ops-readiness-list li { display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;padding:10px 0;border-bottom:1px solid #e7e8ea; }.ops-readiness-list li > svg { width:18px;height:18px;color:#2f7d4a; }.ops-readiness-list li:has(.ops-status--failed) > svg { color:#a33d3d; }.ops-readiness-list li > div { display:grid;gap:4px; }.ops-readiness-list li > div strong { font-size:12px; }.ops-readiness-list li > div span { color:#73767c;font-size:10px;line-height:1.4; }
.ops-payment-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }.ops-payment-head { display:flex;justify-content:space-between;gap:14px; }.ops-payment-head > div { display:grid;gap:5px; }.ops-payment-head span { color:#73767c;font-size:10px; }.ops-payment-actions { display:grid;gap:12px;margin-top:14px; }.ops-payment-actions form { display:grid;grid-template-columns:1fr 1.5fr auto;gap:8px;padding-top:13px;border-top:1px solid #e7e8ea; }.ops-payment-actions form label { display:grid;gap:5px;color:#73767c;font:700 9px/1 var(--body); }.ops-payment-actions input { min-height:40px;border:1px solid #d9dade;padding:0 9px; }.ops-payment-actions button { align-self:end;min-height:40px;padding:0 12px;background:#9d3232;color:#fff; }

@media (max-width:980px) {
  .ops-shortcuts { grid-template-columns:repeat(3,minmax(0,1fr)); }.ops-fleet-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.ops-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.ops-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea { font-size:16px; }
  .admin-login { place-items:start center; padding:0 0 max(24px,env(safe-area-inset-bottom)); background:#fff; }
  .admin-login__shell { display:block; border:0; box-shadow:none; }
  .admin-login__brand { min-height:230px; align-items:center; justify-content:flex-end; padding:24px; text-align:center; }
  .admin-login__brand::after { background:linear-gradient(180deg,rgba(27,30,35,.02) 30%,rgba(27,30,35,.78) 100%); }
  .admin-login__brand > picture img { object-position:center 65%; }
  .admin-login__brand .luma-pill { margin:0; }
  .admin-login__brand p { display:none; }
  .admin-login__form { padding:32px 20px; }
  .admin-login__form h1 { margin-bottom:24px; font-size:38px; }
  .ops-sidebar { transform:translateX(-100%);width:min(86vw,320px);transition:transform .24s ease;box-shadow:18px 0 50px rgba(32,35,41,.18); }.ops-sidebar.is-open { transform:none; }.ops-sidebar__close { display:grid;place-items:center;width:44px;height:44px;background:transparent; }.ops-sidebar__close svg { width:20px; }.ops-mobile-header { position:sticky;z-index:500;top:0;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;height:calc(66px + var(--safe-top));padding:var(--safe-top) max(10px,var(--safe-right)) 0 max(10px,var(--safe-left));border-bottom:1px solid #dfe1e5;background:#fff; }.ops-mobile-header .luma-pill { justify-self:center; }.ops-mobile-header > button,.ops-mobile-header > a:last-child { display:grid;place-items:center;width:44px;height:44px;background:transparent; }.ops-mobile-header svg { width:20px;height:20px; }.ops-main { width:100%;margin:0;padding:18px max(12px,var(--safe-right)) calc(40px + var(--safe-bottom)) max(12px,var(--safe-left)); }.ops-page-head { min-height:54px;margin-bottom:15px; }.ops-page-head h1 { font-size:28px; }.ops-visit { width:44px;padding:0;font-size:0; }.ops-alert { grid-template-columns:1fr; }.ops-alert form { display:grid;grid-template-columns:1fr auto; }.ops-metrics { gap:8px;margin-bottom:24px; }.ops-metrics article { min-height:96px;padding:14px; }.ops-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }.ops-shortcut { min-height:132px;padding:14px; }.ops-toolbar { grid-template-columns:1fr 1fr; }.ops-toolbar label { grid-column:1/-1; }.ops-table { margin-inline:-12px;border-inline:0; }.ops-detail-grid,.ops-cards,.ops-fleet-grid,.ops-settings-grid,.ops-payment-list { grid-template-columns:1fr; }.ops-span-2 { grid-column:auto; }.ops-inline-form,.ops-payment-actions form,.ops-block-form { grid-template-columns:1fr; }.ops-form-grid,.ops-upload { grid-template-columns:1fr; }.ops-form-grid .ops-span-2 { grid-column:auto; }.ops-save-bar { bottom:calc(8px + var(--safe-bottom)); }.ops-staff-list article { grid-template-columns:1fr auto; }.ops-staff-list form { grid-column:1/-1; }.ops-role-form { display:grid;grid-template-columns:1fr auto; }.ops-fleet-grid article { display:grid;grid-template-columns:42% 1fr; }.ops-fleet-card__image { aspect-ratio:auto; }.ops-fleet-grid article > div { min-width:0; }.ops-fleet-grid p { min-height:0; }.ops-fleet-card__actions { flex-wrap:wrap; }.ops-current-hero { grid-template-columns:84px minmax(0,1fr); }.ops-image-manager { grid-template-columns:1fr; }.ops-image-manager form { grid-template-columns:86px minmax(0,1fr); }.ops-image-manager img { width:86px; }
}

/* Deferred identity setup */
.account-setup-reminder { position:fixed; z-index:225; right:18px; bottom:18px; display:grid; width:min(520px,calc(100vw - 36px)); min-height:62px; grid-template-columns:8px minmax(0,1fr) auto; align-items:center; gap:12px; padding:10px 12px 10px 10px; border:1px solid rgba(255,255,255,.2); background:#202329; box-shadow:0 10px 30px rgba(27,30,35,.22); color:#fff; }
.account-setup-reminder > span { width:8px; height:8px; border-radius:50%; background:#fbd927; }
.account-setup-reminder p { display:grid; gap:4px; margin:0; }
.account-setup-reminder strong,.account-setup-reminder small,.account-setup-reminder a { font-family:var(--dots); font-weight:700; }
.account-setup-reminder strong { font-size:10px; line-height:1.2; }
.account-setup-reminder small { color:#c9cbd0; font-size:9px; line-height:1.35; }
.account-setup-reminder a { display:grid; min-width:108px; min-height:42px; place-items:center; padding:0 10px; border:1px solid rgba(255,255,255,.5); font-size:9px; text-align:center; }
.account-setup-reminder a:focus-visible { outline:2px solid #fbd927; outline-offset:2px; }
.account-setup-reminder--pending > span { background:#77b98b; }
.kyc-form-actions { display:flex; flex-wrap:wrap; gap:10px; }
.kyc-form-actions .button { min-width:170px; }
.account-message { margin:0 0 20px; }
.account-page { max-width:1440px; margin:0 auto; }
.account-heading { display:flex; max-width:none; align-items:end; justify-content:space-between; gap:24px; }
.account-heading h1 { margin-bottom:10px; font-size:56px; }
.account-heading p { margin:0; }
.account-identity { display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:20px; margin:0 0 64px; padding:24px; border:1px solid #d9dade; background:#f5f5f4; }
.account-identity__mark { display:grid; width:54px; height:54px; place-items:center; background:#202329; color:#fff; }
.account-identity__mark svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.5; }
.account-identity > div:nth-child(2) { min-width:0; }
.account-identity span,.account-identity__status strong,.account-identity__status a,.account-section-title span,.account-booking__meta > span { font-family:var(--dots); font-weight:700; }
.account-identity > div:nth-child(2) > span,.account-section-title span { color:#74777c; font-size:9px; }
.account-identity h2 { margin:7px 0 6px; font:600 21px/1.2 var(--body); }
.account-identity p { max-width:720px; margin:0; color:#65686e; font-size:12px; line-height:1.6; }
.account-identity__status { display:grid; min-width:150px; grid-template-columns:8px 1fr; align-items:center; gap:7px; }
.account-identity__status i { width:8px; height:8px; border-radius:50%; background:#a5a8ad; }
.account-identity__status strong { font-size:10px; }
.account-identity__status a { grid-column:1/-1; display:grid; min-height:44px; place-items:center; margin-top:7px; padding:0 14px; border:1px solid #202329; font-size:9px; }
.account-identity--approved { border-color:#b9d8c1; background:#f1f7f2; }
.account-identity--approved .account-identity__mark { background:#2f7d4a; }
.account-identity--approved .account-identity__status i { background:#2f7d4a; }
.account-identity--submitted .account-identity__status i { background:#d2a900; }
.account-identity--rejected { border-color:#e0b7b7; background:#fbf3f3; }
.account-identity--rejected .account-identity__status i { background:#a43e3e; }
.account-section-title { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid #d9dade; }
.account-section-title h2 { margin:7px 0 0; font:600 30px/1.1 var(--body); }
.account-section-title > a { display:grid; min-height:44px; place-items:center; padding:0 16px; border:1px solid #202329; font:700 10px/1 var(--body); }
.booking-list { display:grid; gap:18px; }
.account-booking { display:grid; grid-template-columns:minmax(250px,34%) minmax(0,1fr); overflow:hidden; border:1px solid #d9dade; background:#fff; }
.account-booking__media { min-height:280px; background:#f0f0ef; }
.account-booking__media img { width:100%; height:100%; object-fit:contain; }
.account-booking .booking-summary { display:flex; min-width:0; flex-direction:column; padding:24px; }
.account-booking__meta { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.account-booking__meta > span { color:#74777c; font-size:9px; overflow-wrap:anywhere; }
.account-booking .status { padding:7px 9px; background:#efefee; font:700 9px/1 var(--body); text-transform:uppercase; }
.account-booking .status--confirmed,.account-booking .status--active,.account-booking .status--completed { background:#e5f1e7; color:#2f7144; }
.account-booking .status--kyc_rejected,.account-booking .status--cancelled,.account-booking .status--disputed { background:#f4e2e2; color:#8d3030; }
.account-booking .booking-summary > h2 { margin:24px 0 7px; font:600 28px/1.1 var(--body); }
.account-booking .booking-summary > p { margin:0; color:#65686e; font-size:12px; line-height:1.5; }
.account-booking .booking-summary > p span { margin:0 5px; color:#9a9ca0; }
.account-booking .booking-progress { grid-template-columns:repeat(5,minmax(0,1fr)); margin:30px 0 0; }
.account-booking .booking-action { display:flex; min-height:58px; align-items:center; gap:12px; margin-top:auto; padding-top:24px; }
.account-booking .booking-action > span { color:#65686e; font-size:11px; line-height:1.5; }
.account-booking .booking-action form { margin:0; }
.account-booking .booking-action .button { min-height:44px; white-space:nowrap; }
.account-booking__sign svg { width:16px; height:16px; }
.kyc-page > section { width:min(100%,760px); }
.kyc-page .panel-form { margin-top:28px; }
.kyc-state { display:grid; gap:12px; margin-top:28px; padding:28px; border:1px solid #d9dade; background:#f5f5f4; }
.kyc-state > span,.kyc-booking span,.kyc-privacy { font-family:var(--dots); font-weight:700; }
.kyc-state > span { color:#74777c; font-size:9px; }
.kyc-state h2 { margin:0; font:600 24px/1.2 var(--body); }
.kyc-state p { margin:0 0 8px; color:#65686e; font-size:13px; line-height:1.6; }
.kyc-state .button { justify-self:start; }
.kyc-state--approved { border-color:#b9d8c1; background:#f1f7f2; }
.kyc-booking { display:grid; gap:7px; padding:16px; border:1px solid #d9dade; background:#fff; }
.kyc-booking span { color:#74777c; font-size:9px; }
.kyc-booking strong { font-size:13px; }
.kyc-privacy { margin:0; color:#74777c; font-size:9px; line-height:1.5; }
@media (max-width:720px) {
  .account-setup-reminder { right:max(10px,var(--safe-right)); bottom:calc(76px + var(--safe-bottom)); left:max(10px,var(--safe-left)); width:auto; min-height:68px; gap:9px; padding:9px; }
  .account-setup-reminder a { min-width:94px; }
  .kyc-form-actions { display:grid; grid-template-columns:1fr; }
  .kyc-form-actions .button { width:100%; }
  .account-page { padding-right:12px; padding-left:12px; }
  .account-heading { align-items:stretch; flex-direction:column; gap:16px; }
  .account-heading h1 { font-size:40px; }
  .account-heading form,.account-heading button { width:100%; }
  .account-identity { grid-template-columns:42px minmax(0,1fr); gap:12px; margin-bottom:46px; padding:16px; }
  .account-identity__mark { width:42px; height:42px; }
  .account-identity h2 { font-size:17px; }
  .account-identity__status { grid-column:1/-1; display:flex; width:100%; min-width:0; flex-wrap:wrap; }
  .account-identity__status a { width:100%; margin-top:5px; }
  .account-section-title { align-items:stretch; flex-direction:column; }
  .account-section-title h2 { font-size:25px; }
  .account-section-title > a { width:100%; }
  .account-booking { grid-template-columns:1fr; }
  .account-booking__media { min-height:0; aspect-ratio:16/10; }
  .account-booking .booking-summary { padding:16px; }
  .account-booking__meta { align-items:flex-start; flex-direction:column; gap:10px; }
  .account-booking .booking-summary > h2 { margin-top:18px; font-size:22px; }
  .account-booking .booking-progress { grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:24px; }
  .account-booking .booking-progress li { font-size:7px; }
  .account-booking .booking-action { align-items:stretch; flex-direction:column; margin-top:20px; padding-top:16px; border-top:1px solid #e1e2e4; }
  .account-booking .booking-action form,.account-booking .booking-action .button { width:100%; }
  .kyc-state { padding:20px; }
  .kyc-state .button { width:100%; }
}
@media (prefers-reduced-transparency:reduce) { .account-setup-reminder { box-shadow:none; } }

/* Customer contract signing */
.signature-page { min-height:100svh; padding:0 0 80px; background:#f4f4f3; color:#202329; }
.signature-header { display:flex; min-height:82px; align-items:center; justify-content:space-between; padding:0 clamp(18px,4vw,64px); border-bottom:1px solid #d9dade; background:#fff; }
.signature-header > a:last-child { display:grid; min-height:44px; place-items:center; padding:0 14px; border:1px solid #202329; font:700 10px/1 var(--body); }
.signature-shell { width:min(1240px,calc(100% - 40px)); margin:0 auto; padding-top:64px; }
.signature-intro { max-width:760px; }
.signature-intro h1 { margin:12px 0 14px; font:400 64px/.95 var(--display); }
.signature-intro > p:last-child { margin:0; color:#666a70; font-size:14px; }
.signature-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:48px 0 22px; padding:0; border:1px solid #d9dade; background:#fff; list-style:none; }
.signature-steps li { display:grid; min-height:74px; grid-template-columns:34px 1fr; align-items:center; gap:10px; padding:16px; border-right:1px solid #d9dade; }
.signature-steps li:last-child { border-right:0; }
.signature-steps span,.signature-review > span,.signature-mobile > span,.signature-desktop > span,.signature-live { font-family:var(--dots); font-weight:700; }
.signature-steps span,.signature-review > span,.signature-mobile > span,.signature-desktop > span { color:#777a80; font-size:9px; }
.signature-steps strong { font-size:13px; }
.signature-steps .is-current { background:#202329; color:#fff; }
.signature-steps .is-current span { color:#fbd927; }
.signature-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) 240px; gap:14px; align-items:start; }
.signature-review,.signature-mobile,.signature-desktop { min-width:0; padding:26px; border:1px solid #d9dade; background:#fff; }
.signature-review h2,.signature-mobile h2 { margin:10px 0 12px; font:600 24px/1.15 var(--body); }
.signature-review p,.signature-mobile > p { margin:0 0 22px; color:#62666c; font-size:12px; line-height:1.65; }
.signature-review .button { width:100%; min-height:52px; }
.signature-review .button svg { width:16px; height:16px; }
.signature-mobile canvas { display:block; width:100%; height:auto; aspect-ratio:19/8.5; border:2px solid #202329; background:#fff; box-shadow:inset 0 0 0 6px #f4f4f3; cursor:crosshair; touch-action:none; }
.signature-actions { display:grid; grid-template-columns:120px 1fr; gap:8px; margin-top:10px; }
.signature-actions > button { min-height:50px; border:1px solid #202329; background:#fff; font:700 10px/1 var(--body); }
.signature-actions > .button { background:#202329; color:#fff; }
.signature-message { min-height:18px; margin:12px 0 0 !important; color:#7c2d2d !important; font:700 9px/1.45 var(--dots) !important; }
.signature-desktop { display:grid; justify-items:center; gap:14px; text-align:center; }
.signature-desktop img { width:min(180px,100%); height:auto; }
.signature-desktop p { margin:0; color:#666a70; font-size:11px; line-height:1.55; }
.signature-live { width:100%; padding:12px 8px; background:#202329; color:#fff; font-size:8px; }
@media (max-width:980px) { .signature-layout { grid-template-columns:1fr 1fr; } .signature-desktop { grid-column:1/-1; grid-template-columns:auto 120px minmax(0,1fr) auto; align-items:center; justify-items:start; text-align:left; } .signature-desktop img { width:120px; } }
@media (max-width:720px) {
  .signature-page { padding-bottom:calc(44px + env(safe-area-inset-bottom)); }
  .signature-header { min-height:70px; padding:0 14px; }
  .signature-header > a:last-child { padding:0 10px; }
  .signature-shell { width:calc(100% - 28px); padding-top:38px; }
  .signature-intro h1 { font-size:42px; }
  .signature-intro > p:last-child { font-size:12px; line-height:1.5; }
  .signature-steps { margin-top:32px; }
  .signature-steps li { min-height:64px; grid-template-columns:1fr; align-content:center; gap:6px; padding:12px 10px; }
  .signature-steps strong { font-size:10px; line-height:1.25; }
  .signature-layout { grid-template-columns:1fr; }
  .signature-review,.signature-mobile { padding:20px; }
  .signature-review h2,.signature-mobile h2 { font-size:21px; }
  .signature-mobile canvas { min-height:190px; aspect-ratio:auto; }
  .signature-actions { grid-template-columns:96px 1fr; }
  .signature-desktop { display:none; }
}

.consent-bar { position:fixed; z-index:1800; right:18px; bottom:18px; display:flex; width:min(430px,calc(100vw - 24px)); align-items:center; justify-content:space-between; gap:18px; padding:18px; border:1px solid rgba(255,255,255,.42); background:#202329; color:#fff; box-shadow:0 18px 50px rgba(20,22,25,.26); }
.consent-bar[hidden] { display:none; }
.consent-bar p { max-width:240px; margin:0; font-size:12px; line-height:1.5; }
.consent-bar div { display:flex; gap:7px; }
.consent-bar button { min-height:44px; padding:0 13px; border:1px solid rgba(255,255,255,.55); background:transparent; color:#fff; font:700 10px/1 var(--body); }
.consent-bar [data-consent-accept] { background:#fff; color:#202329; }
.fresh-footer__bottom button { padding:0; border:0; background:transparent; color:inherit; font:inherit; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:720px) { .ops-fleet-identifiers { grid-template-columns:1fr;align-items:start; }.ops-fleet-identifiers > div:last-child,.ops-fleet-identifiers form { align-items:stretch;flex-direction:column; }.ops-fleet-identifiers input[type="file"] { width:100%;min-height:44px;padding:10px;border:1px solid #d9dade; } }
@media (max-width:600px) { .consent-bar { right:max(12px,var(--safe-right)); bottom:calc(76px + var(--safe-bottom)); left:max(12px,var(--safe-left)); align-items:stretch; flex-direction:column; } .consent-bar p { max-width:none; } .consent-bar div { display:grid; grid-template-columns:1fr 1fr; } }

.fresh-faq { width:min(100% - 40px,1180px); margin:0 auto; padding:70px 0 92px; }
.fresh-faq > div:last-of-type { border-top:1px solid #d9dade; }
.fresh-faq details { border-bottom:1px solid #d9dade; }
.fresh-faq summary { display:flex; min-height:64px; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; font:600 15px/1.25 var(--body); }
.fresh-faq summary::-webkit-details-marker { display:none; }
.fresh-faq summary svg { width:18px; height:18px; transition:transform .2s ease; }
.fresh-faq details[open] summary svg { transform:rotate(45deg); }
.fresh-faq details p { max-width:780px; margin:0 0 24px; color:#60636a; font-size:13px; line-height:1.7; }
.response-promise { margin-top:22px; font:700 11px/1.4 var(--body); text-transform:uppercase; }
.team-feature { width:min(100%,1180px); margin:0 auto 50px; }
.team-feature img { width:100%; aspect-ratio:2.05; object-fit:cover; }
.team-feature figcaption { margin-top:8px; color:#6a6d72; font-size:10px; }
.content-columns { display:grid; width:min(100%,1180px); grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin:0 auto 80px; border:1px solid #d9dade; background:#d9dade; }
.content-columns > div { padding:28px; background:#fff; }
.content-columns h2 { margin:0 0 12px; font:600 22px/1.1 var(--body); }
.content-columns p { margin:0; color:#60636a; font-size:13px; line-height:1.7; }
.page-actions { display:flex; gap:8px; margin-top:24px; }
.legal-page { width:min(900px,calc(100% - 8vw)); min-height:70vh; margin:0 auto; padding:180px 0 80px; background:#fff; }
.legal-page .breadcrumbs { max-width:100%; margin-bottom:32px; overflow:hidden; }
.legal-page > .eyebrow { margin:0 0 12px; }
.legal-page h1 { max-width:14ch; margin:0 0 42px; overflow-wrap:anywhere; font:400 56px/1 var(--display); text-transform:uppercase; }
.legal-page h2 { margin:32px 0 10px; font:600 22px/1.2 var(--body); }
.legal-page > p:not(.eyebrow):not(.legal-updated) { max-width:760px; margin:0; color:#55585e; font-size:14px; line-height:1.7; }
.legal-updated { margin-top:38px; padding-top:18px; border-top:1px solid #d9dade; color:#73767c; font:700 10px/1.4 var(--body); text-transform:uppercase; }
.booking-summary { min-width:0; }
.booking-progress { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:0; margin:22px 0 0; padding:0; list-style:none; }
.booking-progress li { position:relative; display:grid; gap:7px; color:#94979c; font:700 8px/1.25 var(--body); text-transform:uppercase; }
.booking-progress li::before { position:absolute; top:4px; right:50%; left:-50%; height:1px; background:#d5d7da; content:""; }
.booking-progress li:first-child::before { display:none; }
.booking-progress i { z-index:1; width:9px; height:9px; border:1px solid #aeb1b5; border-radius:50%; background:#fff; }
.booking-progress .is-complete,.booking-progress .is-current { color:#202329; }
.booking-progress .is-complete::before,.booking-progress .is-current::before { background:#202329; }
.booking-progress .is-complete i,.booking-progress .is-current i { border-color:#202329; background:#202329; }
.not-found-page { display:grid; min-height:76vh; place-items:center; padding:160px 20px 80px; background:#f7f7f6; text-align:center; }
.not-found-page > section { width:min(760px,100%); }
.not-found-page h1 { margin:24px 0 14px; font:400 76px/.95 var(--display); }
.not-found-page p { color:#60636a; }
.not-found-page nav { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:16px; margin-top:28px; }
.not-found-page nav > a:not(.button) { font:700 11px/1 var(--body); text-decoration:underline; text-underline-offset:4px; }
.road-scene { position:relative; height:150px; margin-top:20px; overflow:hidden; background:#202329; }
.road-scene::before,.road-scene::after { position:absolute; top:50%; width:44%; height:2px; background:repeating-linear-gradient(90deg,#fff 0 28px,transparent 28px 48px); content:""; }
.road-scene::before { left:0; }.road-scene::after { right:0; }
.road-car { position:absolute; z-index:2; top:50%; left:50%; width:92px; height:34px; border-radius:22px 30px 9px 9px; background:#f5f5f3; transform:translate(-50%,-50%); animation:road-drive 2.8s ease-in-out infinite; }
.road-car::before { position:absolute; top:-18px; left:24px; width:46px; height:24px; border-radius:24px 28px 0 0; background:#f5f5f3; content:""; }
.road-car::after { position:absolute; right:10px; bottom:-8px; left:10px; height:15px; background:radial-gradient(circle at 12px 4px,#202329 0 7px,transparent 8px),radial-gradient(circle at calc(100% - 12px) 4px,#202329 0 7px,transparent 8px); content:""; }
@keyframes road-drive { 0%,100% { transform:translate(-55%,-50%); } 50% { transform:translate(-45%,-52%); } }
@media (prefers-reduced-motion:reduce) { .road-car { animation:none; } }
@media (max-width:720px) { .fresh-faq { width:calc(100% - 30px); padding:48px 0 70px; } .fresh-faq summary { min-height:58px; font-size:13px; } .team-feature img { aspect-ratio:4/5; } .content-columns { grid-template-columns:1fr; margin-bottom:56px; } .content-columns > div { padding:22px; } .page-actions { align-items:stretch; flex-direction:column; } .legal-page { width:100%; padding:126px 16px 58px; } .legal-page .breadcrumbs { margin-bottom:26px; overflow-x:auto; white-space:nowrap; scrollbar-width:none; } .legal-page .breadcrumbs::-webkit-scrollbar { display:none; } .legal-page > .eyebrow { font-size:9px; } .legal-page h1 { max-width:100%; margin-bottom:34px; font-size:34px; line-height:1.05; } .legal-page h2 { margin-top:28px; font-size:18px; line-height:1.25; } .legal-page > p:not(.eyebrow):not(.legal-updated) { font-size:14px; line-height:1.65; } .legal-updated { margin-top:34px; padding-top:16px; overflow-wrap:anywhere; font-size:9px; } .booking-progress { grid-template-columns:repeat(4,1fr); row-gap:18px; } .booking-progress li:nth-child(5)::before { display:none; } .not-found-page { padding-top:110px; } .not-found-page h1 { font-size:50px; } .road-scene { height:118px; } }

/* Availability, collection and rental companion */
.fresh-availability-summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px clamp(18px,4vw,64px); border-bottom:1px solid #d9dade; background:#202329; color:#fff; }
.fresh-availability-summary > div { display:grid; grid-template-columns:auto auto; align-items:baseline; gap:5px 18px; }
.fresh-availability-summary span,.fresh-availability-summary p,.fresh-availability-summary a { font-family:var(--dots); font-weight:700; }
.fresh-availability-summary span { color:#fbd927; font-size:10px; }
.fresh-availability-summary strong { font:400 26px/1 var(--display); }
.fresh-availability-summary p { grid-column:1/-1; margin:0; color:#c8cacf; font-size:10px; }
.fresh-availability-summary a { display:grid; min-height:44px; place-items:center; padding:0 16px; border:1px solid rgba(255,255,255,.45); font-size:10px; }
.fresh-smart-alternatives { padding-top:20px; }
.fresh-smart-alternatives .fresh-rail__track { grid-auto-columns:minmax(220px,280px); padding:0; }

.collection-page { max-width:1180px; }
.collection-vehicle { display:grid; grid-template-columns:minmax(260px,.9fr) 1.1fr; align-items:center; margin-bottom:34px; background:#f1f1f1; }
.collection-vehicle img { width:100%; aspect-ratio:4/3; object-fit:contain; }
.collection-vehicle > div { padding:clamp(22px,5vw,70px); }
.collection-vehicle span,.collection-record dt,.collection-notes span,.collection-wait span,.collection-confirmed span { font:700 10px/1 var(--dots); }
.collection-vehicle h2 { margin:8px 0 4px; font:400 clamp(34px,5vw,68px)/.95 var(--display); }
.collection-vehicle p { margin:0 0 18px; color:#676a70; }
.collection-record { margin-bottom:26px; }
.collection-record .fresh-section-title { border-bottom:1px solid #d9dade; }
.collection-record dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; border-left:1px solid #d9dade; }
.collection-record dl > div { min-height:100px; padding:20px; border-right:1px solid #d9dade; border-bottom:1px solid #d9dade; }
.collection-record dt { color:#73767c; }
.collection-record dd { margin:12px 0 0; font:600 17px/1.2 var(--body); text-transform:capitalize; }
.collection-notes { padding:24px; background:#f4f4f3; }
.collection-notes p { margin:10px 0 0; line-height:1.6; }
.collection-acceptance { display:grid; gap:12px; margin:28px 0 80px; padding:clamp(20px,4vw,44px); border:1px solid #d9dade; }
.collection-acceptance h2 { margin:0 0 8px; font:400 34px/1 var(--display); }
.collection-acceptance label { display:grid; grid-template-columns:22px 1fr; align-items:start; gap:10px; min-height:44px; padding:10px 0; border-bottom:1px solid #e5e5e5; font-weight:600; }
.collection-acceptance input { width:20px; height:20px; accent-color:#202329; }
.collection-acceptance > p { color:#656970; font-size:11px; line-height:1.6; }
.collection-wait,.collection-confirmed { margin:0 0 80px; padding:42px; background:#202329; color:#fff; }
.collection-wait h2,.collection-confirmed h2 { margin:12px 0 0; font:400 40px/1 var(--display); }

.companion-page { padding-top:120px; background:#f4f4f3; }
.companion-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; width:min(100% - 40px,1320px); margin:0 auto; padding:42px 0 26px; }
.companion-heading span,.companion-tools button,.companion-results > div span,.companion-results > div strong { font-family:var(--dots); font-weight:700; }
.companion-heading span { font-size:10px; }
.companion-heading h1 { margin:9px 0; font:400 clamp(46px,7vw,92px)/.9 var(--display); }
.companion-heading p { margin:0; color:#62656b; }
.companion-heading button { display:flex; min-height:46px; align-items:center; gap:9px; padding:0 16px; border:1px solid #202329; background:#fff; font:700 10px/1 var(--body); }
.companion-heading button svg { width:17px; height:17px; }
.companion-tools { display:flex; width:min(100% - 40px,1320px); gap:8px; margin:0 auto 12px; }
.companion-tools button { min-height:44px; padding:0 18px; border:1px solid #cfd1d4; background:#fff; font-size:10px; }
.companion-tools button.is-active { border-color:#202329; background:#202329; color:#fff; }
.companion-map-layout { display:grid; width:min(100% - 40px,1320px); grid-template-columns:minmax(0,1fr) 360px; min-height:640px; margin:0 auto; border:1px solid #d6d7da; background:#fff; }
.companion-map { z-index:1; min-height:640px; background:#e8e9ea; }
.companion-map .leaflet-control-attribution { font-size:9px; }
.companion-results { overflow:auto; max-height:640px; border-left:1px solid #d6d7da; }
.companion-results > div { position:sticky; z-index:2; top:0; display:flex; align-items:center; justify-content:space-between; padding:18px; border-bottom:1px solid #d6d7da; background:#fff; }
.companion-results > div span,.companion-results > div strong { font-size:10px; }
.companion-results > p { margin:0; padding:15px 18px; color:#73767c; font-size:11px; }
.companion-results ol { margin:0; padding:0; list-style:none; }
.companion-results li { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:12px 14px 12px 18px; border-top:1px solid #e5e6e8; }
.companion-results li button { display:grid; min-height:52px; gap:4px; padding:0; border:0; background:transparent; text-align:left; }
.companion-results li button span,.companion-results li small { color:#74777c; font-size:10px; }
.companion-results li a { display:grid; min-height:40px; place-items:center; padding:0 10px; border:1px solid #d4d5d7; font:700 9px/1 var(--body); }
.companion-attribution { width:min(100% - 40px,1320px); margin:10px auto 80px; color:#73767c; font-size:10px; }
.companion-marker-wrap { background:transparent; border:0; }
.companion-marker { display:block; width:28px; height:28px; border:3px solid #fff; border-radius:50%; background:#202329; box-shadow:0 4px 12px rgba(32,35,41,.32); }
.companion-marker--charging { background:#2f7d4a; }
.companion-marker--parking { background:#245ea9; }

.ops-collection-form { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-top:18px; }
.ops-collection-form > label { display:grid; gap:6px; color:#656970; font:700 9px/1 var(--body); }
.ops-collection-form input,.ops-collection-form select,.ops-collection-form textarea { width:100%; min-height:44px; border:1px solid #d9dade; padding:10px; background:#fff; }
.ops-collection-form__notes { grid-column:span 3; }
.ops-collection-form textarea { min-height:96px; resize:vertical; }
.ops-collection-form fieldset { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0; padding:14px; border:1px solid #d9dade; }
.ops-collection-form legend { padding:0 6px; color:#656970; font:700 9px/1 var(--body); }
.ops-collection-form fieldset label { display:flex; min-height:38px; align-items:center; gap:9px; font-size:11px; }
.ops-collection-form fieldset input { width:18px; min-height:18px; height:18px; accent-color:#202329; }
.ops-collection-form > button,.ops-collection-panel > form > button { grid-column:1/-1; min-height:46px; background:#202329; color:#fff; font:700 11px/1 var(--body); }
.ops-collection-record { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ops-collection-record div { display:grid !important; gap:5px !important; }
.ops-collection-record dd { text-align:left !important; text-transform:capitalize; }

@media (max-width:720px) {
  .fresh-availability-summary { align-items:stretch; flex-direction:column; gap:12px; padding:15px; }
  .fresh-availability-summary a { width:100%; }
  .fresh-smart-alternatives { padding-inline:15px; }
  .collection-vehicle { grid-template-columns:1fr; }
  .collection-vehicle > div { padding:22px; }
  .collection-record dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .collection-record dl > div { min-height:84px; padding:15px; }
  .collection-wait,.collection-confirmed { padding:26px 20px; }
  .collection-wait h2,.collection-confirmed h2 { font-size:32px; }
  .companion-page { padding-top:82px; }
  .companion-heading { width:calc(100% - 24px); align-items:stretch; flex-direction:column; padding:24px 0 18px; }
  .companion-heading h1 { font-size:48px; }
  .companion-heading button { justify-content:center; }
  .companion-tools { width:calc(100% - 24px); overflow-x:auto; }
  .companion-tools button { flex:0 0 auto; }
  .companion-map-layout { width:100%; grid-template-columns:1fr; border-inline:0; }
  .companion-map { min-height:54vh; }
  .companion-results { max-height:none; border-top:1px solid #d6d7da; border-left:0; }
  .companion-attribution { width:calc(100% - 30px); margin-bottom:100px; }
  .ops-collection-form { grid-template-columns:1fr 1fr; }
  .ops-collection-form__notes { grid-column:1/-1; }
  .ops-collection-form fieldset { grid-template-columns:1fr; }
  .ops-collection-record { grid-template-columns:1fr 1fr; }
}
