:root {
  color-scheme: dark;
  --ink: #f8f5ef;
  --muted: #c8bfb2;
  --dim: #928779;
  --bg: #070606;
  --bg-soft: #11100f;
  --panel: #171513;
  --panel-strong: #201b17;
  --line: rgba(248, 245, 239, 0.14);
  --gold: #d7b46a;
  --gold-strong: #f0ce83;
  --red: #b3192b;
  --red-strong: #e13245;
  --radius: 8px;
  --shadow: 0 24px 70px rgba(0, 0, 0, 0.38);
  --max: 1180px;
  --display: "Barlow Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-family:
    var(--sans);
}

/* Wedding fleet: editorial vehicle lookbook */
.wedding-fleet-showcase {
  --wedding-fleet-ink: #0b0b0a;
  --wedding-fleet-paper: #f4f2ed;
  --wedding-fleet-muted: #706d66;
  background: var(--wedding-fleet-paper);
  color: var(--wedding-fleet-ink);
  padding: clamp(88px, 9vw, 150px) clamp(22px, 5vw, 82px) clamp(72px, 8vw, 130px);
}

.wedding-fleet-showcase-head {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(240px, 0.65fr);
  align-items: end;
  gap: clamp(40px, 8vw, 150px);
  max-width: 1540px;
  margin: 0 auto clamp(46px, 6vw, 92px);
}

.wedding-fleet-showcase-head > div > p {
  margin: 0 0 18px;
  color: #8b6b25;
  font: 700 0.72rem/1.2 var(--font-sans, Arial, sans-serif);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.wedding-fleet-showcase-head h2 {
  max-width: 900px;
  margin: 0;
  font: 400 clamp(3.2rem, 6vw, 7.6rem)/0.88 var(--font-display, Georgia, serif);
  letter-spacing: -0.035em;
}

.wedding-fleet-showcase-head > p {
  max-width: 430px;
  margin: 0 0 8px;
  padding-top: 26px;
  border-top: 1px solid rgba(11, 11, 10, 0.28);
  color: var(--wedding-fleet-muted);
  font: 400 clamp(1rem, 1.2vw, 1.18rem)/1.65 var(--font-sans, Arial, sans-serif);
}

.wedding-fleet-lookbook {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.5vw, 24px);
  max-width: 1540px;
  margin: 0 auto;
}

.wedding-fleet-car {
  position: relative;
  min-width: 0;
  color: #fff;
  overflow: hidden;
  background: #171715;
  text-decoration: none;
  aspect-ratio: 4 / 4.7;
}

.wedding-fleet-car--hero,
.wedding-fleet-car--portrait,
.wedding-fleet-car--wide {
  grid-column: auto;
  grid-row: auto;
  min-height: 0;
  aspect-ratio: 4 / 4.7;
}

.wedding-fleet-car figure {
  width: 100%;
  height: 100%;
  margin: 0;
}

.wedding-fleet-car figure::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, transparent 46%, rgba(0, 0, 0, 0.78) 100%);
  pointer-events: none;
}

.wedding-fleet-car img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 700ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.wedding-fleet-car--hero img {
  object-position: 52% center;
}

.wedding-fleet-car-copy {
  position: absolute;
  z-index: 1;
  inset: auto clamp(20px, 2.1vw, 34px) clamp(20px, 2.1vw, 34px);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 8px 20px;
}

.wedding-fleet-car-copy span {
  grid-column: 1 / -1;
  font: 700 0.68rem/1.2 var(--font-sans, Arial, sans-serif);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.wedding-fleet-car-copy h3 {
  margin: 0;
  font: 500 clamp(1.55rem, 2.2vw, 2.8rem)/1 var(--font-display, Georgia, serif);
  letter-spacing: -0.02em;
}

.wedding-fleet-car-copy em {
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.78);
  font: 600 0.72rem/1.2 var(--font-sans, Arial, sans-serif);
  font-style: normal;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.82;
  transition: opacity 180ms ease;
}

.wedding-fleet-car:hover img,
.wedding-fleet-car:focus-visible img {
  transform: scale(1.035);
}

.wedding-fleet-car:hover em,
.wedding-fleet-car:focus-visible em {
  opacity: 1;
}

.wedding-fleet-car:focus-visible {
  outline: 3px solid #b58b32;
  outline-offset: 4px;
}

.wedding-fleet-showcase-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 1540px;
  margin: clamp(34px, 4vw, 60px) auto 0;
  padding-top: 26px;
  border-top: 1px solid rgba(11, 11, 10, 0.28);
}

.wedding-fleet-showcase-footer p {
  margin: 0;
  color: var(--wedding-fleet-muted);
  font: 400 0.96rem/1.5 var(--font-sans, Arial, sans-serif);
}

.wedding-fleet-showcase-footer a {
  color: var(--wedding-fleet-ink);
  font: 700 0.82rem/1.2 var(--font-sans, Arial, sans-serif);
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.wedding-fleet-showcase-footer a span {
  display: inline-block;
  margin-left: 14px;
  transition: transform 180ms ease;
}

.wedding-fleet-showcase-footer a:hover span,
.wedding-fleet-showcase-footer a:focus-visible span {
  transform: translateX(5px);
}

@media (max-width: 980px) {
  .wedding-fleet-showcase-head {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .wedding-fleet-showcase-head > p {
    max-width: 620px;
  }

  .wedding-fleet-lookbook {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .wedding-fleet-showcase {
    padding-inline: 16px;
  }

  .wedding-fleet-showcase-head {
    margin-bottom: 34px;
  }

  .wedding-fleet-showcase-head h2 {
    font-size: clamp(3rem, 15vw, 4.5rem);
  }

  .wedding-fleet-showcase-head > p {
    padding-top: 20px;
  }

  .wedding-fleet-lookbook {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .wedding-fleet-car,
  .wedding-fleet-car--hero,
  .wedding-fleet-car--portrait,
  .wedding-fleet-car--wide {
    min-height: 0;
    aspect-ratio: 4 / 4.6;
  }

  .wedding-fleet-car-copy {
    inset: auto 18px 18px;
  }

  .wedding-fleet-car-copy h3 {
    font-size: 1.75rem;
  }

  .wedding-fleet-showcase-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wedding-fleet-car img,
  .wedding-fleet-car-copy em,
  .wedding-fleet-showcase-footer a span {
    transition: none;
  }
}

/* Partner page theme alignment: reuse the homepage's cinematic, editorial, and quote-form language. */
body.partner-page {
  background: var(--bg);
}

.partner-page .partner-hero {
  min-height: 94dvh;
}

.partner-page .partner-hero-media {
  object-position: center;
}

.partner-page .partner-hero-overlay {
  background:
    linear-gradient(0deg, rgba(7, 6, 6, 0.56), rgba(7, 6, 6, 0.56)),
    linear-gradient(0deg, var(--bg) 0%, rgba(7, 6, 6, 0.08) 32%, rgba(7, 6, 6, 0.2) 100%);
}

.partner-page .partner-hero-inner {
  width: min(1040px, calc(100% - 40px));
  justify-content: center;
  padding: clamp(150px, 21vh, 190px) 0 62px;
  text-align: center;
}

.partner-page .partner-hero-copy {
  margin-inline: auto;
}

.partner-page .partner-hero-copy h1 {
  color: #fff;
  background: none;
  text-shadow: 0 14px 42px rgba(0, 0, 0, 0.48);
  animation: none;
}

.partner-page .partner-hero-copy h1 span {
  color: transparent;
  background: linear-gradient(100deg, #fff 0%, #fff 38%, var(--gold-strong) 54%, #fff 72%, #f8f5ef 100%);
  background-size: 180% 100%;
  background-position: center;
  -webkit-background-clip: text;
  background-clip: text;
}

.partner-page .partner-hero-copy h1::after {
  display: none;
}

.partner-page .partner-hero-copy > p:not(.eyebrow) {
  margin-inline: auto;
}

.partner-page .partner-hero-points,
.partner-page .partner-hero-actions {
  justify-content: center;
}

.partner-page .partner-strip {
  width: 100vw;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(30px, 5vw, 78px);
  margin: 0 calc(50% - 50vw) clamp(58px, 8vw, 96px);
  overflow: visible;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 50% 10%, rgba(215, 180, 106, 0.12), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f7f5f0 100%);
  padding: clamp(68px, 8vw, 104px) max(24px, calc((100vw - var(--max)) / 2));
}

.partner-page .partner-strip div {
  min-height: 0;
  justify-items: center;
  gap: 12px;
  background: transparent;
  padding: 0;
  text-align: center;
}

.partner-page .partner-strip span {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  margin-bottom: 8px;
  border: 3px solid #080808;
  border-radius: 50%;
  color: #080808;
  font-size: 0.82rem;
}

.partner-page .partner-strip strong {
  color: #14110d;
  text-transform: uppercase;
}

.partner-page .partner-strip p {
  max-width: 330px;
  color: #625e57;
}

.partner-page .partner-application {
  width: min(1120px, calc(100% - 48px));
  grid-template-columns: minmax(300px, 0.78fr) minmax(460px, 1fr);
  align-items: center;
  gap: clamp(38px, 5.6vw, 78px);
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.partner-page .partner-application-copy {
  display: grid;
  gap: 16px;
  align-content: center;
}

.partner-page .partner-application-copy h2 {
  max-width: 10.5ch;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(3rem, 4.35vw, 4.75rem);
  font-weight: 700;
  line-height: 0.94;
  text-transform: none;
}

.partner-page .partner-form {
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(248, 245, 239, 0.08), rgba(248, 245, 239, 0.025)),
    rgba(18, 17, 16, 0.96);
  padding: clamp(22px, 3vw, 30px);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.34);
}

.partner-page .partner-form input,
.partner-page .partner-form select,
.partner-page .partner-form textarea {
  border-radius: 8px;
  background: rgba(5, 5, 5, 0.72);
}

.partner-page .partner-form input:focus,
.partner-page .partner-form select:focus,
.partner-page .partner-form textarea:focus {
  border-color: rgba(215, 180, 106, 0.62);
  box-shadow: 0 0 0 3px rgba(215, 180, 106, 0.14);
  outline: none;
}

@media (max-width: 1080px) {
  .partner-page .partner-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .partner-page .partner-strip div:last-child {
    grid-column: 1 / -1;
  }

  .partner-page .partner-application {
    grid-template-columns: 1fr;
    width: min(100% - 40px, 680px);
  }
}

@media (max-width: 680px) {
  .partner-page .partner-hero {
    min-height: 92dvh;
  }

  .partner-page .partner-hero-inner {
    width: min(100% - 32px, 680px);
    padding: 122px 0 54px;
  }

  .partner-page .partner-strip {
    grid-template-columns: 1fr;
    padding-inline: 24px;
  }

  .partner-page .partner-strip div:last-child {
    grid-column: auto;
  }

  .partner-page .partner-application {
    width: min(100% - 32px, 680px);
  }

  .partner-page .partner-application-copy h2 {
    font-size: clamp(2.55rem, 12vw, 3.6rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .partner-page .partner-hero-copy h1 {
    animation: none;
    background-position: 0 0;
  }
}

/* Partner — varied editorial rhythm below the hero */
.partner-private-process {
  display: block;
  background: #efede8;
  color: #0a0a0a;
}

.partner-private-process .partner-private-section-head {
  display: grid;
  grid-template-columns: minmax(180px, 0.42fr) minmax(560px, 1.58fr);
  gap: 50px;
  align-items: start;
}

.partner-private-process .partner-private-section-head > p,
.partner-private-process .partner-private-section-head h2 {
  color: #0a0a0a;
}

.partner-private-process .partner-private-section-head h2 {
  max-width: 1050px;
  font-size: clamp(3.7rem, 6.5vw, 7.4rem);
}

.partner-private-process .partner-private-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(70px, 8vw, 120px);
  border-top-color: rgba(10, 10, 10, 0.5);
}

.partner-private-process .partner-private-steps li {
  display: flex;
  min-height: 300px;
  flex-direction: column;
  justify-content: space-between;
  gap: 70px;
  padding: 28px 34px 34px;
  border-right: 1px solid rgba(10, 10, 10, 0.2);
  border-bottom: 0;
}

.partner-private-process .partner-private-steps li:first-child {
  padding-left: 0;
}

.partner-private-process .partner-private-steps li:last-child {
  padding-right: 0;
  border-right: 0;
}

.partner-private-process .partner-private-steps li > span {
  color: rgba(10, 10, 10, 0.4);
}

.partner-private-process .partner-private-steps h3 {
  color: #0a0a0a;
}

.partner-private-process .partner-private-steps p {
  color: rgba(10, 10, 10, 0.62);
}

.partner-private-standard {
  grid-template-columns: minmax(500px, 1.15fr) minmax(460px, 0.85fr);
  align-items: center;
  background:
    radial-gradient(circle at 8% 60%, rgba(255, 255, 255, 0.055), transparent 34%),
    #070707;
  color: #f4f2ed;
}

.partner-private-standard .partner-private-standard-copy > p:first-child,
.partner-private-standard .partner-private-standard-copy h2 {
  color: #f4f2ed;
}

.partner-private-standard .partner-private-standard-copy > p:not(:first-child) {
  color: rgba(255, 255, 255, 0.58);
}

.partner-private-standard .partner-private-standard-copy > a {
  border-bottom-color: #f4f2ed;
  color: #f4f2ed;
}

.partner-private-standard .partner-private-standards {
  display: block;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  border-left: 0;
}

.partner-private-standard .partner-private-standards article {
  display: grid;
  min-height: 0;
  grid-template-columns: 48px 1fr;
  column-gap: 18px;
  padding: 26px 0 28px;
  border-right: 0;
  border-bottom-color: rgba(255, 255, 255, 0.16);
}

.partner-private-standard .partner-private-standards article > span {
  grid-row: 1 / span 2;
  margin: 4px 0 0;
  color: rgba(255, 255, 255, 0.4);
}

.partner-private-standard .partner-private-standards h3 {
  color: #f4f2ed;
  font-size: clamp(1.3rem, 1.7vw, 1.75rem);
}

.partner-private-standard .partner-private-standards p {
  color: rgba(255, 255, 255, 0.5);
}

.partner-private-application {
  background: #e5e2dc;
  color: #0a0a0a;
}

.partner-private-application .partner-private-application-copy > p:first-child,
.partner-private-application .partner-private-application-copy h2 {
  color: #0a0a0a;
}

.partner-private-application .partner-private-application-copy > p:nth-of-type(2) {
  color: rgba(10, 10, 10, 0.66);
}

.partner-private-application .partner-private-review-note {
  border-top-color: rgba(10, 10, 10, 0.3);
}

.partner-private-application .partner-private-review-note > span {
  color: rgba(10, 10, 10, 0.48);
}

.partner-private-application .partner-private-review-note p {
  color: rgba(10, 10, 10, 0.62);
}

.partner-private-application .partner-private-review-note strong {
  color: #0a0a0a;
}

@media (max-width: 1024px) {
  .partner-private-process .partner-private-section-head {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .partner-private-standard {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .partner-private-process .partner-private-steps {
    display: block;
    margin-top: 55px;
  }

  .partner-private-process .partner-private-steps li,
  .partner-private-process .partner-private-steps li:first-child,
  .partner-private-process .partner-private-steps li:last-child {
    display: grid;
    min-height: 0;
    grid-template-columns: 38px 1fr;
    gap: 12px;
    padding: 27px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(10, 10, 10, 0.2);
  }

  .partner-private-standard .partner-private-standards article {
    padding: 24px 0;
  }
}

/* Final cascade guard for the Fleet rebuild; legacy Fleet rules above must not restyle the new showroom cards. */
.fleet-page .showroom-card,
.fleet-page .showroom-card:hover {
  display: block;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.fleet-page .showroom-card-media,
.fleet-page .showroom-card-skeleton-media {
  aspect-ratio: 4 / 3;
  border-radius: 0;
}

.fleet-page .showroom-card-media::before,
.fleet-page .showroom-card-media::after { display: none; }

.fleet-page .showroom-card-media img {
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: cover;
}

.fleet-page .showroom-card-body {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 21px 0 13px;
  color: inherit;
  background: transparent;
}

.fleet-page .showroom-card-body .showroom-card-title {
  display: block;
  min-width: 0;
}

.fleet-page .showroom-card-body span,
.fleet-page .showroom-card-body h3,
.fleet-page .showroom-card-body strong,
.fleet-page .showroom-card-body strong small { color: inherit; }

.fleet-page .showroom-card-body h3 {
  margin: 7px 0 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(1.22rem, 1.8vw, 1.8rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.035em;
}

.fleet-page .showroom-request {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-top: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
  color: inherit;
  padding: 14px 0 0;
}

@media (max-width: 760px) {
  .fleet-hero-copy,
  .fleet-hero-concierge,
  .fleet-hero-concierge p { width: 100%; max-width: 100%; white-space: normal; overflow-wrap: break-word; }
  .fleet-brand-gallery h2 { max-width: 100%; font-size: clamp(2.35rem, 11vw, 3.2rem); overflow-wrap: normal; }
  .fleet-page .showroom-card-body { align-items: start; }
  .fleet-page .showroom-card-body h3 { font-size: 1.4rem; }
}


* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

html {
  scroll-behavior: smooth;
  overflow-x: clip;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.5;
  overflow-x: clip;
}

body::selection {
  background: var(--gold);
  color: #120d09;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
a,
input,
select,
textarea,
summary {
  -webkit-tap-highlight-color: transparent;
}

:focus-visible {
  outline: 3px solid var(--gold-strong);
  outline-offset: 4px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.skip-link {
  position: fixed;
  left: 16px;
  top: 12px;
  z-index: 1000;
  transform: translateY(-160%);
  background: var(--ink);
  color: var(--bg);
  padding: 12px 16px;
  border-radius: var(--radius);
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px clamp(18px, 4vw, 56px);
  transition:
    background 220ms ease,
    border-color 220ms ease,
    padding 220ms ease;
}

.site-header.scrolled {
  background: rgba(7, 6, 6, 0.86);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(18px);
  padding-block: 12px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 60px;
}

.brand-logo {
  width: 66px;
  height: 66px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.brand-logo-wide {
  width: clamp(150px, 16vw, 230px);
  height: auto;
  max-height: 72px;
}

.brand strong,
.brand small {
  display: block;
}

.brand strong {
  font-family: var(--display);
  font-size: clamp(1.35rem, 2vw, 1.72rem);
  font-weight: 800;
  line-height: 1;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.42);
}

.brand small {
  color: var(--ink);
  font-size: 0.78rem;
}

.desktop-nav {
  display: flex;
  gap: 26px;
  color: var(--ink);
  font-size: 0.9rem;
}

.desktop-nav a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  transition: color 180ms ease;
}

.desktop-nav a:hover {
  color: var(--ink);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.primary-button,
.secondary-button,
.ghost-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: var(--radius);
  border: 1px solid transparent;
  padding: 13px 18px;
  cursor: pointer;
  font-weight: 750;
  transition:
    transform 180ms ease,
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    opacity 180ms ease;
  touch-action: manipulation;
}

.primary-button {
  background: var(--gold);
  color: #140f09;
}

.primary-button:hover,
.secondary-button:hover,
.ghost-button:hover {
  transform: translateY(-2px);
}

.primary-button:active,
.secondary-button:active,
.ghost-button:active {
  transform: translateY(0) scale(0.98);
}

.primary-button svg,
.secondary-button svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.secondary-button,
.ghost-button {
  border-color: rgba(248, 245, 239, 0.22);
  background: rgba(248, 245, 239, 0.06);
  color: var(--ink);
}

.compact {
  min-height: 44px;
  padding: 10px 14px;
}

.full {
  width: 100%;
}

.primary-button:disabled {
  cursor: wait;
  opacity: 0.66;
}

.menu-toggle {
  display: none;
  width: 48px;
  height: 48px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(248, 245, 239, 0.06);
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  margin: 6px auto;
  background: var(--ink);
  transition: transform 180ms ease;
}

.menu-toggle[aria-expanded="true"] span:first-child {
  transform: translateY(4px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] span:last-child {
  transform: translateY(-4px) rotate(-45deg);
}

.mobile-menu {
  position: fixed;
  inset: 78px 16px auto;
  z-index: 99;
  display: none;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(17, 16, 15, 0.96);
  box-shadow: var(--shadow);
  backdrop-filter: blur(20px);
  overflow: hidden;
}

.mobile-menu.open {
  display: grid;
}

.mobile-menu a {
  min-height: 48px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
}

.hero {
  position: relative;
  min-height: 94dvh;
  display: grid;
  align-items: center;
  overflow: hidden;
}

.hero-media,
.hero-poster,
.hero-scrim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-media,
.hero-poster {
  object-fit: cover;
}

.hero-media {
  z-index: 0;
}

.hero-poster {
  z-index: -1;
  animation: heroDrift 18s ease-out both;
}

.hero-scrim {
  z-index: 1;
  background:
    linear-gradient(0deg, rgba(7, 6, 6, 0.52), rgba(7, 6, 6, 0.52)),
    linear-gradient(0deg, var(--bg) 0%, rgba(7, 6, 6, 0.08) 32%, rgba(7, 6, 6, 0.18) 100%);
}

.hero-content {
  position: relative;
  z-index: 2;
  width: min(1040px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(150px, 21vh, 190px) 0 62px;
  text-align: center;
}

.hero .reveal {
  animation: heroReveal 720ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.hero .reveal:nth-child(2) {
  animation-delay: 80ms;
}

.hero .reveal:nth-child(3) {
  animation-delay: 150ms;
}

.hero .reveal:nth-child(4) {
  animation-delay: 220ms;
}

.hero .reveal:nth-child(5) {
  animation-delay: 280ms;
}

.eyebrow {
  margin: 0 0 14px;
  color: var(--gold-strong);
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
}

h1,
h2,
h3,
p {
  text-wrap: pretty;
}

h1,
h2 {
  margin: 0;
  font-family: var(--display);
  font-weight: 700;
  line-height: 0.94;
  letter-spacing: -0.015em;
}

h1 {
  max-width: 920px;
  margin-inline: auto;
}

.hero h1 {
  position: relative;
  font-family: var(--display);
  font-size: clamp(2.2rem, 3.65vw, 4rem);
  font-weight: 800;
  line-height: 0.98;
  letter-spacing: 0.005em;
  text-align: center;
  text-transform: uppercase;
  color: transparent;
  background:
    linear-gradient(100deg, #fff 0%, #fff 34%, var(--gold-strong) 48%, #fff 62%, #f8f5ef 100%),
    linear-gradient(180deg, #fff 0%, #f8f5ef 58%, #d7b46a 140%);
  background-size: 220% 100%, 100% 100%;
  background-position: 120% 50%, 0 0;
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: 0 14px 42px rgba(0, 0, 0, 0.48);
  animation-name: heroReveal, heroTitleShine;
  animation-duration: 720ms, 5.8s;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1), ease-in-out;
  animation-delay: 0ms, 900ms;
  animation-iteration-count: 1, infinite;
  animation-fill-mode: both, none;
}

.hero h1.reveal {
  animation-name: heroReveal, heroTitleShine;
  animation-duration: 720ms, 5.8s;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1), ease-in-out;
  animation-delay: 0ms, 900ms;
  animation-iteration-count: 1, infinite;
  animation-fill-mode: both, none;
}

.hero h1::after {
  content: "";
  display: block;
  width: clamp(96px, 12vw, 168px);
  height: 3px;
  margin: 22px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(215, 180, 106, 0), var(--gold), rgba(215, 180, 106, 0));
  box-shadow: 0 0 26px rgba(215, 180, 106, 0.42);
  animation: heroLinePulse 3.4s ease-in-out 1s infinite;
}

h2 {
  max-width: 900px;
  font-size: clamp(2.3rem, 6vw, 5.8rem);
}

h3 {
  margin: 0;
  font-size: 1.16rem;
  line-height: 1.18;
}

.hero-copy {
  max-width: 760px;
  margin: 24px auto 0;
  color: rgba(248, 245, 239, 0.9);
  font-size: clamp(0.98rem, 1.18vw, 1.24rem);
  font-weight: 520;
  line-height: 1.55;
  text-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}

.hero-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 34px;
}

.hero-booking-button {
  min-height: 58px;
  border-radius: 999px;
  background: var(--gold);
  color: #140f09;
  padding: 16px clamp(24px, 2.8vw, 38px);
  font-size: clamp(0.86rem, 1vw, 1rem);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: capitalize;
  box-shadow: 0 16px 34px rgba(215, 180, 106, 0.24);
}

.hero-booking-button:hover {
  background: var(--gold-strong);
}

.hero-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 26px;
}

.hero-stats span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(248, 245, 239, 0.06);
  padding: 10px 14px;
  color: var(--muted);
  backdrop-filter: blur(12px);
}

.hero-stats strong {
  color: var(--ink);
}

.marquee {
  border-block: 1px solid var(--line);
  background: #0b0a09;
  overflow: hidden;
}

.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee 28s linear infinite;
}

.marquee-group {
  display: flex;
  flex: 0 0 auto;
  min-width: 100vw;
  justify-content: space-around;
}

.marquee span {
  flex: 0 0 auto;
  padding: 18px 28px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.local-service-section,
.seo-page-main {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.local-service-section {
  padding-block: clamp(40px, 5vw, 64px) clamp(64px, 8vw, 112px);
}

.local-service-section .section-heading {
  max-width: 760px;
  margin-bottom: 32px;
}

.local-service-section .section-heading > p:last-child,
.seo-page-lead,
.seo-copy p,
.seo-copy li {
  color: var(--muted);
  line-height: 1.75;
}

.local-service-grid,
.seo-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.local-service-grid a,
.seo-card {
  min-height: 150px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(248, 245, 239, 0.045);
  padding: 26px;
}

.local-service-grid a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--ink);
  font-family: var(--display);
  font-size: 1.35rem;
  font-weight: 800;
  transition: border-color 180ms ease, background 180ms ease;
}

.local-service-grid a:hover,
.local-service-grid a:focus-visible {
  border-color: var(--gold);
  background: rgba(215, 180, 106, 0.08);
}

.local-service-grid span {
  color: var(--gold);
  font-family: var(--sans);
  font-size: 0.78rem;
  text-transform: uppercase;
}

.local-service-section {
  width: 100%;
  background: #e6e4df;
  color: #232527;
  padding-block: clamp(72px, 9vw, 132px);
}

.delivery-editorial {
  width: min(1280px, calc(100% - 48px));
  display: grid;
  grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr);
  align-items: end;
  gap: clamp(40px, 7vw, 96px);
  margin-inline: auto;
}

.delivery-editorial-copy {
  padding-bottom: clamp(8px, 2vw, 24px);
}

.delivery-editorial-copy .quote-kicker {
  margin-bottom: 18px;
  color: #6f7478;
  letter-spacing: 0.16em;
}

.delivery-editorial-copy h2 {
  max-width: 9ch;
  margin: 0;
  color: #202224;
  font-size: clamp(3.25rem, 6.4vw, 6.6rem);
  line-height: 0.86;
  letter-spacing: -0.035em;
}

.delivery-editorial-copy > p:not(.quote-kicker) {
  max-width: 530px;
  margin: 26px 0 0;
  color: #5e6265;
  font-size: 1rem;
  line-height: 1.75;
}

.delivery-arrange {
  min-height: 50px;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  margin-top: 30px;
  border-bottom: 1px solid #8d9397;
  color: #232527;
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: color 180ms ease, gap 180ms ease;
}

.delivery-arrange svg {
  width: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.delivery-arrange:hover,
.delivery-arrange:focus-visible {
  gap: 24px;
  color: #6d7377;
}

.delivery-custom-note {
  display: block;
  max-width: 400px;
  margin-top: 18px;
  color: #777b7e;
  font-size: 0.78rem;
  line-height: 1.5;
}

.delivery-editorial-visual {
  position: relative;
  min-height: clamp(460px, 48vw, 650px);
  overflow: hidden;
  margin: 0;
  background: #0e0d0c;
}

.delivery-editorial-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 46%, rgba(0, 0, 0, 0.76) 100%);
  pointer-events: none;
}

.delivery-editorial-visual img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  object-position: 58% center;
  filter: saturate(0.82) contrast(1.04);
  transition: transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1), filter 500ms ease;
}

.delivery-editorial-visual:hover img {
  transform: scale(1.025);
  filter: saturate(0.95) contrast(1.04);
}

.delivery-editorial-visual figcaption {
  position: absolute;
  z-index: 1;
  right: clamp(22px, 3vw, 40px);
  bottom: clamp(22px, 3vw, 40px);
  left: clamp(22px, 3vw, 40px);
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.35);
  padding-top: 18px;
}

.delivery-editorial-visual figcaption span {
  color: #dce1e4;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.delivery-editorial-visual figcaption strong {
  max-width: 250px;
  color: #fff;
  font-size: 0.92rem;
  font-weight: 650;
  line-height: 1.4;
  text-align: right;
}

.delivery-destinations {
  width: min(1280px, calc(100% - 48px));
  margin: clamp(54px, 7vw, 92px) 0 0;
  margin-inline: auto;
  padding: 0;
  border-top: 1px solid rgba(35, 37, 39, 0.42);
  list-style: none;
}

.delivery-destinations li {
  min-height: 148px;
  display: grid;
  grid-template-columns: 90px minmax(220px, 0.8fr) minmax(280px, 1.2fr);
  align-items: center;
  gap: clamp(20px, 4vw, 58px);
  border-bottom: 1px solid rgba(35, 37, 39, 0.16);
  transition: background 220ms ease, padding 220ms ease;
}

.delivery-destinations li:hover {
  background: rgba(255, 255, 255, 0.42);
  padding-inline: 16px;
}

.delivery-number {
  color: #858b8f;
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.18em;
}

.delivery-destination-name > span {
  display: block;
  margin-bottom: 6px;
  color: #777c80;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.delivery-destination-name h3 {
  margin: 0;
  color: #232527;
  font-size: clamp(1.65rem, 2.5vw, 2.5rem);
  line-height: 1;
}

.delivery-destinations nav {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.delivery-destinations nav a {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(35, 37, 39, 0.28);
  border-radius: 999px;
  padding: 0 18px;
  color: #232527;
  font-size: 0.74rem;
  font-weight: 760;
  letter-spacing: 0.05em;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.delivery-destinations nav a:hover,
.delivery-destinations nav a:focus-visible {
  border-color: #34383b;
  background: #34383b;
  color: #f3f2ee;
}

@media (max-width: 900px) {
  .delivery-editorial {
    grid-template-columns: 1fr;
  }

  .delivery-editorial-copy h2 {
    max-width: 11ch;
  }

  .delivery-editorial-visual {
    min-height: clamp(420px, 82vw, 620px);
  }

  .delivery-destinations li {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 18px 20px;
    padding-block: 26px;
  }

  .delivery-destinations nav {
    grid-column: 2;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}

@media (max-width: 560px) {
  .local-service-section {
    width: 100%;
    padding-block: 64px 80px;
  }

  .delivery-editorial,
  .delivery-destinations {
    width: min(100% - 28px, 1280px);
  }

  .delivery-editorial-copy h2 {
    font-size: clamp(3rem, 15vw, 4.6rem);
  }

  .delivery-editorial-copy > p:not(.quote-kicker) {
    font-size: 0.94rem;
  }

  .delivery-editorial-visual {
    min-height: 430px;
  }

  .delivery-editorial-visual figcaption {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .delivery-editorial-visual figcaption strong {
    text-align: left;
  }

  .delivery-destinations li {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .delivery-destinations nav a {
    min-height: 44px;
    padding-inline: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .delivery-editorial-visual img,
  .delivery-destinations li,
  .delivery-arrange {
    transition: none;
  }

  .delivery-editorial-visual:hover img {
    transform: none;
  }
}

.seo-page-main {
  padding: clamp(150px, 16vw, 210px) 0 clamp(72px, 9vw, 120px);
}

.seo-page-hero {
  max-width: 900px;
  margin-bottom: clamp(52px, 7vw, 84px);
}

.seo-page-hero h1 {
  margin: 12px 0 20px;
  font-family: var(--display);
  font-size: clamp(2.8rem, 7vw, 6.8rem);
  line-height: 0.96;
}

.seo-page-lead {
  max-width: 720px;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
}

.seo-page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.seo-copy {
  display: grid;
  gap: clamp(48px, 6vw, 72px);
}

.seo-copy section {
  max-width: 820px;
}

.seo-copy h2,
.seo-card h2,
.seo-card h3 {
  margin-bottom: 14px;
  font-family: var(--display);
}

.seo-copy h2 {
  font-size: clamp(2rem, 4vw, 3.4rem);
}

.seo-copy ul {
  padding-left: 20px;
}

@media (max-width: 760px) {
  .local-service-grid,
  .seo-card-grid {
    grid-template-columns: 1fr;
  }

  .seo-page-main {
    width: min(100% - 28px, 1180px);
  }

  .local-service-section {
    width: 100%;
  }
}

.admin-pricing-benchmark {
  display: grid;
  gap: 16px;
  margin-top: 8px;
  border: 1px solid rgba(216, 183, 101, 0.24);
  border-radius: 14px;
  background: rgba(216, 183, 101, 0.055);
  padding: 18px;
}

.admin-pricing-benchmark h4,
.admin-pricing-benchmark p {
  margin: 0;
}

.admin-pricing-benchmark p {
  margin-top: 5px;
  color: var(--crm-muted, var(--muted));
  font-size: 0.84rem;
}

.admin-pricing-recommendation {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid rgba(245, 240, 232, 0.1);
  padding-top: 14px;
}

.admin-pricing-recommendation span {
  color: #f0cf82;
  font-size: 0.84rem;
  font-weight: 760;
}

.traffic-performance-card {
  margin-top: 18px;
}

.traffic-insights {
  display: grid;
  gap: 18px;
}

.traffic-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.traffic-kpis article {
  min-width: 0;
  display: grid;
  gap: 5px;
  border: 1px solid rgba(245, 240, 232, 0.1);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.025);
  padding: 14px;
}

.traffic-kpis span,
.traffic-kpis small {
  color: var(--crm-muted, var(--muted));
}

.traffic-kpis span {
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.traffic-kpis strong {
  color: var(--crm-text, var(--ink));
  font-size: 1.55rem;
}

.traffic-kpis small {
  font-size: 0.74rem;
}

.traffic-table-wrap {
  overflow-x: auto;
}

.traffic-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  font-size: 0.82rem;
}

.traffic-table th,
.traffic-table td {
  border-bottom: 1px solid rgba(245, 240, 232, 0.09);
  padding: 11px 10px;
  text-align: left;
}

.traffic-table th {
  color: var(--crm-muted, var(--muted));
  font-size: 0.68rem;
  text-transform: uppercase;
}

.traffic-rate {
  display: inline-flex;
  min-width: 48px;
  justify-content: center;
  border-radius: 999px;
  background: rgba(216, 183, 101, 0.12);
  color: #f0cf82;
  padding: 5px 8px;
  font-weight: 800;
}

@media (max-width: 900px) {
  .traffic-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .admin-pricing-recommendation {
    align-items: stretch;
    flex-direction: column;
  }
}

.site-footer a[href="/admin/"] {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

/* Keep the inventory rail aligned with the full vehicle editor card. */
@media (min-width: 1421px) {
  .admin-page [data-section-panel="vehicles"] .admin-layout {
    align-items: stretch !important;
  }

  .admin-page [data-section-panel="vehicles"] .admin-list-panel {
    height: 100%;
    min-height: 100%;
    align-self: stretch;
  }
}

.monthly-special-admin {
  display: grid;
  gap: 24px;
  padding: clamp(20px, 3vw, 32px);
}

.monthly-special-picker {
  min-width: 0;
  margin: 0;
  border: 0;
  padding: 0;
}

.monthly-special-picker legend {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--ink);
  font-weight: 800;
}

.monthly-special-picker legend span,
.monthly-special-picker > p {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 600;
}

.monthly-special-car-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.monthly-special-car {
  position: relative;
  display: grid;
  min-width: 0;
  cursor: pointer;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.035);
  transition: border-color 180ms ease, background 180ms ease;
}

.monthly-special-car:hover,
.monthly-special-car:focus-within,
.monthly-special-car.selected {
  border-color: var(--gold);
  background: rgba(215, 180, 106, 0.08);
}

.monthly-special-car input {
  position: absolute;
  z-index: 2;
  top: 12px;
  right: 12px;
  width: 22px;
  height: 22px;
  accent-color: var(--gold);
}

.monthly-special-car img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.monthly-special-car > span {
  display: grid;
  gap: 5px;
  padding: 14px;
}

.monthly-special-car strong {
  overflow: hidden;
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.monthly-special-car small {
  color: var(--muted);
}

.monthly-special-actions {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.specials-empty {
  display: grid;
  min-width: min(560px, 85vw);
  min-height: 220px;
  place-content: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--muted);
  text-align: center;
}

.specials-empty strong {
  color: var(--ink);
}

@media (max-width: 900px) {
  .monthly-special-car-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .monthly-special-car-grid {
    grid-template-columns: 1fr;
  }

  .monthly-special-actions,
  .monthly-special-picker legend {
    align-items: stretch;
    flex-direction: column;
  }
}

.video-banner {
  position: relative;
  width: 100vw;
  min-height: clamp(330px, 46vw, 560px);
  margin: 0 calc(50% - 50vw) clamp(42px, 6vw, 76px);
  overflow: hidden;
  background: #050505;
  color: #fff;
  isolation: isolate;
}

.video-banner-media,
.video-banner-overlay {
  position: absolute;
  inset: 0;
}

.video-banner-media {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.015);
  opacity: 0;
  transition: opacity 500ms ease;
}

.video-banner-media.is-ready {
  opacity: 1;
}

.video-banner-overlay {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(5, 5, 5, 0.26), rgba(5, 5, 5, 0.02), rgba(5, 5, 5, 0.22)),
    linear-gradient(0deg, rgba(5, 5, 5, 0.24), rgba(5, 5, 5, 0.02));
  pointer-events: none;
}

.section {
  width: min(var(--max), calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(72px, 10vw, 126px) 0;
}

.fleet-section {
  padding-top: clamp(44px, 6vw, 82px);
  padding-bottom: 0;
}

.section-heading {
  display: grid;
  gap: 16px;
  margin-bottom: 34px;
}

.section-heading p:not(.eyebrow),
.split-content > p,
.booking-copy > p {
  max-width: 690px;
  margin: 0;
  color: var(--muted);
  font-size: 1.04rem;
}

.filter-bar {
  display: flex;
  gap: 10px;
  margin-bottom: 22px;
  overflow-x: auto;
  padding-bottom: 6px;
  scrollbar-width: none;
}

.filter-bar::-webkit-scrollbar {
  display: none;
}

.filter-chip {
  flex: 0 0 auto;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  padding: 10px 16px;
  cursor: pointer;
}

.filter-chip.active,
.filter-chip:hover {
  border-color: var(--gold);
  color: var(--ink);
  background: rgba(215, 180, 106, 0.12);
}

.offer-pill {
  width: fit-content;
  border-radius: 999px;
  border: 1px solid rgba(215, 180, 106, 0.36);
  background: rgba(215, 180, 106, 0.13);
  color: var(--gold-strong);
  padding: 13px 24px;
  font-size: 0.92rem;
  text-transform: none;
}

.fan-showcase {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 10px;
  margin: 0 auto clamp(42px, 6vw, 72px);
  padding: 0 0 clamp(12px, 2vw, 18px);
  overflow: hidden;
}

.fan-showcase::before {
  content: "";
  position: absolute;
  inset: 8% 8% auto;
  height: 48%;
  pointer-events: none;
  background: radial-gradient(circle at 50% 50%, rgba(215, 180, 106, 0.16), transparent 62%);
  filter: blur(18px);
}

.fan-stage {
  position: relative;
  width: 100%;
  min-height: clamp(300px, 38vw, 480px);
  margin-top: 0;
}

.fan-card {
  --fan-x: 0rem;
  --fan-y: 0rem;
  --fan-rot: 0deg;
  --fan-scale: 1;
  --fan-opacity: 1;
  --fan-hover-y: 0px;
  position: absolute;
  left: 50%;
  top: 48%;
  width: clamp(168px, 24vw, 300px);
  aspect-ratio: 9 / 13;
  display: block;
  overflow: hidden;
  border: 1px solid rgba(248, 245, 239, 0.22);
  border-radius: 8px;
  background: #100f0e;
  box-shadow: 0 26px 64px rgba(0, 0, 0, 0.44);
  opacity: var(--fan-opacity);
  transform:
    translate(-50%, -50%)
    translate(var(--fan-x), var(--fan-y))
    translateY(var(--fan-hover-y))
    rotate(var(--fan-rot))
    scale(var(--fan-scale));
  transition:
    transform 540ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 260ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
  will-change: transform, opacity;
}

.fan-card:hover,
.fan-card:focus-visible {
  --fan-hover-y: -18px;
  border-color: rgba(215, 180, 106, 0.66);
  box-shadow:
    0 0 0 1px rgba(215, 180, 106, 0.12),
    0 34px 76px rgba(0, 0, 0, 0.5);
}

.fan-card[aria-hidden="true"] {
  pointer-events: none;
}

.fan-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 420ms ease;
}

.fan-card:hover img,
.fan-card:focus-visible img {
  transform: scale(1.04);
}

.fan-card-loading {
  pointer-events: none;
  background:
    linear-gradient(110deg, rgba(248, 245, 239, 0.04) 0%, rgba(215, 180, 106, 0.14) 42%, rgba(248, 245, 239, 0.04) 78%),
    #12100e;
  background-size: 220% 100%;
  animation: fleetImageLoading 1.2s ease-in-out infinite;
}

.fan-card span {
  position: absolute;
  inset: auto 12px 12px;
  display: block;
  border: 1px solid rgba(248, 245, 239, 0.16);
  border-radius: 8px;
  background: rgba(7, 6, 6, 0.68);
  padding: 10px 11px;
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 850;
  line-height: 1.16;
  backdrop-filter: blur(14px);
}

.fan-controls {
  position: relative;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: -22px;
}

.fan-dots {
  min-width: 130px;
  display: flex;
  justify-content: center;
  gap: 9px;
}

.fan-dots span {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(248, 245, 239, 0.3);
  transition:
    transform 180ms ease,
    background 180ms ease;
}

.fan-dots span.active {
  background: var(--ink);
  transform: scale(1.35);
}

.rental-fan-showcase {
  width: min(100%, 1520px);
  margin: clamp(58px, 8vw, 116px) auto clamp(48px, 7vw, 92px);
  padding-bottom: clamp(18px, 3vw, 30px);
  contain: paint;
}

.rental-fan-showcase::before {
  inset: 12% 4% auto;
  height: 62%;
  background:
    radial-gradient(circle at 50% 50%, rgba(215, 180, 106, 0.16), transparent 58%),
    radial-gradient(circle at 50% 74%, rgba(248, 245, 239, 0.08), transparent 56%);
}

.rental-fan-showcase .fan-stage {
  min-height: clamp(390px, 38vw, 580px);
}

.rental-fan-showcase .fan-card {
  width: clamp(200px, 23vw, 380px);
  aspect-ratio: 7 / 10;
}

.rental-fan-showcase .fan-card span {
  inset: auto 16px 16px;
  padding: 14px 16px;
  background: rgba(22, 17, 14, 0.82);
  font-size: clamp(0.82rem, 1vw, 1.02rem);
}

.rental-fan-showcase .fan-controls {
  margin-top: -12px;
}

.arrival-statement {
  position: relative;
  width: min(100%, 1240px);
  margin: 0 auto clamp(24px, 3.4vw, 40px);
  border: 0;
  padding: clamp(18px, 2.2vw, 28px) 0;
  background: transparent;
  text-align: center;
  isolation: isolate;
}

.arrival-statement::before {
  content: none;
}

.arrival-statement h2 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(0.22em, 0.78vw, 0.42em);
  max-width: none;
  margin: 0;
  color: rgba(248, 245, 239, 0.9);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(1.72rem, 3.35vw, 3.55rem);
  font-weight: 950;
  line-height: 1.06;
  text-transform: uppercase;
  text-wrap: balance;
  text-shadow: 0 10px 24px rgba(0, 0, 0, 0.42);
}

.dia-text {
  position: relative;
  display: inline-block;
  z-index: 0;
  min-width: 9.6ch;
  border: 0;
  border-bottom: 2px solid var(--red-strong);
  border-radius: 6px;
  background: transparent;
  color: var(--gold-strong);
  padding: 0 0.06em 0.08em;
  box-shadow: none;
  animation: none;
  filter: none;
  transition:
    opacity 220ms ease,
    transform 220ms ease;
}

.dia-text.swapping {
  opacity: 0;
  filter: blur(6px);
  transform: translateY(8px);
}

.performance-strip {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  height: clamp(210px, 34vw, 560px);
  margin: 0 calc(50% - 50vw) clamp(32px, 5vw, 56px);
  overflow: hidden;
  border: 1px solid rgba(248, 245, 239, 0.14);
  border-inline: 0;
  border-radius: 0;
  background: #0f0e0d;
  box-shadow:
    0 26px 82px rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(215, 180, 106, 0.08);
  isolation: isolate;
}

.performance-strip::before,
.performance-strip::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.performance-strip::before {
  background:
    linear-gradient(90deg, rgba(7, 6, 6, 0.38), transparent 22%, transparent 78%, rgba(7, 6, 6, 0.32)),
    linear-gradient(180deg, rgba(7, 6, 6, 0.22), transparent 28%, transparent 72%, rgba(7, 6, 6, 0.34));
}

.performance-strip::after {
  inset: auto 0 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(215, 180, 106, 0.88), transparent);
  opacity: 0.72;
}

.performance-strip img {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  display: block;
  max-width: none;
  min-height: 100%;
  transform: none;
  animation: performanceGlow 8s ease-in-out infinite alternate;
  will-change: filter;
}

.fleet-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.fleet-toolbar p {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 850;
  text-transform: uppercase;
}

.fleet-slider-controls {
  display: flex;
  gap: 8px;
}

.slider-arrow {
  width: 48px;
  height: 48px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(248, 245, 239, 0.14);
  border-radius: 999px;
  background: rgba(248, 245, 239, 0.055);
  color: var(--ink);
  cursor: pointer;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.slider-arrow:hover {
  transform: translateY(-2px);
  border-color: var(--gold);
  background: rgba(215, 180, 106, 0.12);
}

.slider-arrow svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.fleet-slider {
  margin-inline: calc((min(var(--max), calc(100vw - 40px)) - min(var(--max), calc(100vw - 40px))) / 2);
}

.fleet-viewport {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 2px 0 18px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.fleet-viewport::-webkit-scrollbar {
  display: none;
}

.fleet-grid {
  display: grid;
  grid-auto-columns: minmax(280px, 25%);
  grid-auto-flow: column;
  grid-template-columns: none;
  gap: 16px;
}

.process-card,
.event-panel,
.booking-form {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.18);
}

.car-card {
  scroll-snap-align: start;
  display: grid;
  grid-template-rows: auto 1fr;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--ink);
  overflow: hidden;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
  transition:
    transform 220ms ease,
    box-shadow 220ms ease,
    border-color 220ms ease;
}

.shop-browse {
  display: grid;
  gap: 34px;
  margin-top: 34px;
}

.shop-panel {
  min-width: 0;
}

.shop-panel-head {
  margin-bottom: 22px;
  text-align: center;
}

.shop-panel-head p {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 650;
  text-transform: uppercase;
}

.shop-panel h3 {
  max-width: none;
  color: var(--ink);
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.shop-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(168px, 1fr);
  gap: 28px;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 26px 0 16px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.shop-rail::-webkit-scrollbar {
  display: none;
}

.shop-tile {
  scroll-snap-align: start;
  min-height: 112px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 9px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ink);
  padding: 10px;
  text-align: center;
  cursor: pointer;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.shop-tile:hover,
.shop-tile.active {
  transform: translateY(-4px);
  background: transparent;
}

.shop-tile span {
  font-size: 0.94rem;
  font-weight: 850;
}

.brand-logo-mark {
  width: clamp(84px, 9vw, 138px);
  height: 78px;
  object-fit: contain;
  color: #fff;
  filter: drop-shadow(0 16px 22px rgba(0, 0, 0, 0.32));
  opacity: 0.94;
  transition:
    opacity 180ms ease,
    transform 180ms ease,
    filter 180ms ease;
}

.brand-logo-monochrome {
  filter: brightness(0) invert(1) drop-shadow(0 16px 22px rgba(0, 0, 0, 0.32));
}

svg.brand-logo-mark {
  fill: none;
  stroke: currentColor;
  stroke-width: 3.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.brand-tile:hover .brand-logo-mark,
.brand-tile.active .brand-logo-mark {
  opacity: 1;
  transform: scale(1.05);
  filter:
    drop-shadow(0 0 18px rgba(215, 180, 106, 0.22))
    drop-shadow(0 18px 24px rgba(0, 0, 0, 0.36));
}

.brand-tile:hover .brand-logo-monochrome,
.brand-tile.active .brand-logo-monochrome {
  filter:
    brightness(0) invert(1)
    drop-shadow(0 0 18px rgba(215, 180, 106, 0.22))
    drop-shadow(0 18px 24px rgba(0, 0, 0, 0.36));
}

.brand-logo-text {
  min-height: 78px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 900;
}

.brand-name {
  color: rgba(248, 245, 239, 0.78);
  font-size: 0.76rem !important;
  text-transform: uppercase;
}

.brand-dots {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 12px;
}

.brand-dots span {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(248, 245, 239, 0.62);
}

.brand-dots span.active {
  width: 10px;
  height: 10px;
  background: var(--ink);
}

.type-browser-panel {
  width: 100vw;
  margin: clamp(26px, 5vw, 58px) calc(50% - 50vw) 0;
  background: #f4f4f2;
  color: #070606;
  padding: clamp(34px, 5vw, 58px) max(18px, calc((100vw - var(--max)) / 2)) clamp(42px, 6vw, 68px);
  overflow: hidden;
}

.type-browser-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 26px;
}

.type-browser-head h3 {
  margin: 0;
  color: #050505;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(2rem, 3.4vw, 3rem);
  font-weight: 900;
  line-height: 1;
  text-transform: none;
}

.type-see-all {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  color: #111;
  padding: 0;
  font-size: 1rem;
  font-weight: 900;
  cursor: pointer;
}

.type-see-all svg,
.type-nav svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.type-browser-shell {
  position: relative;
}

.type-browser-viewport {
  overflow: hidden;
}

.type-card-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px, 1fr);
  gap: 26px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding: 0 0 4px;
}

.type-card-rail::-webkit-scrollbar {
  display: none;
}

.type-card {
  scroll-snap-align: start;
  min-height: clamp(176px, 14vw, 230px);
  display: grid;
  grid-template-rows: 1fr auto;
  align-items: center;
  justify-items: center;
  gap: 12px;
  border: 1px solid rgba(5, 5, 5, 0.035);
  border-radius: 8px;
  background: #fff;
  color: #080808;
  padding: 24px 22px 28px;
  text-align: center;
  box-shadow: 0 18px 45px rgba(10, 10, 10, 0.035);
  cursor: pointer;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease;
}

.type-card:hover,
.type-card.active {
  transform: translateY(-4px);
  border-color: rgba(215, 180, 106, 0.48);
  box-shadow: 0 22px 60px rgba(10, 10, 10, 0.08);
}

.type-card span {
  color: #080808;
  font-size: clamp(1.15rem, 1.5vw, 1.52rem);
  font-weight: 900;
  line-height: 1;
}

.type-preview {
  width: min(92%, 294px);
  height: auto;
  display: block;
  overflow: visible;
}

.type-car-shadow {
  fill: rgba(0, 0, 0, 0.12);
}

.type-car-body {
  fill: #191919;
  stroke: #191919;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.type-window {
  fill: #d8dbda;
  stroke: #141414;
  stroke-width: 2.2;
  stroke-linejoin: round;
}

.type-detail {
  fill: none;
  stroke: rgba(255, 255, 255, 0.38);
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.type-tire {
  fill: #0a0a0a;
  stroke: #0a0a0a;
}

.type-rim {
  fill: #f5f5f2;
  stroke: #101010;
  stroke-width: 2.2;
}

.type-seat {
  fill: #111;
  stroke: #111;
}

.type-car-body.is-faded,
.type-car-glass.is-faded,
.type-car-line.is-faded,
.type-wheel.is-faded {
  opacity: 0.2;
}

.type-nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 54px;
  height: 54px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: #222;
  color: #fff;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
  cursor: pointer;
  transform: translateY(-50%);
  transition:
    transform 180ms ease,
    background 180ms ease;
}

.type-nav:hover {
  background: #070606;
  transform: translateY(-50%) scale(1.04);
}

.type-nav-prev {
  left: -78px;
}

.type-nav-next {
  right: -78px;
}

.press-section {
  width: 100%;
  overflow: hidden;
  border-block: 1px solid rgba(248, 245, 239, 0.12);
  background: #000;
  padding: clamp(52px, 7vw, 88px) 0 clamp(42px, 6vw, 72px);
}

.press-heading {
  width: min(var(--max), calc(100% - 40px));
  margin: 0 auto clamp(28px, 4vw, 44px);
  text-align: center;
}

.press-heading .section-kicker {
  margin: 0 0 10px;
  color: var(--gold);
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.press-heading h2 {
  max-width: 760px;
  margin: 0 auto;
  font-size: clamp(1.65rem, 3.2vw, 3.1rem);
  line-height: 1.02;
}

.press-marquee {
  position: relative;
  width: 100%;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}

.press-track {
  width: max-content;
  display: flex;
  animation: pressMarquee 30s linear infinite;
  will-change: transform;
}

.press-marquee:hover .press-track {
  animation-play-state: paused;
}

.press-group {
  flex: none;
  display: flex;
  align-items: center;
  gap: clamp(16px, 2.2vw, 30px);
  margin: 0;
  padding: 0 clamp(8px, 1.1vw, 15px);
  list-style: none;
}

.press-group li {
  width: clamp(160px, 15vw, 220px);
  height: clamp(76px, 7vw, 96px);
  display: grid;
  place-items: center;
  flex: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 18px 24px;
}

.press-group img {
  width: 100%;
  max-width: 170px;
  max-height: 46px;
  object-fit: contain;
  filter: none;
  opacity: 1;
}

.press-group img[src$="gq.svg"] {
  max-width: 78px;
  max-height: 52px;
}

.press-group img[src$="ocean-drive.jpg"] {
  max-width: 128px;
  max-height: 54px;
}

.press-group img[src$="vogue.svg"],
.press-group img[src$="business-insider.svg"],
.press-group img[src$="la-weekly.svg"],
.press-group img[src$="ocean-drive.jpg"] {
  filter: invert(1);
}

@keyframes pressMarquee {
  to {
    transform: translateX(-50%);
  }
}

.monthly-specials {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  display: grid;
  grid-template-columns: minmax(300px, 520px) minmax(0, 1fr);
  gap: clamp(52px, 4.6vw, 88px);
  align-items: center;
  background:
    radial-gradient(circle at 20% 50%, rgba(215, 180, 106, 0.11), transparent 34%),
    linear-gradient(180deg, #050505 0%, #070606 100%);
  color: #fff;
  padding: clamp(64px, 7vw, 104px) clamp(24px, 9vw, 180px);
  overflow: hidden;
}

.monthly-specials-copy {
  max-width: 520px;
}

.monthly-specials .section-kicker {
  margin-bottom: 18px;
  color: var(--gold);
}

.monthly-specials h2 {
  margin: 0;
  max-width: 9.75ch;
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(3rem, 5.2vw, 5.15rem);
  font-weight: 950;
  line-height: 0.94;
  text-transform: uppercase;
}

.monthly-specials-copy > p:not(.section-kicker) {
  max-width: 470px;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: clamp(1rem, 1.3vw, 1.2rem);
  line-height: 1.5;
}

.specials-cta {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 34px;
  border-radius: 999px;
  background: var(--gold);
  color: #090807;
  padding: 0 26px;
  font-weight: 950;
  text-decoration: none;
  box-shadow: 0 18px 42px rgba(215, 180, 106, 0.22);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    background 180ms ease;
}

.specials-cta:hover {
  background: #f1cf82;
  transform: translateY(-2px);
  box-shadow: 0 22px 54px rgba(215, 180, 106, 0.3);
}

.specials-slider {
  position: relative;
  min-width: 0;
  padding-inline: 18px 0;
}

.specials-viewport {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.specials-viewport::-webkit-scrollbar {
  display: none;
}

.specials-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: clamp(320px, 26vw, 440px);
  gap: 28px;
  padding: 4px 3px 10px;
}

.special-card {
  position: relative;
  scroll-snap-align: start;
  min-height: clamp(470px, 40vw, 650px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 10px;
  background: #161412;
  overflow: hidden;
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.42);
  isolation: isolate;
}

.special-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.02) 35%, rgba(0, 0, 0, 0.76) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.28), transparent 58%);
  pointer-events: none;
}

.special-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transform: scale(1.02);
  transition:
    transform 520ms ease,
    filter 520ms ease;
}

.special-card:hover img {
  filter: saturate(1.08) contrast(1.04);
  transform: scale(1.07);
}

.special-card-copy {
  position: absolute;
  inset-inline: clamp(18px, 2vw, 28px);
  bottom: clamp(18px, 2.4vw, 32px);
  z-index: 2;
  display: grid;
  gap: 12px;
}

.special-card-copy span {
  width: max-content;
  border: 1px solid rgba(215, 180, 106, 0.44);
  border-radius: 999px;
  background: rgba(10, 9, 8, 0.68);
  color: #f1cf82;
  padding: 7px 11px;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.special-card-copy h3 {
  margin: 0;
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(1.75rem, 2.5vw, 2.8rem);
  font-weight: 950;
  line-height: 0.98;
}

.special-card-copy p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.98rem;
  line-height: 1.35;
}

.special-card-copy a {
  width: max-content;
  min-height: 43px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  color: #fff;
  padding: 0 20px;
  font-weight: 900;
  text-decoration: none;
  transition:
    background 180ms ease,
    color 180ms ease,
    border-color 180ms ease;
}

.special-card-copy a:hover {
  border-color: #fff;
  background: #fff;
  color: #090807;
}

.specials-nav {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 56px;
  height: 56px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(33, 32, 31, 0.9);
  color: #fff;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
  cursor: pointer;
  transform: translateY(-50%);
  transition:
    transform 180ms ease,
    background 180ms ease;
}

.specials-nav:hover {
  background: rgba(215, 180, 106, 0.96);
  color: #090807;
  transform: translateY(-50%) scale(1.04);
}

.specials-nav svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.specials-nav-prev {
  left: 0;
}

.specials-nav-next {
  right: 12px;
}

.content-experience-promo {
  position: relative;
  width: 100vw;
  min-height: 560px;
  height: clamp(520px, 62vh, 640px);
  margin: 0 calc(50% - 50vw);
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 58%, rgba(215, 180, 106, 0.12), transparent 31%),
    #050505;
  color: #fff;
  isolation: isolate;
}

.content-experience-promo::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -24px;
  background: linear-gradient(
    90deg,
    rgba(255, 253, 249, 0.95) 0%,
    rgba(255, 253, 249, 0.82) 20%,
    rgba(255, 253, 249, 0.5) 35%,
    rgba(255, 253, 249, 0.18) 48%,
    transparent 60%
  );
  filter: blur(14px);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 38%, rgba(0, 0, 0, 0.66) 58%, transparent 92%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 38%, rgba(0, 0, 0, 0.66) 58%, transparent 92%);
  pointer-events: none;
}

.content-experience-bg,
.content-experience-overlay {
  position: absolute;
  inset: 0;
}

.content-experience-bg {
  z-index: -3;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center bottom;
  transform: none;
  animation: contentExperienceDrift 18s ease-in-out infinite alternate;
}

.content-experience-overlay {
  display: none;
}

.content-experience-link {
  position: absolute;
  z-index: 2;
  inset: 0;
}

.content-experience-link:focus-visible {
  outline: 3px solid #9f7d4d;
  outline-offset: -8px;
}

.content-wedding-copy {
  position: absolute;
  z-index: 1;
  top: 38%;
  left: clamp(28px, 4vw, 72px);
  width: min(47vw, 700px);
  display: grid;
  justify-items: center;
  color: #171717;
  text-align: center;
  text-shadow: 0 1px 10px rgba(255, 253, 249, 0.82);
  transform: translateY(-50%);
  pointer-events: none;
}

.content-wedding-copy::before {
  display: none;
}

.content-wedding-logo {
  width: clamp(72px, 5vw, 86px);
  height: auto;
  display: block;
  margin-bottom: 8px;
}

.content-wedding-kicker {
  width: min(100%, 560px);
  display: grid;
  grid-template-columns: minmax(34px, 1fr) auto minmax(34px, 1fr);
  align-items: center;
  gap: 18px;
}

.content-wedding-kicker span,
.content-wedding-ornament span {
  height: 1px;
  background: rgba(159, 125, 77, 0.72);
}

.content-wedding-kicker p,
.content-wedding-tagline {
  margin: 0;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(0.62rem, 0.72vw, 0.78rem);
  font-weight: 500;
  letter-spacing: 0.45em;
  line-height: 1.3;
  text-transform: uppercase;
  white-space: nowrap;
}

.content-wedding-copy h2 {
  max-width: none;
  margin: clamp(12px, 1.4vw, 18px) 0 clamp(10px, 1.2vw, 15px);
  color: #171717;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(2.2rem, 2.7vw, 3.05rem);
  font-weight: 350;
  letter-spacing: 0.105em;
  line-height: 1.12;
  text-transform: uppercase;
}

.content-wedding-copy h2 span {
  display: block;
  white-space: nowrap;
}

.content-wedding-copy h2 span:last-child {
  color: #8d683a;
}

.content-wedding-ornament {
  width: min(72%, 490px);
  display: grid;
  grid-template-columns: 1fr 28px 1fr;
  align-items: center;
  gap: 14px;
}

.content-wedding-ornament svg {
  width: 28px;
  height: 24px;
  fill: none;
  stroke: #8d683a;
  stroke-width: 1.15;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.content-wedding-tagline {
  margin-top: 11px;
  color: #202020;
}

.content-experience-inner {
  width: min(var(--max), calc(100% - 48px));
  height: 100%;
  display: flex;
  align-items: center;
  margin: 0 auto;
  padding: clamp(38px, 4.2vw, 58px) 0;
}

.content-experience-copy {
  max-width: 720px;
  display: grid;
  justify-items: start;
}

.content-experience-copy h2 {
  max-width: 12.5ch;
  margin: 0;
  color: #fff;
  font-family: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(3.55rem, 4.8vw, 5.25rem);
  font-weight: 950;
  line-height: 0.88;
  text-transform: uppercase;
}

.content-experience-copy h2 span {
  display: block;
  white-space: nowrap;
}

.content-experience-line {
  display: block;
  width: 154px;
  height: 1px;
  margin: 18px 0 16px;
  background: linear-gradient(90deg, var(--gold-strong), rgba(248, 245, 239, 0.58), transparent);
}

.content-experience-copy p {
  max-width: 520px;
  margin: 0;
  color: rgba(248, 245, 239, 0.9);
  font-size: 1.05rem;
  font-weight: 650;
  line-height: 1.55;
}

.content-experience-chips {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100%, 560px);
  gap: 1px;
  margin-top: 18px;
  border: 1px solid rgba(248, 245, 239, 0.18);
  background: rgba(248, 245, 239, 0.16);
  backdrop-filter: blur(14px);
}

.content-experience-chips span {
  min-height: 62px;
  display: grid;
  align-content: center;
  gap: 5px;
  background: rgba(8, 7, 6, 0.44);
  color: rgba(248, 245, 239, 0.9);
  padding: 11px 15px;
  font-size: 0.82rem;
  font-weight: 850;
}

.content-experience-chips b {
  color: var(--gold-strong);
  font-family: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 950;
}

.content-experience-copy a {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 20px;
  border: 1px solid rgba(215, 180, 106, 0.7);
  border-radius: 2px;
  background: rgba(8, 7, 6, 0.72);
  color: #fff;
  padding: 0 0 0 24px;
  font-size: 0.8rem;
  font-weight: 950;
  text-transform: uppercase;
  backdrop-filter: blur(14px);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.34);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease;
}

.content-experience-copy a:hover {
  transform: translateY(-2px);
  box-shadow: 0 28px 76px rgba(0, 0, 0, 0.44);
}

.content-experience-copy a span {
  min-width: 54px;
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--gold);
  color: #080706;
  font-size: 1.15rem;
}

.requirements-section {
  width: 100vw;
  scroll-margin-top: 92px;
  margin: 0 calc(50% - 50vw);
  background:
    radial-gradient(circle at 50% 10%, rgba(215, 180, 106, 0.12), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f7f5f0 100%);
  color: #070606;
  padding: clamp(74px, 8vw, 112px) max(20px, calc((100vw - var(--max)) / 2));
}

.requirements-inner {
  display: grid;
  justify-items: center;
  gap: clamp(44px, 6vw, 72px);
}

.requirements-head {
  max-width: 760px;
  text-align: center;
}

.requirements-kicker {
  margin: 0 0 12px;
  color: #a17a2d;
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.requirements-head h2 {
  margin: 0;
  color: #070606;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.requirements-grid {
  width: min(100%, 920px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 5vw, 86px);
  align-items: start;
}

.requirement-item {
  display: grid;
  justify-items: center;
  gap: 22px;
  text-align: center;
}

.requirement-item svg {
  width: clamp(82px, 8vw, 118px);
  height: clamp(82px, 8vw, 118px);
  fill: none;
  stroke: #080808;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 18px 18px rgba(10, 10, 10, 0.08));
}

.requirement-item h3 {
  margin: 0;
  color: #14110d;
  font-size: 0.86rem;
  font-weight: 950;
  text-transform: uppercase;
}

.requirements-dots {
  display: flex;
  gap: 12px;
  margin-top: -10px;
}

.requirements-dots span {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #111;
  opacity: 0.9;
}

.quote-section {
  width: min(1120px, calc(100% - 48px));
  display: grid;
  grid-template-columns: minmax(300px, 0.78fr) minmax(460px, 1fr);
  gap: clamp(38px, 5.6vw, 78px);
  align-items: center;
  margin: clamp(46px, 5.6vw, 72px) auto clamp(46px, 5.6vw, 76px);
}

.quote-copy {
  display: grid;
  gap: 16px;
  align-content: center;
}

.quote-kicker {
  margin: 0;
  color: var(--gold-strong);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.quote-copy h2,
.faq-home-head h2,
.final-cta h2 {
  margin: 0;
  color: var(--ink);
  font-family: var(--display);
  font-weight: 800;
  line-height: 0.94;
  text-wrap: balance;
}

.quote-copy h2 {
  max-width: 10.5ch;
  font-size: clamp(3rem, 4.35vw, 4.75rem);
  line-height: 0.94;
}

.quote-copy > p {
  max-width: 440px;
  margin: 0;
  color: var(--muted);
  font-size: 0.98rem;
  line-height: 1.56;
}

.quote-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 4px;
}

.quote-proof span {
  border: 1px solid rgba(215, 180, 106, 0.34);
  border-radius: 999px;
  background: rgba(215, 180, 106, 0.08);
  color: rgba(248, 245, 239, 0.88);
  padding: 8px 12px;
  font-size: 0.78rem;
  font-weight: 850;
}

.quote-form {
  justify-self: end;
  width: min(100%, 610px);
  display: grid;
  gap: 16px;
  border: 1px solid rgba(248, 245, 239, 0.16);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(248, 245, 239, 0.08), rgba(248, 245, 239, 0.025)),
    rgba(18, 17, 16, 0.96);
  padding: clamp(22px, 3vw, 30px);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.34);
}

.quote-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.quote-form label {
  display: grid;
  gap: 8px;
}

.quote-form-grid .quote-field-wide {
  grid-column: 1 / -1;
}

.quote-field-wide small {
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.45;
}

.quote-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.quote-form label span,
.quote-addons legend {
  color: var(--dim);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.quote-form input,
.quote-form select,
.quote-form textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(248, 245, 239, 0.15);
  border-radius: 8px;
  background: rgba(5, 5, 5, 0.72);
  color: var(--ink);
  padding: 12px 13px;
  outline: none;
}

.quote-form textarea {
  resize: vertical;
}

.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus {
  border-color: rgba(215, 180, 106, 0.62);
  box-shadow: 0 0 0 3px rgba(215, 180, 106, 0.14);
}

.quote-addons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  border: 0;
  margin: 0;
  padding: 0;
}

.quote-addons legend {
  grid-column: 1 / -1;
  margin-bottom: 2px;
}

.quote-addons label {
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(248, 245, 239, 0.13);
  border-radius: 8px;
  background: rgba(248, 245, 239, 0.045);
  color: var(--muted);
  padding: 10px 11px;
  font-weight: 800;
}

.quote-addons input {
  width: 16px;
  min-height: 16px;
  accent-color: var(--gold);
}

.quote-submit,
.final-cta-primary,
.final-cta-secondary {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-weight: 950;
  text-decoration: none;
}

.quote-submit,
.final-cta-primary {
  border: 0;
  background: var(--gold);
  color: #080706;
  padding: 0 26px;
  cursor: pointer;
  box-shadow: 0 20px 52px rgba(215, 180, 106, 0.22);
}

.quote-submit:disabled {
  opacity: 0.7;
  cursor: wait;
}

.quote-status {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.quote-status[data-tone="success"] {
  color: var(--gold);
}

.quote-status[data-tone="error"] {
  color: #ffb7a9;
}

.customer-satisfaction {
  width: 100vw;
  display: grid;
  justify-items: center;
  gap: clamp(44px, 6vw, 72px);
  margin: 0 calc(50% - 50vw);
  padding: clamp(74px, 8vw, 112px) max(20px, calc((100vw - var(--max)) / 2));
  background:
    radial-gradient(circle at 50% 10%, rgba(215, 180, 106, 0.12), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f7f5f0 100%);
  color: #070606;
}

.customer-satisfaction-head {
  max-width: 820px;
  display: grid;
  justify-items: center;
  gap: 16px;
  text-align: center;
}

.customer-satisfaction-head > div {
  display: grid;
  justify-items: center;
  gap: 12px;
}

.customer-satisfaction .quote-kicker {
  color: #a17a2d;
}

.customer-satisfaction-head h2 {
  margin: 0;
  color: #070606;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
  text-wrap: balance;
}

.customer-satisfaction-head > p {
  max-width: 680px;
  margin: 0;
  color: #5f5a52;
  font-size: 1rem;
  line-height: 1.65;
}

.satisfaction-list {
  width: min(100%, 1080px);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 60px);
  align-items: start;
  margin: 0;
  padding: 0;
  list-style: none;
}

.satisfaction-list li {
  display: grid;
  justify-items: center;
  gap: 20px;
  text-align: center;
}

.satisfaction-icon {
  width: clamp(82px, 8vw, 104px);
  height: clamp(82px, 8vw, 104px);
  display: grid;
  place-items: center;
  border: 3px solid #080808;
  border-radius: 50%;
  background: transparent;
  color: #080808;
  filter: drop-shadow(0 18px 18px rgba(10, 10, 10, 0.08));
}

.satisfaction-icon svg {
  width: 42%;
  height: 42%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.satisfaction-list h3 {
  margin: 0 0 8px;
  color: #14110d;
  font-size: 0.86rem;
  font-weight: 950;
  line-height: 1.3;
  text-transform: uppercase;
}

.satisfaction-list p {
  margin: 0;
  color: #625e57;
  font-size: 0.9rem;
  line-height: 1.6;
}

.faq-home {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(54px, 8vw, 124px);
  align-items: start;
  margin: 0;
  border: 0;
  background: #070606;
  padding: clamp(56px, 5vw, 80px) max(24px, calc((100vw - 1180px) / 2))
    clamp(72px, 8vw, 112px);
}

.faq-home::before,
.faq-home::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
}

.faq-home::before {
  width: 520px;
  height: 520px;
  top: -270px;
  left: -190px;
  border: 1px solid rgba(240, 237, 231, 0.1);
  border-radius: 50%;
  box-shadow:
    0 0 0 74px rgba(240, 237, 231, 0.025),
    0 0 0 148px rgba(240, 237, 231, 0.014);
  animation: faqOrbit 18s ease-in-out infinite alternate;
}

.faq-home::after {
  width: min(760px, 70vw);
  height: 240px;
  right: -180px;
  bottom: -70px;
  background: linear-gradient(
    110deg,
    transparent 8%,
    rgba(224, 220, 213, 0.08) 48%,
    transparent 78%
  );
  filter: blur(12px);
  animation: faqSweep 14s ease-in-out infinite alternate;
}

.faq-home > * {
  position: relative;
  z-index: 1;
}

@keyframes faqOrbit {
  from {
    transform: translate3d(0, 0, 0) rotate(0deg);
  }

  to {
    transform: translate3d(70px, 42px, 0) rotate(12deg);
  }
}

@keyframes faqSweep {
  from {
    opacity: 0.35;
    transform: translate3d(0, 0, 0) rotate(-10deg);
  }

  to {
    opacity: 0.75;
    transform: translate3d(-110px, -38px, 0) rotate(-6deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .faq-home::before,
  .faq-home::after {
    animation: none;
  }
}

.faq-home-head {
  position: static;
  display: block;
}

.faq-home-head h2 {
  max-width: 7ch;
  margin-top: 18px;
  color: #f3f1eb;
  font-size: clamp(3.8rem, 6.4vw, 6.8rem);
  line-height: 0.84;
  letter-spacing: -0.035em;
}

.faq-home-head .quote-kicker {
  color: #bdb7ae;
  letter-spacing: 0.15em;
}

.faq-home-intro {
  max-width: 410px;
  margin: 26px 0 0;
  color: #c7c1b8;
  font-size: 0.98rem;
  line-height: 1.72;
}

.faq-concierge {
  min-height: 72px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 20px;
  margin-top: 32px;
  border-top: 1px solid rgba(248, 245, 239, 0.28);
  border-bottom: 1px solid rgba(248, 245, 239, 0.16);
  color: #f3f1eb;
  padding-block: 16px;
  transition: border-color 180ms ease, padding 180ms ease;
}

.faq-concierge span,
.faq-concierge strong {
  grid-column: 1;
}

.faq-concierge span {
  color: #99928a;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.faq-concierge strong {
  margin-top: 5px;
  font-size: 0.9rem;
}

.faq-concierge svg {
  width: 18px;
  grid-column: 2;
  grid-row: 1 / span 2;
  fill: none;
  stroke: #d8d3cb;
  stroke-width: 1.7;
}

.faq-concierge:hover,
.faq-concierge:focus-visible {
  border-color: #d8d3cb;
  padding-inline: 10px;
}

.faq-home-list {
  display: block;
  border-top: 1px solid rgba(248, 245, 239, 0.28);
}

.faq-home-list details {
  border: 0;
  border-bottom: 1px solid rgba(248, 245, 239, 0.16);
  border-radius: 0;
  background: transparent;
  padding: 0;
  transition: background 180ms ease;
}

.faq-home-list details[open] {
  background: rgba(248, 245, 239, 0.04);
}

.faq-home-list summary {
  min-height: 92px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 14px;
  color: #f3f1eb;
  font-weight: 800;
  list-style: none;
  padding: 0 14px;
}

.faq-home-list summary::-webkit-details-marker {
  display: none;
}

.faq-home-list summary::after {
  content: "+";
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(248, 245, 239, 0.28);
  border-radius: 50%;
  color: #d8d3cb;
  font-family: var(--sans);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
}

.faq-home-list details[open] summary::after {
  content: "−";
  background: #e9e5de;
  color: #080706;
}

.faq-index {
  color: #958e85;
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.15em;
}

.faq-question {
  font-family: var(--display);
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.08;
}

.faq-home-list p {
  max-width: 700px;
  margin: 0;
  padding: 0 66px 30px 76px;
  color: #cbc4ba;
  line-height: 1.72;
}

.faq-home summary:focus-visible,
.faq-concierge:focus-visible {
  outline: none;
  box-shadow: inset 3px 0 0 #d8d3cb;
}

.faq-section-divider {
  width: min(1000px, calc(100% - 48px));
  height: 1px;
  margin: 0 auto;
}

.faq-section-divider::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 0;
  background: rgba(248, 245, 239, 0.12);
}

.final-cta {
  width: 100vw;
  margin: clamp(64px, 8vw, 112px) calc(50% - 50vw) 0;
  border-block: 1px solid rgba(215, 180, 106, 0.2);
  background:
    radial-gradient(circle at 78% 48%, rgba(215, 180, 106, 0.18), transparent 30%),
    linear-gradient(90deg, rgba(215, 180, 106, 0.17), rgba(248, 245, 239, 0.04) 48%, rgba(0, 0, 0, 0.24)),
    #12100e;
  padding: clamp(54px, 7vw, 86px) 0;
  box-shadow: inset 0 1px 0 rgba(248, 245, 239, 0.05);
}

.final-cta-inner {
  width: min(var(--max), calc(100% - 48px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
  margin: 0 auto;
}

.final-cta h2 {
  max-width: 640px;
  margin-top: 10px;
  font-size: clamp(2.5rem, 5vw, 5rem);
}

.final-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.final-cta-primary,
.final-cta-secondary {
  padding: 0 24px;
}

.final-cta-secondary {
  border: 1px solid rgba(248, 245, 239, 0.18);
  color: var(--ink);
}

.shop-tile strong {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.car-card:hover {
  transform: translateY(-4px);
  border-color: rgba(215, 180, 106, 0.62);
  box-shadow: 0 28px 72px rgba(0, 0, 0, 0.34);
}

.car-image-wrap {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9.8;
  background: #0c0a09;
  overflow: hidden;
}

.car-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: transform 420ms ease;
}

.car-image-wrap[data-car-slug="2021-bmw-m3-comp"] img,
.car-image-wrap[data-car-slug="2024-bmw-m4-comp"] img {
  object-position: 48% center;
}

.car-image-wrap[data-car-slug="2017-audi-r8"] img,
.car-image-wrap[data-car-slug="2018-mclaren-570s-spider"] img {
  object-position: 52% center;
}

.car-image-wrap[data-car-slug="2022-mercedes-gle53-amg"] img,
.car-image-wrap[data-car-slug="2022-cadillac-escalade"] img {
  object-position: center 54%;
}

.car-card:hover img {
  transform: scale(1.035);
}

.car-image-wrap span {
  position: absolute;
  left: 12px;
  top: 12px;
  bottom: auto;
  border: 1px solid rgba(248, 245, 239, 0.18);
  border-radius: 999px;
  background: rgba(7, 6, 6, 0.72);
  padding: 7px 10px;
  color: var(--ink);
  font-size: 0.72rem;
  font-weight: 800;
  backdrop-filter: blur(12px);
}

.car-card-body {
  min-height: 360px;
  display: grid;
  grid-template-rows: auto auto auto 1fr auto auto;
  align-content: start;
  padding: 20px;
}

.car-card h3 a {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  transition: color 180ms ease;
}

.car-card h3 a:hover {
  color: var(--gold-strong);
}

.car-card h3 {
  min-height: 2.42em;
  margin: 0 0 8px;
  color: var(--ink);
  font-size: clamp(1.1rem, 1.65vw, 1.28rem);
  line-height: 1.18;
}

.car-feature {
  min-height: 2.8em;
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.4;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.car-pill-row {
  min-height: 58px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(248, 245, 239, 0.12);
  border-radius: 8px;
  background: rgba(248, 245, 239, 0.1);
}

.car-pill {
  min-width: 0;
  min-height: 58px;
  display: grid;
  align-content: center;
  gap: 5px;
  background:
    linear-gradient(180deg, rgba(248, 245, 239, 0.06), rgba(248, 245, 239, 0.025)),
    rgba(13, 12, 11, 0.74);
  padding: 10px 8px;
  text-align: center;
}

.car-pill span {
  color: var(--dim);
  font-size: 0.63rem;
  font-weight: 850;
  line-height: 1;
  text-transform: uppercase;
}

.car-pill strong {
  color: var(--ink);
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 850;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.car-rate-grid {
  align-self: stretch;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: end;
  gap: 8px;
  padding-top: 18px;
}

.car-rate {
  min-height: 64px;
  display: grid;
  align-content: center;
  gap: 5px;
  border: 1px solid rgba(215, 180, 106, 0.18);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(215, 180, 106, 0.09), rgba(248, 245, 239, 0.035)),
    rgba(248, 245, 239, 0.025);
  padding: 10px;
}

.car-rate span {
  color: var(--dim);
  font-size: 0.66rem;
  font-weight: 850;
  text-transform: uppercase;
}

.car-rate strong {
  color: var(--ink);
  font-size: 1.02rem;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.car-rate small {
  color: var(--dim);
  font-size: 0.66em;
}

.car-card-footer {
  align-self: end;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
  border-top: 1px solid var(--line);
  padding-top: 16px;
}

.car-price-block {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.car-price-block span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
}

.car-price-block strong {
  color: var(--ink);
  font-size: clamp(1.42rem, 2.15vw, 1.78rem);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.car-price-block small {
  color: var(--dim);
  font-size: 0.56em;
}

.car-book-button {
  flex: 0 0 auto;
  min-height: 44px;
  display: inline-flex;
  width: auto;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  background: var(--gold);
  color: #140f09;
  padding: 10px 15px;
  font-weight: 850;
  transition:
    transform 180ms ease,
    background 180ms ease;
}

.car-book-button:hover {
  background: var(--gold-strong);
  transform: translateY(-2px);
}

.car-details-link {
  min-height: 36px;
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.car-details-link:hover {
  color: var(--gold-strong);
}

.tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.tag-row span {
  border-radius: 999px;
  background: rgba(248, 245, 239, 0.07);
  padding: 7px 9px;
  color: var(--muted);
  font-size: 0.77rem;
}

.vehicle-page {
  background:
    radial-gradient(circle at 50% 0%, rgba(215, 180, 106, 0.16), transparent 34rem),
    radial-gradient(circle at 100% 18%, rgba(248, 245, 239, 0.06), transparent 28rem),
    var(--bg);
}

.vehicle-header {
  background: rgba(7, 6, 6, 0.36);
}

.vehicle-hero-detail {
  width: min(100% - 48px, 1320px);
  min-height: 100dvh;
  margin: 0 auto;
  padding: 124px 0 48px;
  display: grid;
  grid-template-columns: minmax(420px, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(26px, 4vw, 54px);
  align-items: center;
}

.vehicle-hero-copy {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: center;
  gap: 16px;
}

.back-link {
  width: fit-content;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--muted);
  font-weight: 750;
  transition: color 180ms ease;
}

.back-link:hover {
  color: var(--gold-strong);
}

.vehicle-hero-copy h1 {
  max-width: 620px;
  margin: 0;
  font-size: clamp(2.45rem, 4.8vw, 4.75rem);
  line-height: 0.95;
  text-wrap: balance;
}

.vehicle-hero-copy > p:not(.eyebrow) {
  max-width: 590px;
  margin: 0;
  color: var(--muted);
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.65;
}

.vehicle-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 2px;
}

.vehicle-hero-meta span {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(248, 245, 239, 0.12);
  border-radius: 999px;
  background: rgba(248, 245, 239, 0.055);
  padding: 8px 12px;
  color: var(--ink);
  font-size: 0.76rem;
  font-weight: 850;
  text-transform: uppercase;
}

.vehicle-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.vehicle-hero-media {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(248, 245, 239, 0.18);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: 0 28px 88px rgba(0, 0, 0, 0.46);
}

.vehicle-hero-media::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  background:
    linear-gradient(110deg, transparent 22%, rgba(215, 180, 106, 0.12) 48%, transparent 74%),
    linear-gradient(135deg, rgba(248, 245, 239, 0.08), rgba(215, 180, 106, 0.07));
  transform: translateX(-100%);
  transition: opacity 180ms ease;
}

.vehicle-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 58%, rgba(7, 6, 6, 0.28));
}

.vehicle-hero-media img {
  width: 100%;
  height: min(68dvh, 710px);
  min-height: 500px;
  aspect-ratio: 16 / 11;
  object-fit: cover;
  opacity: 1;
  transition: opacity 180ms ease;
}

.vehicle-page.is-loading-vehicle .vehicle-hero-media::before {
  opacity: 1;
  animation: vehicleImageLoading 1.15s ease-in-out infinite;
}

.vehicle-page.is-loading-vehicle .vehicle-hero-media img {
  opacity: 0;
}

@keyframes vehicleImageLoading {
  100% {
    transform: translateX(100%);
  }
}

@keyframes fleetImageLoading {
  0% {
    background-position: 160% 0;
  }

  100% {
    background-position: -60% 0;
  }
}

.vehicle-media-badge {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 2;
  min-width: 178px;
  border: 1px solid rgba(215, 180, 106, 0.34);
  border-radius: 8px;
  background: rgba(7, 6, 6, 0.74);
  padding: 14px 16px;
  backdrop-filter: blur(16px);
}

.vehicle-media-badge span {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 850;
  text-transform: uppercase;
}

.vehicle-media-badge strong {
  color: var(--ink);
  font-size: 1.75rem;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.vehicle-media-badge small {
  color: var(--dim);
  font-size: 0.55em;
}

.vehicle-shell {
  width: min(100% - 48px, 1320px);
  margin: 0 auto;
  padding-bottom: 86px;
  display: grid;
  gap: clamp(34px, 5vw, 58px);
}

.vehicle-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--line);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.28);
}

.vehicle-stats div {
  min-height: 104px;
  display: grid;
  align-content: center;
  gap: 8px;
  background: rgba(17, 16, 15, 0.9);
  padding: 18px;
  backdrop-filter: blur(16px);
}

.vehicle-stats span {
  color: var(--dim);
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.vehicle-stats strong {
  color: var(--ink);
  font-size: clamp(0.98rem, 1.45vw, 1.34rem);
  font-variant-numeric: tabular-nums;
}

.compact-heading {
  margin-bottom: 18px;
}

.compact-heading h2 {
  max-width: 680px;
  font-size: clamp(1.7rem, 3.5vw, 3rem);
}

.vehicle-gallery-section,
.related-section {
  padding-top: 6px;
}

.gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.gallery-thumb {
  min-height: 128px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0;
  overflow: hidden;
  background: var(--panel);
  cursor: pointer;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    opacity 180ms ease;
}

.gallery-thumb.active,
.gallery-thumb:hover {
  border-color: var(--gold);
  opacity: 1;
  transform: translateY(-3px);
}

.gallery-thumb img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.vehicle-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 18px;
}

.vehicle-detail-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(248, 245, 239, 0.045), rgba(248, 245, 239, 0.018)),
    rgba(17, 16, 15, 0.82);
  padding: clamp(22px, 4vw, 34px);
}

.vehicle-detail-panel h2 {
  margin: 0 0 18px;
  font-size: clamp(1.35rem, 2.6vw, 2rem);
}

.vehicle-detail-panel ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.vehicle-detail-panel li {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 10px;
  align-items: start;
  border-top: 1px solid var(--line);
  padding-top: 13px;
  color: var(--muted);
}

.detail-check {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(215, 180, 106, 0.12);
  color: var(--gold-strong);
}

.detail-check svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.vehicle-detail-panel > p:not(.eyebrow) {
  margin: 18px 0 0;
  color: var(--muted);
}

.vehicle-tags {
  display: grid;
  gap: 12px;
  margin-top: 0;
}

.vehicle-rate-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.vehicle-rate-card {
  min-height: 86px;
  display: grid;
  align-content: center;
  gap: 6px;
  border: 1px solid rgba(215, 180, 106, 0.2);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(215, 180, 106, 0.11), rgba(248, 245, 239, 0.035)),
    rgba(248, 245, 239, 0.025);
  padding: 14px;
}

.vehicle-rate-card span {
  color: var(--dim);
  font-size: 0.7rem;
  font-weight: 850;
  text-transform: uppercase;
}

.vehicle-rate-card strong {
  color: var(--ink);
  font-size: 1.34rem;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.vehicle-rate-card small {
  color: var(--dim);
  font-size: 0.58em;
}

.vehicle-feature-tags {
  margin-top: 0;
}

.vehicle-feature-tags span {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(248, 245, 239, 0.12);
  border-radius: 8px;
  background: rgba(248, 245, 239, 0.045);
  padding: 9px 11px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 750;
}

.related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.related-car {
  display: grid;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(17, 16, 15, 0.82);
  padding-bottom: 16px;
  transition:
    transform 180ms ease,
    border-color 180ms ease;
}

.related-car:hover {
  transform: translateY(-4px);
  border-color: rgba(215, 180, 106, 0.48);
}

.related-car img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.related-car span,
.related-car strong,
.related-car small {
  margin-inline: 16px;
}

.related-car span {
  color: var(--gold-strong);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.related-car small {
  color: var(--muted);
}

.vehicle-product {
  width: min(100% - 48px, 1360px);
  margin: 0 auto;
  padding: 124px 0 88px;
}

.vehicle-product-back {
  min-height: 42px;
  margin-bottom: 24px;
  border-radius: 4px;
  background: var(--gold);
  padding: 0 18px;
  color: #0b0907;
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.vehicle-product-back:hover {
  color: #0b0907;
  background: var(--gold-strong);
}

.vehicle-product-layout {
  display: grid;
  grid-template-areas:
    "gallery thumbs"
    "copy booking"
    "spec booking";
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.34fr);
  gap: 28px;
  align-items: start;
}

.vehicle-product-main,
.vehicle-product-side {
  min-width: 0;
  display: contents;
}

.vehicle-gallery-stage {
  grid-area: gallery;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(248, 245, 239, 0.1);
  border-radius: 3px;
  background:
    linear-gradient(135deg, rgba(215, 180, 106, 0.08), rgba(248, 245, 239, 0.03)),
    #0d0c0b;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.45);
}

.vehicle-gallery-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  background:
    linear-gradient(110deg, transparent 22%, rgba(215, 180, 106, 0.12) 48%, transparent 74%),
    linear-gradient(135deg, rgba(248, 245, 239, 0.08), rgba(215, 180, 106, 0.07));
  transform: translateX(-100%);
  transition: opacity 180ms ease;
}

.vehicle-gallery-stage img {
  width: 100%;
  height: clamp(420px, 46vw, 660px);
  object-fit: cover;
  opacity: 1;
  transition:
    opacity 180ms ease,
    transform 420ms ease;
}

.vehicle-gallery-stage:hover img {
  transform: scale(1.015);
}

.vehicle-page.is-loading-vehicle .vehicle-gallery-stage::before {
  opacity: 1;
  animation: vehicleImageLoading 1.15s ease-in-out infinite;
}

.vehicle-page.is-loading-vehicle .vehicle-gallery-stage img {
  opacity: 0;
}

.vehicle-gallery-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 48px;
  height: 48px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(215, 180, 106, 0.45);
  border-radius: 4px;
  background: rgba(7, 6, 6, 0.84);
  color: var(--gold-strong);
  cursor: pointer;
  transform: translateY(-50%);
  transition:
    background 180ms ease,
    border-color 180ms ease,
    transform 180ms ease;
}

.vehicle-gallery-nav:hover {
  border-color: var(--gold-strong);
  background: rgba(17, 16, 15, 0.96);
  transform: translateY(-50%) scale(1.04);
}

.vehicle-gallery-nav svg,
.vehicle-spec-icon {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.vehicle-gallery-nav-prev {
  left: 22px;
}

.vehicle-gallery-nav-next {
  right: 22px;
}

.vehicle-product-copy {
  grid-area: copy;
  max-width: 940px;
  display: grid;
  gap: 16px;
  margin-top: 6px;
}

.vehicle-product-copy h1 {
  max-width: none;
  margin: 0;
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(2.25rem, 5.4vw, 5.1rem);
  font-weight: 950;
  line-height: 0.98;
  text-transform: uppercase;
}

.vehicle-product-price {
  color: var(--gold-strong);
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
}

.vehicle-product-copy > p:not(.eyebrow),
.vehicle-product-note,
.vehicle-booking-card p {
  max-width: 820px;
  margin: 0;
  color: var(--muted);
  font-size: clamp(1rem, 1.28vw, 1.14rem);
  line-height: 1.7;
}

.vehicle-product-note {
  padding-top: 8px;
  color: var(--ink);
}

.vehicle-side-thumbs {
  grid-area: thumbs;
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 18px;
  height: clamp(420px, 46vw, 660px);
}

.vehicle-side-thumb {
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(248, 245, 239, 0.1);
  border-radius: 3px;
  background: #0d0c0b;
  padding: 0;
  cursor: pointer;
  opacity: 0.72;
  transition:
    opacity 180ms ease,
    border-color 180ms ease,
    transform 180ms ease;
}

.vehicle-side-thumb:hover,
.vehicle-side-thumb.active {
  border-color: rgba(215, 180, 106, 0.65);
  opacity: 1;
  transform: translateY(-2px);
}

.vehicle-side-thumb img {
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.vehicle-booking-card {
  grid-area: booking;
  min-height: 0;
  height: 100%;
  align-self: stretch;
  display: grid;
  align-content: stretch;
  gap: 16px;
  border: 1px solid rgba(248, 245, 239, 0.12);
  border-radius: 3px;
  background:
    linear-gradient(180deg, rgba(248, 245, 239, 0.045), transparent),
    #090807;
  padding: clamp(22px, 2.4vw, 30px);
}

.vehicle-deposit {
  color: var(--gold-strong);
  font-size: clamp(1.35rem, 2.2vw, 1.85rem);
  font-weight: 950;
  text-transform: uppercase;
}

.vehicle-booking-card h2 {
  margin: 0 0 -6px;
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  font-weight: 950;
  line-height: 1.1;
  text-transform: uppercase;
}

.vehicle-requirements {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 14px 0;
  border-top: 1px solid rgba(248, 245, 239, 0.12);
  border-bottom: 1px solid rgba(248, 245, 239, 0.12);
  list-style: none;
}

.vehicle-requirements li {
  display: flex;
  gap: 10px;
  align-items: center;
  color: var(--muted);
  font-size: 0.96rem;
  font-weight: 760;
}

.vehicle-requirements li::before {
  content: "";
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  border-radius: 4px;
  background:
    linear-gradient(135deg, rgba(215, 180, 106, 0.98), rgba(240, 206, 131, 0.82));
  box-shadow: inset 0 0 0 5px rgba(7, 6, 6, 0.24);
}

.vehicle-booking-card .primary-button,
.vehicle-booking-card .secondary-button {
  width: 100%;
  min-height: 54px;
  justify-content: center;
  border-radius: 2px;
  text-transform: uppercase;
}

.vehicle-spec-grid {
  grid-area: spec;
  height: 100%;
  align-self: stretch;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.vehicle-spec-card {
  min-height: 142px;
  height: 100%;
  display: grid;
  align-content: end;
  gap: 8px;
  border: 1px solid rgba(248, 245, 239, 0.09);
  border-radius: 3px;
  background:
    linear-gradient(180deg, rgba(215, 180, 106, 0.08), rgba(248, 245, 239, 0.018)),
    #090807;
  padding: 22px;
}

.vehicle-spec-icon {
  margin-bottom: 12px;
  color: var(--gold-strong);
}

.vehicle-spec-card span {
  color: var(--ink);
  font-size: 0.84rem;
  font-weight: 950;
  text-transform: uppercase;
}

.vehicle-spec-card strong {
  color: var(--dim);
  font-size: 1.04rem;
  font-weight: 700;
  text-transform: uppercase;
}

.vehicle-product-related {
  margin-top: clamp(56px, 7vw, 96px);
}

@media (max-width: 1080px) {
  .vehicle-product-layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "gallery"
      "thumbs"
      "copy"
      "spec"
      "booking";
  }

  .vehicle-product-side {
    display: contents;
  }

  .vehicle-side-thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: none;
    height: auto;
  }

  .vehicle-booking-card {
    height: auto;
    min-height: auto;
  }

  .vehicle-spec-grid {
    height: auto;
    align-self: start;
  }

  .vehicle-spec-card {
    height: auto;
  }
}

@media (max-width: 760px) {
  .vehicle-product {
    width: min(100% - 32px, 1360px);
    padding-top: 112px;
  }

  .vehicle-product-back {
    width: 100%;
    justify-content: center;
  }

  .vehicle-gallery-stage img {
    height: clamp(280px, 74vw, 420px);
  }

  .vehicle-gallery-nav {
    width: 44px;
    height: 44px;
  }

  .vehicle-gallery-nav-prev {
    left: 12px;
  }

  .vehicle-gallery-nav-next {
    right: 12px;
  }

  .vehicle-product-copy h1 {
    font-size: clamp(2rem, 11vw, 3.15rem);
  }

  .vehicle-product-side,
  .vehicle-spec-grid {
    grid-template-columns: 1fr;
  }

  .vehicle-side-thumbs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .vehicle-side-thumb {
    min-height: 120px;
  }
}

.vehicle-empty {
  width: min(100% - 48px, 760px);
  min-height: 72dvh;
  margin: 0 auto;
  padding-top: 160px;
  display: grid;
  align-content: center;
  gap: 18px;
}

.admin-page {
  min-height: 100dvh;
  background:
    radial-gradient(circle at 12% 0%, rgba(215, 180, 106, 0.2), transparent 28rem),
    radial-gradient(circle at 82% 6%, rgba(248, 245, 239, 0.13), transparent 24rem),
    linear-gradient(135deg, rgba(73, 88, 98, 0.16), transparent 38%),
    var(--bg);
}

.admin-shell {
  width: min(100% - 48px, 1480px);
  margin: 0 auto;
  padding: 18px 0 54px;
}

.admin-login {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  gap: 24px;
}

.admin-brand {
  justify-content: center;
}

.admin-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(248, 245, 239, 0.07), rgba(248, 245, 239, 0.025)),
    rgba(18, 17, 16, 0.88);
  box-shadow: 0 28px 88px rgba(0, 0, 0, 0.3);
}

.admin-login-panel {
  width: min(100%, 460px);
  display: grid;
  gap: 16px;
  padding: clamp(24px, 5vw, 42px);
}

.admin-login-panel h1,
.admin-topbar h1,
.admin-editor-head h2 {
  margin: 0;
}

.admin-topbar h1,
.admin-editor-head h2 {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 900;
  line-height: 1.05;
}

.admin-topbar h1 {
  font-size: clamp(1.35rem, 2vw, 2rem);
}

.admin-editor-head h2 {
  font-size: clamp(1.35rem, 2vw, 1.95rem);
}

.admin-login-panel > p:not(.eyebrow),
.admin-help,
.admin-empty,
.admin-status {
  margin: 0;
  color: var(--muted);
}

.admin-form,
.admin-editor {
  display: grid;
  gap: 16px;
}

.admin-form label,
.admin-editor label {
  display: grid;
  gap: 8px;
  color: var(--dim);
  font-size: 0.76rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-form input,
.admin-editor input,
.admin-editor textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(7, 6, 6, 0.72);
  color: var(--ink);
  min-height: 46px;
  padding: 11px 13px;
  font: inherit;
  text-transform: none;
  outline: none;
}

.admin-editor input,
.admin-editor textarea {
  border-color: rgba(18, 14, 8, 0.16);
  background: rgba(255, 255, 255, 0.88);
  color: #15110c;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset;
}

.admin-editor label {
  color: #70685d;
}

.admin-editor-panel .secondary-button,
.admin-editor-panel .ghost-button {
  border-color: rgba(20, 16, 10, 0.16);
  background: #15120e;
  color: #fff;
}

.admin-editor-panel .secondary-button:hover,
.admin-editor-panel .ghost-button:hover {
  border-color: rgba(20, 16, 10, 0.28);
  background: #2a241d;
}

.admin-editor-panel .ghost-button:disabled {
  background: rgba(20, 16, 10, 0.08);
  color: rgba(20, 16, 10, 0.28);
}

.admin-editor .eyebrow {
  color: #9a6f18;
}

.admin-editor-hero {
  position: relative;
  min-height: 236px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 20px;
  overflow: hidden;
  border-radius: 8px;
  background: #111;
  padding: 24px;
  color: var(--ink);
}

.admin-editor-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.78;
}

.admin-editor-scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5, 5, 5, 0.84), rgba(5, 5, 5, 0.42), rgba(5, 5, 5, 0.18)),
    linear-gradient(0deg, rgba(5, 5, 5, 0.72), transparent 64%);
}

.admin-editor-title,
.admin-editor-hero .primary-button {
  position: relative;
  z-index: 2;
}

.admin-editor-title {
  display: grid;
  gap: 10px;
}

.admin-editor-title h2 {
  max-width: 720px;
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 0.96;
  text-wrap: balance;
}

.admin-editor-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-editor-chips span {
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  padding: 8px 11px;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 850;
  backdrop-filter: blur(12px);
}

.admin-form input:focus,
.admin-editor input:focus,
.admin-editor textarea:focus {
  border-color: rgba(215, 180, 106, 0.58);
  box-shadow: 0 0 0 3px rgba(215, 180, 106, 0.12);
}

.admin-status[data-tone="error"] {
  color: #ffd4c9;
}

.admin-status[data-tone="success"] {
  color: var(--gold-strong);
}

.admin-dashboard {
  display: grid;
  gap: 16px;
}

.admin-topbar {
  min-height: 86px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 14px;
}

.admin-config-warning {
  border: 1px solid rgba(255, 180, 168, 0.28);
  border-radius: 8px;
  background: rgba(255, 180, 168, 0.08);
  padding: 14px 16px;
  color: #ffd4cc;
}

.admin-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(248, 245, 239, 0.14);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(248, 245, 239, 0.09), rgba(215, 180, 106, 0.045), rgba(248, 245, 239, 0.035)),
    rgba(18, 17, 16, 0.8);
  padding: 14px;
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.22);
}

.admin-layout {
  display: grid;
  grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.admin-list-panel,
.admin-editor-panel {
  padding: 16px;
}

.admin-editor-panel {
  border-color: rgba(248, 245, 239, 0.34);
  background: #f7f2e8;
  color: #16120d;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.28) inset,
    0 34px 100px rgba(0, 0, 0, 0.42);
}

.admin-list-panel {
  position: sticky;
  top: 18px;
}

.admin-panel-head,
.admin-editor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.admin-panel-head h3 {
  margin: 0;
  color: var(--ink);
}

.admin-car-list {
  display: grid;
  gap: 9px;
  max-height: calc(100dvh - 222px);
  overflow: auto;
  padding-right: 4px;
}

.admin-car-button {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  gap: 6px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(248, 245, 239, 0.06), rgba(248, 245, 239, 0.025)),
    rgba(14, 13, 12, 0.76);
  color: var(--ink);
  padding: 9px;
  text-align: left;
  cursor: pointer;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    transform 180ms ease;
}

.admin-car-button.active,
.admin-car-button:hover {
  border-color: rgba(215, 180, 106, 0.58);
  background:
    linear-gradient(180deg, rgba(215, 180, 106, 0.16), rgba(248, 245, 239, 0.05)),
    rgba(34, 29, 21, 0.86);
}

.admin-car-button:hover {
  transform: translateY(-1px);
}

.admin-car-thumb {
  grid-row: 1 / 4;
  width: 76px;
  height: 62px;
  border-radius: 8px;
  object-fit: cover;
  background: rgba(248, 245, 239, 0.08);
}

.admin-car-button span,
.admin-car-button small {
  grid-column: 2 / -1;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-car-button strong {
  grid-column: 2 / -1;
  color: var(--ink);
  line-height: 1.2;
}

.admin-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.admin-form-grid.simple {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-simple-section,
.admin-advanced {
  border: 1px solid rgba(20, 16, 10, 0.1);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(251, 247, 239, 0.82)),
    #fbf7ef;
  padding: 16px;
  box-shadow: 0 18px 48px rgba(35, 26, 12, 0.08);
}

.admin-simple-section {
  display: grid;
  gap: 14px;
}

.admin-simple-title {
  display: flex;
  align-items: center;
  gap: 12px;
}

.admin-simple-title span {
  width: 34px;
  height: 34px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 999px;
  background: #15120e;
  color: var(--gold-strong);
  font-weight: 900;
}

.admin-simple-title h3 {
  margin: 0;
  color: #16120d;
  font-size: 1rem;
}

.admin-simple-title p {
  margin: 2px 0 0;
  color: #6a6258;
  font-size: 0.82rem;
  text-transform: none;
}

.admin-advanced {
  display: grid;
  gap: 14px;
}

.admin-advanced summary {
  min-height: 42px;
  display: flex;
  align-items: center;
  color: #1a1611;
  cursor: pointer;
  font-weight: 900;
}

.admin-advanced[open] summary {
  margin-bottom: 10px;
}

.admin-subpanel {
  border-top: 0;
  padding-top: 16px;
}

.photo-editor-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.photo-editor-row {
  display: grid;
  grid-template-columns: 40px 42px 104px minmax(180px, 1fr) minmax(160px, 0.72fr) auto auto;
  align-items: end;
  gap: 10px;
  border: 1px solid rgba(20, 16, 10, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.62);
  padding: 10px;
}

.photo-editor-row.dragging {
  opacity: 0.5;
}

.photo-editor-row.drop-target {
  border-color: rgba(215, 180, 106, 0.86);
  box-shadow:
    0 0 0 3px rgba(215, 180, 106, 0.18),
    0 16px 36px rgba(35, 26, 12, 0.14);
}

.photo-drag-handle {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(20, 16, 10, 0.12);
  border-radius: 8px;
  background: #fff;
  color: #15120e;
  cursor: grab;
}

.photo-drag-handle:active {
  cursor: grabbing;
}

.photo-drag-handle svg,
.photo-order-actions svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
}

.photo-number {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #15120e;
  color: var(--gold-strong);
  font-weight: 900;
}

.photo-editor-row img {
  width: 104px;
  height: 72px;
  border: 1px solid rgba(20, 16, 10, 0.1);
  border-radius: 8px;
  object-fit: cover;
}

.photo-order-actions {
  display: flex;
  gap: 6px;
}

.photo-order-actions .ghost-button {
  width: 40px;
  min-height: 40px;
  padding: 0;
}

.photo-order-actions .ghost-button:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

.admin-date-add {
  min-width: 180px;
}

.availability-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.availability-chip {
  min-height: 40px;
  border: 1px solid rgba(20, 16, 10, 0.12);
  border-radius: 999px;
  background: #fff;
  color: #15120e;
  padding: 8px 12px;
  cursor: pointer;
}

.split-section,
.booking-section {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(28px, 6vw, 72px);
  align-items: center;
}

.split-media {
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--panel);
}

.split-media img {
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
}

.split-content {
  display: grid;
  gap: 22px;
}

.service-list {
  display: grid;
  gap: 12px;
}

.service-list article {
  display: grid;
  grid-template-columns: 44px 1fr;
  column-gap: 16px;
  border-top: 1px solid var(--line);
  padding-top: 18px;
}

.service-list span,
.process-card span {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(215, 180, 106, 0.42);
  border-radius: 50%;
  color: var(--gold-strong);
  font-weight: 850;
}

.service-list p,
.process-card p,
.event-panel p {
  margin: 8px 0 0;
  color: var(--muted);
}

.event-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.event-panel,
.process-card {
  padding: 22px;
}

.event-panel {
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: end;
  background:
    linear-gradient(180deg, rgba(179, 25, 43, 0), rgba(179, 25, 43, 0.18)),
    var(--panel);
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.process-card {
  min-height: 230px;
}

.process-card h3 {
  margin-top: 34px;
}

.booking-section {
  align-items: start;
}

.booking-copy {
  position: sticky;
  top: 120px;
  display: grid;
  gap: 18px;
}

.contact-stack {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.contact-stack a {
  display: flex;
  min-height: 48px;
  align-items: center;
  border-bottom: 1px solid var(--line);
  color: var(--gold-strong);
}

.booking-form {
  display: grid;
  gap: 16px;
  padding: clamp(18px, 4vw, 30px);
  background: var(--panel-strong);
}

.form-row {
  display: grid;
  gap: 8px;
}

.form-row.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

label,
legend {
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 750;
}

input,
select,
textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(248, 245, 239, 0.18);
  border-radius: var(--radius);
  background: rgba(7, 6, 6, 0.42);
  color: var(--ink);
  padding: 12px 13px;
}

textarea {
  resize: vertical;
}

.intent-group {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  border: 0;
  margin: 0;
  padding: 0;
}

.intent-group legend {
  grid-column: 1 / -1;
}

.intent-group label {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 10px;
  color: var(--muted);
  font-weight: 650;
}

.form-note {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.faq-list {
  display: grid;
  gap: 10px;
}

details {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  padding: 0 18px;
}

summary {
  min-height: 64px;
  display: flex;
  align-items: center;
  cursor: pointer;
  font-weight: 800;
}

details p {
  margin: 0;
  padding: 0 0 18px;
  color: var(--muted);
}

.site-footer {
  width: min(var(--max), calc(100% - 40px));
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(280px, 1.1fr) minmax(0, 1.4fr);
  gap: clamp(28px, 5vw, 72px);
  margin: clamp(56px, 7vw, 96px) auto 0;
  border: 1px solid rgba(248, 245, 239, 0.1);
  border-radius: 30px 30px 0 0;
  background:
    radial-gradient(circle at 12% 0%, rgba(219, 184, 104, 0.14), transparent 34%),
    linear-gradient(135deg, rgba(19, 17, 14, 0.98), rgba(5, 5, 5, 0.98));
  box-shadow: 0 -24px 80px rgba(0, 0, 0, 0.34);
  padding: clamp(30px, 4.5vw, 54px);
}

.footer-main {
  display: grid;
  align-content: start;
  gap: 18px;
}

.footer-brand {
  min-height: auto;
  width: fit-content;
}

.footer-logo-frame {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(276px, 74vw);
  min-height: 104px;
  padding: 16px 18px;
  border: 1px solid rgba(219, 184, 104, 0.3);
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.97), rgba(226, 215, 193, 0.9));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.7),
    0 22px 60px rgba(0, 0, 0, 0.32);
}

.footer-logo-frame .brand-logo-wide {
  width: 100%;
  max-height: 84px;
  object-fit: contain;
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.18));
}

/* Prestiege Luxor wordmark sizing */
.site-header .brand-logo-wide[src*="prestiege-luxor-logo"],
.admin-topbar .brand-logo-wide[src*="prestiege-luxor-logo"] {
  width: clamp(172px, 14vw, 236px);
  height: auto;
  max-height: 46px;
  object-fit: contain;
}

.footer-logo-frame .brand-logo-wide[src*="prestiege-luxor-logo"] {
  width: min(260px, 74vw);
  height: auto;
  max-height: 58px;
  object-fit: contain;
}

@media (max-width: 760px) {
  .site-header .brand-logo-wide[src*="prestiege-luxor-logo"],
  .admin-topbar .brand-logo-wide[src*="prestiege-luxor-logo"] {
    width: 148px;
    max-height: 36px;
  }
}

.footer-main p {
  max-width: 440px;
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.footer-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.footer-contact a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(248, 245, 239, 0.14);
  border-radius: 999px;
  color: var(--ink);
  padding: 0 14px;
  font-weight: 850;
  background: rgba(255, 255, 255, 0.035);
}

.footer-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 32px);
  padding: 6px 0;
}

.footer-links {
  display: grid;
  align-content: start;
  gap: 8px;
  color: var(--muted);
}

.footer-links h3 {
  margin: 0 0 8px;
  color: var(--gold-strong);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.footer-links a {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  width: max-content;
  color: rgba(248, 245, 239, 0.72);
  font-weight: 750;
}

.footer-links a:hover,
.footer-contact a:hover {
  color: var(--gold-strong);
}

.footer-bottom {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid var(--line);
  padding-top: 22px;
  color: var(--dim);
  font-size: 0.82rem;
}

.reveal {
  transform: translateY(24px);
  opacity: 0;
  transition:
    transform 620ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 620ms ease;
}

.reveal.revealed {
  transform: translateY(0);
  opacity: 1;
}

@keyframes heroDrift {
  from {
    transform: scale(1.06);
  }
  to {
    transform: scale(1);
  }
}

@keyframes heroReveal {
  from {
    transform: translateY(18px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes heroTitleShine {
  0%,
  32% {
    background-position: 120% 50%, 0 0;
  }
  56% {
    background-position: -45% 50%, 0 0;
  }
  100% {
    background-position: -45% 50%, 0 0;
  }
}

@keyframes heroLinePulse {
  0%,
  100% {
    transform: scaleX(0.72);
    opacity: 0.54;
  }
  45%,
  58% {
    transform: scaleX(1);
    opacity: 1;
  }
}

@keyframes marquee {
  to {
    transform: translateX(-33.333%);
  }
}

@keyframes diaSweep {
  0%,
  14% {
    background-position: 130% 0, 0 0;
  }
  54% {
    background-position: -35% 0, 0 0;
  }
  100% {
    background-position: -35% 0, 0 0;
  }
}

@keyframes performanceGlow {
  from {
    filter: brightness(0.86) saturate(0.94) contrast(1.04);
  }
  to {
    filter: brightness(1) saturate(1.08) contrast(1.08);
  }
}

@media (max-width: 1180px) {
  .fleet-grid {
    grid-auto-columns: minmax(280px, 33.333%);
    grid-template-columns: none;
  }
}

@media (max-width: 980px) {
  .desktop-nav,
  .header-actions {
    display: none;
  }

  .menu-toggle {
    display: block;
  }

  .fleet-grid,
  .event-grid,
  .process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fleet-viewport .fleet-grid {
    grid-auto-columns: minmax(280px, 48%);
    grid-template-columns: none;
  }

  .fan-stage {
    min-height: 400px;
  }

  .shop-browse {
    gap: 20px;
  }

  .shop-rail {
    grid-auto-columns: minmax(132px, 28%);
  }

  .monthly-specials {
    grid-template-columns: 1fr;
  }

  .monthly-specials h2 {
    max-width: 10ch;
  }

  .monthly-specials-copy {
    max-width: 720px;
  }

  .specials-rail {
    grid-auto-columns: minmax(300px, 58%);
  }

  .content-experience-promo {
    min-height: 540px;
    height: auto;
  }

  .content-experience-inner {
    width: min(100% - 40px, var(--max));
    padding: 52px 0;
  }

  .content-experience-copy h2 {
    font-size: clamp(3.35rem, 6.6vw, 4.5rem);
  }

  .split-section,
  .booking-section,
  .vehicle-hero-detail,
  .vehicle-detail-grid,
  .admin-layout {
    grid-template-columns: 1fr;
  }

  .admin-list-panel {
    position: static;
  }

  .photo-editor-row {
    grid-template-columns: 40px 42px 96px 1fr;
  }

  .photo-editor-row label,
  .photo-order-actions,
  .photo-editor-row [data-remove-photo] {
    grid-column: 1 / -1;
  }

  .photo-drag-handle {
    grid-column: auto;
  }

  .vehicle-hero-detail {
    min-height: auto;
    padding-top: 118px;
    gap: 28px;
  }

  .vehicle-hero-media {
    order: -1;
  }

  .vehicle-hero-media img {
    min-height: 420px;
    height: auto;
  }

  .vehicle-stats {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery-thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .booking-copy {
    position: static;
  }

  .split-media img {
    min-height: 420px;
  }
}

@media (max-width: 640px) {
  .site-header {
    padding: 14px 18px;
  }

  .brand small {
    display: none;
  }

  .brand-logo {
    width: 56px;
    height: 56px;
  }

  .brand-logo-wide {
    width: 142px;
    height: auto;
    max-height: 64px;
  }

  .brand strong {
    font-size: 1.2rem;
  }

  .hero {
    min-height: 92dvh;
  }

  .hero-scrim {
    background:
      linear-gradient(0deg, rgba(7, 6, 6, 0.62), rgba(7, 6, 6, 0.62)),
      linear-gradient(0deg, var(--bg) 0%, rgba(7, 6, 6, 0.14) 44%, rgba(7, 6, 6, 0.28) 100%);
  }

  .hero-content {
    width: min(100% - 32px, var(--max));
    padding: 118px 0 44px;
  }

  .hero h1 {
    font-size: clamp(1.9rem, 8vw, 2.85rem);
    line-height: 1.06;
  }

  .hero-copy {
    max-width: 330px;
    margin-top: 18px;
    font-size: 0.94rem;
    line-height: 1.48;
  }

  .hero-booking-button {
    min-height: 54px;
    padding: 14px 18px;
    font-size: 0.78rem;
    letter-spacing: 0.06em;
  }

  .video-banner {
    min-height: 430px;
    margin: 0 calc(50% - 50vw) 42px;
  }

  .video-banner-media {
    object-position: 56% center;
  }

  .video-banner-overlay {
    background:
      linear-gradient(90deg, rgba(5, 5, 5, 0.28), rgba(5, 5, 5, 0.04), rgba(5, 5, 5, 0.18)),
      linear-gradient(0deg, rgba(5, 5, 5, 0.34), rgba(5, 5, 5, 0.02));
  }

  .section {
    width: min(100% - 32px, var(--max));
  }

  .fan-showcase {
    margin-bottom: 46px;
    padding-top: 0;
  }

  .fan-stage {
    min-height: 300px;
  }

  .fan-card {
    top: 50%;
    width: clamp(150px, 48vw, 190px);
  }

  .fan-card span {
    inset: auto 9px 9px;
    padding: 8px 9px;
    font-size: 0.68rem;
  }

  .fan-controls {
    margin-top: -12px;
  }

  .arrival-statement {
    margin-bottom: 22px;
    padding: 16px 0 18px;
  }

  .arrival-statement h2 {
    gap: 0.22em 0.28em;
    font-size: clamp(1.28rem, 7vw, 2rem);
    line-height: 1.12;
  }

  .dia-text {
    min-width: 9.2ch;
    border-left-width: 2px;
    border-radius: 5px;
    padding: 0.1em 0.26em 0.12em;
  }

  .hero-cta,
  .hero-cta a,
  .fleet-grid,
  .event-grid,
  .process-grid,
  .vehicle-stats,
  .gallery-thumbs,
  .related-grid,
  .admin-form-grid,
  .form-row.two,
  .intent-group {
    grid-template-columns: 1fr;
  }

  .admin-shell {
    width: min(100% - 24px, var(--max));
    padding-top: 18px;
  }

  .admin-topbar {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .admin-editor-head,
  .admin-panel-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-editor-head .primary-button,
  .admin-actions .primary-button,
  .admin-actions .secondary-button {
    width: 100%;
  }

  .admin-car-list {
    max-height: none;
  }

  .hero-cta {
    display: grid;
    justify-content: stretch;
  }

  .fleet-grid,
  .event-grid,
  .process-grid {
    display: grid;
  }

  .fleet-viewport .fleet-grid {
    grid-auto-columns: minmax(282px, 86%);
    grid-auto-flow: column;
    grid-template-columns: none;
  }

  .fleet-toolbar {
    align-items: flex-end;
  }

  .shop-panel-head {
    display: grid;
    gap: 6px;
  }

  .shop-rail {
    grid-auto-columns: minmax(124px, 42%);
  }

  .shop-tile {
    min-height: 96px;
  }

  .type-browser-panel {
    padding-inline: 16px;
  }

  .type-browser-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .type-card-rail {
    grid-auto-columns: minmax(230px, 72%);
    gap: 16px;
  }

  .type-card {
    min-height: 168px;
    padding: 20px 18px 24px;
  }

  .type-preview {
    width: min(86%, 230px);
  }

  .type-nav {
    width: 46px;
    height: 46px;
  }

  .type-nav-prev {
    left: 6px;
  }

  .type-nav-next {
    right: 6px;
  }

  .monthly-specials {
    padding: 54px 16px 64px;
  }

  .monthly-specials h2 {
    max-width: 9ch;
    font-size: clamp(2.9rem, 15vw, 4.6rem);
  }

  .monthly-specials-copy > p:not(.section-kicker) {
    margin-top: 18px;
    font-size: 1rem;
  }

  .specials-cta {
    width: 100%;
    margin-top: 24px;
  }

  .specials-rail {
    grid-auto-columns: minmax(268px, 84%);
    gap: 16px;
    padding-inline: 2px;
  }

  .special-card {
    min-height: 430px;
  }

  .special-card-copy h3 {
    font-size: clamp(1.55rem, 8vw, 2.15rem);
  }

  .specials-nav {
    width: 46px;
    height: 46px;
  }

  .specials-nav-prev {
    left: 8px;
  }

  .specials-nav-next {
    right: 8px;
  }

  .content-experience-promo {
    min-height: 650px;
    height: auto;
    margin-bottom: 0;
  }

  .content-experience-bg {
    object-position: 70% bottom;
  }

  .content-experience-promo::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    background: linear-gradient(
      180deg,
      rgba(255, 252, 247, 0.96) 0%,
      rgba(255, 252, 247, 0.88) 34%,
      rgba(255, 252, 247, 0.3) 52%,
      transparent 68%
    );
    pointer-events: none;
  }

  .content-experience-promo::before {
    display: none;
  }

  .content-wedding-copy {
    top: 30px;
    left: 16px;
    width: calc(100% - 32px);
    transform: none;
  }

  .content-wedding-logo {
    width: 72px;
    margin-bottom: 5px;
  }

  .content-wedding-kicker {
    width: min(100%, 330px);
    grid-template-columns: minmax(20px, 1fr) auto minmax(20px, 1fr);
    gap: 9px;
  }

  .content-wedding-kicker p {
    font-size: 0.54rem;
    letter-spacing: 0.22em;
  }

  .content-wedding-copy h2 {
    margin: 13px 0 11px;
    font-size: clamp(1.72rem, 8vw, 2rem);
    letter-spacing: 0.035em;
    line-height: 1.12;
  }

  .content-wedding-ornament {
    width: min(76%, 270px);
    grid-template-columns: 1fr 22px 1fr;
    gap: 9px;
  }

  .content-wedding-ornament svg {
    width: 22px;
    height: 18px;
  }

  .content-wedding-tagline {
    margin-top: 7px;
    font-size: 0.58rem;
    letter-spacing: 0.24em;
  }

  .content-experience-overlay {
    background:
      linear-gradient(90deg, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.62) 54%, rgba(0, 0, 0, 0.24) 100%),
      linear-gradient(0deg, rgba(0, 0, 0, 0.28), rgba(0, 0, 0, 0.04));
  }

  .content-experience-inner {
    width: min(100% - 32px, var(--max));
    align-items: center;
    padding: 46px 0;
  }

  .content-experience-copy {
    max-width: 420px;
  }

  .content-experience-copy h2 {
    max-width: 11ch;
    font-size: clamp(2.85rem, 13vw, 3.45rem);
    line-height: 0.88;
  }

  .content-experience-line {
    width: 118px;
    margin: 22px 0 20px;
  }

  .content-experience-copy p {
    font-size: 1rem;
    line-height: 1.5;
  }

  .content-experience-chips {
    grid-template-columns: 1fr;
    width: 100%;
    margin-top: 22px;
  }

  .content-experience-chips span {
    min-height: 50px;
    grid-template-columns: 34px 1fr;
    align-items: center;
    padding: 10px 12px;
    font-size: 0.8rem;
  }

  .content-experience-copy a {
    width: 100%;
    margin-top: 22px;
    padding-left: 18px;
    font-size: 0.78rem;
  }

  .requirements-section {
    margin-bottom: 0;
    padding: 58px 18px 64px;
  }

  .requirements-inner {
    gap: 38px;
  }

  .requirements-head h2 {
    font-size: clamp(1.82rem, 9vw, 2.55rem);
  }

  .requirements-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .requirement-item {
    gap: 14px;
  }

  .requirement-item svg {
    width: 82px;
    height: 82px;
  }

  .requirements-dots {
    margin-top: -2px;
  }

  .quote-section,
  .site-footer {
    width: min(100% - 32px, var(--max));
    grid-template-columns: 1fr;
  }

  .quote-section {
    margin: 48px auto;
  }

  .quote-copy {
    position: static;
  }

  .quote-copy h2 {
    max-width: 11ch;
    font-size: clamp(2.35rem, 10.5vw, 3.45rem);
  }

  .quote-form-grid,
  .quote-addons {
    grid-template-columns: 1fr;
  }

  .quote-form {
    padding: 18px;
    justify-self: stretch;
    width: 100%;
  }

  .faq-home {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 46px;
    margin: 0;
    padding: 64px 16px 72px;
  }

  .faq-home::before {
    width: 300px;
    height: 300px;
    top: -150px;
    left: -190px;
  }

  .faq-home::after {
    width: 420px;
    right: -270px;
    bottom: 90px;
  }

  .faq-home-head {
    position: static;
    display: block;
  }

  .faq-home-head h2 {
    max-width: 8ch;
    font-size: clamp(3.45rem, 16vw, 4.8rem);
  }

  .faq-home-list {
    display: block;
  }

  .faq-home-list summary {
    min-height: 82px;
    grid-template-columns: 32px minmax(0, 1fr) 34px;
    gap: 10px;
    padding-inline: 4px;
  }

  .faq-home-list p {
    padding: 0 42px 26px 46px;
    font-size: 0.92rem;
  }

  .final-cta {
    gap: 22px;
    margin-top: 56px;
    padding: 42px 0;
  }

  .final-cta-inner {
    width: min(100% - 32px, var(--max));
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .final-cta h2 {
    font-size: clamp(2.2rem, 12vw, 3.7rem);
  }

  .final-cta-actions,
  .final-cta-primary,
  .final-cta-secondary {
    width: 100%;
  }

  .footer-columns {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .footer-logo-frame {
    width: min(240px, 100%);
    min-height: 90px;
    padding: 14px 16px;
    border-radius: 18px;
  }

  .footer-bottom {
    display: grid;
  }

  .event-panel,
  .process-card {
    min-height: auto;
  }

  .service-list article {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .vehicle-hero-detail,
  .vehicle-shell,
  .vehicle-empty {
    width: min(100% - 32px, var(--max));
  }

  .vehicle-hero-actions,
  .vehicle-hero-actions a {
    width: 100%;
  }

  .vehicle-hero-copy h1 {
    font-size: clamp(2.05rem, 11vw, 3.3rem);
  }

  .vehicle-hero-media img {
    min-height: 300px;
  }

  .vehicle-media-badge {
    right: 12px;
    bottom: 12px;
    min-width: 148px;
    padding: 12px;
  }

  .vehicle-media-badge strong {
    font-size: 1.36rem;
  }

  .vehicle-stats div {
    min-height: auto;
  }

  .vehicle-rate-cards {
    grid-template-columns: 1fr;
  }

  .car-card-body {
    padding: 15px;
    min-height: 356px;
  }

  .car-card h3 {
    font-size: 1.1rem;
  }

  .car-pill-row {
    min-height: 54px;
  }

  .car-pill {
    min-height: 54px;
    padding: 9px 6px;
  }

  .car-pill span {
    font-size: 0.58rem;
  }

  .car-pill strong {
    font-size: 0.84rem;
  }

  .car-rate-grid {
    gap: 7px;
    padding-top: 14px;
  }

  .car-rate {
    min-height: 58px;
    padding: 9px;
  }

  .car-rate span {
    font-size: 0.61rem;
  }

  .car-rate strong {
    font-size: 0.96rem;
  }

  .car-price-block strong {
    font-size: 1.44rem;
  }

  .gallery-thumb {
    min-height: 96px;
  }
}

@media (max-width: 640px) {
  .press-section {
    padding-block: 46px 40px;
  }

  .press-heading {
    width: min(100% - 32px, var(--max));
    margin-bottom: 26px;
  }

  .press-heading h2 {
    max-width: 330px;
    font-size: 1.75rem;
  }

  .press-group {
    gap: 12px;
    padding-inline: 6px;
  }

  .press-group li {
    width: 150px;
    height: 72px;
    border-radius: 12px;
    padding: 16px 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .press-track {
    width: 100%;
    animation: none;
  }

  .press-group {
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    padding-inline: 16px;
  }

  .press-group[aria-hidden="true"] {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }

  .reveal {
    transform: none;
    opacity: 1;
  }

  .fan-card {
    transition: none;
  }

  .dia-text {
    background-position: 0 0, 0 0;
  }

  .hero-media {
    display: none;
  }

  .hero-poster {
    z-index: 0;
  }
}

/* Admin redesign */
.admin-page {
  color-scheme: light;
  min-height: 100dvh;
  background:
    radial-gradient(circle at 0% 0%, rgba(215, 180, 106, 0.18), transparent 34rem),
    linear-gradient(180deg, #f8f5ef 0%, #eee7dc 48%, #e9e1d4 100%);
  color: #17130f;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.admin-page .admin-shell {
  width: min(100% - 40px, 1560px);
  margin: 0 auto;
  padding: 22px 0 48px;
}

.admin-page .admin-brand {
  width: 186px;
  min-width: 186px;
  justify-content: flex-start;
}

.admin-page .admin-login {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  gap: 24px;
}

.admin-page .admin-login > .admin-brand {
  width: 230px;
  min-width: 230px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  background:
    radial-gradient(circle at 30% 0%, rgba(215, 180, 106, 0.18), transparent 12rem),
    #0b0908;
  padding: 14px 20px;
  box-shadow: 0 24px 70px rgba(22, 17, 10, 0.16);
}

.admin-page .admin-login-panel {
  width: min(100%, 430px);
  display: grid;
  gap: 16px;
  border: 1px solid rgba(23, 19, 15, 0.1);
  border-radius: 24px;
  background: #fffdf9;
  padding: clamp(24px, 5vw, 42px);
  color: #17130f;
  box-shadow: 0 28px 90px rgba(22, 17, 10, 0.16);
}

.admin-page .admin-login-panel h1 {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(2rem, 5vw, 3.2rem);
  line-height: 0.95;
  letter-spacing: 0;
}

.admin-page .admin-login-panel > p:not(.eyebrow),
.admin-page .admin-status,
.admin-page .admin-empty {
  margin: 0;
  color: #746b61;
}

.admin-page .admin-form,
.admin-page .admin-editor {
  display: grid;
  gap: 18px;
}

.admin-page .admin-form label,
.admin-page .admin-editor label {
  display: grid;
  gap: 8px;
  color: #6f665d;
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}

.admin-page .admin-form input,
.admin-page .admin-editor input,
.admin-page .admin-editor textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid #ddd4c8;
  border-radius: 12px;
  background: #fff;
  color: #17130f;
  padding: 12px 14px;
  font: inherit;
  font-weight: 650;
  outline: none;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

.admin-page .admin-editor textarea {
  min-height: 110px;
  resize: vertical;
}

.admin-page .admin-form input:focus,
.admin-page .admin-editor input:focus,
.admin-page .admin-editor textarea:focus {
  border-color: #bd9140;
  box-shadow:
    0 0 0 4px rgba(215, 180, 106, 0.18),
    0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

.admin-page .primary-button,
.admin-page .secondary-button,
.admin-page .ghost-button {
  border-radius: 12px;
  min-height: 48px;
  font-weight: 850;
  letter-spacing: 0;
}

.admin-page .primary-button {
  background: linear-gradient(180deg, #e7c875, #d6ac53);
  color: #14100b;
  box-shadow: 0 12px 24px rgba(166, 116, 28, 0.2);
}

.admin-page .secondary-button {
  border-color: #d9d0c3;
  background: #fffaf2;
  color: #17130f;
}

.admin-page .ghost-button {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.admin-page .admin-editor-panel .secondary-button,
.admin-page .admin-editor-panel .ghost-button {
  border-color: #ded5ca;
  background: #17130f;
  color: #fffdf9;
  box-shadow: none;
}

.admin-page .admin-editor-panel .ghost-button:disabled {
  background: #eee8df;
  color: #9a9288;
}

.admin-page .admin-status[data-tone="error"] {
  color: #a02d21;
}

.admin-page .admin-status[data-tone="success"] {
  color: #5c7b20;
}

.admin-page .admin-dashboard {
  display: grid;
  gap: 18px;
}

.admin-page .admin-topbar {
  min-height: 96px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 22px;
  background:
    radial-gradient(circle at 35% 0%, rgba(215, 180, 106, 0.18), transparent 26rem),
    linear-gradient(135deg, #0b0908 0%, #19130e 58%, #0b0908 100%);
  padding: 18px 22px;
  box-shadow: 0 24px 70px rgba(22, 17, 10, 0.22);
}

.admin-page .admin-title-block {
  display: grid;
  gap: 4px;
}

.admin-page .admin-title-block h1 {
  margin: 0;
  color: #fffdf9;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(1.55rem, 2.2vw, 2.35rem);
  line-height: 1.02;
}

.admin-page .admin-title-block span {
  color: #c9beb0;
  font-size: 0.92rem;
}

.admin-page .admin-topbar .eyebrow,
.admin-page .admin-actions .eyebrow,
.admin-page .admin-list-panel .eyebrow,
.admin-page .admin-editor .eyebrow {
  margin: 0;
  color: #b98522;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.admin-page .admin-config-warning {
  border: 1px solid #efc5bc;
  border-radius: 16px;
  background: #fff0ed;
  padding: 14px 16px;
  color: #8a2b20;
}

.admin-page .admin-actions {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto auto minmax(260px, 1.2fr);
  align-items: center;
  gap: 12px;
  border: 1px solid #ded5ca;
  border-radius: 18px;
  background: rgba(255, 253, 249, 0.9);
  padding: 14px;
  box-shadow: 0 16px 44px rgba(22, 17, 10, 0.08);
}

.admin-page .admin-actions-copy {
  display: grid;
  gap: 2px;
}

.admin-page .admin-actions-copy strong {
  font-size: 1.05rem;
}

.admin-page .admin-layout {
  display: grid;
  grid-template-columns: minmax(290px, 360px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.admin-page .admin-panel {
  border: 1px solid #ded5ca;
  border-radius: 18px;
  background: rgba(255, 253, 249, 0.94);
  box-shadow: 0 18px 48px rgba(22, 17, 10, 0.1);
}

.admin-page .admin-list-panel {
  position: sticky;
  top: 18px;
  padding: 16px;
  max-height: calc(100dvh - 42px);
  overflow: hidden;
}

.admin-page .admin-editor-panel {
  padding: 0;
  overflow: hidden;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.admin-page .admin-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.admin-page .admin-panel-head h2,
.admin-page .admin-panel-head h3 {
  margin: 0;
  color: #17130f;
}

.admin-page .admin-panel-head h2 {
  font-size: 1.25rem;
}

.admin-page .admin-panel-head strong {
  border-radius: 999px;
  background: #17130f;
  color: #fffdf9;
  padding: 7px 10px;
  font-size: 0.78rem;
}

.admin-page .admin-car-list {
  display: grid;
  gap: 8px;
  max-height: calc(100dvh - 190px);
  overflow: auto;
  padding-right: 4px;
}

.admin-page .admin-car-list::-webkit-scrollbar {
  width: 8px;
}

.admin-page .admin-car-list::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #c9bca9;
}

.admin-page .admin-car-button {
  position: relative;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 4px 12px;
  width: 100%;
  border: 1px solid #e1d8cd;
  border-radius: 14px;
  background: #fff;
  color: #17130f;
  padding: 10px;
  text-align: left;
  cursor: pointer;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease;
}

.admin-page .admin-car-button::after {
  content: "";
  position: absolute;
  inset: 12px 10px auto auto;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #c9bca9;
}

.admin-page .admin-car-button.active,
.admin-page .admin-car-button:hover {
  border-color: #c99d4f;
  background: #fff8ec;
  box-shadow: 0 10px 24px rgba(120, 82, 18, 0.12);
}

.admin-page .admin-car-button.active::after {
  background: #d6ac53;
}

.admin-page .admin-car-button:hover {
  transform: translateY(-1px);
}

.admin-page .admin-car-thumb {
  grid-row: 1 / 4;
  width: 74px;
  height: 58px;
  border-radius: 10px;
  object-fit: cover;
  background: #ede5da;
}

.admin-page .admin-car-button span,
.admin-page .admin-car-button small {
  grid-column: 2;
  color: #8b8176;
  font-size: 0.66rem;
  font-weight: 900;
  line-height: 1.15;
  text-transform: uppercase;
}

.admin-page .admin-car-button strong {
  grid-column: 2;
  max-width: calc(100% - 18px);
  color: #17130f;
  font-size: 0.94rem;
  line-height: 1.12;
}

.admin-page .admin-editor-hero {
  position: relative;
  min-height: 310px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 18px;
  overflow: hidden;
  border: 1px solid rgba(23, 19, 15, 0.12);
  border-radius: 22px;
  background: #17130f;
  padding: clamp(18px, 3vw, 28px);
  color: #fff;
  box-shadow: 0 22px 70px rgba(22, 17, 10, 0.18);
}

.admin-page .admin-editor-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.9;
}

.admin-page .admin-editor-scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8, 7, 6, 0.86), rgba(8, 7, 6, 0.48) 45%, rgba(8, 7, 6, 0.12)),
    linear-gradient(0deg, rgba(8, 7, 6, 0.78), transparent 60%);
}

.admin-page .admin-editor-title,
.admin-page .admin-editor-hero .primary-button {
  position: relative;
  z-index: 1;
}

.admin-page .admin-editor-title {
  display: grid;
  gap: 12px;
}

.admin-page .admin-editor-title h2 {
  max-width: 780px;
  margin: 0;
  color: #fffdf9;
  font-family: var(--display);
  font-size: clamp(2.2rem, 5.2vw, 5rem);
  line-height: 0.92;
  letter-spacing: 0;
  text-wrap: balance;
}

.admin-page .admin-editor-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-page .admin-editor-chips span {
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  padding: 8px 11px;
  color: #fffdf9;
  font-size: 0.78rem;
  font-weight: 850;
  backdrop-filter: blur(12px);
}

.admin-page .admin-simple-section,
.admin-page .admin-advanced {
  display: grid;
  gap: 16px;
  border: 1px solid #ded5ca;
  border-radius: 18px;
  background: #fffdf9;
  padding: clamp(16px, 2vw, 22px);
  box-shadow: 0 12px 34px rgba(22, 17, 10, 0.08);
}

.admin-page .admin-simple-title {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.admin-page .admin-simple-title span {
  width: 34px;
  height: 34px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 12px;
  background: #17130f;
  color: #e5c36e;
  font-weight: 950;
}

.admin-page .admin-simple-title h3 {
  margin: 0;
  color: #17130f;
  font-size: 1.08rem;
  line-height: 1.1;
}

.admin-page .admin-simple-title p {
  margin: 3px 0 0;
  color: #746b61;
  font-size: 0.9rem;
  text-transform: none;
}

.admin-page .admin-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.admin-page .admin-form-grid.simple {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-page .admin-advanced summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  color: #17130f;
  cursor: pointer;
  font-weight: 950;
}

.admin-page .admin-advanced[open] summary {
  margin-bottom: 2px;
}

.admin-page .admin-subpanel {
  padding-top: clamp(16px, 2vw, 22px);
}

.admin-page .photo-editor-list {
  display: grid;
  gap: 12px;
}

.admin-page .photo-editor-row {
  display: grid;
  grid-template-columns: 42px 38px 112px minmax(220px, 1fr) minmax(160px, 0.74fr) auto auto;
  align-items: end;
  gap: 10px;
  border: 1px solid #e2d9ce;
  border-radius: 16px;
  background: #fff;
  padding: 10px;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.admin-page .photo-editor-row.dragging {
  opacity: 0.55;
  transform: scale(0.99);
}

.admin-page .photo-editor-row.drop-target {
  border-color: #c99d4f;
  box-shadow:
    0 0 0 4px rgba(215, 180, 106, 0.18),
    0 18px 34px rgba(120, 82, 18, 0.12);
}

.admin-page .photo-drag-handle {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid #ded5ca;
  border-radius: 12px;
  background: #f8f3eb;
  color: #17130f;
  cursor: grab;
}

.admin-page .photo-drag-handle svg,
.admin-page .photo-order-actions svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 2.3;
}

.admin-page .photo-number {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #17130f;
  color: #e5c36e;
  font-weight: 950;
}

.admin-page .photo-editor-row img {
  width: 112px;
  height: 76px;
  border: 1px solid #ded5ca;
  border-radius: 12px;
  object-fit: cover;
  background: #ede5da;
}

.admin-page .photo-order-actions {
  display: flex;
  gap: 6px;
}

.admin-page .photo-order-actions .ghost-button {
  width: 42px;
  min-height: 42px;
  padding: 0;
}

.admin-page .admin-date-add {
  min-width: 190px;
}

.admin-page .availability-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-page .availability-chip {
  min-height: 42px;
  border: 1px solid #ded5ca;
  border-radius: 999px;
  background: #fff;
  color: #17130f;
  padding: 8px 13px;
  cursor: pointer;
  font-weight: 800;
}

@media (max-width: 1160px) {
  .admin-page .admin-actions,
  .admin-page .admin-layout {
    grid-template-columns: 1fr;
  }

  .admin-page .admin-list-panel {
    position: static;
    max-height: none;
  }

  .admin-page .admin-car-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: 360px;
  }

  .admin-page .photo-editor-row {
    grid-template-columns: 42px 38px 112px minmax(0, 1fr);
  }

  .admin-page .photo-editor-row label,
  .admin-page .photo-order-actions,
  .admin-page .photo-editor-row [data-remove-photo] {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .admin-page .admin-shell {
    width: min(100% - 24px, 1560px);
    padding-top: 12px;
  }

  .admin-page .admin-topbar {
    grid-template-columns: 1fr;
    justify-items: start;
    border-radius: 18px;
  }

  .admin-page .admin-brand {
    width: 154px;
    min-width: 154px;
  }

  .admin-page .admin-actions {
    align-items: stretch;
  }

  .admin-page .admin-actions .primary-button,
  .admin-page .admin-actions .secondary-button,
  .admin-page .admin-actions .admin-status {
    width: 100%;
  }

  .admin-page .admin-car-list,
  .admin-page .admin-form-grid,
  .admin-page .admin-form-grid.simple {
    grid-template-columns: 1fr;
  }

  .admin-page .admin-editor-hero {
    min-height: 280px;
    grid-template-columns: 1fr;
  }

  .admin-page .admin-editor-hero .primary-button {
    width: 100%;
  }

  .admin-page .admin-editor-title h2 {
    font-size: clamp(2.1rem, 13vw, 3.6rem);
  }

  .admin-page .photo-editor-row {
    grid-template-columns: 42px 38px minmax(0, 1fr);
  }

  .admin-page .photo-editor-row img {
    grid-column: 1 / -1;
    width: 100%;
    height: 180px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-page *,
  .admin-page *::before,
  .admin-page *::after {
    transition-duration: 0.001ms !important;
    animation-duration: 0.001ms !important;
  }
}

/* CRM admin shell */
.admin-page .admin-crm-shell {
  display: grid;
  grid-template-columns: 272px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.admin-page .admin-crm-sidebar {
  position: sticky;
  top: 18px;
  display: grid;
  gap: 16px;
  min-height: calc(100dvh - 170px);
  border: 1px solid #ded5ca;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 253, 249, 0.96), rgba(246, 239, 229, 0.94)),
    #fffdf9;
  padding: 16px;
  box-shadow: 0 18px 48px rgba(22, 17, 10, 0.1);
}

.admin-page .admin-crm-profile {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #e3dbd0;
  padding-bottom: 16px;
}

.admin-page .admin-crm-profile > span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #17130f;
  color: #e5c36e;
  font-weight: 950;
}

.admin-page .admin-crm-profile strong,
.admin-page .admin-crm-profile small {
  display: block;
}

.admin-page .admin-crm-profile small,
.admin-page .admin-crm-sidebar-card span,
.admin-page .admin-crm-sidebar-card small {
  color: #7d7368;
}

.admin-page .admin-crm-nav {
  display: grid;
  gap: 8px;
}

.admin-page .admin-crm-nav button {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border: 1px solid transparent;
  border-radius: 14px;
  background: transparent;
  color: #4c443c;
  padding: 0 14px;
  cursor: pointer;
  font-weight: 850;
  text-align: left;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.admin-page .admin-crm-nav button:hover,
.admin-page .admin-crm-nav button.active {
  border-color: #d8c9b8;
  background: #fff8ec;
  color: #17130f;
  transform: translateX(2px);
}

.admin-page .admin-crm-nav button.active {
  box-shadow: 0 10px 24px rgba(120, 82, 18, 0.1);
}

.admin-page .admin-crm-sidebar-card {
  align-self: end;
  display: grid;
  gap: 4px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 180, 106, 0.24), transparent 9rem),
    #18130f;
  color: #fffdf9;
  padding: 16px;
}

.admin-page .admin-crm-sidebar-card strong {
  font-size: 1.35rem;
  line-height: 1;
}

.admin-page .admin-workspace {
  display: grid;
  gap: 18px;
}

.admin-page .admin-section {
  display: grid;
  gap: 18px;
  animation: crmSectionIn 220ms ease both;
}

.admin-page .admin-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid #ded5ca;
  border-radius: 22px;
  background: #fffdf9;
  padding: clamp(16px, 2.4vw, 24px);
  box-shadow: 0 16px 44px rgba(22, 17, 10, 0.08);
}

.admin-page .admin-section-head h2 {
  margin: 4px 0 0;
  color: #17130f;
  font-size: clamp(1.8rem, 3vw, 3.2rem);
  line-height: 0.98;
  letter-spacing: 0;
}

.admin-page .crm-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.admin-page .crm-stat-card,
.admin-page .crm-card,
.admin-page .crm-pipeline-column,
.admin-page .crm-calendar-card {
  border: 1px solid #ded5ca;
  border-radius: 18px;
  background: #fffdf9;
  box-shadow: 0 12px 34px rgba(22, 17, 10, 0.08);
}

.admin-page .crm-stat-card {
  display: grid;
  gap: 8px;
  min-height: 150px;
  padding: 18px;
}

.admin-page .crm-stat-card span,
.admin-page .crm-stat-card small {
  color: #7d7368;
  font-weight: 750;
}

.admin-page .crm-stat-card strong {
  color: #17130f;
  font-size: clamp(2rem, 3.5vw, 3.4rem);
  line-height: 0.94;
}

.admin-page .crm-two-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.admin-page .crm-card {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.admin-page .crm-card-head,
.admin-page .crm-mini-item,
.admin-page .crm-request-top,
.admin-page .crm-pipeline-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.admin-page .crm-card-head h3,
.admin-page .crm-pipeline-head h3 {
  margin: 0;
  color: #17130f;
}

.admin-page .text-button {
  min-height: 38px;
  border: 0;
  background: transparent;
  color: #9a6f18;
  cursor: pointer;
  font-weight: 900;
}

.admin-page .crm-mini-list {
  display: grid;
  gap: 10px;
}

.admin-page .crm-mini-item {
  border: 1px solid #e6ded4;
  border-radius: 14px;
  background: #fff;
  padding: 12px;
}

.admin-page .crm-mini-item strong,
.admin-page .crm-mini-item span,
.admin-page .crm-mini-item small {
  display: block;
}

.admin-page .crm-mini-item span,
.admin-page .crm-mini-item small {
  color: #7d7368;
}

.admin-page .crm-pipeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(240px, 1fr));
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 6px;
}

.admin-page .crm-pipeline-column {
  min-height: 520px;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 14px;
}

.admin-page .crm-pipeline-head span {
  min-width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #17130f;
  color: #e5c36e;
  font-weight: 900;
}

.admin-page .crm-request-stack {
  display: grid;
  gap: 10px;
}

.admin-page .crm-request-card {
  display: grid;
  gap: 10px;
  border: 1px solid #e6ded4;
  border-radius: 16px;
  background: #fff;
  padding: 14px;
}

.admin-page .crm-request-card p {
  margin: 0;
  color: #17130f;
  font-weight: 850;
}

.admin-page .crm-request-card span,
.admin-page .crm-request-card small {
  color: #746b61;
}

.admin-page .crm-request-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.admin-page .crm-request-tags em {
  border-radius: 999px;
  background: #f4eadb;
  color: #7a5512;
  padding: 6px 9px;
  font-style: normal;
  font-size: 0.74rem;
  font-weight: 850;
}

.admin-page .crm-request-note {
  border-left: 3px solid #d6ac53;
  padding-left: 10px;
}

.admin-page .crm-request-card select {
  width: 100%;
  min-height: 42px;
  border: 1px solid #ded5ca;
  border-radius: 10px;
  background: #fffdf9;
  padding: 8px 10px;
  color: #17130f;
  font-weight: 800;
}

.admin-page .crm-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
}

.admin-page .crm-calendar-card {
  min-height: 146px;
  display: grid;
  align-content: space-between;
  gap: 6px;
  padding: 14px;
}

.admin-page .crm-calendar-card span,
.admin-page .crm-calendar-card small {
  color: #746b61;
  font-weight: 800;
}

.admin-page .crm-calendar-card strong {
  color: #17130f;
  font-size: 2.1rem;
  line-height: 0.95;
}

.admin-page .crm-calendar-card p {
  margin: 0;
  border-radius: 999px;
  background: #f2eadf;
  padding: 6px 9px;
  color: #5f554a;
  font-size: 0.8rem;
  font-weight: 850;
}

.admin-page .crm-calendar-card.has-booking {
  border-color: #c99d4f;
  background: #fff8ec;
}

.admin-page .crm-calendar-card.has-booking p {
  background: #17130f;
  color: #e5c36e;
}

.admin-page .crm-settings-form {
  gap: 16px;
}

.admin-page .crm-settings-form label {
  display: grid;
  gap: 8px;
  color: #6f665d;
  font-size: 0.75rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-page .crm-settings-form input,
.admin-page .crm-settings-form textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid #ddd4c8;
  border-radius: 12px;
  background: #fff;
  color: #17130f;
  padding: 12px 14px;
  font: inherit;
  font-weight: 650;
  outline: none;
}

.admin-page .crm-settings-form textarea {
  resize: vertical;
}

@keyframes crmSectionIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1160px) {
  .admin-page .admin-crm-shell {
    grid-template-columns: 1fr;
  }

  .admin-page .admin-crm-sidebar {
    position: static;
    min-height: auto;
  }

  .admin-page .admin-crm-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-page .admin-crm-sidebar-card {
    display: none;
  }

  .admin-page .crm-stat-grid,
  .admin-page .crm-two-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-page .crm-calendar-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .admin-page .admin-crm-nav,
  .admin-page .crm-stat-grid,
  .admin-page .crm-two-column,
  .admin-page .crm-calendar-grid {
    grid-template-columns: 1fr;
  }

  .admin-page .admin-section-head {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-page .admin-section-head .primary-button,
  .admin-page .admin-section-head .secondary-button {
    width: 100%;
  }
}

/* Apple-inspired CRM refinement */
.admin-page {
  color-scheme: light;
  background:
    radial-gradient(circle at 78% -8%, rgba(255, 255, 255, 0.86), transparent 34rem),
    linear-gradient(180deg, #f5f5f7 0%, #f2f2f4 100%);
  color: #1d1d1f;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", Inter, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.admin-page .admin-shell {
  width: min(100% - 32px, 1440px);
  padding: 16px 0 36px;
}

.admin-page .admin-dashboard {
  gap: 12px;
}

.admin-page .admin-topbar {
  min-height: 72px;
  grid-template-columns: 180px minmax(0, 1fr) auto;
  gap: 18px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
  padding: 12px 14px;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(28px) saturate(1.45);
}

.admin-page .admin-brand {
  width: 164px;
  min-width: 164px;
}

.admin-page .admin-title-block {
  gap: 1px;
}

.admin-page .admin-title-block h1 {
  color: #1d1d1f;
  font-size: clamp(1.28rem, 1.8vw, 1.72rem);
  font-weight: 760;
  line-height: 1.04;
}

.admin-page .admin-title-block span {
  color: #6e6e73;
  font-size: 0.86rem;
  line-height: 1.35;
}

.admin-page .admin-topbar .eyebrow,
.admin-page .admin-actions .eyebrow,
.admin-page .admin-list-panel .eyebrow,
.admin-page .admin-editor .eyebrow,
.admin-page .admin-section-head .eyebrow {
  color: #86868b;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0;
}

.admin-page .ghost-button,
.admin-page .secondary-button,
.admin-page .primary-button {
  min-height: 40px;
  border-radius: 999px;
  padding: 9px 15px;
  font-size: 0.88rem;
  font-weight: 650;
  box-shadow: none;
}

.admin-page .primary-button {
  border-color: transparent;
  background: #1d1d1f;
  color: #fff;
}

.admin-page .secondary-button,
.admin-page .admin-editor-panel .secondary-button,
.admin-page .admin-editor-panel .ghost-button {
  border-color: rgba(0, 0, 0, 0.08);
  background: rgba(255, 255, 255, 0.82);
  color: #1d1d1f;
}

.admin-page .ghost-button {
  border-color: rgba(0, 0, 0, 0.08);
  background: #fff;
  color: #1d1d1f;
}

.admin-page .primary-button:hover,
.admin-page .secondary-button:hover,
.admin-page .ghost-button:hover {
  transform: translateY(-1px);
}

.admin-page .admin-crm-shell {
  grid-template-columns: 224px minmax(0, 1fr);
  gap: 12px;
}

.admin-page .admin-crm-sidebar,
.admin-page .admin-panel,
.admin-page .admin-section-head,
.admin-page .crm-stat-card,
.admin-page .crm-card,
.admin-page .crm-pipeline-column,
.admin-page .crm-calendar-card,
.admin-page .admin-simple-section,
.admin-page .admin-advanced,
.admin-page .admin-login-panel {
  border: 1px solid rgba(0, 0, 0, 0.07);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.07);
  backdrop-filter: blur(18px) saturate(1.25);
}

.admin-page .admin-crm-sidebar {
  top: 12px;
  gap: 10px;
  min-height: calc(100dvh - 124px);
  border-radius: 18px;
  padding: 10px;
}

.admin-page .admin-crm-profile {
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 9px;
  border-bottom-color: rgba(0, 0, 0, 0.07);
  padding: 4px 4px 12px;
}

.admin-page .admin-crm-profile > span {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  background: linear-gradient(180deg, #2c2c2e, #1d1d1f);
  color: #f5f5f7;
  font-size: 0.82rem;
  font-weight: 720;
}

.admin-page .admin-crm-profile strong {
  color: #1d1d1f;
  font-size: 0.9rem;
  font-weight: 680;
  line-height: 1.15;
}

.admin-page .admin-crm-profile small,
.admin-page .admin-crm-sidebar-card span,
.admin-page .admin-crm-sidebar-card small {
  color: #86868b;
  font-size: 0.75rem;
}

.admin-page .admin-crm-nav {
  gap: 3px;
}

.admin-page .admin-crm-nav button {
  min-height: 36px;
  border-radius: 10px;
  color: #515154;
  padding: 0 10px;
  font-size: 0.9rem;
  font-weight: 590;
}

.admin-page .admin-crm-nav button:hover,
.admin-page .admin-crm-nav button.active {
  border-color: transparent;
  background: rgba(0, 0, 0, 0.055);
  color: #1d1d1f;
  box-shadow: none;
  transform: none;
}

.admin-page .admin-crm-sidebar-card {
  border-radius: 14px;
  background: #f5f5f7;
  color: #1d1d1f;
  padding: 12px;
}

.admin-page .admin-crm-sidebar-card strong {
  font-size: 1.08rem;
  font-weight: 700;
}

.admin-page .admin-workspace,
.admin-page .admin-section,
.admin-page .admin-editor,
.admin-page .admin-form {
  gap: 12px;
}

.admin-page .admin-section-head {
  min-height: 86px;
  border-radius: 18px;
  padding: 16px 18px;
}

.admin-page .admin-section-head h2 {
  margin: 2px 0 0;
  color: #1d1d1f;
  font-size: clamp(1.45rem, 2.3vw, 2.25rem);
  font-weight: 760;
  line-height: 1.04;
}

.admin-page .crm-stat-grid {
  gap: 10px;
}

.admin-page .crm-stat-card {
  min-height: 112px;
  gap: 5px;
  border-radius: 16px;
  padding: 14px;
}

.admin-page .crm-stat-card span,
.admin-page .crm-stat-card small {
  color: #6e6e73;
  font-size: 0.8rem;
  font-weight: 520;
}

.admin-page .crm-stat-card strong {
  color: #1d1d1f;
  font-size: clamp(1.65rem, 2.7vw, 2.55rem);
  font-weight: 720;
  line-height: 1;
}

.admin-page .crm-two-column,
.admin-page .admin-layout,
.admin-page .crm-pipeline,
.admin-page .crm-calendar-grid {
  gap: 10px;
}

.admin-page .crm-card,
.admin-page .crm-pipeline-column {
  border-radius: 16px;
  padding: 14px;
}

.admin-page .crm-card-head h3,
.admin-page .crm-pipeline-head h3,
.admin-page .admin-panel-head h2,
.admin-page .admin-simple-title h3 {
  color: #1d1d1f;
  font-size: 0.98rem;
  font-weight: 690;
  letter-spacing: 0;
}

.admin-page .text-button {
  min-height: 32px;
  color: #0066cc;
  font-size: 0.84rem;
  font-weight: 590;
}

.admin-page .crm-mini-list,
.admin-page .crm-request-stack,
.admin-page .photo-editor-list {
  gap: 8px;
}

.admin-page .crm-mini-item,
.admin-page .crm-request-card {
  border-color: rgba(0, 0, 0, 0.06);
  border-radius: 13px;
  background: #fff;
  padding: 10px;
}

.admin-page .crm-mini-item strong,
.admin-page .crm-request-card p,
.admin-page .crm-request-top strong {
  color: #1d1d1f;
  font-size: 0.9rem;
  font-weight: 640;
}

.admin-page .crm-mini-item span,
.admin-page .crm-mini-item small,
.admin-page .crm-request-card span,
.admin-page .crm-request-card small,
.admin-page .admin-simple-title p,
.admin-page .admin-status,
.admin-page .admin-empty {
  color: #6e6e73;
  font-size: 0.82rem;
}

.admin-page .crm-pipeline {
  grid-template-columns: repeat(4, minmax(220px, 1fr));
}

.admin-page .crm-pipeline-column {
  min-height: 430px;
}

.admin-page .crm-pipeline-head span,
.admin-page .admin-panel-head strong {
  min-width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #f2f2f7;
  color: #1d1d1f;
  padding: 0 8px;
  font-size: 0.78rem;
  font-weight: 640;
}

.admin-page .crm-request-tags {
  gap: 5px;
}

.admin-page .crm-request-tags em {
  background: #f5f5f7;
  color: #515154;
  padding: 5px 8px;
  font-size: 0.72rem;
  font-weight: 580;
}

.admin-page .crm-request-note {
  border-left-color: #d2d2d7;
  padding-left: 9px;
}

.admin-page .admin-form input,
.admin-page .admin-editor input,
.admin-page .admin-editor textarea,
.admin-page .crm-settings-form input,
.admin-page .crm-settings-form textarea,
.admin-page .crm-request-card select {
  min-height: 38px;
  border-color: rgba(0, 0, 0, 0.09);
  border-radius: 10px;
  background: #fff;
  color: #1d1d1f;
  padding: 9px 11px;
  font-size: 0.88rem;
  font-weight: 520;
  box-shadow: none;
}

.admin-page .admin-editor textarea,
.admin-page .crm-settings-form textarea {
  min-height: 86px;
}

.admin-page .admin-form label,
.admin-page .admin-editor label,
.admin-page .crm-settings-form label {
  gap: 6px;
  color: #86868b;
  font-size: 0.68rem;
  font-weight: 680;
  letter-spacing: 0.01em;
}

.admin-page .admin-form input:focus,
.admin-page .admin-editor input:focus,
.admin-page .admin-editor textarea:focus,
.admin-page .crm-settings-form input:focus,
.admin-page .crm-settings-form textarea:focus,
.admin-page .crm-request-card select:focus {
  border-color: #0071e3;
  box-shadow: 0 0 0 4px rgba(0, 113, 227, 0.14);
}

.admin-page .admin-list-panel {
  top: 12px;
  padding: 12px;
}

.admin-page .admin-panel-head {
  margin-bottom: 10px;
}

.admin-page .admin-car-list {
  gap: 6px;
  max-height: calc(100dvh - 170px);
}

.admin-page .admin-car-button {
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 3px 9px;
  border-color: rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  padding: 7px;
}

.admin-page .admin-car-button.active,
.admin-page .admin-car-button:hover {
  border-color: transparent;
  background: #f5f5f7;
  box-shadow: none;
}

.admin-page .admin-car-button::after {
  inset: 9px 9px auto auto;
  width: 6px;
  height: 6px;
  background: #c7c7cc;
}

.admin-page .admin-car-button.active::after {
  background: #34c759;
}

.admin-page .admin-car-thumb {
  width: 58px;
  height: 46px;
  border-radius: 9px;
}

.admin-page .admin-car-button span,
.admin-page .admin-car-button small {
  color: #86868b;
  font-size: 0.58rem;
  font-weight: 640;
}

.admin-page .admin-car-button strong {
  color: #1d1d1f;
  font-size: 0.82rem;
  font-weight: 650;
}

.admin-page .admin-editor-hero {
  min-height: 220px;
  border-color: rgba(0, 0, 0, 0.08);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.08);
}

.admin-page .admin-editor-title {
  gap: 8px;
}

.admin-page .admin-editor-title h2 {
  max-width: 720px;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", Inter, sans-serif;
  font-size: clamp(1.85rem, 3.8vw, 3.6rem);
  font-weight: 760;
  line-height: 0.98;
}

.admin-page .admin-editor-chips span {
  border: 0;
  background: rgba(255, 255, 255, 0.18);
  padding: 6px 9px;
  font-size: 0.72rem;
  font-weight: 610;
}

.admin-page .admin-simple-section,
.admin-page .admin-advanced {
  gap: 12px;
  border-radius: 16px;
  padding: 14px;
}

.admin-page .admin-simple-title {
  gap: 9px;
}

.admin-page .admin-simple-title span {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: #f2f2f7;
  color: #1d1d1f;
  font-size: 0.78rem;
  font-weight: 700;
}

.admin-page .admin-form-grid,
.admin-page .admin-form-grid.simple {
  gap: 10px;
}

.admin-page .photo-editor-row {
  grid-template-columns: 34px 30px 86px minmax(190px, 1fr) minmax(140px, 0.62fr) auto auto;
  gap: 8px;
  border-color: rgba(0, 0, 0, 0.06);
  border-radius: 14px;
  padding: 8px;
}

.admin-page .photo-drag-handle,
.admin-page .photo-number,
.admin-page .photo-order-actions .ghost-button {
  width: 34px;
  height: 34px;
  min-height: 34px;
}

.admin-page .photo-drag-handle {
  border-color: rgba(0, 0, 0, 0.08);
  border-radius: 9px;
  background: #f5f5f7;
}

.admin-page .photo-number {
  background: #1d1d1f;
  color: #fff;
  font-size: 0.78rem;
}

.admin-page .photo-editor-row img {
  width: 86px;
  height: 56px;
  border-color: rgba(0, 0, 0, 0.06);
  border-radius: 10px;
}

.admin-page .crm-calendar-card {
  min-height: 118px;
  border-radius: 15px;
  padding: 12px;
}

.admin-page .crm-calendar-card strong {
  font-size: 1.72rem;
  font-weight: 720;
}

.admin-page .crm-calendar-card p {
  background: #f2f2f7;
  color: #515154;
  padding: 5px 8px;
  font-size: 0.75rem;
  font-weight: 590;
}

.admin-page .crm-calendar-card.has-booking {
  border-color: rgba(0, 113, 227, 0.22);
  background: #f5fbff;
}

.admin-page .crm-calendar-card.has-booking p {
  background: #0071e3;
  color: #fff;
}

.admin-page .admin-actions {
  grid-template-columns: minmax(220px, 1fr) auto auto minmax(220px, 0.9fr);
  gap: 8px;
  border-color: rgba(0, 0, 0, 0.07);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.86);
  padding: 10px;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.06);
}

.admin-page .admin-actions-copy strong {
  font-size: 0.98rem;
  font-weight: 690;
}

.admin-page .admin-login-panel h1 {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", Inter, sans-serif;
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  font-weight: 760;
}

@media (max-width: 1160px) {
  .admin-page .admin-crm-shell {
    grid-template-columns: 1fr;
  }

  .admin-page .admin-crm-sidebar {
    min-height: auto;
  }

  .admin-page .admin-crm-nav {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .admin-page .admin-shell {
    width: min(100% - 20px, 1440px);
    padding-top: 10px;
  }

  .admin-page .admin-topbar {
    grid-template-columns: 1fr;
  }

  .admin-page .admin-crm-nav,
  .admin-page .admin-actions,
  .admin-page .crm-stat-grid,
  .admin-page .crm-two-column,
  .admin-page .crm-calendar-grid {
    grid-template-columns: 1fr;
  }
}

/* Fleet command dashboard prompt */
.admin-page {
  background: #f5f5f4;
  color: #0f172a;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-page .admin-shell {
  width: min(100% - 28px, 1680px);
  padding: 14px 0 32px;
}

.admin-page .admin-topbar,
.admin-page .admin-crm-sidebar,
.admin-page .admin-section-head,
.admin-page .command-card,
.admin-page .command-kpis article,
.admin-page .fleet-control-rail,
.admin-page .admin-panel,
.admin-page .admin-simple-section,
.admin-page .admin-advanced,
.admin-page .crm-card,
.admin-page .crm-pipeline-column,
.admin-page .crm-calendar-card {
  border: 1px solid #e7e5e4;
  background: #ffffff;
  box-shadow: none;
  backdrop-filter: none;
}

.admin-page .admin-topbar {
  min-height: 68px;
  grid-template-columns: 190px minmax(0, 1fr) auto;
  border-radius: 16px;
  padding: 10px 12px;
}

.admin-page .admin-title-block h1 {
  color: #0f172a;
  font-size: 1.24rem;
  font-weight: 720;
}

.admin-page .admin-title-block span {
  color: #64748b;
  font-size: 0.84rem;
}

.admin-page .admin-crm-shell {
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 12px;
}

.admin-page .admin-crm-sidebar {
  top: 12px;
  width: 240px;
  min-height: calc(100dvh - 112px);
  border-radius: 16px;
  padding: 12px;
}

.admin-page .admin-crm-profile {
  grid-template-columns: 34px minmax(0, 1fr);
  padding: 0 0 12px;
}

.admin-page .admin-crm-profile > span {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #0f172a;
  color: #fff;
}

.admin-page .admin-crm-nav {
  gap: 2px;
}

.admin-page .admin-crm-nav button {
  min-height: 34px;
  border-radius: 9px;
  padding: 0 10px;
  color: #475569;
  font-size: 0.88rem;
  font-weight: 560;
}

.admin-page .admin-crm-nav button:hover,
.admin-page .admin-crm-nav button.active {
  background: #f1f5f9;
  color: #0f172a;
}

.admin-page .admin-crm-sidebar-card {
  gap: 10px;
  border: 1px solid #e7e5e4;
  border-radius: 14px;
  background: #fafaf9;
  color: #0f172a;
  padding: 12px;
}

.admin-page .admin-crm-sidebar-card small {
  color: #0f172a;
  font-weight: 700;
}

.admin-page .admin-crm-sidebar-card span {
  color: #64748b;
  font-size: 0.8rem;
  line-height: 1.45;
}

.admin-page .primary-button,
.admin-page .secondary-button,
.admin-page .ghost-button {
  min-height: 38px;
  border-radius: 10px;
  padding: 8px 13px;
  font-size: 0.86rem;
  font-weight: 650;
}

.admin-page .primary-button {
  background: #0f172a;
  color: #fff;
}

.admin-page .secondary-button,
.admin-page .ghost-button {
  border-color: #e7e5e4;
  background: #fff;
  color: #0f172a;
}

.command-topbar {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #64748b;
  font-size: 0.84rem;
  font-weight: 560;
}

.command-topbar strong {
  color: #0f172a;
}

.fleet-command-layout {
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr);
  gap: 12px;
}

.fleet-control-rail {
  position: sticky;
  top: 12px;
  display: grid;
  gap: 18px;
  align-content: start;
  border-radius: 16px;
  padding: 16px;
}

.fleet-control-rail h2,
.command-header h2,
.command-card h3 {
  margin: 0;
  color: #0f172a;
  letter-spacing: 0;
}

.fleet-control-rail h2 {
  font-size: 1.05rem;
}

.fleet-control-rail p,
.command-header p,
.command-card-head p {
  margin: 6px 0 0;
  color: #64748b;
  font-size: 0.86rem;
  line-height: 1.45;
}

.rail-group {
  display: grid;
  gap: 5px;
}

.rail-group h3 {
  margin: 0 0 4px;
  color: #94a3b8;
  font-size: 0.68rem;
  font-weight: 760;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.rail-group button {
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #334155;
  padding: 0 8px;
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 560;
  text-align: left;
}

.rail-group button:first-of-type,
.rail-group button:hover {
  background: #f1f5f9;
  color: #0f172a;
}

.rail-group button span {
  color: #94a3b8;
  font-size: 0.78rem;
}

.fleet-command-main,
.admin-page .admin-section {
  display: grid;
  gap: 12px;
}

.command-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.command-pills span {
  border: 1px solid #e7e5e4;
  border-radius: 999px;
  background: #fff;
  color: #475569;
  padding: 7px 11px;
  font-size: 0.84rem;
  font-weight: 590;
}

.command-pills span:first-child {
  background: #0f172a;
  color: #fff;
  border-color: #0f172a;
}

.command-header,
.command-card-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
}

.command-header {
  border: 1px solid #e7e5e4;
  border-radius: 16px;
  background: #fff;
  padding: 16px;
}

.command-header h2 {
  font-size: clamp(1.55rem, 2.4vw, 2.35rem);
  font-weight: 760;
}

.command-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.command-kpis article {
  min-height: 118px;
  display: grid;
  align-content: space-between;
  gap: 8px;
  border-radius: 16px;
  padding: 14px;
}

.command-kpis span,
.command-kpis small {
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 560;
}

.command-kpis strong {
  color: #0f172a;
  font-size: clamp(1.55rem, 2.3vw, 2.2rem);
  font-weight: 760;
  line-height: 1;
}

.command-analytics {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 12px;
  align-items: start;
}

.command-card {
  border-radius: 16px;
  padding: 16px;
}

.command-card h3 {
  font-size: 1rem;
  font-weight: 720;
}

.availability-chart {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.chart-row {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr) 74px;
  align-items: center;
  gap: 10px;
}

.chart-row > span,
.chart-row small {
  color: #475569;
  font-size: 0.82rem;
  font-weight: 600;
}

.chart-row div {
  height: 12px;
  display: flex;
  overflow: hidden;
  border-radius: 999px;
  background: #f1f5f9;
}

.chart-row b,
.chart-row i,
.chart-row em {
  display: block;
  height: 100%;
}

.chart-row b,
.chart-legend b {
  background: #10b981;
}

.chart-row i,
.chart-legend i {
  background: #94a3b8;
}

.chart-row em,
.chart-legend em {
  background: #f59e0b;
}

.chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: #64748b;
  font-size: 0.78rem;
}

.chart-legend b,
.chart-legend i,
.chart-legend em {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 999px;
  margin-right: 6px;
}

.fleet-summary-blocks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.fleet-summary-blocks article,
.mini-card-grid article,
.revenue-list article,
.fleet-field-grid article {
  border: 1px solid #e7e5e4;
  border-radius: 14px;
  background: #fafaf9;
  padding: 12px;
}

.fleet-summary-blocks strong,
.fleet-field-grid strong,
.revenue-list strong {
  display: block;
  color: #0f172a;
  font-size: 0.9rem;
}

.fleet-summary-blocks span,
.fleet-summary-blocks p,
.fleet-field-grid span,
.fleet-field-grid small,
.revenue-list span {
  display: block;
  margin: 4px 0 0;
  color: #64748b;
  font-size: 0.82rem;
}

.fleet-summary-blocks div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.fleet-summary-blocks button {
  min-height: 30px;
  border: 1px solid #e7e5e4;
  border-radius: 8px;
  background: #fff;
  color: #0f172a;
  padding: 0 9px;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 650;
}

.interpretation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.interpretation-grid > div {
  border: 1px solid #e7e5e4;
  border-radius: 14px;
  padding: 12px;
}

.interpretation-grid h4,
.quality-list h4,
.blocker-list h4,
.revenue-list h4 {
  margin: 0 0 10px;
  color: #0f172a;
  font-size: 0.86rem;
}

.interpretation-grid ul {
  margin: 0;
  padding-left: 18px;
  color: #64748b;
  font-size: 0.82rem;
}

.quote-confidence {
  display: grid;
  gap: 14px;
}

.mini-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.mini-card-grid span,
.mini-card-grid small {
  display: block;
  color: #64748b;
  font-size: 0.78rem;
}

.mini-card-grid strong {
  display: block;
  color: #0f172a;
  font-size: 1.45rem;
}

.quality-list,
.blocker-list,
.revenue-list {
  display: grid;
  gap: 8px;
}

.quality-list p,
.blocker-list p {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  color: #64748b;
  font-size: 0.83rem;
}

.quality-list strong,
.blocker-list strong {
  color: #0f172a;
}

.risk-table-wrap {
  margin-top: 12px;
  overflow-x: auto;
}

.risk-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 980px;
}

.risk-table th,
.risk-table td {
  border-bottom: 1px solid #e7e5e4;
  padding: 11px 10px;
  color: #334155;
  font-size: 0.82rem;
  text-align: left;
  vertical-align: middle;
}

.risk-table th {
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 760;
  text-transform: uppercase;
}

.quote-badge,
.risk-badge,
.status-badge {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
}

.quote-badge.new,
.quote-badge.contacted {
  background: #fef3c7;
  color: #92400e;
}

.quote-badge.deposit {
  background: #e0f2fe;
  color: #075985;
}

.quote-badge.booked,
.status-badge.available {
  background: #dcfce7;
  color: #166534;
}

.risk-badge.high {
  background: #ffe4e6;
  color: #9f1239;
}

.risk-badge.medium,
.status-badge.maintenance,
.status-badge.photos {
  background: #fef3c7;
  color: #92400e;
}

.status-badge.booked {
  background: #e0f2fe;
  color: #075985;
}

.fleet-management-snapshot {
  display: grid;
  gap: 12px;
}

.fleet-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

@media (max-width: 1280px) {
  .command-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .command-analytics,
  .fleet-command-layout {
    grid-template-columns: 1fr;
  }

  .fleet-control-rail {
    position: static;
  }
}

@media (max-width: 900px) {
  .admin-page .admin-crm-shell,
  .command-kpis,
  .fleet-summary-blocks,
  .interpretation-grid,
  .mini-card-grid,
  .fleet-field-grid {
    grid-template-columns: 1fr;
  }

  .admin-page .admin-crm-sidebar {
    width: auto;
    min-height: auto;
  }

  .chart-row {
    grid-template-columns: 1fr;
  }
}

/* 50K CRM redesign */
.admin-page {
  --crm-black: #07080a;
  --crm-ink: #151515;
  --crm-graphite: #202124;
  --crm-muted: #6d6a62;
  --crm-line: #e4dfd5;
  --crm-paper: #f5f2ec;
  --crm-card: #fffdf8;
  --crm-white: #ffffff;
  --crm-gold: #d8b765;
  --crm-gold-strong: #b68c35;
  --crm-blue: #3067e8;
  --crm-green: #18845f;
  --crm-red: #b42331;
  --crm-shadow: 0 24px 70px rgba(7, 8, 10, 0.22);
  min-height: 100vh;
  background:
    radial-gradient(circle at 14% 8%, rgba(216, 183, 101, 0.12), transparent 24rem),
    linear-gradient(135deg, #050507 0%, #111113 48%, #050507 100%);
  color: var(--crm-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
}

.admin-page * {
  box-sizing: border-box;
}

.admin-page button,
.admin-page input,
.admin-page textarea,
.admin-page select {
  font: inherit;
}

.admin-page button {
  touch-action: manipulation;
}

.admin-page .admin-shell {
  width: min(100% - 28px, 1780px);
  margin: 0 auto;
  padding: 16px 0 40px;
}

.admin-page .admin-dashboard {
  display: grid;
  gap: 14px;
}

.admin-page .admin-topbar {
  position: sticky;
  top: 12px;
  z-index: 20;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  min-height: 92px;
  margin: 0;
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 28px;
  background: rgba(12, 12, 13, 0.86);
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.38);
  backdrop-filter: blur(22px);
}

.admin-page .admin-brand {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.admin-page .admin-topbar .brand-logo-wide {
  width: 166px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  filter: brightness(0) invert(1) drop-shadow(0 12px 28px rgba(0, 0, 0, 0.36));
}

.admin-page .admin-title-block {
  min-width: 0;
}

.admin-page .admin-title-block .eyebrow,
.admin-page .eyebrow {
  margin: 0 0 4px;
  color: var(--crm-gold);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.admin-page .admin-title-block h1 {
  margin: 0;
  color: #fffaf0;
  font-size: clamp(1.25rem, 1.6vw, 1.75rem);
  font-weight: 760;
  line-height: 1.04;
  letter-spacing: -0.02em;
}

.admin-page .admin-title-block span {
  display: block;
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.84rem;
  line-height: 1.35;
}

.admin-page .ghost-button,
.admin-page .secondary-button,
.admin-page .text-button,
.admin-page .primary-button {
  min-height: 44px;
  border-radius: 999px;
  font-weight: 750;
  letter-spacing: -0.01em;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.admin-page .ghost-button {
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.05);
  color: #fffaf0;
  padding: 0 18px;
}

.admin-page .primary-button {
  border: 1px solid rgba(91, 66, 17, 0.18);
  background: linear-gradient(180deg, #e5c875 0%, #d4ad55 100%);
  color: #111;
  box-shadow: 0 14px 28px rgba(216, 183, 101, 0.18);
}

.admin-page .secondary-button,
.admin-page .text-button {
  border: 1px solid var(--crm-line);
  background: rgba(255, 255, 255, 0.78);
  color: var(--crm-ink);
}

.admin-page button:hover {
  transform: translateY(-1px);
}

.admin-page button:focus-visible,
.admin-page input:focus-visible,
.admin-page textarea:focus-visible,
.admin-page select:focus-visible {
  outline: 3px solid rgba(216, 183, 101, 0.42);
  outline-offset: 2px;
}

.admin-page .admin-config-warning,
.admin-page .admin-status {
  border: 1px solid rgba(216, 183, 101, 0.34);
  border-radius: 18px;
  background: rgba(216, 183, 101, 0.12);
  color: #ffe7ab;
  padding: 14px 16px;
}

.admin-page .admin-crm-shell {
  display: grid;
  grid-template-columns: 292px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.admin-page .admin-crm-sidebar {
  position: sticky;
  top: 124px;
  min-height: calc(100vh - 148px);
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
    #101113;
  color: #f8f4eb;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.28);
}

.admin-page .admin-crm-profile {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 8px 8px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.admin-page .admin-crm-profile > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgba(216, 183, 101, 0.32);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(216, 183, 101, 0.24), rgba(255, 255, 255, 0.04));
  color: #ffe2a0;
  font-size: 0.9rem;
  font-weight: 850;
}

.admin-page .admin-crm-profile strong,
.admin-page .admin-crm-profile small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-page .admin-crm-profile strong {
  color: #fffaf0;
  font-size: 0.96rem;
}

.admin-page .admin-crm-profile small {
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.52);
  font-size: 0.78rem;
}

.admin-page .admin-crm-nav {
  display: grid;
  gap: 5px;
  padding: 14px 0;
}

.admin-page .admin-crm-nav button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  width: 100%;
  border: 1px solid transparent;
  border-radius: 14px;
  background: transparent;
  color: rgba(255, 255, 255, 0.64);
  padding: 0 12px;
  text-align: left;
  font-size: 0.88rem;
  font-weight: 720;
  cursor: pointer;
}

.admin-page .admin-crm-nav button::after {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: transparent;
}

.admin-page .admin-crm-nav button:hover,
.admin-page .admin-crm-nav button.active {
  border-color: rgba(216, 183, 101, 0.18);
  background: rgba(255, 255, 255, 0.075);
  color: #fffaf0;
}

.admin-page .admin-crm-nav button.active::after {
  background: var(--crm-gold);
  box-shadow: 0 0 0 5px rgba(216, 183, 101, 0.11);
}

.admin-page .admin-crm-sidebar-card {
  display: grid;
  gap: 12px;
  margin-top: 8px;
  padding: 16px;
  border: 1px solid rgba(216, 183, 101, 0.18);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(216, 183, 101, 0.14), rgba(255, 255, 255, 0.045));
}

.admin-page .admin-crm-sidebar-card small {
  color: var(--crm-gold);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-page .admin-crm-sidebar-card span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.86rem;
  line-height: 1.45;
}

.admin-page .admin-workspace {
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(228, 223, 213, 0.42);
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.76), rgba(245, 242, 236, 0.94)),
    var(--crm-paper);
  box-shadow: var(--crm-shadow);
}

.admin-page .admin-section {
  display: none;
  min-width: 0;
}

.admin-page .admin-section.active {
  display: block;
  animation: crmSectionIn 260ms ease both;
}

@keyframes crmSectionIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.admin-page .command-topbar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: var(--crm-muted);
  font-size: 0.78rem;
  font-weight: 750;
}

.admin-page .command-topbar strong {
  color: var(--crm-ink);
}

.admin-page .fleet-command-layout {
  display: grid;
  grid-template-columns: 268px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.admin-page .fleet-control-rail,
.admin-page .command-card,
.admin-page .admin-list-panel,
.admin-page .admin-editor,
.admin-page .request-pipeline-column,
.admin-page .calendar-grid,
.admin-page .content-card,
.admin-page .settings-card {
  border: 1px solid rgba(22, 22, 23, 0.08);
  border-radius: 24px;
  background: var(--crm-card);
  box-shadow: 0 16px 42px rgba(28, 22, 10, 0.07);
}

.admin-page .fleet-control-rail {
  position: sticky;
  top: 124px;
  display: grid;
  gap: 16px;
  padding: 18px;
}

.admin-page .fleet-control-rail h2,
.admin-page .command-card h3,
.admin-page .admin-editor h2,
.admin-page .admin-list-panel h2,
.admin-page .request-pipeline-column h3,
.admin-page .calendar-grid h3,
.admin-page .content-card h3,
.admin-page .settings-card h3 {
  margin: 0;
  color: var(--crm-ink);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.admin-page .fleet-control-rail p,
.admin-page .command-card p,
.admin-page .admin-editor p,
.admin-page .admin-list-panel p,
.admin-page .content-card p,
.admin-page .settings-card p {
  margin: 6px 0 0;
  color: var(--crm-muted);
  font-size: 0.86rem;
  line-height: 1.48;
}

.admin-page .rail-group {
  display: grid;
  gap: 6px;
}

.admin-page .rail-group h3 {
  margin: 0 0 4px;
  color: #8b8170;
  font-size: 0.7rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-page .rail-group button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 38px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: #f6f3ed;
  color: var(--crm-ink);
  padding: 0 10px;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
}

.admin-page .rail-group button span {
  color: var(--crm-muted);
  font-size: 0.74rem;
}

.admin-page .rail-group button:hover {
  border-color: rgba(216, 183, 101, 0.34);
  background: #fffaf0;
}

.admin-page .fleet-command-main {
  display: grid;
  min-width: 0;
  gap: 14px;
}

.admin-page .command-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-page .command-pills span {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  border: 1px solid var(--crm-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--crm-muted);
  padding: 0 12px;
  font-size: 0.76rem;
  font-weight: 780;
}

.admin-page .command-pills span:first-child {
  border-color: rgba(216, 183, 101, 0.34);
  background: #18191c;
  color: #fffaf0;
}

.admin-page .command-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(216, 183, 101, 0.13), transparent 44%),
    linear-gradient(145deg, #151619 0%, #242529 100%);
  color: #fffaf0;
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.22);
}

.admin-page .command-header h2 {
  margin: 0;
  color: #fffaf0;
  font-size: clamp(2rem, 4vw, 4.9rem);
  font-weight: 820;
  line-height: 0.92;
  letter-spacing: -0.07em;
}

.admin-page .command-header p {
  width: min(680px, 100%);
  margin: 12px 0 0;
  color: rgba(255, 250, 240, 0.7);
  font-size: 0.98rem;
  line-height: 1.48;
}

.admin-page .command-header .compact,
.admin-page .primary-button.compact {
  min-height: 46px;
  padding: 0 18px;
  white-space: nowrap;
}

.admin-page .command-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.admin-page .command-kpis article {
  position: relative;
  min-height: 136px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid rgba(22, 22, 23, 0.08);
  border-radius: 22px;
  background: var(--crm-card);
  box-shadow: 0 14px 36px rgba(28, 22, 10, 0.06);
}

.admin-page .command-kpis article::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--crm-gold), rgba(216, 183, 101, 0));
}

.admin-page .command-kpis span,
.admin-page .command-kpis small {
  display: block;
  color: var(--crm-muted);
  font-size: 0.76rem;
  font-weight: 760;
  line-height: 1.35;
}

.admin-page .command-kpis strong {
  display: block;
  margin: 18px 0 6px;
  color: var(--crm-ink);
  font-size: clamp(1.45rem, 2vw, 2.1rem);
  font-weight: 820;
  letter-spacing: -0.05em;
  line-height: 0.96;
}

.admin-page .command-analytics {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(340px, 0.55fr);
  gap: 14px;
}

.admin-page .command-card {
  min-width: 0;
  padding: 18px;
}

.admin-page .command-card-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.admin-page .text-button {
  min-height: 38px;
  padding: 0 12px;
  white-space: nowrap;
  cursor: pointer;
}

.admin-page .availability-chart {
  display: grid;
  gap: 10px;
}

.admin-page .chart-row {
  display: grid;
  grid-template-columns: 116px minmax(160px, 1fr) 80px;
  gap: 10px;
  align-items: center;
}

.admin-page .chart-row > span,
.admin-page .chart-row small {
  color: var(--crm-muted);
  font-size: 0.78rem;
  font-weight: 720;
}

.admin-page .chart-row > div {
  display: flex;
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #ebe6dc;
}

.admin-page .chart-row b,
.admin-page .chart-row i,
.admin-page .chart-row em {
  display: block;
  height: 100%;
}

.admin-page .chart-row b {
  background: #1d4ed8;
}

.admin-page .chart-row i {
  background: #d8b765;
}

.admin-page .chart-row em {
  background: #d65b49;
}

.admin-page .chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
  color: var(--crm-muted);
  font-size: 0.78rem;
  font-weight: 720;
}

.admin-page .chart-legend span {
  display: inline-flex;
  align-items: center;
}

.admin-page .chart-legend b,
.admin-page .chart-legend i,
.admin-page .chart-legend em {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 999px;
  margin-right: 6px;
}

.admin-page .chart-legend b {
  background: #1d4ed8;
}

.admin-page .chart-legend i {
  background: #d8b765;
}

.admin-page .chart-legend em {
  background: #d65b49;
}

.admin-page .fleet-summary-blocks,
.admin-page .interpretation-grid,
.admin-page .mini-card-grid,
.admin-page .fleet-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.admin-page .fleet-summary-blocks article,
.admin-page .interpretation-grid > div,
.admin-page .mini-card-grid article,
.admin-page .revenue-list article,
.admin-page .fleet-field-grid article {
  border: 1px solid var(--crm-line);
  border-radius: 18px;
  background: #fbfaf7;
  padding: 14px;
}

.admin-page .fleet-summary-blocks strong,
.admin-page .fleet-field-grid strong,
.admin-page .revenue-list strong,
.admin-page .mini-card-grid strong {
  display: block;
  color: var(--crm-ink);
  font-weight: 820;
}

.admin-page .fleet-summary-blocks span,
.admin-page .fleet-summary-blocks p,
.admin-page .fleet-field-grid span,
.admin-page .fleet-field-grid small,
.admin-page .revenue-list span,
.admin-page .mini-card-grid span,
.admin-page .mini-card-grid small {
  display: block;
  margin: 4px 0 0;
  color: var(--crm-muted);
  font-size: 0.8rem;
  line-height: 1.4;
}

.admin-page .fleet-summary-blocks div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.admin-page .fleet-summary-blocks button {
  min-height: 30px;
  border: 1px solid var(--crm-line);
  border-radius: 999px;
  background: #fff;
  color: var(--crm-ink);
  padding: 0 10px;
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 760;
}

.admin-page .interpretation-grid h4,
.admin-page .quality-list h4,
.admin-page .blocker-list h4,
.admin-page .revenue-list h4 {
  margin: 0 0 10px;
  color: var(--crm-ink);
  font-size: 0.82rem;
  font-weight: 820;
}

.admin-page .interpretation-grid ul {
  margin: 0;
  padding-left: 18px;
  color: var(--crm-muted);
  font-size: 0.82rem;
  line-height: 1.55;
}

.admin-page .quote-confidence {
  display: grid;
  gap: 14px;
  background:
    linear-gradient(145deg, rgba(216, 183, 101, 0.12), rgba(255, 255, 255, 0.04)),
    #111214;
  color: #fffaf0;
}

.admin-page .quote-confidence h3,
.admin-page .quote-confidence h4,
.admin-page .quote-confidence strong {
  color: #fffaf0;
}

.admin-page .quote-confidence p,
.admin-page .quote-confidence span,
.admin-page .quote-confidence small {
  color: rgba(255, 250, 240, 0.67);
}

.admin-page .quote-confidence .mini-card-grid article,
.admin-page .quote-confidence .revenue-list article {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
}

.admin-page .mini-card-grid strong {
  font-size: 1.55rem;
  letter-spacing: -0.05em;
}

.admin-page .quality-list,
.admin-page .blocker-list,
.admin-page .revenue-list {
  display: grid;
  gap: 8px;
}

.admin-page .quality-list p,
.admin-page .blocker-list p {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  font-size: 0.82rem;
}

.admin-page .risk-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--crm-line);
  border-radius: 18px;
}

.admin-page .risk-table {
  width: 100%;
  min-width: 960px;
  border-collapse: separate;
  border-spacing: 0;
}

.admin-page .risk-table th,
.admin-page .risk-table td {
  padding: 13px 12px;
  border-bottom: 1px solid var(--crm-line);
  color: #34302a;
  font-size: 0.82rem;
  text-align: left;
}

.admin-page .risk-table th {
  background: #f7f3ea;
  color: #7a7163;
  font-size: 0.7rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-page .risk-table tr:last-child td {
  border-bottom: 0;
}

.admin-page .quote-badge,
.admin-page .risk-badge,
.admin-page .status-badge {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 0.72rem;
  font-weight: 800;
  white-space: nowrap;
}

.admin-page .quote-badge.new,
.admin-page .quote-badge.contacted,
.admin-page .risk-badge.medium,
.admin-page .status-badge.maintenance,
.admin-page .status-badge.photos {
  background: #fff3cf;
  color: #7c4e00;
}

.admin-page .quote-badge.deposit,
.admin-page .status-badge.booked {
  background: #dbeafe;
  color: #1d4ed8;
}

.admin-page .quote-badge.booked,
.admin-page .status-badge.available {
  background: #dcfce7;
  color: #166534;
}

.admin-page .risk-badge.high {
  background: #fee2e2;
  color: #991b1b;
}

.admin-page .admin-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid rgba(22, 22, 23, 0.08);
  border-radius: 22px;
  background: var(--crm-card);
  box-shadow: 0 14px 30px rgba(28, 22, 10, 0.06);
}

.admin-page .admin-editor-layout {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.admin-page .admin-list-panel {
  position: sticky;
  top: 124px;
  max-height: calc(100vh - 148px);
  overflow: hidden;
  padding: 14px;
}

.admin-page .admin-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.admin-page .admin-car-list {
  display: grid;
  gap: 8px;
  max-height: calc(100vh - 246px);
  overflow: auto;
  padding-right: 4px;
}

.admin-page .admin-car-list button,
.admin-page .car-list-item {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  width: 100%;
  min-height: 76px;
  border: 1px solid var(--crm-line);
  border-radius: 16px;
  background: #fbfaf7;
  color: var(--crm-ink);
  padding: 8px;
  text-align: left;
  cursor: pointer;
}

.admin-page .admin-car-list button.active,
.admin-page .admin-car-list button:hover {
  border-color: rgba(216, 183, 101, 0.65);
  background: #fff6df;
}

.admin-page .admin-car-list img {
  width: 62px;
  height: 52px;
  border-radius: 12px;
  object-fit: cover;
  background: #eee8dd;
}

.admin-page .admin-editor {
  overflow: hidden;
  background: #fffaf2;
}

.admin-page .admin-editor-hero {
  position: relative;
  min-height: 220px;
  padding: 22px;
  overflow: hidden;
  border-radius: 24px 24px 0 0;
  background: #101113;
  color: #fffaf0;
}

.admin-page .admin-editor-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.18) 62%, rgba(0, 0, 0, 0.62));
}

.admin-page .admin-editor-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.admin-page .admin-editor-hero > div,
.admin-page .admin-editor-hero .primary-button {
  position: relative;
  z-index: 1;
}

.admin-page .admin-editor-hero h2 {
  max-width: 820px;
  margin: 16px 0 10px;
  color: #fffaf0;
  font-size: clamp(2rem, 4vw, 4.6rem);
  font-weight: 820;
  line-height: 0.94;
  letter-spacing: -0.065em;
}

.admin-page .admin-editor-hero p,
.admin-page .admin-editor-hero span,
.admin-page .admin-editor-hero small {
  color: rgba(255, 250, 240, 0.74);
}

.admin-page .admin-editor-body,
.admin-page .admin-form-section,
.admin-page .admin-form-card {
  padding: 18px;
}

.admin-page .admin-form-section,
.admin-page .admin-form-card {
  margin: 14px;
  border: 1px solid var(--crm-line);
  border-radius: 22px;
  background: #fff;
}

.admin-page .admin-form-grid,
.admin-page .settings-grid,
.admin-page .content-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.admin-page .admin-form label,
.admin-page .admin-form-section label,
.admin-page .settings-card label,
.admin-page .content-card label {
  display: grid;
  gap: 6px;
  color: #7c756b;
  font-size: 0.7rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-page input,
.admin-page textarea,
.admin-page select {
  width: 100%;
  min-height: 44px;
  border: 1px solid #d8d1c4;
  border-radius: 13px;
  background: #fbfaf7;
  color: var(--crm-ink);
  padding: 0 12px;
  font-size: 0.9rem;
  font-weight: 650;
}

.admin-page textarea {
  min-height: 104px;
  padding: 12px;
  resize: vertical;
}

.admin-page input:hover,
.admin-page textarea:hover,
.admin-page select:hover {
  border-color: #c6bdad;
}

.admin-page .photo-list {
  display: grid;
  gap: 10px;
}

.admin-page .photo-row {
  display: grid;
  grid-template-columns: 42px 36px 92px minmax(180px, 1fr) minmax(150px, 220px) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--crm-line);
  border-radius: 16px;
  background: #fbfaf7;
}

.admin-page .photo-row img {
  width: 92px;
  height: 64px;
  border-radius: 12px;
  object-fit: cover;
  background: #eee8dd;
}

.admin-page .photo-row button,
.admin-page .photo-row .photo-drag-handle {
  min-width: 38px;
  min-height: 38px;
  border-radius: 12px;
}

.admin-page .request-pipeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 12px;
}

.admin-page .request-pipeline-column {
  padding: 14px;
}

.admin-page .request-card,
.admin-page .calendar-day,
.admin-page .booking-card {
  border: 1px solid var(--crm-line);
  border-radius: 16px;
  background: #fbfaf7;
  padding: 12px;
}

.admin-page .admin-login {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 40px 16px;
}

.admin-page .admin-login .admin-brand {
  position: absolute;
  top: 30px;
  left: 30px;
}

.admin-page .admin-login-panel {
  width: min(100%, 430px);
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 28px;
  background: rgba(18, 18, 19, 0.88);
  color: #fffaf0;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(22px);
}

.admin-page .admin-login-panel h1 {
  margin: 0;
  color: #fffaf0;
  font-size: 2.1rem;
  font-weight: 820;
  letter-spacing: -0.05em;
}

.admin-page .admin-login-panel p {
  color: rgba(255, 250, 240, 0.66);
}

.admin-page .admin-login-panel input {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(0, 0, 0, 0.34);
  color: #fffaf0;
}

.admin-page .back-link {
  color: rgba(255, 250, 240, 0.72);
}

@media (max-width: 1380px) {
  .admin-page .command-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-page .command-analytics,
  .admin-page .fleet-command-layout,
  .admin-page .admin-editor-layout {
    grid-template-columns: 1fr;
  }

  .admin-page .fleet-control-rail,
  .admin-page .admin-list-panel {
    position: static;
    max-height: none;
  }

  .admin-page .admin-car-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: 420px;
  }
}

@media (max-width: 980px) {
  .admin-page .admin-shell {
    width: min(100% - 18px, 1780px);
    padding-top: 10px;
  }

  .admin-page .admin-topbar,
  .admin-page .admin-crm-shell,
  .admin-page .command-header {
    grid-template-columns: 1fr;
  }

  .admin-page .admin-topbar {
    position: static;
  }

  .admin-page .admin-crm-sidebar {
    position: static;
    min-height: auto;
  }

  .admin-page .admin-crm-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-page .admin-workspace {
    padding: 10px;
    border-radius: 22px;
  }

  .admin-page .command-kpis,
  .admin-page .fleet-summary-blocks,
  .admin-page .interpretation-grid,
  .admin-page .mini-card-grid,
  .admin-page .fleet-field-grid,
  .admin-page .admin-form-grid,
  .admin-page .settings-grid,
  .admin-page .content-grid,
  .admin-page .request-pipeline {
    grid-template-columns: 1fr;
  }

  .admin-page .chart-row {
    grid-template-columns: 1fr;
  }

  .admin-page .photo-row {
    grid-template-columns: 38px 34px 86px minmax(0, 1fr);
  }

  .admin-page .photo-row input[type="file"],
  .admin-page .photo-row .photo-actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .admin-page .admin-topbar {
    border-radius: 20px;
  }

  .admin-page .admin-crm-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-page .command-header,
  .admin-page .command-card,
  .admin-page .fleet-control-rail,
  .admin-page .admin-list-panel,
  .admin-page .admin-form-section,
  .admin-page .admin-form-card {
    padding: 14px;
    border-radius: 18px;
  }

  .admin-page .command-header h2,
  .admin-page .admin-editor-hero h2 {
    font-size: 2.15rem;
    letter-spacing: -0.05em;
  }

  .admin-page .admin-car-list {
    grid-template-columns: 1fr;
  }

  .admin-page .admin-login .admin-brand {
    position: static;
    justify-self: start;
    margin-bottom: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-page *,
  .admin-page *::before,
  .admin-page *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Final CRM polish overrides */
.admin-page .admin-status:empty {
  display: none;
}

.admin-page .admin-crm-nav button:not(.active):not(:hover) {
  border-color: transparent !important;
  background: transparent !important;
}

.admin-page .admin-editor-hero .primary-button {
  position: absolute;
  right: 24px;
  top: 22px;
  z-index: 2;
  width: auto;
  min-width: 150px;
  padding: 0 24px;
}

@media (max-width: 640px) {
  .admin-page .admin-editor-hero .primary-button {
    right: 14px;
    top: 14px;
    min-width: 132px;
  }
}

/* Reference-inspired KD CRM skin */
.admin-page {
  --ref-bg: #222735;
  --ref-shell: #0d1220;
  --ref-shell-2: #121827;
  --ref-sidebar: #151a2a;
  --ref-panel: #171d2e;
  --ref-panel-soft: #1c2337;
  --ref-line: rgba(255, 255, 255, 0.075);
  --ref-text: #f8f4eb;
  --ref-muted: #a7afbf;
  --ref-soft: #d9d1c4;
  --ref-gold: #dfbd68;
  --ref-gold-2: #a97725;
  --ref-teal: #19d9d2;
  --ref-blue: #4c7df2;
  --ref-red: #f06a52;
  min-height: 100vh;
  background:
    linear-gradient(128deg, rgba(223, 189, 104, 0.2) 0 18%, transparent 18% 100%),
    linear-gradient(305deg, transparent 0 74%, rgba(25, 217, 210, 0.12) 74% 100%),
    var(--ref-bg);
  color: var(--ref-text);
}

.admin-page .admin-shell {
  width: min(100% - 44px, 1760px);
  padding: 70px 0;
}

.admin-page .admin-dashboard {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  grid-template-areas:
    "top top"
    "side work";
  gap: 0;
  overflow: hidden;
  min-height: calc(100vh - 140px);
  border: 1px solid rgba(255, 255, 255, 0.075);
  border-radius: 54px;
  background: var(--ref-shell);
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.38);
}

.admin-page .admin-topbar {
  grid-area: top;
  position: relative;
  top: auto;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) auto;
  min-height: 96px;
  margin: 0;
  padding: 22px 34px 20px;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent);
  box-shadow: none;
  backdrop-filter: none;
}

.admin-page .admin-topbar .brand-logo-wide {
  width: 164px;
  filter: brightness(0) invert(1) drop-shadow(0 18px 28px rgba(0, 0, 0, 0.35));
}

.admin-page .admin-title-block .eyebrow,
.admin-page .eyebrow {
  color: var(--ref-gold);
  letter-spacing: 0.08em;
}

.admin-page .admin-title-block h1 {
  color: var(--ref-text);
  font-size: 1.42rem;
  font-weight: 760;
}

.admin-page .admin-title-block span {
  color: var(--ref-muted);
}

.admin-page .ghost-button {
  border-color: rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.045);
  color: var(--ref-text);
}

.admin-page .admin-crm-shell {
  display: contents;
}

.admin-page .admin-crm-sidebar {
  grid-area: side;
  position: relative;
  top: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 20px;
  min-height: 100%;
  width: auto;
  padding: 28px 22px 24px;
  border: 0;
  border-right: 1px solid var(--ref-line);
  border-radius: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.01)), var(--ref-sidebar);
  box-shadow: none;
}

.admin-page .admin-crm-profile {
  grid-template-columns: 48px minmax(0, 1fr);
  margin-bottom: 20px;
  padding: 0 0 22px;
  border-bottom-color: var(--ref-line);
}

.admin-page .admin-crm-profile > span {
  border-radius: 15px;
  border-color: rgba(223, 189, 104, 0.42);
  background: linear-gradient(145deg, rgba(223, 189, 104, 0.22), rgba(255, 255, 255, 0.05));
  color: #ffe2a0;
}

.admin-page .admin-crm-profile strong {
  color: var(--ref-text);
}

.admin-page .admin-crm-profile small {
  color: var(--ref-muted);
}

.admin-page .admin-crm-nav {
  gap: 12px;
  padding: 0;
}

.admin-page .admin-crm-nav button {
  min-height: 46px;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: #c0c7d4;
  padding: 0 12px;
  font-size: 0.84rem;
  font-weight: 730;
  text-transform: none;
}

.admin-page .admin-crm-nav button::before {
  content: "";
  width: 3px;
  height: 0;
  margin-right: 0;
  border-radius: 999px;
  background: var(--ref-gold);
  transition: height 180ms ease;
}

.admin-page .admin-crm-nav button::after {
  width: 8px;
  height: 8px;
  background: transparent;
}

.admin-page .admin-crm-nav button:hover,
.admin-page .admin-crm-nav button.active {
  background: rgba(223, 189, 104, 0.16) !important;
  color: var(--ref-text);
  box-shadow: inset 4px 0 0 var(--ref-gold);
}

.admin-page .admin-crm-nav button.active::before {
  height: 24px;
}

.admin-page .admin-crm-nav button.active::after {
  background: var(--ref-gold);
  box-shadow: 0 0 18px rgba(223, 189, 104, 0.45);
}

.admin-page .admin-crm-sidebar-card {
  margin-top: auto;
  padding: 18px;
  border-color: rgba(223, 189, 104, 0.22);
  border-radius: 22px;
  background: rgba(223, 189, 104, 0.09);
}

.admin-page .admin-crm-sidebar-card small {
  color: var(--ref-gold);
}

.admin-page .admin-crm-sidebar-card span {
  color: #d7dce7;
}

.admin-page .admin-crm-sidebar-card .secondary-button {
  border: 0;
  background: linear-gradient(135deg, var(--ref-gold), #f4d88a);
  color: #0d1220;
}

.admin-page .admin-workspace {
  grid-area: work;
  min-width: 0;
  padding: 24px 34px 34px;
  border: 0;
  border-radius: 0;
  background: var(--ref-shell);
  box-shadow: none;
}

.admin-page .command-topbar {
  margin: 0 0 26px;
  color: var(--ref-muted);
}

.admin-page .command-topbar strong {
  color: var(--ref-text);
}

.admin-page .fleet-command-layout {
  grid-template-columns: minmax(0, 1fr) 420px;
  grid-template-areas:
    "pills side"
    "hero side"
    "kpis side"
    "main side"
    "risks risks"
    "snapshot snapshot";
  gap: 26px;
}

.admin-page .fleet-control-rail {
  display: none;
}

.admin-page .fleet-command-main {
  display: contents;
}

.admin-page .command-pills {
  grid-area: pills;
  align-self: start;
  margin-bottom: -6px;
}

.admin-page .command-pills span {
  min-height: 34px;
  border-color: var(--ref-line);
  background: rgba(255, 255, 255, 0.045);
  color: var(--ref-muted);
}

.admin-page .command-pills span:first-child {
  border-color: rgba(223, 189, 104, 0.38);
  background: rgba(223, 189, 104, 0.2);
  color: var(--ref-text);
}

.admin-page .command-header {
  grid-area: hero;
  min-height: 160px;
  align-items: center;
  padding: 28px 30px;
  border: 1px solid var(--ref-line);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(223, 189, 104, 0.28), rgba(188, 133, 43, 0.18) 45%, rgba(25, 217, 210, 0.12)),
    var(--ref-panel);
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.2);
}

.admin-page .command-header h2 {
  max-width: 780px;
  color: var(--ref-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(2.2rem, 4.4vw, 4.6rem);
  font-weight: 850;
  line-height: 0.96;
  letter-spacing: -0.055em;
}

.admin-page .command-header p {
  color: #f0dcc1;
  font-size: 0.96rem;
}

.admin-page .primary-button,
.admin-page .text-button,
.admin-page .secondary-button {
  border-radius: 999px;
}

.admin-page .primary-button {
  border: 0;
  background: linear-gradient(135deg, #f3d47e, #d2a64c 52%, #a97725);
  color: #0a0d16;
  box-shadow: 0 16px 34px rgba(223, 189, 104, 0.16);
}

.admin-page .text-button,
.admin-page .secondary-button {
  border: 1px solid var(--ref-line);
  background: rgba(255, 255, 255, 0.055);
  color: var(--ref-text);
}

.admin-page .command-kpis {
  grid-area: kpis;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

.admin-page .command-kpis article {
  min-height: 142px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(135deg, #e7c875 0%, #bb8230 58%, #6d4519 100%);
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.22);
}

.admin-page .command-kpis article:nth-child(2) {
  background: linear-gradient(135deg, #16d6d0 0%, #3d8aea 56%, #1e346f 100%);
}

.admin-page .command-kpis article:nth-child(3) {
  background: linear-gradient(135deg, #f7df94 0%, #c9963e 55%, #7d4b18 100%);
}

.admin-page .command-kpis article:nth-child(4) {
  background: linear-gradient(135deg, #2bd4bf 0%, #486ef2 58%, #1d244f 100%);
}

.admin-page .command-kpis article:nth-child(5) {
  display: none;
}

.admin-page .command-kpis article::before {
  display: none;
}

.admin-page .command-kpis span,
.admin-page .command-kpis small {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.84rem;
}

.admin-page .command-kpis strong {
  margin-top: 18px;
  color: #ffffff;
  font-size: clamp(2.15rem, 4vw, 3.05rem);
  font-weight: 850;
  letter-spacing: -0.06em;
}

.admin-page .command-analytics {
  display: contents;
}

.admin-page .availability-card {
  grid-area: main;
  min-height: 308px;
}

.admin-page .quote-confidence {
  grid-area: side;
  align-self: start;
  min-height: 100%;
}

.admin-page .command-card,
.admin-page .admin-list-panel,
.admin-page .admin-editor,
.admin-page .request-pipeline-column,
.admin-page .calendar-grid,
.admin-page .content-card,
.admin-page .settings-card,
.admin-page .admin-actions,
.admin-page .admin-form-section,
.admin-page .admin-form-card {
  border: 1px solid var(--ref-line);
  background: var(--ref-panel);
  color: var(--ref-text);
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.2);
}

.admin-page .command-card h3,
.admin-page .admin-editor h2,
.admin-page .admin-list-panel h2,
.admin-page .request-pipeline-column h3,
.admin-page .calendar-grid h3,
.admin-page .content-card h3,
.admin-page .settings-card h3 {
  color: var(--ref-text);
}

.admin-page .command-card p,
.admin-page .admin-editor p,
.admin-page .admin-list-panel p,
.admin-page .content-card p,
.admin-page .settings-card p {
  color: var(--ref-muted);
}

.admin-page .chart-row {
  grid-template-columns: 110px minmax(140px, 1fr) 74px;
}

.admin-page .chart-row > span,
.admin-page .chart-row small,
.admin-page .chart-legend {
  color: var(--ref-muted);
}

.admin-page .chart-row > div {
  height: 13px;
  background: #101727;
}

.admin-page .chart-row b {
  background: linear-gradient(90deg, var(--ref-teal), var(--ref-blue));
}

.admin-page .chart-row i {
  background: linear-gradient(90deg, var(--ref-gold), #efdc9a);
}

.admin-page .chart-row em {
  background: var(--ref-red);
}

.admin-page .chart-legend b {
  background: var(--ref-teal);
}

.admin-page .chart-legend i {
  background: var(--ref-gold);
}

.admin-page .chart-legend em {
  background: var(--ref-red);
}

.admin-page .fleet-summary-blocks article,
.admin-page .interpretation-grid > div,
.admin-page .mini-card-grid article,
.admin-page .revenue-list article,
.admin-page .fleet-field-grid article,
.admin-page .request-card,
.admin-page .calendar-day,
.admin-page .booking-card {
  border-color: var(--ref-line);
  background: var(--ref-panel-soft);
  color: var(--ref-text);
}

.admin-page .fleet-summary-blocks strong,
.admin-page .fleet-field-grid strong,
.admin-page .revenue-list strong,
.admin-page .mini-card-grid strong,
.admin-page .interpretation-grid h4,
.admin-page .quality-list h4,
.admin-page .blocker-list h4,
.admin-page .revenue-list h4 {
  color: var(--ref-text);
}

.admin-page .fleet-summary-blocks span,
.admin-page .fleet-summary-blocks p,
.admin-page .fleet-field-grid span,
.admin-page .fleet-field-grid small,
.admin-page .revenue-list span,
.admin-page .mini-card-grid span,
.admin-page .mini-card-grid small,
.admin-page .interpretation-grid ul,
.admin-page .quality-list p,
.admin-page .blocker-list p {
  color: var(--ref-muted);
}

.admin-page .quote-confidence {
  background:
    linear-gradient(135deg, rgba(223, 189, 104, 0.1), rgba(25, 217, 210, 0.06)),
    var(--ref-panel);
}

.admin-page .rental-risks {
  grid-area: risks;
}

.admin-page .fleet-management-snapshot {
  grid-area: snapshot;
}

.admin-page .risk-table-wrap {
  border-color: var(--ref-line);
}

.admin-page .risk-table th {
  background: #111827;
  color: var(--ref-muted);
}

.admin-page .risk-table td {
  border-bottom-color: var(--ref-line);
  color: #e6ebf4;
}

.admin-page .admin-editor-layout {
  grid-template-columns: 330px minmax(0, 1fr);
}

.admin-page .admin-car-list button,
.admin-page .car-list-item,
.admin-page input,
.admin-page textarea,
.admin-page select,
.admin-page .photo-row {
  border-color: var(--ref-line);
  background: #101625;
  color: var(--ref-text);
}

.admin-page input::placeholder,
.admin-page textarea::placeholder {
  color: #6f7789;
}

.admin-page .admin-car-list button.active,
.admin-page .admin-car-list button:hover {
  border-color: rgba(223, 189, 104, 0.62);
  background: rgba(223, 189, 104, 0.12);
}

.admin-page .admin-editor-hero {
  background: #070a12;
}

.admin-page .admin-editor-hero h2 {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.admin-page .admin-form label,
.admin-page .admin-form-section label,
.admin-page .settings-card label,
.admin-page .content-card label {
  color: #9ea6b8;
}

.admin-page .admin-login-panel {
  background: var(--ref-shell);
}

.admin-page .admin-panel,
.admin-page .admin-simple-section,
.admin-page .admin-advanced,
.admin-page .admin-availability-card,
.admin-page .photo-editor-row,
.admin-page .availability-row {
  border: 1px solid var(--ref-line);
  background: var(--ref-panel) !important;
  color: var(--ref-text);
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.2);
}

.admin-page .admin-simple-title h3,
.admin-page .admin-simple-section h3,
.admin-page .admin-advanced summary,
.admin-page .admin-availability-card h3 {
  color: var(--ref-text);
}

.admin-page .admin-simple-title p,
.admin-page .admin-simple-section p,
.admin-page .admin-availability-card p {
  color: var(--ref-muted);
}

.admin-page .admin-simple-section label,
.admin-page .admin-advanced label,
.admin-page .admin-availability-card label {
  color: #a7afbf;
}

.admin-page .admin-simple-section input,
.admin-page .admin-simple-section textarea,
.admin-page .admin-advanced input,
.admin-page .admin-advanced textarea,
.admin-page .admin-advanced select,
.admin-page .admin-availability-card input,
.admin-page .photo-editor-row input,
.admin-page .availability-row input {
  border-color: var(--ref-line);
  background: #101625;
  color: var(--ref-text);
}

@media (max-width: 1380px) {
  .admin-page .fleet-command-layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "pills"
      "hero"
      "kpis"
      "side"
      "main"
      "risks"
      "snapshot";
  }
}

@media (max-width: 980px) {
  .admin-page .admin-shell {
    width: min(100% - 18px, 1760px);
    padding: 18px 0;
  }

  .admin-page .admin-dashboard {
    grid-template-columns: 1fr;
    grid-template-areas:
      "top"
      "side"
      "work";
    border-radius: 28px;
  }

  .admin-page .admin-topbar {
    grid-template-columns: 1fr;
    padding: 20px;
  }

  .admin-page .admin-crm-sidebar {
    padding: 18px;
    border-right: 0;
    border-bottom: 1px solid var(--ref-line);
  }

  .admin-page .admin-crm-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .admin-page .admin-crm-nav button {
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.045) !important;
  }

  .admin-page .admin-workspace {
    padding: 18px;
  }

  .admin-page .command-kpis {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .admin-page .admin-dashboard {
    border-radius: 20px;
  }

  .admin-page .admin-crm-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-page .command-header h2 {
    font-size: 2.3rem;
  }
}

/* KD CRM calm luxury correction */
.admin-page {
  --crm-bg: #080706;
  --crm-shell: #0d0d0c;
  --crm-sidebar: #11110f;
  --crm-workspace: #121210;
  --crm-panel: #191815;
  --crm-panel-2: #201f1b;
  --crm-soft: #f5f0e8;
  --crm-text: #f8f4ec;
  --crm-muted: #b9b1a5;
  --crm-dim: #81796d;
  --crm-line: rgba(245, 240, 232, 0.12);
  --crm-line-strong: rgba(216, 183, 101, 0.34);
  --crm-gold: #d8b765;
  --crm-gold-2: #b9974d;
  --crm-danger: #e16666;
  --crm-success: #8fce9b;
  background:
    linear-gradient(180deg, #0b0a09 0%, #080706 46%, #0d0c0a 100%) !important;
  color: var(--crm-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.admin-page .admin-shell {
  width: min(100% - 32px, 1780px);
  padding: 28px 0;
}

.admin-page .admin-dashboard {
  overflow: hidden;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  grid-template-areas:
    "top top"
    "side work";
  min-height: calc(100dvh - 56px);
  border: 1px solid var(--crm-line);
  border-radius: 30px;
  background: var(--crm-shell) !important;
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.5);
}

.admin-page .admin-topbar {
  grid-area: top;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  min-height: 92px;
  padding: 18px 28px;
  border-bottom: 1px solid var(--crm-line);
  background: #0b0a09 !important;
}

.admin-page .admin-brand .brand-logo-wide {
  width: 148px;
  max-height: 64px;
  object-fit: contain;
}

.admin-page .admin-title-block {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.admin-page .admin-title-block .eyebrow,
.admin-page .eyebrow {
  color: var(--crm-gold);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.admin-page .admin-title-block h1 {
  margin: 0;
  overflow: hidden;
  color: var(--crm-text);
  font-size: clamp(1.08rem, 1.6vw, 1.42rem);
  font-weight: 760;
  letter-spacing: -0.02em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-page .admin-title-block span {
  color: var(--crm-muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

.admin-page .admin-crm-sidebar {
  grid-area: side;
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
  padding: 22px 18px;
  border-right: 1px solid var(--crm-line);
  background: var(--crm-sidebar) !important;
}

.admin-page .admin-crm-profile {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--crm-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.035);
}

.admin-page .admin-crm-profile > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  background: linear-gradient(135deg, var(--crm-gold), #f0d995);
  color: #100f0c;
  font-weight: 900;
}

.admin-page .admin-crm-profile strong,
.admin-page .admin-crm-profile small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-page .admin-crm-profile strong {
  color: var(--crm-text);
  font-size: 0.95rem;
}

.admin-page .admin-crm-profile small {
  color: var(--crm-muted);
  font-size: 0.82rem;
}

.admin-page .admin-crm-nav {
  display: grid;
  gap: 7px;
}

.admin-page .admin-crm-nav button {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  width: 100%;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 14px;
  background: transparent !important;
  color: #ded8ce;
  font-size: 0.92rem;
  font-weight: 750;
  letter-spacing: -0.01em;
  text-align: left;
}

.admin-page .admin-crm-nav button::before {
  content: "";
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(216, 183, 101, 0.4);
}

.admin-page .admin-crm-nav button::after {
  content: "";
  flex: 0 0 5px;
  width: 5px;
  height: 5px;
  margin-left: auto;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  opacity: 0.35;
  transform: rotate(45deg);
}

.admin-page .admin-crm-nav button:hover,
.admin-page .admin-crm-nav button.active {
  border-color: var(--crm-line-strong);
  background: rgba(216, 183, 101, 0.12) !important;
  color: var(--crm-text);
}

.admin-page .admin-crm-nav button.active::before {
  background: var(--crm-gold);
  box-shadow: 0 0 0 5px rgba(216, 183, 101, 0.12);
}

.admin-page .admin-crm-sidebar-card {
  margin-top: auto;
  padding: 16px;
  border: 1px solid var(--crm-line);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(216, 183, 101, 0.1), rgba(255, 255, 255, 0.035)) !important;
  color: var(--crm-text);
}

.admin-page .admin-crm-sidebar-card small,
.admin-page .admin-crm-sidebar-card span {
  display: block;
  max-width: 100%;
}

.admin-page .admin-crm-sidebar-card small {
  margin-bottom: 8px;
  color: var(--crm-gold);
  font-size: 0.72rem;
  font-weight: 850;
}

.admin-page .admin-crm-sidebar-card span {
  color: var(--crm-muted);
  font-size: 0.88rem;
  line-height: 1.55;
}

.admin-page .admin-crm-sidebar-card .secondary-button {
  width: 100%;
  min-height: 42px;
  margin-top: 14px;
  border-radius: 12px;
}

.admin-page .admin-workspace {
  grid-area: work;
  min-width: 0;
  padding: 28px;
  background: var(--crm-workspace) !important;
}

.admin-page .admin-section {
  min-width: 0;
}

.admin-page .command-topbar,
.admin-page .command-pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: var(--crm-muted);
  font-size: 0.82rem;
  font-weight: 760;
}

.admin-page .command-pills {
  margin-bottom: 14px;
}

.admin-page .command-pills span {
  min-height: 32px;
  padding: 8px 12px;
  border: 1px solid var(--crm-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.035);
  line-height: 1;
}

.admin-page .fleet-command-layout {
  display: block !important;
  min-width: 0;
}

.admin-page .fleet-control-rail {
  display: none !important;
}

.admin-page .fleet-command-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
  grid-template-areas:
    "pills pills"
    "hero hero"
    "kpis kpis"
    "main side"
    "risks risks"
    "snapshot snapshot";
  gap: 18px;
  min-width: 0;
}

.admin-page .command-pills {
  grid-area: pills;
}

.admin-page .command-header {
  grid-area: hero;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  min-height: 150px;
  padding: 26px;
  border: 1px solid var(--crm-line);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(216, 183, 101, 0.15), rgba(255, 255, 255, 0.025) 42%, rgba(0, 0, 0, 0.18)),
    var(--crm-panel) !important;
}

.admin-page .command-header h2 {
  max-width: 760px;
  margin: 0;
  color: var(--crm-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(2rem, 3.6vw, 4rem);
  font-weight: 820;
  letter-spacing: -0.055em;
  line-height: 0.96;
}

.admin-page .command-header p {
  max-width: 620px;
  margin: 12px 0 0;
  color: var(--crm-muted);
  font-size: clamp(0.95rem, 1.2vw, 1.08rem);
  font-weight: 520;
  line-height: 1.55;
}

.admin-page .command-kpis {
  grid-area: kpis;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.admin-page .command-kpis article {
  display: grid;
  min-width: 0;
  min-height: 128px;
  align-content: space-between;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--crm-line);
  border-radius: 18px;
  background: var(--crm-panel) !important;
  box-shadow: none;
}

.admin-page .command-kpis article:nth-child(n) {
  display: grid;
  background: var(--crm-panel) !important;
}

.admin-page .command-kpis article::before {
  content: "";
  display: block;
  width: 34px;
  height: 3px;
  border-radius: 999px;
  background: var(--crm-gold);
}

.admin-page .command-kpis span,
.admin-page .command-kpis small {
  overflow-wrap: anywhere;
}

.admin-page .command-kpis span {
  color: var(--crm-muted);
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-page .command-kpis strong {
  color: var(--crm-text);
  font-size: clamp(1.7rem, 2.6vw, 2.35rem);
  font-weight: 820;
  letter-spacing: -0.04em;
  line-height: 1;
}

.admin-page .command-kpis small {
  color: var(--crm-dim);
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.35;
}

.admin-page .command-analytics {
  display: contents !important;
}

.admin-page .command-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--crm-line);
  border-radius: 22px;
  background: var(--crm-panel) !important;
  color: var(--crm-text);
  box-shadow: none;
}

.admin-page .availability-card {
  grid-area: main;
}

.admin-page .quote-confidence {
  grid-area: side;
  align-self: start;
}

.admin-page .command-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.admin-page .command-card h3,
.admin-page .command-card h4 {
  margin: 0;
  color: var(--crm-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: -0.025em;
  line-height: 1.1;
}

.admin-page .command-card h3 {
  font-size: clamp(1.15rem, 1.7vw, 1.55rem);
  font-weight: 820;
}

.admin-page .command-card h4 {
  font-size: 0.94rem;
  font-weight: 780;
}

.admin-page .command-card p,
.admin-page .command-card li,
.admin-page .command-card span,
.admin-page .command-card small {
  color: var(--crm-muted);
  line-height: 1.55;
}

.admin-page .text-button {
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--crm-line);
  border-radius: 999px;
  color: var(--crm-gold);
  font-weight: 800;
}

.admin-page .availability-chart {
  display: grid;
  gap: 12px;
}

.admin-page .chart-row {
  display: grid;
  grid-template-columns: minmax(110px, 160px) minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
}

.admin-page .chart-row > span,
.admin-page .chart-row small {
  font-size: 0.86rem;
  font-weight: 760;
}

.admin-page .chart-row > div {
  display: flex;
  overflow: hidden;
  height: 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.065);
}

.admin-page .chart-row b,
.admin-page .chart-row i,
.admin-page .chart-row em {
  display: block;
  height: 100%;
}

.admin-page .chart-row b {
  background: var(--crm-gold);
}

.admin-page .chart-row i {
  background: #eee2ca;
}

.admin-page .chart-row em {
  background: var(--crm-danger);
}

.admin-page .chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 4px;
}

.admin-page .chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 0.82rem;
}

.admin-page .chart-legend b,
.admin-page .chart-legend i,
.admin-page .chart-legend em {
  width: 9px;
  height: 9px;
  border-radius: 999px;
}

.admin-page .chart-legend b {
  background: var(--crm-gold);
}

.admin-page .chart-legend i {
  background: #eee2ca;
}

.admin-page .chart-legend em {
  background: var(--crm-danger);
}

.admin-page .fleet-summary-blocks,
.admin-page .interpretation-grid,
.admin-page .mini-card-grid,
.admin-page .fleet-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.admin-page .fleet-summary-blocks article,
.admin-page .interpretation-grid > div,
.admin-page .mini-card-grid article,
.admin-page .fleet-field-grid article,
.admin-page .quality-list,
.admin-page .blocker-list,
.admin-page .revenue-list article {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--crm-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.035) !important;
}

.admin-page .fleet-summary-blocks strong,
.admin-page .fleet-field-grid strong,
.admin-page .mini-card-grid strong,
.admin-page .quality-list strong,
.admin-page .blocker-list strong,
.admin-page .revenue-list strong {
  color: var(--crm-text);
  font-weight: 820;
  line-height: 1.25;
}

.admin-page .fleet-summary-blocks div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.admin-page .fleet-summary-blocks button {
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid var(--crm-line);
  border-radius: 999px;
  color: var(--crm-text);
  font-size: 0.78rem;
  font-weight: 780;
}

.admin-page .quality-list,
.admin-page .blocker-list,
.admin-page .revenue-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.admin-page .quality-list p,
.admin-page .blocker-list p {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin: 0;
  padding-top: 8px;
  border-top: 1px solid var(--crm-line);
}

.admin-page .rental-risks {
  grid-area: risks;
}

.admin-page .fleet-management-snapshot {
  grid-area: snapshot;
}

.admin-page .risk-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--crm-line);
  border-radius: 16px;
}

.admin-page .risk-table {
  width: 100%;
  min-width: 840px;
  border-collapse: collapse;
}

.admin-page .risk-table th,
.admin-page .risk-table td {
  padding: 13px 14px;
  border-bottom: 1px solid var(--crm-line);
  color: var(--crm-muted);
  font-size: 0.86rem;
  text-align: left;
  white-space: nowrap;
}

.admin-page .risk-table th {
  background: rgba(255, 255, 255, 0.04) !important;
  color: var(--crm-text);
  font-size: 0.74rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-page .risk-table tr:last-child td {
  border-bottom: 0;
}

.admin-page .status-badge,
.admin-page .quote-badge,
.admin-page .risk-badge {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 0 9px;
  border: 1px solid var(--crm-line);
  border-radius: 999px;
  color: var(--crm-text);
  font-size: 0.74rem;
  font-weight: 850;
}

.admin-page .risk-badge.high,
.admin-page .quote-badge.new {
  border-color: rgba(225, 102, 102, 0.4);
  color: #ffd0d0;
}

.admin-page .risk-badge.medium,
.admin-page .quote-badge.contacted,
.admin-page .quote-badge.deposit {
  border-color: var(--crm-line-strong);
  color: var(--crm-gold);
}

.admin-page .quote-badge.booked,
.admin-page .status-badge.available {
  border-color: rgba(143, 206, 155, 0.36);
  color: var(--crm-success);
}

.admin-page .primary-button,
.admin-page .secondary-button,
.admin-page .ghost-button {
  min-height: 44px;
  border-radius: 14px;
  font-weight: 820;
  letter-spacing: -0.015em;
}

.admin-page .primary-button {
  border: 0;
  background: linear-gradient(180deg, #efd083, var(--crm-gold)) !important;
  color: #0c0b09 !important;
}

.admin-page .secondary-button,
.admin-page .ghost-button {
  border: 1px solid var(--crm-line);
  background: rgba(255, 255, 255, 0.045) !important;
  color: var(--crm-text) !important;
}

.admin-page .admin-actions,
.admin-page .admin-panel,
.admin-page .admin-simple-section,
.admin-page .admin-advanced,
.admin-page .admin-availability-card {
  border-color: var(--crm-line) !important;
  background: var(--crm-panel) !important;
  color: var(--crm-text);
}

.admin-page .admin-layout {
  display: grid;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.admin-page .admin-list-panel,
.admin-page .admin-editor-panel {
  border-radius: 22px;
}

.admin-page .admin-car-list {
  display: grid;
  gap: 9px;
  max-height: min(72dvh, 880px);
  overflow: auto;
  padding-right: 4px;
}

.admin-page .admin-car-button {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  column-gap: 12px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--crm-line) !important;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.035) !important;
  color: var(--crm-text);
  text-align: left;
}

.admin-page .admin-car-button.active,
.admin-page .admin-car-button:hover {
  border-color: var(--crm-line-strong) !important;
  background: rgba(216, 183, 101, 0.1) !important;
}

.admin-page .admin-car-thumb {
  grid-row: 1 / 4;
  width: 62px;
  height: 46px;
  border-radius: 10px;
  object-fit: cover;
}

.admin-page .admin-car-button span,
.admin-page .admin-car-button strong,
.admin-page .admin-car-button small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-page .admin-car-button span {
  color: var(--crm-gold);
  font-size: 0.66rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-page .admin-car-button strong {
  color: var(--crm-text);
  font-size: 0.9rem;
  font-weight: 820;
}

.admin-page .admin-car-button small {
  color: var(--crm-muted);
  font-size: 0.78rem;
}

.admin-page .admin-editor-hero {
  min-height: 220px;
  border-radius: 20px;
  overflow: hidden;
}

.admin-page .admin-editor-hero h2 {
  color: var(--crm-text);
  font-size: clamp(2rem, 4vw, 4.4rem);
  letter-spacing: -0.055em;
  line-height: 0.95;
}

.admin-page .admin-form-grid.simple,
.admin-page .admin-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.admin-page .admin-simple-section label,
.admin-page .admin-advanced label,
.admin-page .admin-form label,
.admin-page .settings-card label,
.admin-page .content-card label {
  color: var(--crm-muted);
  font-size: 0.74rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-page input,
.admin-page textarea,
.admin-page select,
.admin-page .photo-editor-row,
.admin-page .availability-row {
  border-color: var(--crm-line) !important;
  background: #0d0c0b !important;
  color: var(--crm-text) !important;
}

.admin-page input,
.admin-page select {
  min-height: 44px;
}

.admin-page textarea {
  min-height: 92px;
  line-height: 1.5;
}

@media (max-width: 1480px) {
  .admin-page .command-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-page .fleet-command-main {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "pills"
      "hero"
      "kpis"
      "main"
      "side"
      "risks"
      "snapshot";
  }

  .admin-page .quote-confidence {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .admin-page .quote-confidence .command-card-head {
    grid-column: 1 / -1;
    margin-bottom: 0;
  }
}

@media (max-width: 1120px) {
  .admin-page .admin-dashboard {
    grid-template-columns: 1fr;
    grid-template-areas:
      "top"
      "side"
      "work";
  }

  .admin-page .admin-crm-sidebar {
    border-right: 0;
    border-bottom: 1px solid var(--crm-line);
  }

  .admin-page .admin-crm-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-page .admin-crm-sidebar-card {
    margin-top: 0;
  }

  .admin-page .admin-layout {
    grid-template-columns: 1fr;
  }

  .admin-page .admin-car-list {
    max-height: 380px;
  }

  .admin-page .admin-form-grid.simple,
  .admin-page .admin-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .admin-page .admin-shell {
    width: min(100% - 18px, 1780px);
    padding: 12px 0;
  }

  .admin-page .admin-dashboard {
    min-height: calc(100dvh - 24px);
    border-radius: 20px;
  }

  .admin-page .admin-topbar {
    grid-template-columns: 1fr auto;
    gap: 14px;
    padding: 16px;
  }

  .admin-page .admin-title-block {
    grid-column: 1 / -1;
    order: 3;
  }

  .admin-page .admin-crm-sidebar,
  .admin-page .admin-workspace {
    padding: 16px;
  }

  .admin-page .admin-crm-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-page .admin-crm-nav button {
    min-height: 42px;
    padding: 0 11px;
    font-size: 0.84rem;
  }

  .admin-page .command-header {
    display: grid;
    min-height: auto;
    padding: 20px;
  }

  .admin-page .command-header h2 {
    font-size: 2.4rem;
  }

  .admin-page .command-kpis,
  .admin-page .fleet-summary-blocks,
  .admin-page .interpretation-grid,
  .admin-page .mini-card-grid,
  .admin-page .fleet-field-grid,
  .admin-page .quote-confidence,
  .admin-page .admin-form-grid.simple,
  .admin-page .admin-form-grid {
    grid-template-columns: 1fr;
  }

  .admin-page .chart-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .admin-page .command-card-head {
    display: grid;
  }
}

/* Admin section layout repair */
.admin-page .admin-workspace {
  display: block;
}

.admin-page .admin-section {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.admin-page .admin-section[hidden] {
  display: none !important;
}

.admin-page .admin-section-head {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-width: 0;
  padding: 22px 24px;
  border: 1px solid var(--crm-line) !important;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(216, 183, 101, 0.13), rgba(255, 255, 255, 0.025) 52%),
    var(--crm-panel) !important;
  box-shadow: none !important;
}

.admin-page .admin-section-head h2 {
  margin: 4px 0 0;
  color: var(--crm-text) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(1.7rem, 2.5vw, 2.75rem) !important;
  font-weight: 820;
  letter-spacing: -0.045em !important;
  line-height: 1 !important;
}

.admin-page .admin-section-head .eyebrow {
  color: var(--crm-gold) !important;
}

.admin-page .admin-section-head .primary-button,
.admin-page .admin-section-head .secondary-button {
  flex: 0 0 auto;
  min-width: 148px;
}

.admin-page .crm-card,
.admin-page .crm-pipeline-column,
.admin-page .crm-calendar-card,
.admin-page .crm-request-card,
.admin-page .crm-mini-item {
  border: 1px solid var(--crm-line) !important;
  background: var(--crm-panel) !important;
  color: var(--crm-text) !important;
  box-shadow: none !important;
}

.admin-page .crm-card {
  display: grid;
  gap: 16px;
  padding: 20px;
  border-radius: 22px;
}

.admin-page .crm-settings-form {
  width: 100%;
  max-width: none;
  padding: 22px;
}

.admin-page .crm-settings-form label {
  display: grid;
  gap: 8px;
  color: var(--crm-muted) !important;
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-page .crm-settings-form input,
.admin-page .crm-settings-form textarea,
.admin-page .crm-request-card select {
  width: 100%;
  border: 1px solid var(--crm-line) !important;
  border-radius: 13px !important;
  background: #0c0b0a !important;
  color: var(--crm-text) !important;
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.45;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.admin-page .crm-settings-form input {
  min-height: 48px;
  padding: 0 14px;
}

.admin-page .crm-settings-form textarea {
  min-height: 120px;
  padding: 14px;
}

.admin-page .crm-settings-form input::placeholder,
.admin-page .crm-settings-form textarea::placeholder {
  color: #756f67;
}

.admin-page .crm-pipeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(230px, 1fr));
  gap: 14px;
  min-width: 0;
  overflow-x: auto;
  padding-bottom: 2px;
}

.admin-page .crm-pipeline-column {
  min-height: 430px !important;
  align-content: start;
  gap: 12px;
  padding: 16px;
  border-radius: 20px;
}

.admin-page .crm-pipeline-head h3,
.admin-page .crm-request-top strong,
.admin-page .crm-request-card p,
.admin-page .crm-card-head h3 {
  color: var(--crm-text) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing: -0.02em;
}

.admin-page .crm-pipeline-head span {
  display: grid;
  min-width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--crm-line);
  border-radius: 999px;
  background: rgba(216, 183, 101, 0.14) !important;
  color: var(--crm-gold) !important;
  font-weight: 900;
}

.admin-page .crm-request-stack {
  display: grid;
  gap: 10px;
}

.admin-page .crm-request-card {
  gap: 10px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.035) !important;
}

.admin-page .crm-request-card span,
.admin-page .crm-request-card small,
.admin-page .crm-request-top small,
.admin-page .admin-empty {
  color: var(--crm-muted) !important;
}

.admin-page .crm-request-tags em {
  border: 1px solid var(--crm-line);
  border-radius: 999px;
  background: rgba(216, 183, 101, 0.12) !important;
  color: var(--crm-gold) !important;
}

.admin-page .crm-request-note {
  border-left: 3px solid var(--crm-gold);
  padding-left: 10px;
}

.admin-page .crm-request-card label {
  display: grid;
  gap: 8px;
  color: var(--crm-muted) !important;
  font-size: 0.74rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-page .crm-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
  min-width: 0;
}

.admin-page .crm-calendar-card {
  min-height: 138px;
  align-content: space-between;
  gap: 8px;
  padding: 15px;
  border-radius: 18px;
}

.admin-page .crm-calendar-card span,
.admin-page .crm-calendar-card small {
  color: var(--crm-muted) !important;
}

.admin-page .crm-calendar-card strong {
  color: var(--crm-text) !important;
  font-size: clamp(1.7rem, 2.4vw, 2.35rem);
  line-height: 0.95;
}

.admin-page .crm-calendar-card p {
  margin: 0;
  width: fit-content;
  min-height: 28px;
  padding: 6px 10px;
  border: 1px solid var(--crm-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05) !important;
  color: var(--crm-muted) !important;
  font-size: 0.78rem;
  font-weight: 850;
}

.admin-page .crm-calendar-card.has-booking {
  border-color: var(--crm-line-strong) !important;
  background: rgba(216, 183, 101, 0.1) !important;
}

.admin-page .crm-calendar-card.has-booking p {
  background: var(--crm-gold) !important;
  color: #0d0c0a !important;
}

.admin-page .admin-crm-nav button {
  outline: 0;
}

.admin-page .admin-crm-nav button:focus-visible {
  border-color: rgba(216, 183, 101, 0.6);
  box-shadow: 0 0 0 3px rgba(216, 183, 101, 0.14);
}

.admin-page .admin-crm-nav button.active {
  transform: none !important;
}

.admin-page .admin-crm-nav button:not(.active):focus-visible {
  background: rgba(255, 255, 255, 0.05) !important;
  color: var(--crm-text);
}

.admin-page .fleet-summary-blocks button,
.admin-page .crm-request-card button,
.admin-page .text-button {
  color: var(--crm-gold) !important;
  background: rgba(216, 183, 101, 0.1) !important;
  border-color: var(--crm-line-strong) !important;
}

@media (max-width: 1320px) {
  .admin-page .crm-pipeline,
  .admin-page .crm-calendar-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .admin-page .admin-section-head {
    display: grid !important;
    padding: 18px;
  }

  .admin-page .admin-section-head .primary-button,
  .admin-page .admin-section-head .secondary-button {
    width: 100%;
  }

  .admin-page .crm-pipeline,
  .admin-page .crm-calendar-grid,
  .admin-page .admin-form-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Final CRM sidebar state cleanup: focus should not look like a selected tab. */
.admin-page .admin-crm-nav button:not(.active):focus-visible {
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: transparent !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06) !important;
  color: #ded8ce !important;
}

.admin-page .admin-crm-nav button:not(.active):hover {
  border-color: rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  box-shadow: none !important;
  color: #f2eee7 !important;
}

.admin-page .admin-crm-nav button:not(.active):focus-visible::before {
  background: rgba(216, 183, 101, 0.4) !important;
  box-shadow: none !important;
}

.admin-page .admin-crm-nav button.active:focus-visible {
  border-color: var(--crm-line-strong) !important;
  box-shadow: none !important;
}

/* Final CRM spacing repair: keep section headers, grids, and forms from touching. */
.admin-page .admin-workspace {
  display: grid !important;
  align-content: start;
  gap: 24px !important;
}

.admin-page .admin-section {
  display: grid !important;
  align-content: start;
  gap: 24px !important;
}

.admin-page .admin-section.active {
  display: grid !important;
}

.admin-page .admin-section[hidden] {
  display: none !important;
}

.admin-page .admin-section-head {
  margin: 0 !important;
}

.admin-page .admin-section-head + .crm-card,
.admin-page .admin-section-head + .crm-pipeline,
.admin-page .admin-section-head + .crm-calendar-grid,
.admin-page .admin-section-head + .admin-layout {
  margin-top: 0 !important;
}

.admin-page .crm-pipeline,
.admin-page .crm-calendar-grid {
  gap: 18px !important;
}

.admin-page .crm-card,
.admin-page .crm-pipeline-column,
.admin-page .crm-calendar-card {
  border-radius: 18px !important;
}

.admin-page .crm-settings-form {
  padding: 24px !important;
}

/* Fleet editor simplification */
.admin-page [data-section-panel="vehicles"] .admin-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 14px !important;
  padding: 18px !important;
  border-radius: 22px !important;
}

.admin-page [data-section-panel="vehicles"] .admin-actions-copy {
  min-width: 0;
}

.admin-page [data-section-panel="vehicles"] .admin-actions-copy strong {
  display: block;
  color: var(--crm-text);
  font-size: clamp(1.15rem, 1.6vw, 1.45rem);
  font-weight: 820;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.admin-page [data-section-panel="vehicles"] .admin-status {
  grid-column: 1 / -1;
  margin: 0 !important;
  width: fit-content;
  max-width: 100%;
  padding: 9px 12px !important;
  border-radius: 999px !important;
  line-height: 1.4;
  background: rgba(229, 191, 107, 0.1);
  border: 1px solid rgba(229, 191, 107, 0.26);
  color: #cfc4ad !important;
}

.admin-page [data-section-panel="vehicles"] .admin-status[data-tone="warning"] {
  color: #dec46d !important;
  background: rgba(229, 191, 107, 0.12);
  border-color: rgba(229, 191, 107, 0.34);
}

.admin-page [data-section-panel="vehicles"] .admin-layout {
  grid-template-columns: minmax(270px, 330px) minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: start;
}

.admin-page [data-section-panel="vehicles"] .admin-list-panel,
.admin-page [data-section-panel="vehicles"] .admin-editor-panel {
  border-radius: 24px !important;
}

.admin-page [data-section-panel="vehicles"] .admin-list-panel {
  position: sticky;
  top: 18px;
  padding: 16px !important;
}

.admin-page [data-section-panel="vehicles"] .admin-panel-head {
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.admin-page [data-section-panel="vehicles"] .admin-panel-head h2 {
  margin: 2px 0 0;
  color: var(--crm-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 1.18rem;
  font-weight: 820;
  letter-spacing: -0.035em;
}

.admin-page [data-section-panel="vehicles"] .admin-car-list {
  gap: 10px !important;
  max-height: min(64dvh, 760px) !important;
  padding-right: 8px !important;
}

.admin-page [data-section-panel="vehicles"] .admin-car-button {
  grid-template-columns: 68px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  min-height: 74px;
  column-gap: 12px;
  padding: 10px !important;
  border-radius: 16px !important;
}

.admin-page [data-section-panel="vehicles"] .admin-car-thumb {
  grid-row: 1 / 3;
  width: 68px !important;
  height: 52px !important;
  border-radius: 12px !important;
}

.admin-page [data-section-panel="vehicles"] .admin-car-button span {
  grid-column: 2;
  font-size: 0.68rem !important;
}

.admin-page [data-section-panel="vehicles"] .admin-car-button strong {
  grid-column: 2;
  font-size: 0.95rem !important;
  line-height: 1.15;
}

.admin-page [data-section-panel="vehicles"] .admin-car-button small {
  grid-column: 2;
  font-size: 0.78rem !important;
}

.admin-page [data-section-panel="vehicles"] .admin-editor-panel {
  overflow: hidden;
  padding: 0 !important;
}

.admin-page [data-section-panel="vehicles"] .admin-editor {
  gap: 22px !important;
}

.admin-page [data-section-panel="vehicles"] .admin-editor-hero {
  min-height: 220px !important;
  grid-template-columns: 1fr !important;
  align-items: end;
  margin: 0;
  border: 0 !important;
  border-radius: 24px 24px 0 0 !important;
  padding: 24px !important;
  box-shadow: none !important;
}

.admin-page [data-section-panel="vehicles"] .admin-editor-hero > img {
  object-position: center 52%;
}

.admin-page [data-section-panel="vehicles"] .admin-editor-scrim {
  background:
    linear-gradient(90deg, rgba(8, 7, 6, 0.86), rgba(8, 7, 6, 0.42) 58%, rgba(8, 7, 6, 0.16)),
    linear-gradient(0deg, rgba(8, 7, 6, 0.82), rgba(8, 7, 6, 0.08) 65%) !important;
}

.admin-page [data-section-panel="vehicles"] .admin-editor-title {
  max-width: min(720px, 72%);
  gap: 10px !important;
}

.admin-page [data-section-panel="vehicles"] .admin-editor-title h2,
.admin-page [data-section-panel="vehicles"] .admin-editor-hero h2 {
  max-width: 100% !important;
  color: #fffdf9 !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(2rem, 3.3vw, 3.45rem) !important;
  font-weight: 860 !important;
  letter-spacing: -0.055em !important;
  line-height: 0.96 !important;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.admin-page .admin-editor-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: -2px 22px 0;
  padding: 16px;
  border: 1px solid var(--crm-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.035);
}

.admin-page .admin-editor-actions strong,
.admin-page .admin-editor-actions span {
  display: block;
}

.admin-page .admin-editor-actions strong {
  color: var(--crm-text);
  font-size: 0.98rem;
  font-weight: 820;
}

.admin-page .admin-editor-actions span {
  margin-top: 3px;
  color: var(--crm-muted);
  font-size: 0.86rem;
  line-height: 1.35;
}

.admin-page .admin-editor-action-buttons {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.admin-page .danger-button {
  min-height: 44px;
  border: 1px solid rgba(244, 109, 109, 0.35);
  border-radius: 14px;
  background: rgba(244, 109, 109, 0.1);
  color: #ffc2c2;
  padding: 0 16px;
  font-weight: 820;
  letter-spacing: -0.015em;
}

.admin-page .danger-button:hover {
  border-color: rgba(244, 109, 109, 0.58);
  background: rgba(244, 109, 109, 0.16);
}

.admin-page [data-section-panel="vehicles"] .admin-simple-section,
.admin-page [data-section-panel="vehicles"] .admin-advanced {
  margin: 0 22px !important;
  padding: 20px !important;
  border-radius: 20px !important;
}

.admin-page [data-section-panel="vehicles"] .admin-simple-title h3 {
  color: var(--crm-text);
  font-size: 1.04rem;
  letter-spacing: -0.025em;
}

.admin-page [data-section-panel="vehicles"] .admin-simple-title p {
  margin-top: 2px;
  color: var(--crm-muted);
  line-height: 1.4;
}

.admin-page [data-section-panel="vehicles"] .admin-form-grid.simple,
.admin-page [data-section-panel="vehicles"] .admin-form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.admin-page [data-section-panel="vehicles"] .admin-simple-section > label,
.admin-page [data-section-panel="vehicles"] .admin-simple-section > textarea,
.admin-page [data-section-panel="vehicles"] .admin-advanced > div {
  margin-top: 16px;
}

.admin-page [data-section-panel="vehicles"] .admin-editor input,
.admin-page [data-section-panel="vehicles"] .admin-editor textarea {
  border-radius: 13px !important;
}

.admin-page [data-section-panel="vehicles"] .photo-editor-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px !important;
}

.admin-page [data-section-panel="vehicles"] .photo-editor-row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  overflow: hidden;
  min-height: 0;
  padding: 0 !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.035) !important;
}

.admin-page .photo-card-preview {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #0b0a09;
}

.admin-page .photo-card-preview img {
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
  object-fit: cover;
}

.admin-page .photo-card-badge {
  position: absolute;
  left: 10px;
  top: 10px;
  min-height: 28px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(8, 7, 6, 0.72);
  color: #fffdf9;
  padding: 5px 10px;
  font-size: 0.72rem;
  font-weight: 850;
  backdrop-filter: blur(10px);
}

.admin-page .photo-card-preview .photo-drag-handle {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 36px;
  height: 36px;
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(8, 7, 6, 0.72);
  color: #fffdf9;
  backdrop-filter: blur(10px);
}

.admin-page .photo-card-body {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.admin-page .photo-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-page .photo-card-actions .ghost-button {
  min-height: 36px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.76rem;
}

@media (max-width: 1420px) {
  .admin-page [data-section-panel="vehicles"] .admin-layout {
    grid-template-columns: 1fr !important;
  }

  .admin-page [data-section-panel="vehicles"] .admin-list-panel {
    position: static;
  }

  .admin-page [data-section-panel="vehicles"] .admin-car-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: 420px !important;
  }
}

@media (max-width: 1040px) {
  .admin-page [data-section-panel="vehicles"] .admin-actions,
  .admin-page .admin-editor-actions {
    grid-template-columns: 1fr;
    display: grid !important;
  }

  .admin-page [data-section-panel="vehicles"] .admin-form-grid.simple,
  .admin-page [data-section-panel="vehicles"] .admin-form-grid,
  .admin-page [data-section-panel="vehicles"] .photo-editor-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .admin-page [data-section-panel="vehicles"] .admin-car-list,
  .admin-page [data-section-panel="vehicles"] .admin-form-grid.simple,
  .admin-page [data-section-panel="vehicles"] .admin-form-grid,
  .admin-page [data-section-panel="vehicles"] .photo-editor-list {
    grid-template-columns: 1fr !important;
  }

  .admin-page [data-section-panel="vehicles"] .admin-editor-title {
    max-width: 100%;
  }

  .admin-page .admin-editor-action-buttons {
    justify-content: stretch;
  }

  .admin-page .admin-editor-action-buttons button {
    flex: 1 1 100%;
  }
}

/* Sales command center. */
.admin-page .sales-command-center {
  display: grid;
  gap: 20px;
}

.admin-page .sales-command-head {
  align-items: flex-end;
}

.admin-page .sales-command-actions {
  display: flex;
  align-items: flex-end;
  gap: 10px;
}

.admin-page .sales-command-actions label {
  display: grid;
  gap: 5px;
  color: var(--crm-muted);
  font-size: 0.66rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-page .sales-command-actions select {
  min-width: 104px;
}

.admin-page .sales-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.admin-page .sales-summary article {
  display: grid;
  min-width: 0;
  min-height: 108px;
  align-content: space-between;
  gap: 9px;
  padding: 15px;
  border: 1px solid var(--crm-line);
  border-radius: 15px;
  background: #11100f;
}

.admin-page .sales-summary span,
.admin-page .sales-summary small {
  color: var(--crm-muted);
  font-size: 0.72rem;
  font-weight: 750;
}

.admin-page .sales-summary strong {
  overflow: hidden;
  color: var(--crm-text);
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  letter-spacing: -0.04em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-page .sales-system-error {
  grid-column: 1 / -1;
}

.admin-page .sales-chart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: 12px;
}

.admin-page .sales-chart-panel,
.admin-page .sales-breakdown {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--crm-line);
  border-radius: 16px;
  background: #0e0d0c;
}

.admin-page .sales-chart-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.admin-page .sales-chart-title > div:first-child {
  display: grid;
  gap: 3px;
}

.admin-page .sales-chart-title strong {
  color: var(--crm-text);
}

.admin-page .sales-chart-title span,
.admin-page .sales-chart-legend {
  color: var(--crm-muted);
  font-size: 0.73rem;
}

.admin-page .sales-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-page .sales-chart-legend span {
  display: flex;
  align-items: center;
  gap: 5px;
}

.admin-page .sales-chart-legend i {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: var(--crm-gold);
}

.admin-page .sales-chart-legend span:last-child i {
  background: #4e4a43;
}

.admin-page .sales-chart-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(36px, 1fr));
  gap: 7px;
  min-width: 620px;
  height: 260px;
  margin-top: 18px;
  padding-top: 8px;
  border-bottom: 1px solid var(--crm-line);
  background-image: linear-gradient(to bottom, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 100% 25%;
}

.admin-page .sales-chart {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.admin-page .sales-month {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  gap: 5px;
  min-width: 0;
  text-align: center;
}

.admin-page .sales-bars {
  display: flex;
  height: 100%;
  align-items: flex-end;
  justify-content: center;
  gap: 3px;
}

.admin-page .sales-bars i {
  width: min(13px, 42%);
  min-height: 0;
  border-radius: 4px 4px 1px 1px;
  background: #4e4a43;
}

.admin-page .sales-bars .current {
  background: linear-gradient(180deg, #f1cf78, var(--crm-gold));
}

.admin-page .sales-month > strong {
  color: var(--crm-muted);
  font-size: 0.68rem;
  text-transform: uppercase;
}

.admin-page .sales-month > span {
  overflow: hidden;
  color: var(--crm-dim);
  font-size: 0.61rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-page .sales-breakdown {
  display: grid;
  align-content: start;
  gap: 16px;
}

.admin-page .sales-breakdown > div:first-child,
.admin-page .sales-top-vehicles {
  display: grid;
  gap: 5px;
}

.admin-page .sales-breakdown > div:first-child span,
.admin-page .sales-top-vehicles > span {
  color: var(--crm-muted);
  font-size: 0.68rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-page .sales-breakdown > div:first-child strong {
  color: var(--crm-text);
  font-size: 1.1rem;
}

.admin-page .sales-payment-mix,
.admin-page .sales-top-vehicles {
  padding-top: 14px;
  border-top: 1px solid var(--crm-line);
}

.admin-page .sales-payment-mix p,
.admin-page .sales-top-vehicles p {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  margin: 7px 0 0;
  color: var(--crm-muted);
  font-size: 0.75rem;
  text-transform: capitalize;
}

.admin-page .sales-payment-mix p strong,
.admin-page .sales-top-vehicles p strong {
  margin-left: auto;
  color: var(--crm-text);
}

.admin-page .sales-top-vehicles p span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-page .payment-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #74706a;
}

.admin-page .payment-dot.paid { background: #56c781; }
.admin-page .payment-dot.partial { background: #f1c35f; }
.admin-page .payment-dot.refunded { background: #77a7ff; }

.admin-page .sales-ledger-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding-top: 4px;
}

.admin-page .sales-ledger-head h4,
.admin-page .sales-ledger-head p {
  margin: 0;
}

.admin-page .sales-ledger-head p,
.admin-page .sales-ledger-head > span {
  margin-top: 4px;
  color: var(--crm-muted);
  font-size: 0.78rem;
}

.admin-page .sales-ledger-wrap {
  overflow-x: auto;
  border: 1px solid var(--crm-line);
  border-radius: 15px;
}

.admin-page .sales-ledger {
  width: 100%;
  min-width: 960px;
  border-collapse: collapse;
}

.admin-page .sales-ledger th,
.admin-page .sales-ledger td {
  padding: 11px 12px;
  border-bottom: 1px solid var(--crm-line);
  color: var(--crm-muted);
  font-size: 0.75rem;
  text-align: left;
  white-space: nowrap;
}

.admin-page .sales-ledger th {
  color: var(--crm-dim);
  font-size: 0.65rem;
  text-transform: uppercase;
}

.admin-page .sales-ledger td strong,
.admin-page .sales-ledger td small {
  display: block;
}

.admin-page .sales-ledger td strong { color: var(--crm-text); }
.admin-page .sales-ledger td small { margin-top: 3px; color: var(--crm-dim); }

.admin-page .sales-ledger td button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid var(--crm-line);
  border-radius: 999px;
  background: transparent;
  color: var(--crm-text);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.admin-page .sales-payment-badge {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: var(--crm-muted);
  font-size: 0.65rem;
  font-weight: 900;
  text-transform: uppercase;
}

.admin-page .sales-payment-badge.paid { background: rgba(86,199,129,.12); color: #70dc98; }
.admin-page .sales-payment-badge.partial { background: rgba(241,195,95,.12); color: #f1c35f; }
.admin-page .sales-payment-badge.refunded { background: rgba(119,167,255,.12); color: #9abaff; }

.admin-page .booking-editor-dialog {
  width: min(820px, calc(100vw - 28px));
  max-height: calc(100vh - 28px);
  padding: 0;
  overflow: auto;
  border: 1px solid #454037;
  border-radius: 22px;
  background: #12110f;
  color: var(--crm-text);
  box-shadow: 0 30px 100px rgba(0,0,0,.7);
}

.admin-page .booking-editor-dialog::backdrop {
  background: rgba(0,0,0,.76);
  backdrop-filter: blur(7px);
}

.admin-page .booking-editor-form { padding: 22px; }

.admin-page .booking-editor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}

.admin-page .booking-editor-head h2,
.admin-page .booking-editor-head p { margin: 0; }
.admin-page .booking-editor-head h2 { margin-top: 4px; font-size: 2rem; }
.admin-page .booking-editor-head p:last-child { margin-top: 6px; color: var(--crm-muted); }

.admin-page .booking-dialog-close {
  display: grid;
  width: 42px;
  height: 42px;
  place-content: center;
  border: 1px solid var(--crm-line);
  border-radius: 50%;
  background: transparent;
  color: var(--crm-text);
  font-size: 1.5rem;
  cursor: pointer;
}

.admin-page .booking-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.admin-page .booking-form-grid label {
  display: grid;
  gap: 6px;
  color: var(--crm-muted);
  font-size: 0.7rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-page .booking-form-wide { grid-column: span 2; }
.admin-page .booking-form-grid textarea { resize: vertical; }

.admin-page .booking-total-preview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.admin-page .booking-total-preview div {
  display: grid;
  gap: 5px;
  padding: 13px;
  border: 1px solid var(--crm-line);
  border-radius: 13px;
  background: rgba(216,183,101,.06);
}

.admin-page .booking-total-preview span { color: var(--crm-muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.admin-page .booking-total-preview strong { color: var(--crm-text); font-size: 1.35rem; }

.admin-page .booking-editor-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--crm-line);
}

.admin-page .booking-editor-footer .admin-status { margin-right: auto; }

@media (max-width: 1200px) {
  .admin-page .sales-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .admin-page .sales-chart-layout { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 720px) {
  .admin-page .sales-command-head,
  .admin-page .sales-chart-title { align-items: stretch; flex-direction: column; }
  .admin-page .sales-command-actions { align-items: stretch; flex-direction: column; }
  .admin-page .sales-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-page .booking-form-grid { grid-template-columns: minmax(0, 1fr); }
  .admin-page .booking-form-wide { grid-column: auto; }
  .admin-page .booking-total-preview { grid-template-columns: minmax(0, 1fr); }
  .admin-page .booking-editor-footer { align-items: stretch; flex-direction: column; }
  .admin-page .booking-editor-footer .admin-status { margin-right: 0; }
}

/* Final photo manager polish */
.admin-page {
  background:
    radial-gradient(circle at 18% 0%, rgba(216, 183, 101, 0.09), transparent 30%),
    linear-gradient(180deg, #080706 0%, #0b0a09 48%, #080706 100%) !important;
}

.admin-page .admin-shell,
.admin-page .admin-dashboard,
.admin-page .admin-workspace,
.admin-page .admin-section,
.admin-page [data-section-panel="vehicles"],
.admin-page [data-section-panel="vehicles"] .admin-editor-panel {
  background-color: transparent !important;
  background-image: none !important;
}

.admin-page .admin-dashboard {
  background: #0d0d0c !important;
}

.admin-page .admin-workspace {
  background: #11110f !important;
}

.admin-page [data-section-panel="vehicles"] .admin-editor-panel {
  border-color: rgba(245, 240, 232, 0.1) !important;
  background: #151411 !important;
}

.admin-page [data-section-panel="vehicles"] .admin-simple-section,
.admin-page [data-section-panel="vehicles"] .admin-advanced {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.018)),
    #171612 !important;
}

.admin-page [data-section-panel="vehicles"] .photo-editor-list {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 18px !important;
}

.admin-page [data-section-panel="vehicles"] .photo-editor-row {
  border: 1px solid rgba(245, 240, 232, 0.12) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.015)),
    #1a1916 !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

.admin-page .photo-card-body {
  gap: 14px;
  padding: 14px 14px 16px;
}

.admin-page .photo-card-body label {
  gap: 7px;
}

.admin-page .photo-card-body input[data-photo-url] {
  height: 42px !important;
  padding: 0 12px !important;
  border-radius: 13px !important;
  font-size: 0.82rem !important;
}

.admin-page .photo-upload-trigger {
  position: relative;
  display: grid !important;
  min-height: 58px;
  align-content: center;
  gap: 3px !important;
  padding: 12px 14px !important;
  border: 1px dashed rgba(216, 183, 101, 0.38);
  border-radius: 15px;
  background:
    linear-gradient(135deg, rgba(216, 183, 101, 0.12), rgba(255, 255, 255, 0.035)),
    #11100e;
  color: var(--crm-text) !important;
  cursor: pointer;
  transition:
    border-color 180ms ease,
    background 180ms ease,
    transform 180ms ease;
}

.admin-page .photo-upload-trigger:hover {
  border-color: rgba(216, 183, 101, 0.68);
  background:
    linear-gradient(135deg, rgba(216, 183, 101, 0.18), rgba(255, 255, 255, 0.05)),
    #14130f;
  transform: translateY(-1px);
}

.admin-page .photo-upload-trigger input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  padding: 0;
}

.admin-page .photo-upload-trigger span {
  color: var(--crm-text);
  font-size: 0.88rem;
  font-weight: 820;
  letter-spacing: -0.02em;
}

.admin-page .photo-upload-trigger small {
  max-width: 100%;
  overflow: hidden;
  color: var(--crm-muted);
  font-size: 0.74rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-page .photo-card-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.admin-page .photo-card-actions .ghost-button {
  min-height: 38px;
  justify-content: center;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.045) !important;
}

.admin-page .photo-card-actions [data-remove-photo] {
  color: #ffc4c4 !important;
  border-color: rgba(225, 102, 102, 0.24) !important;
  background: rgba(225, 102, 102, 0.08) !important;
}

/* Remove legacy navy CRM skin from the fleet editor */
.admin-page [data-section-panel="vehicles"] .admin-editor,
.admin-page [data-section-panel="vehicles"] .admin-editor-panel,
.admin-page [data-section-panel="vehicles"] .admin-editor-actions,
.admin-page [data-section-panel="vehicles"] .admin-simple-section,
.admin-page [data-section-panel="vehicles"] .admin-advanced,
.admin-page [data-section-panel="vehicles"] .photo-editor-row,
.admin-page [data-section-panel="vehicles"] .admin-availability-card {
  background-color: #171612 !important;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.012)) !important;
}

.admin-page [data-section-panel="vehicles"] .admin-editor {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.admin-page [data-section-panel="vehicles"] .admin-editor-panel {
  border-color: rgba(245, 240, 232, 0.12) !important;
}

.admin-page [data-section-panel="vehicles"] .admin-editor-actions {
  background-color: #1a1915 !important;
  background-image: linear-gradient(180deg, rgba(216, 183, 101, 0.08), rgba(255, 255, 255, 0.02)) !important;
}

.admin-page [data-section-panel="vehicles"] .admin-simple-section,
.admin-page [data-section-panel="vehicles"] .admin-advanced {
  border-color: rgba(216, 183, 101, 0.2) !important;
}

/* 2026 luxury fleet rebuild: editorial entrance, light popular gallery, marque rail, dark showroom. */
.fleet-page {
  --fleet-ivory: #f0eee8;
  --fleet-paper: #dedbd3;
  --fleet-black: #080808;
  --fleet-line: rgba(240, 238, 232, 0.2);
  overflow-x: clip;
  background: var(--fleet-black);
  color: var(--fleet-ivory);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.fleet-page .fleet-showroom-page {
  padding: 0;
}

.fleet-editorial-hero {
  position: relative;
  min-height: min(880px, 100svh);
  display: grid;
  grid-template-columns: minmax(80px, 0.35fr) minmax(0, 1.6fr) minmax(280px, 0.7fr);
  align-items: end;
  gap: clamp(28px, 5vw, 90px);
  padding: clamp(150px, 16vw, 220px) max(5vw, 28px) clamp(70px, 9vw, 120px);
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.96) 0%, rgba(0, 0, 0, 0.68) 46%, rgba(0, 0, 0, 0.9) 100%),
    radial-gradient(circle at 66% 35%, rgba(150, 127, 92, 0.24), transparent 34%),
    #080808;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.fleet-editorial-hero::before {
  content: "COLLECTION";
  position: absolute;
  top: 17%;
  right: -0.04em;
  color: rgba(255, 255, 255, 0.025);
  font-size: clamp(7rem, 19vw, 20rem);
  font-weight: 800;
  letter-spacing: -0.08em;
  pointer-events: none;
}

.fleet-hero-index {
  align-self: center;
  color: rgba(240, 238, 232, 0.5);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.fleet-hero-copy { position: relative; z-index: 1; max-width: 900px; }
.fleet-hero-copy .eyebrow,
.fleet-section-heading .eyebrow,
.fleet-brand-gallery .eyebrow,
.fleet-collection-heading .eyebrow {
  margin: 0 0 18px;
  color: inherit;
  opacity: 0.6;
  font-family: inherit;
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.22em;
}

.fleet-hero-copy h1 {
  margin: 0;
  max-width: 920px;
  color: #f4f2ed;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(4.8rem, 11vw, 11rem);
  font-weight: 600;
  line-height: 0.74;
  letter-spacing: -0.085em;
  text-transform: uppercase;
}

.fleet-hero-copy h1 em {
  display: inline-block;
  margin-left: 0.2em;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -0.06em;
  text-transform: none;
}

.fleet-hero-copy > p:not(.eyebrow) {
  max-width: 590px;
  margin: 44px 0 28px;
  color: rgba(240, 238, 232, 0.7);
  font-size: clamp(1rem, 1.3vw, 1.22rem);
  line-height: 1.7;
}

.fleet-hero-copy > a {
  display: inline-flex;
  align-items: center;
  gap: 22px;
  border-bottom: 1px solid rgba(240, 238, 232, 0.7);
  color: #f4f2ed;
  padding: 0 0 10px;
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.fleet-hero-concierge {
  position: relative;
  z-index: 1;
  border-top: 1px solid rgba(240, 238, 232, 0.36);
  padding-top: 20px;
}

.fleet-hero-concierge span {
  display: block;
  color: #f4f2ed;
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.fleet-hero-concierge p {
  margin: 18px 0 0;
  color: rgba(240, 238, 232, 0.58);
  font-size: 0.86rem;
  line-height: 1.7;
}

.fleet-popular-stage {
  color: #111;
  background: var(--fleet-ivory);
  padding: clamp(76px, 10vw, 150px) max(5vw, 28px) clamp(90px, 11vw, 170px);
}

.fleet-section-heading,
.fleet-collection-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  max-width: 1580px;
  margin: 0 auto clamp(38px, 5vw, 72px);
}

.fleet-section-heading h2,
.fleet-brand-gallery h2,
.fleet-collection-heading h2 {
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(2.8rem, 6vw, 6.5rem);
  font-weight: 600;
  line-height: 0.9;
  letter-spacing: -0.07em;
  text-transform: uppercase;
}

.fleet-section-heading > button {
  border: 0;
  border-bottom: 1px solid #111;
  background: none;
  color: #111;
  padding: 10px 0;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
}

.fleet-popular-grid,
.fleet-page .fleet-showroom-grid {
  width: min(1580px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(22px, 2.5vw, 46px);
}

.fleet-page .showroom-card {
  min-width: 0;
  display: block;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: none;
}

.fleet-page .showroom-card:hover {
  transform: none;
  border-color: transparent;
  box-shadow: none;
}

.fleet-page .showroom-card-media {
  position: relative;
  aspect-ratio: 4 / 3;
  display: block;
  overflow: hidden;
  border-radius: 0;
  background: #171717;
}

.fleet-page .showroom-card-media::before,
.fleet-page .showroom-card-media::after { display: none; }

.fleet-page .showroom-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.002);
  transition: transform 700ms cubic-bezier(.2,.75,.25,1), filter 500ms ease;
}

.fleet-page .showroom-card:hover .showroom-card-media img { transform: scale(1.035); }

.fleet-page .showroom-card-body {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 21px 0 13px;
}

.fleet-page .showroom-card-body span {
  color: inherit;
  opacity: 0.58;
  font-family: inherit;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fleet-page .showroom-card-body h3 {
  margin: 7px 0 0;
  color: inherit;
  font-family: inherit;
  font-size: clamp(1.22rem, 1.8vw, 1.8rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.035em;
}

.fleet-page .showroom-card-body strong {
  flex: 0 0 auto;
  color: inherit;
  font-size: 1.02rem;
  font-weight: 700;
  white-space: nowrap;
}

.fleet-page .showroom-card-body strong small {
  color: inherit;
  opacity: 0.58;
  font-size: 0.63rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fleet-page .showroom-request {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-top: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
  color: inherit;
  padding: 14px 0 0;
  font-family: inherit;
  font-size: 0.69rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
}

.fleet-page .showroom-request span { font-size: 1rem; transition: transform 180ms ease; }
.fleet-page .showroom-request:hover span { transform: translate(3px, -3px); }

.fleet-brand-gallery {
  min-height: 340px;
  display: grid;
  place-content: center;
  text-align: center;
  padding: clamp(56px, 7vw, 94px) max(5vw, 28px);
  background: #050505;
}

.fleet-brand-gallery h2 { max-width: 980px; margin: 0 auto; font-size: clamp(2.7rem, 5vw, 5.5rem); }

.fleet-brand-carousel {
  width: min(1240px, 100%);
  margin: 0 auto;
  overflow: hidden;
}

.fleet-brand-rail {
  width: 100%;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 120px) / 6);
  gap: 24px;
  margin: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.fleet-brand-rail::-webkit-scrollbar { display: none; }

.fleet-brand-rail button {
  min-width: 0;
  min-height: 154px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  scroll-snap-align: center;
  border: 0;
  background: transparent;
  color: rgba(240, 238, 232, 0.72);
  padding: 14px 8px;
  cursor: pointer;
  transition: color 200ms ease, opacity 200ms ease;
}

.fleet-brand-rail button:hover,
.fleet-brand-rail button:focus-visible,
.fleet-brand-rail button.active { color: #fff; }

.fleet-brand-rail button:focus-visible { outline: 1px solid rgba(255,255,255,.72); outline-offset: -2px; }

.fleet-brand-mark {
  width: 104px;
  height: 74px;
  display: grid;
  place-items: center;
  margin-bottom: 10px;
}

.fleet-brand-mark img,
.fleet-brand-mark svg {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  filter: grayscale(1) brightness(2.1);
}

.fleet-brand-mark svg { fill: none; stroke: currentColor; stroke-width: 1.5; }

.fleet-brand-fallback {
  color: currentColor;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.25rem;
  letter-spacing: -0.08em;
}

.fleet-brand-rail strong {
  display: block;
  color: currentColor;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.fleet-brand-rail small {
  display: block;
  margin-top: 9px;
  color: currentColor;
  opacity: 0.72;
  font-size: 0.61rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.fleet-brand-dots {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  margin: 10px auto 0;
}

.fleet-brand-dots button {
  width: 20px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.fleet-brand-dots button span {
  width: 7px;
  height: 7px;
  display: block;
  border-radius: 50%;
  background: rgba(255,255,255,.45);
  transition: background 180ms ease, transform 180ms ease;
}

.fleet-brand-dots button:hover span,
.fleet-brand-dots button:focus-visible span,
.fleet-brand-dots button.active span { background: #fff; transform: scale(1.18); }
.fleet-brand-dots button:focus-visible { outline: 1px solid rgba(255,255,255,.75); outline-offset: -4px; }

.fleet-page .fleet-showroom {
  width: 100%;
  padding: clamp(88px, 10vw, 160px) max(5vw, 28px) clamp(100px, 12vw, 190px);
  background: #070707;
}

.fleet-collection-heading { color: var(--fleet-ivory); }
.fleet-collection-heading > p {
  max-width: 440px;
  margin: 0;
  color: rgba(240, 238, 232, 0.58);
  line-height: 1.7;
}

.fleet-page .fleet-quick-filters {
  width: min(1580px, 100%);
  display: flex;
  gap: 0;
  margin: 0 auto;
  overflow-x: auto;
  border-top: 1px solid var(--fleet-line);
  border-bottom: 1px solid var(--fleet-line);
  scrollbar-width: none;
}

.fleet-page .fleet-quick-filters button {
  flex: 1 0 auto;
  min-height: 66px;
  border: 0;
  border-right: 1px solid var(--fleet-line);
  border-radius: 0;
  background: transparent;
  color: rgba(240, 238, 232, 0.55);
  padding: 0 24px;
  font-family: inherit;
  font-size: 0.65rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.fleet-page .fleet-quick-filters button:hover,
.fleet-page .fleet-quick-filters button:focus-visible,
.fleet-page .fleet-quick-filters button.active { background: var(--fleet-ivory); color: #111; }

.fleet-page .fleet-showroom-toolbar-minimal {
  position: sticky;
  top: 72px;
  z-index: 10;
  width: min(1580px, 100%);
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  margin: 22px auto 0;
  border: 1px solid var(--fleet-line);
  border-radius: 0;
  background: rgba(8, 8, 8, 0.94);
  padding: 12px;
  box-shadow: none;
  backdrop-filter: blur(16px);
}

.fleet-page .fleet-search-control,
.fleet-page .fleet-sort-control,
.fleet-page .fleet-filter-button {
  min-height: 50px;
  border: 0;
  border-radius: 0;
  background: rgba(255,255,255,0.055);
}

.fleet-page .fleet-filter-button { min-width: 210px; }
.fleet-page .fleet-filter-button:hover { transform: none; background: var(--fleet-ivory); color: #111; }
.fleet-page .fleet-filter-button strong { color: inherit; }
.fleet-page .fleet-filter-panel { border-radius: 0; background: #151515; }

.fleet-page .fleet-result-line {
  width: min(1580px, 100%);
  margin: 24px auto 38px;
  color: rgba(240, 238, 232, 0.46);
  font-size: 0.67rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.fleet-page .fleet-result-line span:last-child { color: var(--fleet-ivory); }

.fleet-page .fleet-showroom-grid { color: var(--fleet-ivory); row-gap: clamp(62px, 7vw, 100px); }

.fleet-page .fleet-concierge-break {
  grid-column: 1 / -1;
  min-height: 300px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin: 15px 0;
  border: 0;
  border-top: 1px solid var(--fleet-line);
  border-bottom: 1px solid var(--fleet-line);
  border-radius: 0;
  background: linear-gradient(110deg, #171717, #0a0a0a);
  padding: clamp(34px, 5vw, 76px);
}

.fleet-page .fleet-concierge-break h2 { max-width: 760px; font-family: Georgia, serif; font-size: clamp(2.3rem, 5vw, 5.2rem); font-weight: 400; line-height: 0.95; }
.fleet-page .fleet-concierge-break button { border-radius: 0; background: var(--fleet-ivory); color: #111; }

.fleet-page .availability-drawer { background: #111; }
.fleet-page .availability-submit { border-radius: 0; background: var(--fleet-ivory); color: #111; }

@media (max-width: 1000px) {
  .fleet-editorial-hero { grid-template-columns: 45px 1fr; }
  .fleet-hero-concierge { grid-column: 2; max-width: 520px; }
  .fleet-page .fleet-showroom-toolbar-minimal { grid-template-columns: 1fr 1fr; }
  .fleet-page .fleet-search-control { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .fleet-editorial-hero {
    min-height: 740px;
    grid-template-columns: 1fr;
    align-content: end;
    padding: 132px 20px 60px;
  }
  .fleet-hero-index { display: none; }
  .fleet-hero-copy,
  .fleet-hero-concierge { min-width: 0; overflow: hidden; }
  .fleet-hero-copy h1 { max-width: 100%; font-size: clamp(3.7rem, 19vw, 5.2rem); line-height: 0.8; }
  .fleet-hero-copy h1 em { margin-left: 0; }
  .fleet-hero-copy > p:not(.eyebrow) { margin-top: 30px; }
  .fleet-hero-concierge { grid-column: auto; margin-top: 24px; }
  .fleet-section-heading,
  .fleet-collection-heading { display: grid; align-items: start; }
  .fleet-section-heading > button { justify-self: start; }
  .fleet-popular-grid,
  .fleet-page .fleet-showroom-grid {
    grid-template-columns: 1fr;
    gap: 54px;
  }
  .fleet-popular-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-right: -20px; width: calc(100% + 20px); }
  .fleet-popular-grid .showroom-card { flex: 0 0 86%; scroll-snap-align: start; }
  .fleet-brand-gallery { min-height: auto; }
  .fleet-brand-rail { grid-auto-columns: calc((100% - 32px) / 3); gap: 16px; }
  .fleet-brand-rail button { min-height: 140px; }
  .fleet-brand-mark { width: 86px; height: 62px; }
  .fleet-page .fleet-showroom-toolbar-minimal { position: relative; top: auto; grid-template-columns: 1fr; }
  .fleet-page .fleet-search-control { grid-column: auto; }
  .fleet-page .fleet-sort-control,
  .fleet-page .fleet-showroom-toolbar-minimal .fleet-filter-control,
  .fleet-page .fleet-filter-button { width: 100%; }
  .fleet-page .fleet-filter-panel { position: fixed; inset: auto 12px 12px; width: auto; max-height: 70svh; overflow-y: auto; }
  .fleet-page .showroom-card-body { align-items: start; }
  .fleet-page .showroom-card-body h3 { font-size: 1.4rem; }
  .fleet-page .fleet-concierge-break { display: grid; min-height: 360px; }
  .fleet-page .fleet-concierge-break button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .fleet-page .showroom-card-media img,
  .fleet-page .showroom-request span { transition: none; }
  .fleet-page .showroom-card:hover .showroom-card-media img { transform: none; }
}

/* Dedicated fleet showroom page */
.fleet-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 18% 8%, rgba(215, 180, 106, 0.12), transparent 34rem),
    linear-gradient(180deg, #050505 0%, #0a0908 44%, #050505 100%);
}

.fleet-showroom-page {
  padding: clamp(104px, 9vw, 124px) clamp(18px, 4vw, 58px) clamp(60px, 8vw, 100px);
}

.fleet-showroom {
  width: min(1500px, 100%);
  margin: 0 auto;
}

.fleet-showroom-toolbar {
  position: sticky;
  top: 88px;
  z-index: 12;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 22px;
  border: 1px solid rgba(248, 245, 239, 0.1);
  border-radius: 20px;
  background: rgba(10, 9, 8, 0.82);
  padding: clamp(18px, 3vw, 28px);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.34);
  backdrop-filter: blur(18px);
}

.fleet-showroom-toolbar h1 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(2.4rem, 7vw, 5.7rem);
  line-height: 0.92;
  letter-spacing: 0;
}

.fleet-filter-control {
  position: relative;
  flex: 0 0 auto;
}

.fleet-filter-button {
  min-width: 220px;
  min-height: 58px;
  display: inline-grid;
  grid-template-columns: 22px 1fr auto;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(215, 180, 106, 0.42);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(215, 180, 106, 0.16), rgba(248, 245, 239, 0.04));
  color: var(--ink);
  padding: 0 20px;
  cursor: pointer;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.fleet-filter-button:hover,
.fleet-filter-button:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(240, 206, 131, 0.78);
  background: linear-gradient(135deg, rgba(215, 180, 106, 0.24), rgba(248, 245, 239, 0.07));
}

.fleet-filter-button svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 2;
}

.fleet-filter-button span {
  color: var(--muted);
  font-weight: 850;
}

.fleet-filter-button strong {
  color: var(--gold-strong);
  font-size: 0.9rem;
  font-weight: 900;
}

.fleet-filter-panel {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  width: min(390px, calc(100vw - 40px));
  display: grid;
  gap: 20px;
  border: 1px solid rgba(248, 245, 239, 0.12);
  border-radius: 18px;
  background: rgba(18, 16, 14, 0.96);
  padding: 18px;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.56);
  backdrop-filter: blur(22px);
}

.fleet-filter-group {
  display: grid;
  gap: 10px;
}

.fleet-filter-group > span {
  color: var(--dim);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.fleet-filter-group > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.fleet-filter-group button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(248, 245, 239, 0.12);
  border-radius: 999px;
  background: rgba(248, 245, 239, 0.05);
  color: var(--ink);
  padding: 0 13px;
  font-weight: 850;
  cursor: pointer;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease;
}

.fleet-filter-group button small {
  min-width: 24px;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.26);
  color: var(--muted);
  font-size: 0.74rem;
}

.fleet-filter-group button:hover,
.fleet-filter-group button.active {
  border-color: rgba(215, 180, 106, 0.58);
  background: var(--gold);
  color: #0d0905;
}

.fleet-filter-group button:hover small,
.fleet-filter-group button.active small {
  background: rgba(13, 9, 5, 0.12);
  color: #0d0905;
}

.fleet-result-line {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 22px 4px 28px;
  color: var(--muted);
  font-weight: 850;
}

.fleet-result-line span:last-child {
  color: var(--gold-strong);
}

.fleet-showroom-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 26px);
}

.showroom-card {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
  overflow: hidden;
  border: 1px solid rgba(248, 245, 239, 0.12);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.015)),
    #141210;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.3);
  transition:
    transform 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease;
}

.showroom-card:hover {
  transform: translateY(-5px);
  border-color: rgba(215, 180, 106, 0.45);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.44);
}

.showroom-card-media {
  position: relative;
  aspect-ratio: 3 / 2;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 42%, rgba(248, 245, 239, 0.1), transparent 34%),
    linear-gradient(135deg, rgba(215, 180, 106, 0.08), rgba(5, 5, 5, 0.94) 52%, rgba(248, 245, 239, 0.055));
}

.showroom-card-media::before {
  content: "";
  position: absolute;
  inset: -26px;
  background-image: var(--media-image);
  background-position: center;
  background-size: cover;
  filter: blur(20px) saturate(0.9) brightness(0.46);
  opacity: 0.7;
  transform: scale(1.08);
}

.showroom-card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.1)),
    radial-gradient(circle at 50% 46%, transparent 36%, rgba(0, 0, 0, 0.25) 100%);
  pointer-events: none;
}

.showroom-card-media img {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-width: none;
  padding: 0;
  object-fit: cover;
  object-position: center center;
  transition: transform 420ms ease;
}

.showroom-card:hover .showroom-card-media img {
  transform: scale(1.018);
}

.showroom-card-loading {
  pointer-events: none;
}

.showroom-card-loading:hover {
  transform: none;
  border-color: rgba(248, 245, 239, 0.12);
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.3);
}

.showroom-card-skeleton-media,
.showroom-card-skeleton-line,
.showroom-card-skeleton-pill {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 999px;
  background:
    linear-gradient(110deg, rgba(248, 245, 239, 0.045) 0%, rgba(215, 180, 106, 0.16) 42%, rgba(248, 245, 239, 0.045) 78%),
    rgba(248, 245, 239, 0.055);
  background-size: 220% 100%;
  animation: fleetImageLoading 1.2s ease-in-out infinite;
}

.showroom-card-skeleton-media {
  aspect-ratio: 3 / 2;
  border-radius: 0;
}

.showroom-card-skeleton-brand {
  width: 92px;
  height: 12px;
}

.showroom-card-skeleton-title {
  width: min(78%, 250px);
  height: 30px;
  margin: 10px 0 0;
}

.showroom-card-skeleton-price {
  width: 90px;
  height: 30px;
}

.showroom-card-skeleton-pill {
  min-height: 46px;
}

.showroom-card-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 18px;
  min-height: 124px;
  padding: 20px 20px 15px;
}

.showroom-card-body > div {
  align-self: start;
}

.showroom-card-body span {
  display: block;
  color: var(--gold-strong);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.showroom-card-body h2 {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  line-height: 1.02;
  letter-spacing: 0;
  min-height: 2.04em;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.showroom-card-body strong {
  align-self: end;
  color: var(--ink);
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  line-height: 1;
  white-space: nowrap;
}

.showroom-card-body small {
  color: var(--muted);
  font-size: 0.86rem;
}

.fleet-empty-state {
  grid-column: 1 / -1;
  min-height: 320px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  border: 1px dashed rgba(248, 245, 239, 0.16);
  border-radius: 18px;
  color: var(--muted);
  text-align: center;
}

.fleet-empty-state strong {
  color: var(--ink);
  font-size: 1.5rem;
}

.fleet-empty-state p {
  margin: 0;
}

.fleet-empty-state button {
  min-height: 46px;
  margin-top: 10px;
  border: 0;
  border-radius: 999px;
  background: var(--gold);
  color: #0d0905;
  padding: 0 18px;
  font-weight: 900;
  cursor: pointer;
}

.showroom-card-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 0 20px 20px;
}

.showroom-card-actions a {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-weight: 900;
}

.showroom-card-actions a:first-child {
  border: 1px solid rgba(248, 245, 239, 0.14);
  color: var(--ink);
}

.showroom-card-actions a:last-child {
  background: var(--gold);
  color: #0d0905;
}

@media (max-width: 1180px) {
  .fleet-showroom-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .fleet-showroom-page {
    padding-inline: 14px;
  }

  .fleet-showroom-toolbar {
    position: relative;
    top: auto;
    display: grid;
    align-items: start;
  }

  .fleet-filter-control,
  .fleet-filter-button {
    width: 100%;
  }

  .fleet-filter-panel {
    left: 0;
    right: auto;
    width: 100%;
  }

  .fleet-showroom-grid {
    grid-template-columns: 1fr;
  }

  .showroom-card-media,
  .showroom-card-skeleton-media {
    aspect-ratio: 3 / 2;
  }

  .showroom-card-body,
  .showroom-card-actions {
    padding-inline: 16px;
  }

  .showroom-card-actions {
    grid-template-columns: 1fr;
  }
}

.fleet-showroom-toolbar-minimal {
  position: relative;
  top: auto;
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto auto;
  align-items: center;
  justify-content: stretch;
  gap: 12px;
  margin: 0 0 18px;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.fleet-search-control,
.fleet-sort-control {
  min-height: 54px;
  display: flex;
  align-items: center;
  border: 1px solid rgba(248, 245, 239, 0.12);
  border-radius: 999px;
  background: rgba(248, 245, 239, 0.045);
}

.fleet-search-control:focus-within,
.fleet-sort-control:focus-within {
  border-color: rgba(215, 180, 106, 0.72);
  box-shadow: 0 0 0 3px rgba(215, 180, 106, 0.12);
}

.fleet-search-control {
  position: relative;
  padding: 0 14px 0 18px;
}

.fleet-search-control svg {
  flex: 0 0 auto;
  width: 21px;
  height: 21px;
  fill: none;
  stroke: var(--muted);
  stroke-linecap: round;
  stroke-width: 2;
}

.fleet-search-control input {
  width: 100%;
  min-width: 0;
  min-height: 52px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  padding: 0 12px;
  font: inherit;
}

.fleet-search-control input::placeholder {
  color: var(--dim);
}

.fleet-search-control button {
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  border: 0;
  border-radius: 50%;
  background: rgba(248, 245, 239, 0.08);
  color: var(--muted);
  cursor: pointer;
  font-size: 1.35rem;
  line-height: 1;
}

.fleet-sort-control {
  gap: 8px;
  padding: 0 16px;
}

.fleet-sort-control span {
  color: var(--dim);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.fleet-sort-control select {
  min-height: 52px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}

.fleet-count-pill {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(248, 245, 239, 0.11);
  border-radius: 999px;
  background: rgba(248, 245, 239, 0.04);
  color: var(--muted);
  padding: 0 16px;
  font-size: 0.95rem;
  font-weight: 900;
}

.fleet-showroom-toolbar-minimal .fleet-filter-button {
  min-width: 190px;
}

@media (max-width: 760px) {
  .fleet-showroom-toolbar-minimal {
    grid-template-columns: 1fr 1fr;
  }

  .fleet-search-control {
    grid-column: 1 / -1;
  }

  .fleet-showroom-toolbar-minimal .fleet-filter-control {
    width: auto;
  }

  .fleet-showroom-toolbar-minimal .fleet-filter-button {
    min-width: 150px;
    width: 100%;
  }

  .fleet-sort-control {
    min-width: 0;
  }

  .fleet-sort-control span {
    display: none;
  }

  .fleet-sort-control select {
    width: 100%;
  }
}

.partner-page {
  background:
    radial-gradient(circle at 14% 8%, rgba(215, 180, 106, 0.12), transparent 32%),
    linear-gradient(180deg, #070606 0%, #0c0b0a 44%, #070606 100%);
}

.partner-hero {
  position: relative;
  min-height: clamp(650px, 88dvh, 820px);
  display: grid;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(248, 245, 239, 0.12);
}

.partner-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(105deg, transparent 0%, transparent 42%, rgba(248, 245, 239, 0.1) 48%, transparent 54%, transparent 100%);
  mix-blend-mode: screen;
  opacity: 0;
  transform: translateX(-24%);
  animation: partnerLightSweep 5.6s ease-in-out 1.2s infinite;
}

.partner-hero-media,
.partner-hero-overlay {
  position: absolute;
  inset: 0;
}

.partner-hero-media {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% center;
  transform: scale(1.03);
  animation: partnerImageDrift 20s ease-in-out infinite alternate;
}

.partner-hero-overlay {
  background:
    radial-gradient(circle at 66% 46%, rgba(215, 180, 106, 0.1), transparent 32%),
    linear-gradient(90deg, rgba(7, 6, 6, 0.96) 0%, rgba(7, 6, 6, 0.7) 36%, rgba(7, 6, 6, 0.18) 68%, rgba(7, 6, 6, 0.42) 100%),
    linear-gradient(0deg, rgba(7, 6, 6, 0.82) 0%, rgba(7, 6, 6, 0.04) 56%, rgba(7, 6, 6, 0.36) 100%);
}

.partner-hero-inner {
  position: relative;
  z-index: 2;
  width: min(var(--max), calc(100% - 48px));
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0 auto;
  padding: clamp(112px, 11vw, 142px) 0 clamp(42px, 6vw, 66px);
}

.partner-hero-copy {
  max-width: 900px;
}

.partner-hero-copy h1 {
  max-width: 920px;
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(3rem, 5vw, 4.85rem);
  font-weight: 950;
  line-height: 0.96;
  letter-spacing: 0;
  text-transform: uppercase;
}

.partner-hero-copy h1 span {
  display: block;
  white-space: nowrap;
  clip-path: inset(0 0 100% 0);
  transform: translateY(16px);
  transition:
    clip-path 720ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 720ms cubic-bezier(0.22, 1, 0.36, 1);
}

.partner-hero-copy h1 span:nth-child(2) {
  transition-delay: 90ms;
}

.partner-hero-copy h1.revealed span {
  clip-path: inset(0 0 0 0);
  transform: translateY(0);
}

.partner-hero-copy h1::after {
  content: "";
  display: block;
  width: min(150px, 38vw);
  height: 2px;
  margin-top: clamp(20px, 3vw, 30px);
  background: linear-gradient(90deg, var(--gold-strong), rgba(215, 180, 106, 0));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 760ms cubic-bezier(0.22, 1, 0.36, 1) 220ms;
}

.partner-hero-copy h1.revealed::after {
  transform: scaleX(1);
}

.partner-hero-copy > p:not(.eyebrow) {
  max-width: 520px;
  margin: clamp(20px, 2.6vw, 28px) 0 0;
  color: rgba(248, 245, 239, 0.84);
  font-size: clamp(1rem, 1.2vw, 1.12rem);
  line-height: 1.68;
}

.partner-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: clamp(22px, 3vw, 30px) 0 0;
  padding: 0;
  list-style: none;
}

.partner-hero-points li {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(215, 180, 106, 0.26);
  border-radius: 999px;
  background: rgba(7, 6, 6, 0.38);
  color: rgba(248, 245, 239, 0.86);
  padding: 0 16px;
  font-size: 0.9rem;
  font-weight: 850;
  backdrop-filter: blur(12px);
  transform: translateY(12px);
  opacity: 0;
  transition:
    transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 520ms ease;
}

.partner-hero-points li:nth-child(2) {
  transition-delay: 80ms;
}

.partner-hero-points li:nth-child(3) {
  transition-delay: 160ms;
}

.partner-hero-points.revealed li {
  transform: translateY(0);
  opacity: 1;
}

.partner-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: clamp(24px, 3vw, 34px);
}

.partner-hero-actions .primary-button {
  min-width: 190px;
}

.partner-text-link {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(248, 245, 239, 0.9);
  font-weight: 900;
  text-decoration: none;
  transition:
    color 180ms ease,
    transform 180ms ease;
}

.partner-text-link::after {
  content: "";
  width: 34px;
  height: 1px;
  margin-left: 12px;
  background: rgba(215, 180, 106, 0.72);
  transform-origin: left center;
  transition: transform 180ms ease;
}

.partner-text-link:hover {
  color: var(--gold-strong);
  transform: translateX(2px);
}

.partner-text-link:hover::after {
  transform: scaleX(1.28);
}

.partner-hero-card {
  display: grid;
  gap: 22px;
  border: 1px solid rgba(248, 245, 239, 0.16);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(248, 245, 239, 0.12), rgba(248, 245, 239, 0.035)),
    rgba(11, 10, 9, 0.72);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.46);
  padding: clamp(22px, 3vw, 30px);
  backdrop-filter: blur(18px);
}

.partner-hero-card > span,
.partner-steps span,
.partner-strip span {
  color: var(--gold-strong);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.partner-hero-card strong {
  max-width: 18ch;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(1.8rem, 2.8vw, 2.55rem);
  font-weight: 920;
  line-height: 1.04;
  letter-spacing: 0;
}

.partner-hero-card dl {
  display: grid;
  gap: 0;
  margin: 0;
}

.partner-hero-card dl div {
  border-top: 1px solid rgba(248, 245, 239, 0.12);
  padding: 16px 0;
}

.partner-hero-card dl div:last-child {
  padding-bottom: 0;
}

.partner-hero-card dt {
  color: var(--ink);
  font-weight: 900;
}

.partner-hero-card dd {
  margin: 4px 0 0;
  color: var(--muted);
  line-height: 1.45;
}

.partner-strip {
  width: min(var(--max), calc(100% - 48px));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: clamp(48px, 7vw, 90px) auto;
  overflow: hidden;
  border: 1px solid rgba(248, 245, 239, 0.12);
  border-radius: 18px;
  background: rgba(248, 245, 239, 0.1);
}

.partner-strip div {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 190px;
  background:
    radial-gradient(circle at 18% 0%, rgba(215, 180, 106, 0.15), transparent 34%),
    rgba(20, 18, 15, 0.96);
  padding: clamp(22px, 3vw, 32px);
}

.partner-strip strong,
.partner-steps h3,
.partner-qualify-grid h3 {
  color: var(--ink);
  font-size: clamp(1.05rem, 1.7vw, 1.28rem);
  line-height: 1.15;
}

.partner-strip p,
.partner-steps p,
.partner-qualify-grid p,
.partner-program-copy p,
.partner-application-copy p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.partner-program,
.partner-qualify,
.partner-application {
  margin: clamp(58px, 8vw, 112px) auto;
}

.partner-program {
  display: grid;
  grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(32px, 6vw, 84px);
}

.partner-program-copy h2,
.partner-qualify h2,
.partner-application-copy h2 {
  max-width: 12ch;
  margin: 0 0 18px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(2.45rem, 4.6vw, 4.9rem);
  font-weight: 950;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}

.partner-program-copy p {
  max-width: 460px;
}

.partner-steps {
  display: grid;
  gap: 14px;
}

.partner-steps article {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 4px 18px;
  border: 1px solid rgba(248, 245, 239, 0.12);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(248, 245, 239, 0.07), rgba(248, 245, 239, 0.025));
  padding: 22px;
}

.partner-steps span {
  grid-row: span 2;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(215, 180, 106, 0.16);
}

.partner-steps h3,
.partner-qualify-grid h3 {
  margin: 0;
}

.partner-qualify {
  display: grid;
  gap: 28px;
}

.partner-qualify > div:first-child {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.partner-qualify-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.partner-qualify-grid article {
  min-height: 224px;
  display: grid;
  align-content: space-between;
  gap: 28px;
  border: 1px solid rgba(248, 245, 239, 0.12);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(248, 245, 239, 0.075), rgba(248, 245, 239, 0.02)),
    rgba(18, 16, 14, 0.94);
  padding: 24px;
}

.partner-application {
  display: grid;
  grid-template-columns: minmax(260px, 0.42fr) minmax(0, 0.78fr);
  align-items: start;
  gap: clamp(32px, 6vw, 76px);
  border: 1px solid rgba(215, 180, 106, 0.22);
  border-radius: 22px;
  background:
    radial-gradient(circle at 16% 0%, rgba(215, 180, 106, 0.16), transparent 32%),
    linear-gradient(135deg, rgba(30, 25, 18, 0.96), rgba(12, 11, 10, 0.98));
  padding: clamp(24px, 4vw, 48px);
}

.partner-note {
  display: grid;
  gap: 8px;
  margin-top: 28px;
  border-left: 3px solid var(--gold);
  padding-left: 16px;
}

.partner-note strong {
  color: var(--gold-strong);
  text-transform: uppercase;
  font-size: 0.76rem;
}

.partner-note span {
  color: var(--muted);
  line-height: 1.55;
}

.partner-form {
  display: grid;
  gap: 18px;
  border: 1px solid rgba(248, 245, 239, 0.12);
  border-radius: 18px;
  background: rgba(7, 6, 6, 0.56);
  padding: clamp(18px, 3vw, 28px);
}

.partner-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.partner-form label {
  display: grid;
  gap: 8px;
  color: rgba(248, 245, 239, 0.68);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.partner-form input,
.partner-form select,
.partner-form textarea {
  width: 100%;
  min-height: 54px;
  border: 1px solid rgba(248, 245, 239, 0.13);
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.58);
  color: var(--ink);
  padding: 14px 16px;
  text-transform: none;
}

.partner-form textarea {
  resize: vertical;
  line-height: 1.55;
}

.partner-form input::placeholder,
.partner-form textarea::placeholder {
  color: rgba(248, 245, 239, 0.34);
}

.partner-form-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.partner-form-actions .primary-button {
  min-width: 210px;
}

.partner-form-actions p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}

@keyframes partnerImageDrift {
  from {
    transform: scale(1.03) translate3d(0, 0, 0);
  }

  to {
    transform: scale(1.075) translate3d(-1.1%, 0, 0);
  }
}

@keyframes partnerLightSweep {
  0%,
  58% {
    opacity: 0;
    transform: translateX(-32%);
  }

  68% {
    opacity: 0.38;
  }

  84%,
  100% {
    opacity: 0;
    transform: translateX(32%);
  }
}

@media (max-width: 1080px) {
  .partner-program,
  .partner-application {
    grid-template-columns: 1fr;
  }

  .partner-strip,
  .partner-qualify-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .partner-hero {
    min-height: auto;
  }

  .partner-hero-inner {
    width: min(100% - 32px, var(--max));
    padding: 122px 0 48px;
    gap: 30px;
  }

  .partner-hero-overlay {
    background:
      linear-gradient(90deg, rgba(7, 6, 6, 0.95), rgba(7, 6, 6, 0.6)),
      linear-gradient(0deg, rgba(7, 6, 6, 0.92), rgba(7, 6, 6, 0.2));
  }

  .partner-hero-copy h1,
  .partner-program-copy h2,
  .partner-qualify h2,
  .partner-application-copy h2 {
    max-width: 12ch;
  }

  .partner-hero-copy h1 {
    font-size: clamp(2.45rem, 13vw, 3.8rem);
    line-height: 1;
  }

  .partner-hero-copy h1 span {
    white-space: normal;
  }

  .partner-hero-copy > p:not(.eyebrow) {
    max-width: 34rem;
    font-size: 1rem;
  }

  .partner-hero-actions,
  .partner-form-actions,
  .partner-form-actions .primary-button {
    width: 100%;
  }

  .partner-hero-actions a {
    width: 100%;
  }

  .partner-text-link::after {
    width: 42px;
  }

  .partner-strip {
    width: min(100% - 32px, var(--max));
    grid-template-columns: 1fr;
  }

  .partner-program,
  .partner-qualify,
  .partner-application {
    width: min(100% - 32px, var(--max));
  }

  .partner-qualify > div:first-child {
    display: grid;
  }

  .partner-qualify-grid,
  .partner-form-grid {
    grid-template-columns: 1fr;
  }

  .partner-steps article {
    grid-template-columns: 1fr;
  }

  .partner-form-actions {
    display: grid;
  }
}

@media (prefers-reduced-motion: reduce) {
  .partner-hero-media {
    animation: none;
  }

  .partner-hero::after,
  .partner-hero-copy h1 span,
  .partner-hero-points li {
    animation: none;
    transition: none;
  }

  .partner-hero-copy h1 span {
    clip-path: inset(0);
    transform: none;
  }

  .partner-hero-points li {
    opacity: 1;
    transform: none;
  }
}

/* Responsive stability pass: keep the premium layouts composed across phone, tablet, laptop, and wide screens. */
@media (max-width: 1180px) {
  .site-header {
    gap: 16px;
  }

  .desktop-nav {
    gap: clamp(14px, 2vw, 22px);
  }

  .brand-logo-wide {
    width: clamp(132px, 18vw, 190px);
  }

  .primary-button,
  .secondary-button,
  .ghost-button {
    min-height: 46px;
    padding-inline: 15px;
  }
}

@media (max-width: 980px) {
  .site-header {
    min-height: 82px;
  }

  .mobile-menu {
    inset: 82px 14px auto;
    max-height: calc(100dvh - 96px);
    overflow: auto;
  }
}

@media (max-width: 480px) {
  .site-header {
    padding-inline: 14px;
  }

  .brand-logo-wide {
    width: min(132px, 42vw);
    max-height: 58px;
  }

  .menu-toggle {
    width: 44px;
    height: 44px;
  }

  .mobile-menu {
    inset-inline: 10px;
  }
}

@media (min-width: 1440px) {
  .rental-fan-showcase {
    width: min(100%, 1680px);
  }

  .rental-fan-showcase .fan-card {
    width: clamp(250px, 20vw, 390px);
  }

  .monthly-specials {
    grid-template-columns: minmax(360px, 560px) minmax(0, 1fr);
  }
}

@media (max-width: 1120px) {
  .rental-fan-showcase {
    margin-top: clamp(36px, 6vw, 72px);
  }

  .rental-fan-showcase .fan-stage {
    min-height: clamp(340px, 48vw, 500px);
  }

  .rental-fan-showcase .fan-card {
    width: clamp(176px, 28vw, 310px);
  }

  .monthly-specials {
    gap: 36px;
    padding-inline: clamp(22px, 5vw, 72px);
  }
}

@media (max-width: 920px) {
  .quote-section {
    grid-template-columns: 1fr;
    width: min(100% - 40px, 680px);
    gap: 28px;
  }

  .quote-copy h2,
  .faq-home-copy h2 {
    max-width: 12ch;
  }

  .quote-copy > p {
    max-width: 100%;
  }

  .quote-form {
    justify-self: stretch;
    width: 100%;
  }

  .faq-home-list,
  .final-cta-inner {
    grid-template-columns: 1fr;
  }

  .customer-satisfaction-head {
    gap: 16px;
  }

  .customer-satisfaction-head h2,
  .customer-satisfaction-head > p {
    max-width: 100%;
  }
}

@media (max-width: 820px) {
  .hero-content {
    width: min(100% - 36px, 760px);
  }

  .hero h1 {
    font-size: clamp(2rem, 7.2vw, 3.15rem);
  }

  .hero-copy {
    max-width: 620px;
  }

  .rental-fan-showcase {
    margin-block: 34px 54px;
  }

  .rental-fan-showcase .fan-stage {
    min-height: clamp(300px, 62vw, 430px);
  }

  .rental-fan-showcase .fan-card {
    width: clamp(156px, 38vw, 250px);
  }

  .fan-controls {
    width: min(100% - 24px, 620px);
  }

  .fan-dots {
    max-width: min(70vw, 320px);
    min-width: 0;
    flex-wrap: wrap;
  }

  .monthly-specials {
    grid-template-columns: 1fr;
    padding-block: 56px 64px;
  }

  .specials-slider {
    padding-inline: 0;
  }

  .specials-rail {
    grid-auto-columns: minmax(280px, 74vw);
  }

  .special-card {
    min-height: clamp(430px, 72vw, 560px);
  }

  .customer-satisfaction {
    width: 100vw;
    padding: clamp(64px, 9vw, 82px) 24px;
  }

  .satisfaction-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 44px 30px;
  }

  .satisfaction-list li {
    min-height: auto;
  }
}

/* Quote inbox: compact sales workspace */
.admin-page [data-section-panel="requests"] {
  display: grid;
  gap: 18px;
}

.admin-page [data-section-panel="requests"][hidden] {
  display: none;
}

.admin-page .quote-section-head {
  align-items: end;
  padding: 26px 28px;
  background: #f7f6f2;
  color: #171713;
}

.admin-page .quote-section-head > div {
  max-width: 720px;
}

.admin-page .quote-section-head h2 {
  margin: 5px 0 7px;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(2rem, 3vw, 3.1rem);
  font-weight: 650;
  line-height: 1;
  letter-spacing: 0;
}

.admin-page .quote-section-head p:last-child {
  max-width: 620px;
  margin: 0;
  color: #65645f;
}

.admin-page .quote-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.admin-page .quote-kpi-card {
  display: grid;
  min-height: 124px;
  align-content: space-between;
  padding: 18px 20px;
  border: 1px solid #302f2b;
  border-radius: 8px;
  background: #1b1b18;
}

.admin-page .quote-kpi-card span,
.admin-page .quote-kpi-card small {
  color: #aaa79e;
  font-size: 0.75rem;
}

.admin-page .quote-kpi-card strong {
  color: #f7f5ef;
  font-size: 2rem;
  font-weight: 650;
}

.admin-page .quote-toolbar {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(180px, 0.35fr) minmax(180px, 0.35fr);
  gap: 12px;
  padding: 15px;
  border: 1px solid #2c2b27;
  border-radius: 8px;
  background: #151512;
}

.admin-page .quote-toolbar label,
.admin-page .quote-detail-footer label {
  display: grid;
  gap: 7px;
  color: #aaa79e;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
}

.admin-page .quote-toolbar input,
.admin-page .quote-toolbar select,
.admin-page .quote-detail-footer select {
  width: 100%;
  min-height: 46px;
  padding: 0 13px;
  border: 1px solid #3a3934;
  border-radius: 6px;
  background: #0d0d0b;
  color: #f7f5ef;
  font: inherit;
  font-size: 0.9rem;
  text-transform: none;
}

.admin-page .quote-page-status {
  min-height: 0;
  margin: -6px 2px 0;
}

.admin-page .quote-page-status:empty {
  display: none;
}

.admin-page .quote-inbox {
  display: grid;
  grid-template-columns: minmax(300px, 0.76fr) minmax(0, 1.5fr);
  gap: 14px;
  min-height: 560px;
}

.admin-page .quote-inbox-list,
.admin-page .quote-detail-panel {
  border: 1px solid #302f2b;
  border-radius: 8px;
  background: #181815;
  overflow: hidden;
}

.admin-page .quote-list-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 55px;
  padding: 0 17px;
  border-bottom: 1px solid #302f2b;
}

.admin-page .quote-list-summary strong {
  color: #f7f5ef;
  font-size: 0.86rem;
}

.admin-page .quote-list-summary span {
  color: #85837c;
  font-size: 0.72rem;
}

.admin-page .quote-list-scroll {
  max-height: 635px;
  overflow-y: auto;
}

.admin-page .quote-list-item {
  position: relative;
  display: grid;
  width: 100%;
  gap: 7px;
  padding: 16px 17px;
  border: 0;
  border-bottom: 1px solid #2b2a26;
  background: transparent;
  color: #f7f5ef;
  text-align: left;
  cursor: pointer;
}

.admin-page .quote-list-item:hover,
.admin-page .quote-list-item.active {
  background: #24231e;
}

.admin-page .quote-list-item.active::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #d9b862;
  content: "";
}

.admin-page .quote-list-top,
.admin-page .quote-list-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.admin-page .quote-list-top strong {
  font-size: 0.92rem;
}

.admin-page .quote-list-top small,
.admin-page .quote-list-meta small {
  color: #85837c;
  font-size: 0.7rem;
  white-space: nowrap;
}

.admin-page .quote-list-vehicle {
  overflow: hidden;
  color: #b7b4ac;
  font-size: 0.82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-page .quote-list-meta em,
.admin-page .quote-response-flag {
  width: fit-content;
  color: #d9b862;
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 750;
  text-transform: uppercase;
}

.admin-page .quote-response-flag {
  margin-top: 2px;
  padding: 4px 7px;
  border: 1px solid #6b5830;
  border-radius: 4px;
  background: #2b2518;
}

.admin-page .quote-reminder-flag {
  width: fit-content;
  color: #aaa79e;
  font-size: 0.66rem;
  font-weight: 700;
}

.admin-page .quote-reminder-flag.due {
  color: #f0b8bb;
}

.admin-page .quote-detail-panel {
  display: grid;
  align-content: start;
  padding: 24px;
}

.admin-page .quote-detail-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 19px;
  border-bottom: 1px solid #302f2b;
}

.admin-page .quote-detail-head span {
  color: #d9b862;
  font-size: 0.68rem;
  font-weight: 750;
  text-transform: uppercase;
}

.admin-page .quote-detail-head h3 {
  margin: 6px 0 4px;
  color: #f7f5ef;
  font-size: clamp(1.45rem, 2vw, 2rem);
  letter-spacing: 0;
}

.admin-page .quote-detail-head p {
  margin: 0;
  color: #aaa79e;
}

.admin-page .quote-detail-head > em {
  flex: 0 0 auto;
  padding: 7px 9px;
  border: 1px solid #44423c;
  border-radius: 5px;
  color: #dedbd2;
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 700;
}

.admin-page .quote-contact-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}

.admin-page .quote-contact-action {
  display: grid;
  min-height: 46px;
  place-items: center;
  border: 1px solid #48463f;
  border-radius: 6px;
  color: #f7f5ef;
  font-size: 0.84rem;
  font-weight: 750;
  text-decoration: none;
}

.admin-page .quote-contact-action.primary {
  border-color: #d9b862;
  background: #d9b862;
  color: #15130d;
}

.admin-page .quote-contact-action.disabled {
  color: #6d6b65;
  cursor: not-allowed;
}

.admin-page .quote-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid #302f2b;
  border-left: 1px solid #302f2b;
}

.admin-page .quote-detail-grid > div {
  min-width: 0;
  padding: 14px;
  border-right: 1px solid #302f2b;
  border-bottom: 1px solid #302f2b;
}

.admin-page .quote-detail-grid dt,
.admin-page .quote-detail-copy > span,
.admin-page .quote-notification span {
  color: #85837c;
  font-size: 0.64rem;
  font-weight: 750;
  text-transform: uppercase;
}

.admin-page .quote-detail-grid dd {
  overflow-wrap: anywhere;
  margin: 5px 0 0;
  color: #e8e5dd;
  font-size: 0.84rem;
}

.admin-page .quote-detail-copy,
.admin-page .quote-notification {
  margin-top: 17px;
  padding: 16px;
  border: 1px solid #302f2b;
  border-radius: 6px;
  background: #121210;
}

.admin-page .quote-detail-copy p,
.admin-page .quote-notification p {
  margin: 8px 0 0;
  color: #c3c0b7;
  font-size: 0.84rem;
  line-height: 1.55;
}

.admin-page .quote-workflow-alert {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 12px 20px 0;
  padding: 10px 12px;
  border: 1px solid #574324;
  border-radius: 5px;
  background: #1d1810;
  color: #c8bda5;
  font-size: 0.72rem;
  line-height: 1.4;
}

.admin-page .quote-workflow-alert strong {
  flex: none;
  color: #e1c36e;
  font-size: 0.68rem;
  text-transform: uppercase;
}

.admin-page .quote-workspace {
  margin-top: 17px;
  overflow: hidden;
  border: 1px solid #302f2b;
  border-radius: 7px;
  background: #11110f;
}

.admin-page .quote-workspace-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 20px;
  border-bottom: 1px solid #302f2b;
}

.admin-page .quote-workspace-head > div:first-child > span,
.admin-page .quote-action-panel > header span,
.admin-page .quote-workflow-disclosure summary small {
  color: #85837c;
  font-size: 0.62rem;
  font-weight: 750;
  text-transform: uppercase;
}

.admin-page .quote-workspace-head h4,
.admin-page .quote-action-panel > header h4 {
  margin: 4px 0 0;
  color: #f7f5ef;
  font-size: 0.95rem;
  letter-spacing: 0;
}

.admin-page .quote-workspace-summary {
  display: flex;
  align-items: center;
  gap: 20px;
}

.admin-page .quote-workspace-summary > span {
  display: grid;
  gap: 3px;
  min-width: 64px;
}

.admin-page .quote-workspace-summary small {
  color: #77756f;
  font-size: 0.58rem;
  font-weight: 750;
  text-transform: uppercase;
}

.admin-page .quote-workspace-summary strong {
  color: #e7e3da;
  font-size: 0.9rem;
}

.admin-page .quote-action-panel {
  padding: 17px 20px 18px;
  border-bottom: 1px solid #302f2b;
}

.admin-page .quote-action-panel > header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.admin-page .quote-action-panel > header em {
  color: #aaa79e;
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 700;
}

.admin-page .quote-action-panel > header em.due {
  color: #f0b8bb;
}

.admin-page .quote-workspace label {
  display: grid;
  gap: 6px;
  color: #8f8c84;
  font-size: 0.64rem;
  font-weight: 750;
  text-transform: uppercase;
}

.admin-page .quote-workspace input,
.admin-page .quote-workspace select,
.admin-page .quote-workspace textarea {
  width: 100%;
  min-height: 44px;
  padding: 10px 11px;
  border: 1px solid #393833;
  border-radius: 5px;
  background: #0b0b09;
  color: #f7f5ef;
  font: inherit;
  font-size: 0.82rem;
  text-transform: none;
}

.admin-page .quote-follow-up-section form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 9px;
  align-items: end;
}

.admin-page .quote-inline-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.admin-page .quote-text-button {
  min-height: 44px;
  padding: 0 10px;
  border: 0;
  background: transparent;
  color: #aaa79e;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
}

.admin-page .quote-pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.admin-page .quote-workflow-disclosure form > .primary-button,
.admin-page .quote-follow-up-section .primary-button {
  min-height: 44px;
  padding: 0 15px;
}

.admin-page .quote-workflow-disclosure {
  border-bottom: 1px solid #302f2b;
  background: #11110f;
}

.admin-page .quote-workflow-disclosure:last-child {
  border-bottom: 0;
}

.admin-page .quote-workflow-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 67px;
  padding: 14px 20px;
  cursor: pointer;
  list-style: none;
  transition: background 160ms ease;
}

.admin-page .quote-workflow-disclosure > summary::-webkit-details-marker {
  display: none;
}

.admin-page .quote-workflow-disclosure > summary:hover {
  background: #171714;
}

.admin-page .quote-workflow-disclosure[open] > summary {
  border-bottom: 1px solid #302f2b;
  background: #151513;
}

.admin-page .quote-workflow-disclosure summary > span:first-child {
  display: grid;
  gap: 4px;
}

.admin-page .quote-workflow-disclosure summary > span:first-child strong {
  color: #efede7;
  font-size: 0.86rem;
}

.admin-page .quote-disclosure-meta {
  display: flex;
  align-items: center;
  gap: 11px;
}

.admin-page .quote-disclosure-meta b {
  color: #d9b862;
  font-size: 0.8rem;
}

.admin-page .quote-disclosure-meta em {
  min-width: 42px;
  color: #8f8c84;
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 700;
  text-align: right;
}

.admin-page .quote-disclosure-meta::after {
  content: "+";
  color: #d9b862;
  font-size: 1rem;
  line-height: 1;
  transition: transform 160ms ease;
}

.admin-page .quote-workflow-disclosure[open] .quote-disclosure-meta::after {
  transform: rotate(45deg);
}

.admin-page .quote-pricing-section > form,
.admin-page .quote-activity-body {
  padding: 17px 20px 20px;
}

.admin-page .quote-activity-section form {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: stretch;
}

.admin-page .quote-activity-section textarea {
  resize: vertical;
}

.admin-page .quote-activity-section .secondary-button {
  min-height: 44px;
  padding: 0 15px;
}

.admin-page .quote-activity-timeline {
  margin-top: 15px;
  max-height: 280px;
  overflow-y: auto;
  border-top: 1px solid #302f2b;
}

.admin-page .quote-activity-item {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 13px;
  padding: 13px 0;
  border-bottom: 1px solid #292824;
}

.admin-page .quote-activity-item > span {
  color: #d9b862;
  font-size: 0.62rem;
  font-weight: 750;
  text-transform: uppercase;
}

.admin-page .quote-activity-item p,
.admin-page .quote-activity-empty {
  margin: 0;
  color: #c3c0b7;
  font-size: 0.79rem;
  line-height: 1.5;
}

.admin-page .quote-activity-item time {
  display: block;
  margin-top: 4px;
  color: #76746e;
  font-size: 0.65rem;
}

.admin-page .quote-activity-empty {
  padding: 15px 0 2px;
  color: #85837c;
}

.admin-page .quote-notification {
  display: grid;
  grid-template-columns: minmax(130px, 0.35fr) minmax(0, 1fr);
  gap: 18px;
}

.admin-page .quote-notification strong {
  display: block;
  margin-top: 5px;
  color: #d8d5cc;
  font-size: 0.82rem;
  text-transform: capitalize;
}

.admin-page .quote-notification p {
  margin: 0;
}

.admin-page .quote-notification.failed {
  border-color: #7f4145;
  background: #241718;
}

.admin-page .quote-notification.failed strong,
.admin-page .quote-notification.failed p {
  color: #f0b8bb;
}

.admin-page .quote-detail-footer {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  align-items: end;
  gap: 12px;
  margin-top: 18px;
}

.admin-page .quote-detail-footer .admin-button {
  min-height: 46px;
  padding: 0 18px;
}

.admin-page .quote-detail-empty {
  place-content: center;
  text-align: center;
}

.admin-page .quote-detail-empty strong {
  color: #f7f5ef;
}

.admin-page .quote-detail-empty span {
  margin-top: 6px;
  color: #85837c;
}

.quote-lead-dialog {
  width: min(680px, calc(100vw - 32px));
  padding: 0;
  border: 1px solid #373630;
  border-radius: 8px;
  background: #171714;
  color: #f7f5ef;
}

.quote-lead-dialog::backdrop {
  background: rgb(0 0 0 / 72%);
  backdrop-filter: blur(4px);
}

.quote-lead-form {
  padding: 24px;
}

.quote-dialog-head,
.quote-dialog-footer {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.quote-dialog-head h2 {
  margin: 4px 0 6px;
  font-size: 1.8rem;
}

.quote-dialog-head p:last-child {
  margin: 0;
  color: #aaa79e;
}

.quote-lead-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 22px 0;
}

.quote-lead-grid label {
  display: grid;
  gap: 7px;
  color: #aaa79e;
  font-size: 0.7rem;
  font-weight: 750;
  text-transform: uppercase;
}

.quote-lead-grid input,
.quote-lead-grid textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #3a3934;
  border-radius: 6px;
  background: #0d0d0b;
  color: #f7f5ef;
  font: inherit;
  text-transform: none;
}

.quote-lead-grid .quote-form-wide {
  grid-column: 1 / -1;
}

.quote-dialog-footer {
  align-items: center;
  justify-content: end;
  padding-top: 18px;
  border-top: 1px solid #302f2b;
}

.quote-dialog-footer .admin-status {
  margin-right: auto;
}

@media (max-width: 1050px) {
  .admin-page .quote-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-page .quote-inbox {
    grid-template-columns: 1fr;
  }

  .admin-page .quote-list-scroll {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: 370px;
  }

  .admin-page .quote-list-item:nth-child(odd) {
    border-right: 1px solid #2b2a26;
  }

  .admin-page .quote-pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .admin-page .quote-section-head {
    align-items: stretch;
    padding: 22px 18px;
  }

  .admin-page .quote-section-head .primary-button {
    width: 100%;
  }

  .admin-page .quote-toolbar {
    grid-template-columns: 1fr;
  }

  .admin-page .quote-kpi-grid {
    gap: 8px;
  }

  .admin-page .quote-kpi-card {
    min-height: 112px;
    padding: 14px;
  }

  .admin-page .quote-list-scroll {
    display: block;
    max-height: 360px;
  }

  .admin-page .quote-list-item:nth-child(odd) {
    border-right: 0;
  }

  .admin-page .quote-detail-panel {
    padding: 18px;
  }

  .admin-page .quote-detail-head,
  .admin-page .quote-detail-footer,
  .admin-page .quote-notification {
    grid-template-columns: 1fr;
  }

  .admin-page .quote-detail-head {
    display: grid;
  }

  .admin-page .quote-detail-head > em {
    width: fit-content;
  }

  .admin-page .quote-contact-actions,
  .admin-page .quote-detail-grid,
  .quote-lead-grid {
    grid-template-columns: 1fr;
  }

  .admin-page .quote-detail-footer .admin-button {
    width: 100%;
  }

  .admin-page .quote-workspace-head {
    align-items: flex-start;
  }

  .admin-page .quote-workspace-summary {
    gap: 12px;
  }

  .admin-page .quote-follow-up-section form,
  .admin-page .quote-activity-section form {
    grid-template-columns: 1fr;
  }

  .admin-page .quote-inline-actions .primary-button {
    flex: 1;
  }

  .admin-page .quote-text-button {
    width: fit-content;
  }

  .quote-lead-grid .quote-form-wide {
    grid-column: auto;
  }

  .quote-dialog-footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .quote-dialog-footer .admin-status {
    grid-column: 1 / -1;
    margin: 0;
  }
}

@media (max-width: 460px) {
  .admin-page .quote-pricing-grid,
  .admin-page .quote-kpi-grid {
    grid-template-columns: 1fr;
  }

  .admin-page .quote-workspace-head {
    display: grid;
  }

  .admin-page .quote-workspace-summary {
    justify-content: space-between;
  }

  .admin-page .quote-workflow-alert {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-page .quote-activity-item {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}

/* Wedding service editorial — quiet monochrome */
.wedding-page .wedding-reasons {
  display: grid;
  grid-template-columns: minmax(310px, 0.72fr) minmax(620px, 1.28fr);
  align-items: start;
  min-height: 0;
  gap: clamp(64px, 8vw, 150px);
  padding: clamp(88px, 9vw, 150px) clamp(32px, 7vw, 124px);
  overflow: hidden;
  background: #fff;
  color: #090909;
}

.wedding-page .wedding-reasons-head {
  position: relative;
  display: block;
  min-height: 0;
  padding: 18px 0 40px clamp(24px, 2.5vw, 42px);
  overflow: visible;
  border-left: 7px solid #090909;
  background: transparent;
  color: #090909;
}

.wedding-page .wedding-reasons-head::before {
  display: none;
}

.wedding-page .wedding-reasons-head::after {
  position: absolute;
  right: 0;
  bottom: -0.12em;
  content: "06";
  color: rgba(9, 9, 9, 0.035);
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(10rem, 17vw, 20rem);
  font-weight: 800;
  line-height: 0.8;
  pointer-events: none;
}

.wedding-page .wedding-reasons-head > p {
  position: static;
  margin: 0 0 clamp(70px, 8vw, 130px);
  padding: 0;
  color: rgba(9, 9, 9, 0.55);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.wedding-page .wedding-reasons-head h2 {
  position: relative;
  z-index: 1;
  max-width: 8ch;
  margin: 0;
  color: #090909;
  font-family: "Iowan Old Style", "Baskerville", "Times New Roman", Georgia, serif;
  font-size: clamp(4rem, 6.3vw, 7.6rem);
  font-weight: 400;
  line-height: 0.86;
  letter-spacing: -0.055em;
}

.wedding-page .wedding-reasons-head h2 em {
  display: block;
  margin-top: 0.08em;
  color: #090909;
  font-weight: 400;
}

.wedding-page .wedding-reasons-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: none;
  min-width: 0;
  margin: 0;
  border: 0;
  background: #fff;
}

.wedding-page .wedding-reasons-grid article,
.wedding-page .wedding-reasons-grid article:nth-child(3n),
.wedding-page .wedding-reasons-grid article:nth-child(-n + 3),
.wedding-page .wedding-reasons-grid article:nth-child(even) {
  position: relative;
  display: grid;
  min-height: 220px;
  grid-template-columns: 52px minmax(0, 1fr);
  align-content: start;
  align-items: start;
  gap: 20px;
  padding: 28px clamp(26px, 3vw, 54px) 44px 0;
  border: 0;
  border-top: 1px solid #111;
  background: #fff;
  color: #090909;
}

.wedding-page .wedding-reasons-grid article:nth-child(even) {
  padding-right: 0;
  padding-left: clamp(26px, 3vw, 54px);
  border-left: 1px solid rgba(9, 9, 9, 0.14);
}

.wedding-page .wedding-reason-icon,
.wedding-page .wedding-reasons-grid article:nth-child(even) .wedding-reason-icon {
  position: static;
  width: 48px;
  height: 48px;
  border: 1px solid #111;
  border-radius: 50%;
  color: #090909;
}

.wedding-page .wedding-reason-icon svg {
  width: 22px;
  height: 22px;
  stroke-width: 1.15;
}

.wedding-page .wedding-reason-number,
.wedding-page .wedding-reasons-grid article:nth-child(even) .wedding-reason-number {
  top: 30px;
  right: clamp(26px, 3vw, 54px);
  color: rgba(9, 9, 9, 0.38);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.wedding-page .wedding-reasons-grid article:nth-child(even) .wedding-reason-number {
  right: 0;
}

.wedding-page .wedding-reasons-grid h3 {
  max-width: 15ch;
  margin: 5px 36px 14px 0;
  color: #090909;
  font-family: "Iowan Old Style", "Baskerville", "Times New Roman", Georgia, serif;
  font-size: clamp(1.55rem, 2vw, 2.15rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.035em;
}

.wedding-page .wedding-reasons-grid p,
.wedding-page .wedding-reasons-grid article:nth-child(even) p {
  grid-column: 2;
  max-width: 31ch;
  margin: 0;
  color: rgba(9, 9, 9, 0.58);
  font-size: clamp(0.88rem, 1vw, 0.98rem);
  line-height: 1.58;
}

@media (max-width: 1100px) {
  .wedding-page .wedding-reasons {
    grid-template-columns: minmax(260px, 0.64fr) minmax(500px, 1.36fr);
    gap: 54px;
    padding-inline: 34px;
  }

  .wedding-page .wedding-reasons-head h2 {
    font-size: clamp(3.7rem, 7vw, 5.4rem);
  }
}

@media (max-width: 820px) {
  .wedding-page .wedding-reasons {
    display: block;
    padding: 72px 22px 48px;
  }

  .wedding-page .wedding-reasons-head {
    min-height: 0;
    margin-bottom: 72px;
    padding: 10px 0 18px 22px;
    border-left-width: 5px;
  }

  .wedding-page .wedding-reasons-head::after {
    right: -0.06em;
    bottom: -0.05em;
    font-size: 10rem;
  }

  .wedding-page .wedding-reasons-head > p {
    margin-bottom: 48px;
    font-size: 0.58rem;
  }

  .wedding-page .wedding-reasons-head h2 {
    max-width: 7.5ch;
    font-size: clamp(3.55rem, 17vw, 4.8rem);
  }

  .wedding-page .wedding-reasons-grid {
    display: block;
  }

  .wedding-page .wedding-reasons-grid article,
  .wedding-page .wedding-reasons-grid article:nth-child(3n),
  .wedding-page .wedding-reasons-grid article:nth-child(-n + 3),
  .wedding-page .wedding-reasons-grid article:nth-child(even) {
    min-height: 0;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 18px;
    padding: 26px 0 34px;
    border-left: 0;
  }

  .wedding-page .wedding-reason-icon,
  .wedding-page .wedding-reasons-grid article:nth-child(even) .wedding-reason-icon {
    width: 44px;
    height: 44px;
  }

  .wedding-page .wedding-reason-number,
  .wedding-page .wedding-reasons-grid article:nth-child(even) .wedding-reason-number {
    top: 28px;
    right: 0;
  }

  .wedding-page .wedding-reasons-grid h3 {
    margin-right: 32px;
    font-size: 1.5rem;
  }

  .wedding-page .wedding-reasons-grid p,
  .wedding-page .wedding-reasons-grid article:nth-child(even) p {
    padding: 0;
    font-size: 0.92rem;
  }
}

@media (max-width: 520px) {
  .rental-fan-showcase .fan-stage {
    min-height: 290px;
  }

  .rental-fan-showcase .fan-card {
    width: min(52vw, 184px);
  }

  .fan-controls {
    gap: 10px;
  }

  .monthly-specials {
    padding-inline: 18px;
  }

  .monthly-specials h2 {
    font-size: clamp(2.55rem, 14vw, 4rem);
  }

  .specials-rail {
    grid-auto-columns: minmax(250px, 86vw);
  }

  .special-card {
    min-height: 410px;
  }

  .customer-satisfaction {
    width: 100vw;
    padding: 58px 20px 64px;
  }

  .customer-satisfaction-head h2 {
    font-size: clamp(1.95rem, 10vw, 2.75rem);
  }

  .satisfaction-list {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .satisfaction-list li {
    gap: 18px;
  }

  .satisfaction-icon {
    width: 78px;
    height: 78px;
  }

  .faq-section-divider {
    width: calc(100% - 32px);
    height: 1px;
    margin-bottom: 0;
  }

  .faq-section-divider::after {
    margin-top: 0;
  }
}

.fleet-popular-heading,
.fleet-all-vehicles-divider {
  grid-column: 1 / -1;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.fleet-popular-heading {
  padding: 18px 4px 2px;
}

.fleet-popular-heading h2,
.fleet-all-vehicles-divider h2 {
  margin: 0;
  font-size: clamp(2rem, 3.4vw, 3.2rem);
}

.fleet-popular-heading > span,
.fleet-all-vehicles-divider > span {
  color: var(--dim);
  font-size: 0.8rem;
  font-weight: 750;
}

.fleet-all-vehicles-divider {
  margin-top: clamp(18px, 3vw, 34px);
  border-top: 1px solid rgba(248, 245, 239, 0.12);
  padding: clamp(30px, 4vw, 46px) 4px 4px;
}

@media (max-width: 760px) {
  .fleet-popular-heading,
  .fleet-all-vehicles-divider {
    align-items: start;
  }

  .fleet-popular-heading > span,
  .fleet-all-vehicles-divider > span {
    max-width: 105px;
    text-align: right;
  }
}

@media (max-width: 980px) {
  .fleet-showroom-page {
    padding-top: 112px;
  }

  .fleet-showroom-toolbar-minimal {
    grid-template-columns: 1fr;
  }

  .fleet-sort-control,
  .fleet-showroom-toolbar-minimal .fleet-filter-control,
  .fleet-showroom-toolbar-minimal .fleet-filter-button,
  .fleet-count-pill {
    width: 100%;
  }

  .fleet-filter-panel {
    left: 0;
    right: auto;
    width: min(100%, calc(100vw - 28px));
  }
}

@media (max-width: 520px) {
  .fleet-showroom-page {
    padding-inline: 12px;
    padding-top: 104px;
  }

  .fleet-result-line {
    display: grid;
    gap: 4px;
    margin-inline: 2px;
  }

  .showroom-card {
    border-radius: 14px;
  }

  .showroom-card-body {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 16px 16px 12px;
  }

  .showroom-card-body h2 {
    min-height: auto;
    font-size: clamp(1.35rem, 8vw, 1.8rem);
  }

  .showroom-card-body strong {
    font-size: 1.35rem;
  }
}

@media (max-width: 1280px) and (min-width: 1081px) {
  .vehicle-product {
    width: min(100% - 36px, 1240px);
  }

  .vehicle-product-layout {
    grid-template-columns: minmax(0, 1fr) minmax(290px, 0.32fr);
    gap: 22px;
  }

  .vehicle-side-thumbs {
    gap: 14px;
  }

  .vehicle-spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vehicle-booking-card {
    padding: 22px;
  }
}

@media (max-width: 1080px) {
  .vehicle-product {
    width: min(100% - 40px, 900px);
  }

  .vehicle-gallery-stage img {
    height: clamp(380px, 56vw, 560px);
  }

  .vehicle-product-copy {
    max-width: 100%;
  }

  .vehicle-spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .vehicle-product {
    width: min(100% - 24px, 1360px);
    padding-top: 102px;
    padding-bottom: 56px;
  }

  .vehicle-product-layout {
    gap: 16px;
  }

  .vehicle-gallery-stage img {
    height: clamp(245px, 72vw, 360px);
  }

  .vehicle-side-thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .vehicle-side-thumb {
    min-height: 82px;
  }

  .vehicle-spec-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .vehicle-spec-card {
    min-height: 118px;
    padding: 18px;
  }

  .vehicle-booking-card {
    padding: 18px;
  }
}

@media (max-width: 980px) {
  .partner-hero {
    min-height: 740px;
  }

  .partner-hero-inner {
    width: min(100% - 40px, 760px);
  }

  .partner-hero-copy {
    max-width: 720px;
  }

  .partner-hero-copy h1 {
    font-size: clamp(2.7rem, 8vw, 4.2rem);
  }

  .partner-hero-copy h1 span {
    white-space: normal;
  }
}

@media (max-width: 520px) {
  .partner-hero-inner {
    width: min(100% - 28px, var(--max));
    padding-top: 112px;
  }

  .partner-strip div,
  .partner-form,
  .partner-application {
    border-radius: 14px;
  }
}

@media (max-width: 1180px) {
  .admin-page .admin-crm-shell {
    grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
  }

  .admin-page [data-section-panel="vehicles"] .admin-layout {
    grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  }
}

@media (max-width: 980px) {
  .admin-page .admin-shell {
    width: min(100% - 24px, 1180px);
  }

  .admin-page .admin-topbar {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .admin-page .admin-brand {
    justify-content: flex-start;
  }

  .admin-page .admin-crm-shell,
  .admin-page [data-section-panel="vehicles"] .admin-layout {
    grid-template-columns: 1fr;
  }

  .admin-page .admin-crm-sidebar {
    position: static;
    max-height: none;
  }

  .admin-page .admin-crm-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-page [data-section-panel="vehicles"] .admin-car-list {
    max-height: 380px;
  }

  .admin-page .crm-pipeline,
  .admin-page .crm-calendar-grid,
  .admin-page .admin-form-grid,
  .admin-page .admin-form-grid.simple,
  .admin-page [data-section-panel="vehicles"] .photo-editor-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .admin-page .admin-shell {
    width: min(100% - 16px, 1180px);
  }

  .admin-page .admin-dashboard,
  .admin-page .admin-workspace,
  .admin-page .admin-section {
    min-width: 0;
  }

  .admin-page .admin-topbar,
  .admin-page .admin-crm-sidebar,
  .admin-page .admin-workspace,
  .admin-page .admin-section-head,
  .admin-page .command-card,
  .admin-page .admin-panel,
  .admin-page .admin-simple-section,
  .admin-page .admin-advanced {
    border-radius: 18px;
  }

  .admin-page .admin-section-head,
  .admin-page .admin-editor-actions {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .admin-page .admin-section-head .primary-button,
  .admin-page .admin-section-head .secondary-button,
  .admin-page .admin-editor-action-buttons,
  .admin-page .admin-editor-action-buttons button,
  .admin-page .primary-button,
  .admin-page .secondary-button,
  .admin-page .ghost-button {
    width: 100%;
  }

  .admin-page input,
  .admin-page select,
  .admin-page textarea {
    max-width: 100%;
  }
}

/* Ultra-wide composition: preserve the site's visual hierarchy beyond standard desktop widths. */
@media (min-width: 2200px) {
  :root {
    --max: 1680px;
  }

  .site-header {
    min-height: 116px;
    padding: 22px max(72px, 5vw);
  }

  .site-header.scrolled {
    padding-block: 16px;
  }

  .brand-logo-wide {
    width: clamp(240px, 8vw, 286px);
    max-height: 84px;
  }

  .desktop-nav {
    gap: 38px;
    font-size: 1.02rem;
  }

  .header-actions {
    gap: 14px;
  }

  .header-actions .ghost-button,
  .header-actions .primary-button {
    min-height: 54px;
    padding-inline: 22px;
    font-size: 1rem;
  }

  .hero-content {
    width: min(1280px, calc(100% - 120px));
    padding-top: clamp(180px, 18vh, 240px);
  }

  .hero h1 {
    max-width: 1120px;
    font-size: clamp(4rem, 2.25vw, 5rem);
  }

  .hero-copy {
    max-width: 900px;
    font-size: 1.3rem;
  }

  .hero-booking-button {
    min-height: 64px;
    padding-inline: 42px;
    font-size: 1.02rem;
  }

  .marquee span {
    padding: 22px 42px;
    font-size: 0.9rem;
  }

  .fleet-section {
    padding-top: 92px;
  }

  .arrival-statement {
    width: min(1680px, calc(100vw - 160px));
    margin-bottom: 54px;
    padding-block: 30px;
  }

  .arrival-statement h2 {
    font-size: clamp(3.75rem, 2.15vw, 4.6rem);
  }

  .performance-strip {
    left: auto;
    width: min(2400px, calc(100vw - 128px));
    max-width: 2400px;
    height: clamp(640px, 21vw, 760px);
    margin-left: calc((100% - min(2400px, calc(100vw - 128px))) / 2);
    margin-right: 0;
    border-inline: 1px solid rgba(248, 245, 239, 0.14);
    border-radius: 8px;
    transform: none;
  }

  .performance-strip img {
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: center 54%;
  }

  .rental-fan-showcase {
    width: min(2200px, calc(100vw - 160px));
    max-width: 2200px;
    margin-top: 88px;
    margin-left: calc((100% - min(2200px, calc(100vw - 160px))) / 2);
    margin-right: 0;
    margin-bottom: 72px;
  }

  .rental-fan-showcase .fan-stage {
    min-height: 680px;
  }

  .rental-fan-showcase .fan-card {
    width: clamp(380px, 12vw, 440px);
  }

  .rental-fan-showcase .fan-card span {
    inset: auto 20px 20px;
    padding: 16px 18px;
    font-size: 1.05rem;
  }

  .rental-fan-showcase .fan-controls {
    margin-top: -20px;
  }

  .fan-controls {
    gap: 18px;
  }

  .fan-dots {
    min-width: 180px;
    gap: 12px;
  }

  .fan-dots span {
    width: 8px;
    height: 8px;
  }

  .monthly-specials {
    grid-template-columns: minmax(480px, 620px) minmax(0, 1fr);
    gap: 104px;
    padding-inline: max(80px, calc((100vw - 2200px) / 2));
  }
}

/* Fleet discovery and manual partner-availability conversion flow. */
.fleet-discovery-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.46fr);
  gap: clamp(28px, 6vw, 84px);
  align-items: end;
  margin-bottom: 28px;
  padding: clamp(24px, 4vw, 44px) 4px 0;
}

.fleet-discovery-intro > div:first-child {
  max-width: 820px;
}

.fleet-discovery-intro h1 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(2.8rem, 5.2vw, 5.4rem);
  line-height: 0.94;
}

.fleet-discovery-intro > div:first-child > p:last-child {
  max-width: 700px;
  margin: 22px 0 0;
  color: var(--muted);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.65;
}

.fleet-intro-proof {
  display: grid;
  gap: 9px;
}

.fleet-intro-proof span {
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid rgba(248, 245, 239, 0.12);
  color: rgba(248, 245, 239, 0.86);
  font-size: 0.9rem;
  font-weight: 850;
}

.fleet-intro-proof span::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 5px rgba(215, 180, 106, 0.1);
}

.fleet-quick-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 18px;
}

.fleet-quick-filters button {
  min-height: 44px;
  border: 1px solid rgba(248, 245, 239, 0.14);
  border-radius: 999px;
  background: rgba(248, 245, 239, 0.045);
  color: var(--muted);
  padding: 0 16px;
  font-weight: 850;
  cursor: pointer;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.fleet-quick-filters button:hover,
.fleet-quick-filters button:focus-visible,
.fleet-quick-filters button.active {
  border-color: rgba(215, 180, 106, 0.58);
  background: rgba(215, 180, 106, 0.14);
  color: var(--gold-strong);
}

.fleet-showroom-toolbar-minimal {
  position: sticky;
  top: 92px;
  z-index: 20;
  border: 1px solid rgba(248, 245, 239, 0.11);
  border-radius: 12px;
  background: rgba(8, 7, 6, 0.9);
  padding: 12px;
  box-shadow: 0 20px 55px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(18px);
}

.showroom-card-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 3;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(240, 206, 131, 0.5);
  border-radius: 999px;
  background: rgba(7, 6, 6, 0.78);
  color: var(--gold-strong);
  padding: 0 12px;
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.showroom-card-body strong {
  display: block;
  text-align: right;
}

.showroom-card-body strong .price-prefix {
  display: block;
  margin-bottom: 5px;
  color: var(--dim);
  font-size: 0.67rem;
  font-weight: 900;
  text-transform: uppercase;
}

.showroom-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 0 20px 12px;
}

.showroom-card-meta span {
  border: 1px solid rgba(248, 245, 239, 0.11);
  border-radius: 999px;
  color: var(--muted);
  padding: 6px 9px;
  font-size: 0.72rem;
  font-weight: 800;
}

.showroom-availability-note {
  margin: 0;
  padding: 0 20px 16px;
  color: var(--dim);
  font-size: 0.76rem;
  line-height: 1.45;
}

.showroom-card-actions a,
.showroom-card-actions button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.showroom-card-actions a:first-child {
  border: 1px solid rgba(248, 245, 239, 0.14);
  background: transparent;
  color: var(--ink);
}

.showroom-card-actions button:last-child {
  border: 0;
  background: var(--gold);
  color: #0d0905;
}

.fleet-concierge-break {
  grid-column: 1 / -1;
  min-height: 210px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: center;
  border: 1px solid rgba(215, 180, 106, 0.28);
  border-radius: 12px;
  background:
    radial-gradient(circle at 82% 20%, rgba(215, 180, 106, 0.16), transparent 32%),
    linear-gradient(135deg, rgba(248, 245, 239, 0.07), rgba(248, 245, 239, 0.02));
  padding: clamp(28px, 4vw, 48px);
}

.fleet-concierge-break h2 {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(2rem, 3.8vw, 3.8rem);
}

.fleet-concierge-break p:last-child {
  max-width: 620px;
  margin: 14px 0 0;
  color: var(--muted);
}

.fleet-concierge-break button,
.availability-submit {
  min-height: 52px;
  border: 0;
  border-radius: 999px;
  background: var(--gold);
  color: #0d0905;
  padding: 0 24px;
  font-weight: 950;
  cursor: pointer;
}

body.availability-open {
  overflow: hidden;
}

.availability-drawer-shell {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  grid-template-columns: 1fr minmax(420px, 620px);
}

.availability-drawer-backdrop {
  border: 0;
  background: rgba(0, 0, 0, 0.72);
  cursor: pointer;
  backdrop-filter: blur(6px);
}

.availability-drawer {
  height: 100dvh;
  overflow-y: auto;
  border-left: 1px solid rgba(215, 180, 106, 0.25);
  background:
    radial-gradient(circle at 88% 0%, rgba(215, 180, 106, 0.15), transparent 30%),
    #11100f;
  padding: clamp(24px, 4vw, 42px);
  box-shadow: -28px 0 90px rgba(0, 0, 0, 0.5);
}

.availability-drawer-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 24px;
}

.availability-drawer-head h2 {
  margin: 0;
  font-size: clamp(2.45rem, 5vw, 4.2rem);
}

.availability-close {
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  border: 1px solid rgba(248, 245, 239, 0.16);
  border-radius: 50%;
  background: rgba(248, 245, 239, 0.05);
  color: var(--ink);
  font-size: 1.8rem;
  cursor: pointer;
}

.availability-vehicle {
  display: grid;
  gap: 4px;
  margin: 28px 0 18px;
  border-left: 3px solid var(--gold);
  background: rgba(248, 245, 239, 0.045);
  padding: 14px 16px;
}

.availability-vehicle span {
  color: var(--dim);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.availability-vehicle strong {
  color: var(--ink);
  font-size: 1.15rem;
}

.availability-explainer {
  margin: 0 0 24px;
  color: var(--muted);
  line-height: 1.65;
}

.availability-form {
  display: grid;
  gap: 16px;
}

.availability-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.availability-form label {
  display: grid;
  gap: 8px;
}

.availability-form label > span {
  color: var(--dim);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.availability-form label > span small {
  color: var(--muted);
  font-weight: 700;
}

.availability-form input {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(248, 245, 239, 0.15);
  border-radius: 8px;
  background: rgba(5, 5, 5, 0.72);
  color: var(--ink);
  padding: 12px 13px;
  outline: none;
}

.availability-form input:focus {
  border-color: rgba(215, 180, 106, 0.62);
  box-shadow: 0 0 0 3px rgba(215, 180, 106, 0.14);
}

.availability-field-wide {
  grid-column: 1 / -1;
}

.availability-form .availability-alternatives {
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 11px;
  border: 1px solid rgba(248, 245, 239, 0.12);
  border-radius: 8px;
  background: rgba(248, 245, 239, 0.04);
  padding: 12px 14px;
}

.availability-form .availability-alternatives input {
  width: 18px;
  min-height: 18px;
  accent-color: var(--gold);
}

.availability-form .availability-alternatives span {
  color: var(--muted);
  font-size: 0.88rem;
  text-transform: none;
}

.availability-submit:disabled {
  cursor: wait;
  opacity: 0.68;
}

.availability-status {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.55;
}

.availability-status[data-tone="success"] {
  color: var(--gold-strong);
}

.availability-status[data-tone="error"] {
  color: #ffb7a9;
}

@media (max-width: 980px) {
  .fleet-discovery-intro {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .fleet-intro-proof {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .availability-drawer-shell {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 560px);
  }
}

@media (max-width: 760px) {
  .fleet-discovery-intro {
    padding-top: 10px;
  }

  .fleet-discovery-intro h1 {
    font-size: clamp(2.45rem, 12vw, 3.6rem);
  }

  .fleet-intro-proof {
    grid-template-columns: 1fr;
  }

  .fleet-quick-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fleet-quick-filters button {
    padding-inline: 10px;
  }

  .fleet-showroom-toolbar-minimal {
    position: relative;
    top: auto;
  }

  .fleet-concierge-break {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .fleet-concierge-break button {
    width: 100%;
  }

  .availability-drawer-shell {
    display: block;
    background: rgba(0, 0, 0, 0.72);
    padding-top: 64px;
  }

  .availability-drawer-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
  }

  .availability-drawer {
    position: relative;
    z-index: 1;
    width: 100%;
    height: calc(100dvh - 64px);
    border-top: 1px solid rgba(215, 180, 106, 0.25);
    border-left: 0;
    border-radius: 18px 18px 0 0;
    padding: 24px 18px 36px;
  }

  .availability-form-grid {
    grid-template-columns: 1fr;
  }

  .availability-field-wide {
    grid-column: auto;
  }
}

.admin-page .crm-request-alert {
  display: inline-flex;
  align-items: center;
  align-self: start;
  border: 1px solid rgba(216, 183, 101, 0.36);
  border-radius: 999px;
  background: rgba(216, 183, 101, 0.1);
  color: #f0cf82;
  padding: 7px 10px;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

/* Fleet card refinement: image-led, compact, and intentionally restrained. */
.fleet-page .showroom-card {
  display: flex;
  flex-direction: column;
  border-color: rgba(248, 245, 239, 0.1);
  border-radius: 10px;
  background: #11100f;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.24);
}

.fleet-page .showroom-card:hover {
  transform: translateY(-2px);
  border-color: rgba(215, 180, 106, 0.34);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.34);
}

.fleet-page .showroom-card-media,
.fleet-page .showroom-card-skeleton-media {
  aspect-ratio: 16 / 10;
}

.fleet-page .showroom-card-badge {
  top: 12px;
  left: 12px;
  min-height: 30px;
  border-radius: 5px;
  padding-inline: 10px;
  font-family: var(--sans);
  font-size: 0.68rem;
  letter-spacing: 0.04em;
}

.fleet-page .showroom-card-body {
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 14px;
  padding: 18px 18px 12px;
}

.fleet-page .showroom-card-body span,
.fleet-page .showroom-card-body h2,
.fleet-page .showroom-card-body strong,
.fleet-page .showroom-card-body small {
  font-family: var(--sans);
}

.fleet-page .showroom-card-body span {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.fleet-page .showroom-card-body h2 {
  min-height: 0;
  margin-top: 5px;
  color: #fff;
  font-size: clamp(1.2rem, 1.7vw, 1.48rem);
  font-weight: 720;
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.fleet-page .showroom-card-body strong {
  align-self: start;
  font-size: clamp(1.12rem, 1.5vw, 1.38rem);
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.fleet-page .showroom-card-body strong .price-prefix {
  margin-bottom: 4px;
  font-size: 0.58rem;
  letter-spacing: 0.06em;
}

.fleet-page .showroom-card-body strong > small:last-child {
  font-size: 0.68rem;
  font-weight: 600;
}

.fleet-page .showroom-card-meta {
  gap: 0;
  padding: 0 18px 13px;
}

.fleet-page .showroom-card-meta span {
  border: 0;
  border-radius: 0;
  color: #aaa39a;
  padding: 0;
  font-family: var(--sans);
  font-size: 0.72rem;
  font-weight: 600;
}

.fleet-page .showroom-card-meta span:not(:last-child)::after {
  content: "·";
  margin-inline: 8px;
  color: rgba(215, 180, 106, 0.7);
}

.fleet-page .showroom-availability-note {
  margin: 0 18px;
  border-top: 1px solid rgba(248, 245, 239, 0.08);
  padding: 11px 0 0;
  color: #8f8981;
  font-family: var(--sans);
  font-size: 0.72rem;
  line-height: 1.45;
}

.fleet-page .showroom-availability-note::before {
  content: "";
  width: 6px;
  height: 6px;
  display: inline-block;
  margin-right: 7px;
  border-radius: 50%;
  background: var(--gold);
  vertical-align: 1px;
}

.fleet-page .showroom-card-actions {
  grid-template-columns: auto minmax(150px, 1fr);
  align-items: center;
  gap: 14px;
  margin-top: auto;
  padding: 14px 18px 18px;
}

.fleet-page .showroom-card-actions a,
.fleet-page .showroom-card-actions button {
  min-height: 46px;
  border-radius: 7px;
  font-family: var(--sans);
  font-size: 0.84rem;
  font-weight: 750;
}

.fleet-page .showroom-card-actions a:first-child {
  min-height: 44px;
  border: 0;
  color: #d3cdc4;
  padding-inline: 2px;
  text-decoration: underline;
  text-decoration-color: rgba(215, 180, 106, 0.45);
  text-underline-offset: 4px;
}

.fleet-page .showroom-card-actions button:last-child {
  border: 1px solid var(--gold);
  border-radius: 7px;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.fleet-page .showroom-card-actions button:last-child:hover,
.fleet-page .showroom-card-actions button:last-child:focus-visible {
  border-color: var(--gold-strong);
  background: var(--gold-strong);
}

@media (max-width: 520px) {
  .fleet-page .showroom-card-body {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .fleet-page .showroom-card-actions {
    grid-template-columns: auto minmax(0, 1fr);
  }
}

/* Final desktop inventory rail sizing: the cars fill the entire left card. */
@media (min-width: 1421px) {
  .admin-page [data-section-panel="vehicles"] .admin-layout {
    align-items: stretch !important;
  }

  .admin-page [data-section-panel="vehicles"] .admin-list-panel {
    height: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    align-self: stretch;
  }

  .admin-page [data-section-panel="vehicles"] .admin-car-list {
    height: 0;
    min-height: 0;
    max-height: none !important;
    flex: 1 1 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

/* Final inventory-card text containment (kept last to beat legacy admin rules). */
.admin-page [data-section-panel="vehicles"] .admin-car-button {
  min-height: 92px !important;
  grid-template-columns: 68px minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(1.1rem, auto) auto !important;
  column-gap: 12px !important;
  row-gap: 3px !important;
  align-items: center !important;
  overflow: hidden;
}

.admin-page [data-section-panel="vehicles"] .admin-car-thumb {
  grid-column: 1 !important;
  grid-row: 1 / 4 !important;
  align-self: center;
}

.admin-page [data-section-panel="vehicles"] .admin-car-button span,
.admin-page [data-section-panel="vehicles"] .admin-car-button strong,
.admin-page [data-section-panel="vehicles"] .admin-car-button small {
  grid-column: 2 !important;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-page [data-section-panel="vehicles"] .admin-car-button span {
  grid-row: 1 !important;
  padding-right: 18px;
}

.admin-page [data-section-panel="vehicles"] .admin-car-button strong {
  grid-row: 2 !important;
}

.admin-page [data-section-panel="vehicles"] .admin-car-button small {
  grid-row: 3 !important;
  align-self: start;
  line-height: 1.2;
}

/* Daily operations dashboard — final overrides. */
.admin-page .dashboard-legacy,
.admin-page .fleet-control-rail,
.admin-page .command-pills {
  display: none !important;
}

.admin-page .fleet-command-layout {
  grid-template-columns: minmax(0, 1fr) !important;
}

.admin-page .fleet-command-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas: none !important;
  gap: 16px;
  min-width: 0;
}

.admin-page .fleet-command-main > * {
  grid-area: auto !important;
}

.admin-page .dashboard-quick-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.admin-page .dashboard-quick-actions button {
  min-height: 42px;
}

.admin-page .dashboard-operations-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  gap: 16px;
  min-width: 0;
}

.admin-page .dashboard-pipeline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.admin-page .dashboard-pipeline-step {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 92px;
  align-content: space-between;
  gap: 12px;
  padding: 14px;
  overflow: hidden;
  border: 1px solid var(--crm-line);
  border-radius: 15px;
  background: #11100f;
  color: var(--crm-text);
  text-align: left;
  cursor: pointer;
}

.admin-page .dashboard-pipeline-step::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--crm-gold);
}

.admin-page .dashboard-pipeline-step span {
  color: var(--crm-muted);
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1.25;
}

.admin-page .dashboard-pipeline-step strong {
  font-size: 1.8rem;
  line-height: 1;
}

.admin-page .dashboard-pipeline-step.status-booked::before,
.admin-page .dashboard-pipeline-step.status-available::before {
  background: #56c781;
}

.admin-page .dashboard-pipeline-step.status-alternative::before,
.admin-page .dashboard-pipeline-step.status-approved::before {
  background: #77a7ff;
}

.admin-page .dashboard-upcoming,
.admin-page .dashboard-partner-queue,
.admin-page .dashboard-pricing-alerts {
  display: grid;
  gap: 9px;
}

.admin-page .dashboard-operation-row,
.admin-page .dashboard-call-row,
.admin-page .dashboard-price-row {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--crm-line);
  border-radius: 14px;
  background: #11100f;
}

.admin-page .dashboard-operation-date {
  display: grid;
  width: 48px;
  min-width: 48px;
  min-height: 52px;
  place-content: center;
  border-radius: 11px;
  background: rgba(216, 183, 101, 0.12);
  color: var(--crm-gold);
  text-align: center;
}

.admin-page .dashboard-operation-date span {
  font-size: 0.67rem;
  font-weight: 900;
  text-transform: uppercase;
}

.admin-page .dashboard-operation-date strong {
  font-size: 1.2rem;
}

.admin-page .dashboard-operation-copy,
.admin-page .dashboard-call-row > div:first-child,
.admin-page .dashboard-price-row > div:first-child {
  display: grid;
  flex: 1;
  min-width: 0;
  gap: 4px;
}

.admin-page .dashboard-operation-copy strong,
.admin-page .dashboard-call-row strong,
.admin-page .dashboard-price-row strong {
  overflow: hidden;
  color: var(--crm-text);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-page .dashboard-operation-copy span,
.admin-page .dashboard-call-row span,
.admin-page .dashboard-call-row small,
.admin-page .dashboard-price-row span,
.admin-page .dashboard-price-row small {
  overflow: hidden;
  color: var(--crm-muted);
  font-size: 0.78rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-page .dashboard-call-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.admin-page .dashboard-call-actions a,
.admin-page .dashboard-call-actions button,
.admin-page .dashboard-price-row button {
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--crm-gold);
  border-radius: 999px;
  background: var(--crm-gold);
  color: #0d0c0b;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
}

.admin-page .dashboard-call-actions .secondary {
  border-color: var(--crm-line);
  background: transparent;
  color: var(--crm-text);
}

.admin-page .dashboard-price-row > div:last-child {
  display: grid;
  justify-items: end;
  gap: 5px;
}

.admin-page .pricing-health {
  width: fit-content;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 0.65rem !important;
  font-weight: 900;
  text-transform: uppercase;
}

.admin-page .pricing-health.current {
  background: rgba(86, 199, 129, 0.12);
  color: #70dc98;
}

.admin-page .pricing-health.stale {
  background: rgba(245, 172, 70, 0.13);
  color: #ffc26e;
}

.admin-page .admin-partner-details {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--crm-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.018);
}

.admin-page .admin-partner-details h4,
.admin-page .admin-partner-details p {
  margin: 0;
}

.admin-page .admin-partner-details p {
  margin-top: 4px;
  color: var(--crm-muted);
  font-size: 0.85rem;
  line-height: 1.5;
}

@media (max-width: 1080px) {
  .admin-page .dashboard-operations-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 720px) {
  .admin-page .command-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-page .dashboard-quick-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .admin-page .dashboard-pipeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-page .dashboard-operation-row,
  .admin-page .dashboard-call-row,
  .admin-page .dashboard-price-row {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .admin-page .dashboard-call-actions,
  .admin-page .dashboard-price-row > div:last-child {
    width: 100%;
    justify-content: flex-start;
    justify-items: start;
  }
}

/* Monthly specials: private editorial showcase. */
.monthly-specials {
  position: relative;
  isolation: isolate;
  grid-template-columns: minmax(290px, 0.72fr) minmax(0, 1.35fr);
  gap: clamp(54px, 6vw, 112px);
  align-items: stretch;
  border-block: 1px solid rgba(248, 245, 239, 0.1);
  background:
    radial-gradient(circle at 12% 46%, rgba(215, 180, 106, 0.14), transparent 31%),
    radial-gradient(circle at 78% 18%, rgba(248, 245, 239, 0.045), transparent 26%),
    linear-gradient(115deg, #050505 0%, #0b0908 52%, #050505 100%);
  padding: clamp(60px, 5vw, 76px) max(24px, calc((100vw - 1500px) / 2));
}

.monthly-specials::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 24px;
  border: 1px solid rgba(248, 245, 239, 0.055);
  pointer-events: none;
}

.monthly-specials-copy {
  align-self: center;
  max-width: 540px;
  border-left: 1px solid rgba(215, 180, 106, 0.58);
  padding: clamp(8px, 1vw, 16px) 0 clamp(8px, 1vw, 16px) clamp(24px, 2.2vw, 38px);
}

.monthly-specials .section-kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  letter-spacing: 0.16em;
}

.monthly-specials .section-kicker::before {
  content: "";
  width: 28px;
  height: 1px;
  background: currentColor;
}

.monthly-specials h2 {
  max-width: 10ch;
  font-family: var(--display);
  font-size: clamp(3.15rem, 4.25vw, 4.8rem);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.025em;
}

.monthly-specials-copy > p:not(.section-kicker) {
  max-width: 43ch;
  margin-top: 28px;
  color: rgba(248, 245, 239, 0.7);
  font-size: clamp(0.98rem, 1.15vw, 1.12rem);
}

.specials-cta {
  min-height: 56px;
  margin-top: 30px;
  border: 1px solid var(--gold);
  border-radius: 4px;
  padding-inline: 28px;
  letter-spacing: 0.015em;
  box-shadow: none;
}

.monthly-specials-notes {
  display: grid;
  gap: 0;
  margin-top: 34px;
  border-block: 1px solid rgba(248, 245, 239, 0.12);
}

.monthly-specials-notes span {
  position: relative;
  padding: 12px 8px 12px 24px;
  color: rgba(248, 245, 239, 0.64);
  font-size: 0.76rem;
  font-weight: 750;
  letter-spacing: 0.07em;
  line-height: 1.35;
  text-transform: uppercase;
}

.monthly-specials-notes span + span {
  border-top: 1px solid rgba(248, 245, 239, 0.08);
}

.monthly-specials-notes span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 4px rgba(215, 180, 106, 0.1);
  transform: translateY(-50%);
}

.specials-slider {
  display: grid;
  min-width: 0;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 20px;
  padding: 0;
}

.specials-slider-head {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid rgba(248, 245, 239, 0.12);
  padding-bottom: 16px;
}

.specials-slider-head > p {
  margin: 0;
  color: rgba(248, 245, 239, 0.72);
  font-size: 0.82rem;
  font-weight: 750;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.specials-slider-head > p span {
  margin-right: 10px;
  color: var(--gold-strong);
}

.specials-controls {
  display: flex;
  gap: 10px;
}

.specials-controls .specials-nav {
  position: static;
  width: 48px;
  height: 48px;
  background: rgba(248, 245, 239, 0.055);
  box-shadow: none;
  transform: none;
}

.specials-controls .specials-nav:hover {
  background: var(--gold);
  transform: none;
}

.specials-rail {
  counter-reset: monthly-special;
  grid-auto-columns: minmax(350px, 68%);
  gap: 20px;
  padding: 0 0 8px;
}

.special-card {
  counter-increment: monthly-special;
  min-height: clamp(450px, 34vw, 570px);
  border-color: rgba(248, 245, 239, 0.2);
  border-radius: 6px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.38);
}

.special-card::before {
  content: "0" counter(monthly-special);
  position: absolute;
  z-index: 2;
  top: 20px;
  right: 20px;
  color: rgba(255, 255, 255, 0.86);
  font-family: var(--display);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.special-card::after {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.06) 30%, rgba(4, 3, 3, 0.92) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.28), transparent 68%);
}

.special-card-copy {
  inset-inline: clamp(22px, 2vw, 34px);
  bottom: clamp(22px, 2.5vw, 36px);
  gap: 11px;
  border-left: 1px solid rgba(215, 180, 106, 0.72);
  padding-left: clamp(16px, 1.5vw, 22px);
}

.special-card-copy span {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  letter-spacing: 0.13em;
}

.special-card-copy h3 {
  max-width: 15ch;
  font-family: var(--display);
  font-size: clamp(1.85rem, 2.35vw, 2.7rem);
  font-weight: 800;
  line-height: 0.96;
}

.special-card-copy a {
  min-height: 44px;
  margin-top: 4px;
  border-color: rgba(255, 255, 255, 0.46);
  border-radius: 3px;
  padding-inline: 18px;
  font-size: 0.82rem;
}

.special-card-copy a::after {
  content: "\2192";
  margin-left: 10px;
}

@media (min-width: 921px) {
  .specials-rail {
    grid-auto-columns: calc((100% - 20px) / 2);
  }

  .specials-controls {
    display: none;
  }
}

/* Popular cars: editorial grid on larger screens, fan slider on phones. */
.popular-cars-head {
  width: min(100%, 1520px);
  margin: clamp(54px, 7vw, 94px) auto 24px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid rgba(248, 245, 239, 0.14);
  padding-bottom: 20px;
}

.popular-cars-head p {
  margin: 0 0 8px;
  color: var(--gold-strong);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.popular-cars-head h3 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(2.5rem, 4vw, 4.4rem);
  line-height: 0.9;
  text-transform: uppercase;
}

.popular-cars-head a {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid rgba(248, 245, 239, 0.26);
  border-radius: 999px;
  padding: 0 20px;
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.popular-cars-head a:hover,
.popular-cars-head a:focus-visible {
  border-color: var(--gold);
  background: rgba(215, 180, 106, 0.12);
  transform: translateY(-2px);
}

.popular-cars-head svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (min-width: 821px) {
  .rental-fan-showcase {
    width: min(100%, 1520px);
    margin: 0 auto clamp(58px, 7vw, 96px);
    padding-bottom: 0;
    contain: none;
    overflow: visible;
  }

  .rental-fan-showcase::before {
    content: none;
  }

  .rental-fan-showcase .fan-stage {
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 1.6vw, 26px);
  }

  .rental-fan-showcase .fan-card {
    position: relative;
    inset: auto;
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 4px;
    opacity: 1;
    transform: none;
    will-change: auto;
  }

  .rental-fan-showcase .fan-card:nth-child(n + 7) {
    display: none;
  }

  .rental-fan-showcase .fan-card:hover,
  .rental-fan-showcase .fan-card:focus-visible {
    transform: translateY(-6px);
  }

  .rental-fan-showcase .fan-card span {
    inset: auto 14px 14px;
    width: calc(100% - 28px);
    padding: 13px 15px;
    font-size: clamp(0.82rem, 1vw, 1rem);
  }

  .rental-fan-showcase .fan-controls {
    display: none;
  }
}

@media (min-width: 1440px) {
  .popular-cars-head,
  .rental-fan-showcase {
    width: min(100%, 1680px);
  }
}

@media (max-width: 820px) {
  .popular-cars-head {
    width: 100%;
    margin: 34px auto 0;
    padding-bottom: 16px;
  }

  .popular-cars-head h3 {
    font-size: clamp(2rem, 9vw, 3rem);
  }

  .popular-cars-head a {
    min-height: 42px;
    padding-inline: 16px;
  }

  .rental-fan-showcase {
    margin-top: 24px;
  }
}

@media (max-width: 920px) {
  .monthly-specials {
    grid-template-columns: 1fr;
    gap: 48px;
    padding: 64px clamp(22px, 6vw, 56px) 72px;
  }

  .monthly-specials-copy {
    max-width: 720px;
  }

  .monthly-specials h2 {
    max-width: 10ch;
  }

  .specials-rail {
    grid-auto-columns: minmax(300px, 72vw);
  }
}

@media (max-width: 620px) {
  .monthly-specials {
    gap: 38px;
    padding: 52px 18px 60px;
  }

  .monthly-specials::before {
    inset: 10px;
  }

  .monthly-specials-copy {
    border-left: 0;
    padding: 0;
  }

  .monthly-specials h2 {
    max-width: 8.5ch;
    font-size: clamp(3.35rem, 16vw, 4.65rem);
  }

  .specials-slider-head {
    align-items: flex-end;
  }

  .specials-slider-head > p {
    max-width: 18ch;
  }

  .specials-slider-head > p span {
    display: block;
    margin: 0 0 5px;
  }

  .specials-controls .specials-nav {
    width: 46px;
    height: 46px;
  }

  .specials-rail {
    grid-auto-columns: minmax(260px, 86vw);
    gap: 14px;
  }

  .special-card {
    min-height: 440px;
  }
}

/* Private-client hero: cinematic video, restrained campaign typography. */
.home-page .hero {
  background: #050505;
}

.home-page .hero-media {
  display: block;
  background: #050505;
}

.hero-scrim {
  background:
    radial-gradient(circle at 50% 74%, rgba(0, 0, 0, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(4, 4, 4, 0.12) 0%, rgba(4, 4, 4, 0.18) 42%, rgba(4, 4, 4, 0.82) 100%);
}

.hero-content {
  align-self: end;
  width: min(1120px, calc(100% - 48px));
  padding: clamp(150px, 20vh, 210px) 0 clamp(64px, 9vh, 104px);
}

.hero-private-label {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, 0.82);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(0.62rem, 0.72vw, 0.74rem);
  font-weight: 500;
  letter-spacing: 0.3em;
  line-height: 1.2;
  text-transform: uppercase;
}

.hero h1,
.hero h1.reveal {
  max-width: 15ch;
  color: #fff;
  background: none;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(3.2rem, 5.4vw, 6rem);
  font-weight: 300;
  line-height: 0.96;
  letter-spacing: 0.09em;
  text-shadow: 0 14px 46px rgba(0, 0, 0, 0.7);
  animation: heroReveal 720ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.hero h1 span {
  display: inline-block;
  margin-top: 0.08em;
  color: rgba(255, 255, 255, 0.78);
  font-weight: 300;
}

.hero h1::after {
  content: none;
}

.hero-copy {
  max-width: 620px;
  margin-top: 22px;
  color: rgba(255, 255, 255, 0.82);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(0.92rem, 1vw, 1.06rem);
  font-weight: 400;
  letter-spacing: 0.035em;
  line-height: 1.55;
}

.hero-cta {
  margin-top: 30px;
  gap: 10px;
}

.hero-booking-button,
.hero-request-button {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 2px;
  padding: 13px clamp(20px, 2.4vw, 32px);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.hero-booking-button {
  background: #fff;
  color: #090909;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
}

.hero-booking-button svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hero-request-button {
  background: rgba(0, 0, 0, 0.2);
  color: #fff;
  backdrop-filter: blur(10px);
}

.hero-booking-button:hover,
.hero-booking-button:focus-visible {
  border-color: #fff;
  background: #fff;
  color: #090909;
  transform: translateY(-2px);
}

.hero-request-button:hover,
.hero-request-button:focus-visible {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.12);
  transform: translateY(-2px);
}

.hero-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 26px auto 0;
  color: rgba(255, 255, 255, 0.58);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.61rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  line-height: 1.2;
  text-transform: uppercase;
}

.hero-trust span {
  display: inline-flex;
  align-items: center;
}

.hero-trust span:not(:last-child)::after {
  content: "";
  width: 3px;
  height: 3px;
  margin: 0 18px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.46);
}

@media (max-width: 640px) {
  .hero-scrim {
    background:
      linear-gradient(180deg, rgba(4, 4, 4, 0.18) 0%, rgba(4, 4, 4, 0.24) 38%, rgba(4, 4, 4, 0.9) 100%);
  }

  .hero-content {
    width: min(100% - 32px, 560px);
    padding: 118px 0 46px;
  }

  .hero-private-label {
    margin-bottom: 14px;
    font-size: 0.56rem;
    letter-spacing: 0.24em;
  }

  .hero h1,
  .hero h1.reveal {
    max-width: 15ch;
    font-size: clamp(2.4rem, 11vw, 3.2rem);
    line-height: 0.98;
    letter-spacing: 0.055em;
  }

  .hero-copy {
    max-width: 320px;
    margin-top: 18px;
    font-size: 0.86rem;
  }

  .hero-cta {
    width: min(100%, 340px);
    margin: 26px auto 0;
  }

  .hero-booking-button,
  .hero-request-button {
    width: 100%;
    min-height: 50px;
    font-size: 0.66rem;
  }

  .hero-trust {
    margin-top: 22px;
    font-size: 0.52rem;
    letter-spacing: 0.15em;
  }

  .hero-trust span:not(:last-child)::after {
    margin-inline: 10px;
  }
}

/* Home arrival sequence: quiet, deliberate motion for the private-client hero. */
.home-page .site-header {
  animation: luxuryHeaderIn 1.1s cubic-bezier(0.22, 1, 0.36, 1) 120ms both;
}

.home-page .hero {
  isolation: isolate;
}

.home-page .hero::before,
.home-page .hero::after {
  content: "";
  position: absolute;
  z-index: 3;
  pointer-events: none;
}

.home-page .hero::before {
  inset: 108px clamp(18px, 3vw, 52px) 28px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  opacity: 0;
  transform: scale(1.018);
  animation: luxuryFrameIn 1.8s cubic-bezier(0.22, 1, 0.36, 1) 1.15s both;
}

.home-page .hero::after {
  left: 50%;
  bottom: 27px;
  width: min(28vw, 460px);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.32), transparent);
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  animation: luxuryRuleIn 1.4s cubic-bezier(0.22, 1, 0.36, 1) 1.6s both;
}

.home-page .hero-media,
.home-page .hero-poster {
  transform-origin: 50% 50%;
  animation: luxurySceneIn 2.8s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.home-page .hero-scrim {
  animation: luxuryScrimIn 1.8s ease-out both;
}

.home-page .hero .reveal {
  opacity: 1;
  transform: none;
  transition: none;
}

.home-page .hero-private-label {
  position: relative;
  width: fit-content;
  margin-inline: auto;
  opacity: 0;
  transform: translateY(10px);
  animation: luxuryLabelIn 900ms cubic-bezier(0.22, 1, 0.36, 1) 420ms both;
}

.home-page .hero-private-label::before,
.home-page .hero-private-label::after {
  content: "";
  position: absolute;
  top: 50%;
  width: clamp(24px, 4vw, 64px);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.46));
  transform: scaleX(0);
  animation: luxuryLabelRuleIn 900ms cubic-bezier(0.22, 1, 0.36, 1) 900ms both;
}

.home-page .hero-private-label::before {
  right: calc(100% + 18px);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.46));
  transform-origin: right;
}

.home-page .hero-private-label::after {
  left: calc(100% + 18px);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.46), transparent);
  transform-origin: left;
}

.home-page .hero h1,
.home-page .hero h1.reveal {
  color: #fff;
  animation: none;
  opacity: 1;
  transform: none;
}

.home-page .hero .hero-title-line {
  display: block;
  overflow: hidden;
  margin: 0;
  color: inherit;
}

.home-page .hero .hero-title-line > span {
  display: block;
  margin: 0;
  color: transparent;
  background:
    linear-gradient(108deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.92) 38%, #fff 49%, rgba(255, 255, 255, 0.92) 60%, rgba(255, 255, 255, 0.92) 100%);
  background-size: 240% 100%;
  background-position: 112% 50%;
  -webkit-background-clip: text;
  background-clip: text;
  transform: translateY(112%);
  animation:
    luxuryTitleIn 900ms cubic-bezier(0.16, 1, 0.3, 1) 480ms both,
    luxuryTitleSheen 1.5s ease-in-out 1.5s both;
}

.home-page .hero .hero-title-line-muted {
  margin-top: 0.08em;
}

.home-page .hero .hero-title-line-muted > span {
  background:
    linear-gradient(108deg, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.7) 38%, #fff 49%, rgba(255, 255, 255, 0.7) 60%, rgba(255, 255, 255, 0.7) 100%);
  background-size: 240% 100%;
  background-position: 112% 50%;
  -webkit-background-clip: text;
  background-clip: text;
  animation:
    luxuryTitleIn 900ms cubic-bezier(0.16, 1, 0.3, 1) 600ms both,
    luxuryTitleSheen 1.5s ease-in-out 1.62s both;
}

.home-page .hero-copy {
  opacity: 0;
  transform: translateY(12px);
  animation: luxuryDetailIn 900ms cubic-bezier(0.22, 1, 0.36, 1) 1.25s both;
}

.home-page .hero-cta {
  opacity: 0;
  transform: translateY(14px);
  animation: luxuryDetailIn 900ms cubic-bezier(0.22, 1, 0.36, 1) 1.42s both;
}

.home-page .hero-trust {
  opacity: 0;
  transform: translateY(10px);
  animation: luxuryDetailIn 900ms cubic-bezier(0.22, 1, 0.36, 1) 1.58s both;
}

.home-page .hero-booking-button,
.home-page .hero-request-button {
  position: relative;
  overflow: hidden;
}

.home-page .hero-booking-button::before,
.home-page .hero-request-button::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 26%, rgba(255, 255, 255, 0.42) 48%, transparent 70%);
  transform: translateX(-145%);
  transition: transform 720ms cubic-bezier(0.22, 1, 0.36, 1);
}

.home-page .hero-booking-button:hover::before,
.home-page .hero-booking-button:focus-visible::before,
.home-page .hero-request-button:hover::before,
.home-page .hero-request-button:focus-visible::before {
  transform: translateX(145%);
}

@keyframes luxuryHeaderIn {
  from {
    opacity: 0;
    transform: translateY(-18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes luxurySceneIn {
  from {
    filter: brightness(0.62) saturate(0.72);
    transform: scale(1.055);
  }
  to {
    filter: brightness(1) saturate(1);
    transform: scale(1);
  }
}

@keyframes luxuryScrimIn {
  from {
    opacity: 0.28;
  }
  to {
    opacity: 1;
  }
}

@keyframes luxuryFrameIn {
  from {
    opacity: 0;
    transform: scale(1.018);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes luxuryRuleIn {
  to {
    transform: translateX(-50%) scaleX(1);
  }
}

@keyframes luxuryLabelIn {
  from {
    opacity: 0;
    letter-spacing: 0.42em;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    letter-spacing: 0.3em;
    transform: translateY(0);
  }
}

@keyframes luxuryLabelRuleIn {
  to {
    transform: scaleX(1);
  }
}

@keyframes luxuryTitleIn {
  from {
    opacity: 0;
    transform: translateY(112%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes luxuryTitleSheen {
  from {
    background-position: 112% 50%;
  }
  to {
    background-position: -112% 50%;
  }
}

@keyframes luxuryDetailIn {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 640px) {
  .home-page .hero::before {
    inset: 84px 10px 14px;
  }

  .home-page .hero::after {
    bottom: 13px;
    width: 44vw;
  }

  .home-page .hero-private-label::before,
  .home-page .hero-private-label::after {
    width: 18px;
  }

  .home-page .hero-private-label::before {
    right: calc(100% + 10px);
  }

  .home-page .hero-private-label::after {
    left: calc(100% + 10px);
  }

  @keyframes luxuryLabelIn {
    from {
      opacity: 0;
      letter-spacing: 0.3em;
      transform: translateY(8px);
    }
    to {
      opacity: 1;
      letter-spacing: 0.24em;
      transform: translateY(0);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .site-header,
  .home-page .hero::before,
  .home-page .hero::after,
  .home-page .hero-media,
  .home-page .hero-poster,
  .home-page .hero-scrim,
  .home-page .hero-private-label,
  .home-page .hero-private-label::before,
  .home-page .hero-private-label::after,
  .home-page .hero .hero-title-line > span,
  .home-page .hero-copy,
  .home-page .hero-cta,
  .home-page .hero-trust {
    animation: none !important;
    opacity: 1;
    transform: none;
  }
}

/* Editorial footer: full-width, monochrome, and consistent with the private-client hero. */
.site-footer {
  width: 100%;
  grid-template-columns: minmax(300px, 0.92fr) minmax(0, 1.38fr);
  gap: clamp(44px, 7vw, 112px);
  margin: 0;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.045), transparent 29%),
    #050505;
  box-shadow: none;
  padding: clamp(70px, 8vw, 116px) max(24px, calc((100vw - var(--max)) / 2)) clamp(26px, 3vw, 42px);
}

.footer-main {
  position: relative;
  gap: 24px;
  border-right: 1px solid rgba(255, 255, 255, 0.11);
  padding-right: clamp(32px, 5vw, 78px);
}

.footer-main::before {
  content: "Private automotive concierge";
  color: rgba(255, 255, 255, 0.48);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.25em;
  line-height: 1.2;
  text-transform: uppercase;
}

.footer-brand {
  transition: opacity 180ms ease;
}

.footer-brand:hover,
.footer-brand:focus-visible {
  opacity: 0.74;
}

.footer-logo-frame {
  width: min(230px, 68vw);
  min-height: 0;
  justify-content: flex-start;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.footer-logo-frame .brand-logo-wide {
  width: 100%;
  max-height: 82px;
  filter: brightness(0) invert(1);
  opacity: 0.94;
}

.footer-main p {
  max-width: 410px;
  color: rgba(255, 255, 255, 0.66);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(0.96rem, 1.15vw, 1.1rem);
  font-weight: 400;
  letter-spacing: 0.012em;
  line-height: 1.7;
}

.footer-contact {
  gap: 10px;
  margin-top: 4px;
}

.footer-contact a {
  min-height: 46px;
  justify-content: center;
  border-color: rgba(255, 255, 255, 0.28);
  border-radius: 2px;
  background: transparent;
  color: rgba(255, 255, 255, 0.86);
  padding: 0 17px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.footer-contact a:first-child {
  border-color: #fff;
  background: #fff;
  color: #080808;
}

.footer-columns {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 58px);
  padding: 0;
}

.footer-links {
  gap: 7px;
  color: rgba(255, 255, 255, 0.58);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.footer-links h3 {
  margin-bottom: 18px;
  color: rgba(255, 255, 255, 0.42);
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.24em;
}

.footer-links a,
.site-footer .footer-links a[href="/admin/"] {
  min-height: 32px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.86rem;
  font-weight: 400;
  transition: color 180ms ease, transform 180ms ease;
}

.site-footer .footer-links a[href="/admin/"] {
  color: rgba(255, 255, 255, 0.42);
}

.footer-links a:hover,
.footer-links a:focus-visible {
  color: #fff;
  transform: translateX(4px);
}

.footer-contact a:hover,
.footer-contact a:focus-visible {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  transform: translateY(-2px);
}

.footer-contact a:first-child:hover,
.footer-contact a:first-child:focus-visible {
  background: rgba(255, 255, 255, 0.9);
  color: #080808;
}

.footer-bottom {
  margin-top: clamp(16px, 2vw, 28px);
  border-color: rgba(255, 255, 255, 0.12);
  padding-top: 24px;
  color: rgba(255, 255, 255, 0.36);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .site-footer {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .footer-main {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.11);
    padding: 0 0 42px;
  }
}

@media (max-width: 640px) {
  .site-footer {
    width: 100%;
    gap: 38px;
    padding: 58px 20px 24px;
  }

  .footer-main {
    gap: 20px;
    padding-bottom: 36px;
  }

  .footer-logo-frame {
    width: min(190px, 62vw);
    min-height: 0;
    padding: 0;
    border-radius: 0;
  }

  .footer-main p {
    max-width: 340px;
    font-size: 0.96rem;
  }

  .footer-contact {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-contact a {
    width: 100%;
    padding-inline: 10px;
  }

  .footer-contact a:nth-child(n + 3) {
    grid-column: 1 / -1;
  }

  .footer-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 24px;
  }

  .footer-links:last-child {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 18px;
  }

  .footer-links:last-child h3 {
    grid-column: 1 / -1;
  }

  .footer-links h3 {
    margin-bottom: 12px;
  }

  .footer-links a,
  .site-footer .footer-links a[href="/admin/"] {
    width: auto;
    font-size: 0.8rem;
  }

  .footer-bottom {
    gap: 8px;
    margin-top: 10px;
    font-size: 0.6rem;
    line-height: 1.6;
  }
}

/* Private reservation desk: proposal-style conversion experience. */
.quote-section {
  position: relative;
  width: 100vw;
  max-width: none;
  grid-template-columns: minmax(320px, 0.72fr) minmax(560px, 1fr);
  gap: clamp(56px, 8vw, 132px);
  align-items: start;
  margin: 0 calc(50% - 50vw);
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background:
    radial-gradient(circle at 8% 20%, rgba(255, 255, 255, 0.055), transparent 28%),
    linear-gradient(135deg, #080808 0%, #030303 72%);
  padding: clamp(84px, 9vw, 138px) max(24px, calc((100vw - var(--max)) / 2));
}

.quote-section::before {
  content: "PRIVATE RESERVATION";
  position: absolute;
  top: 28px;
  right: max(24px, calc((100vw - var(--max)) / 2));
  color: rgba(255, 255, 255, 0.14);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.58rem;
  font-weight: 500;
  letter-spacing: 0.3em;
}

.quote-copy {
  position: sticky;
  top: 128px;
  gap: 22px;
  padding-top: 8px;
}

.quote-section .quote-kicker {
  color: rgba(255, 255, 255, 0.48);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.26em;
}

.quote-copy h2 {
  max-width: 8.5ch;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(3.6rem, 5.4vw, 6.2rem);
  font-weight: 300;
  line-height: 0.95;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.quote-copy > p {
  max-width: 430px;
  color: rgba(255, 255, 255, 0.62);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(0.94rem, 1.08vw, 1.05rem);
  line-height: 1.75;
}

.quote-proof {
  display: grid;
  gap: 0;
  margin-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.quote-proof span {
  min-height: 58px;
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 10px;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.72);
  padding: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.quote-proof span::before {
  content: attr(data-index);
  color: rgba(255, 255, 255, 0.34);
  font-size: 0.58rem;
  letter-spacing: 0.18em;
}

.quote-form {
  position: relative;
  width: 100%;
  max-width: 720px;
  justify-self: end;
  gap: 24px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 0;
  background: rgba(10, 10, 10, 0.78);
  box-shadow: 0 36px 100px rgba(0, 0, 0, 0.34);
  padding: clamp(28px, 3.4vw, 48px);
  backdrop-filter: blur(18px);
}

.quote-form-head {
  display: grid;
  gap: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  padding-bottom: 24px;
}

.quote-form-head p {
  margin: 0;
  color: rgba(255, 255, 255, 0.42);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.58rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.quote-form-head strong {
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(1.45rem, 2vw, 2rem);
  font-weight: 300;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.quote-form-head > span {
  color: rgba(255, 255, 255, 0.52);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.8rem;
  line-height: 1.5;
}

.quote-typing-line {
  min-height: 2.4em;
  display:flex;
  align-items:flex-start;
  gap:5px;
}

.quote-typing-line > span {
  min-height:1.5em;
}

.quote-typing-line > i {
  width:1px;
  height:1.05em;
  flex:0 0 auto;
  margin-top:.18em;
  background:rgba(255,255,255,.72);
  animation:quoteTypingCursor 760ms steps(1,end) infinite;
}

.quote-typing-line.typing-complete > i {
  opacity:0;
  animation:none;
}

.quote-completion {
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:9px 18px;
  margin-top:8px;
}

.quote-completion > span,
.quote-completion > strong {
  color:rgba(255,255,255,.42);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:.58rem;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.quote-completion > strong {
  color:rgba(255,255,255,.78);
  font-variant-numeric:tabular-nums;
}

.quote-completion > i {
  grid-column:1 / -1;
  height:2px;
  overflow:hidden;
  background:rgba(255,255,255,.12);
}

.quote-completion > i > b {
  width:100%;
  height:100%;
  display:block;
  background:#fff;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 260ms cubic-bezier(.22,1,.36,1);
}

@keyframes quoteTypingCursor {
  0%,48% { opacity:1; }
  49%,100% { opacity:0; }
}

.quote-form-grid {
  gap: 20px 18px;
}

.quote-form label {
  gap: 7px;
}

.quote-form label span,
.quote-addons legend {
  color: rgba(255, 255, 255, 0.44);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.2em;
}

.quote-form input,
.quote-form select,
.quote-form textarea {
  min-height: 54px;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 0;
  background: transparent;
  color: #fff;
  padding: 12px 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.94rem;
  transition: border-color 180ms ease, background 180ms ease;
}

.quote-form select {
  color-scheme: dark;
}

.quote-form input::placeholder,
.quote-form textarea::placeholder {
  color: rgba(255, 255, 255, 0.28);
}

.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.025);
  box-shadow: none;
}

.quote-form label.is-complete > span::after {
  content:" · READY";
  color:rgba(255,255,255,.72);
  font-size:.82em;
}

.quote-form label.is-invalid > span {
  color:#ffb4a9;
}

.quote-form label.is-invalid input,
.quote-form label.is-invalid select,
.quote-form label.is-invalid textarea {
  border-bottom-color:#ff8f80;
}

.quote-field-wide small {
  color: rgba(255, 255, 255, 0.34);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.67rem;
}

.quote-addons {
  gap: 8px;
}

.quote-addons legend {
  margin-bottom: 8px;
}

.quote-addons label {
  min-height: 50px;
  border-color: rgba(255, 255, 255, 0.16);
  border-radius: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.66);
  padding: 10px 12px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.quote-addons label:hover,
.quote-addons label:focus-within {
  border-color: rgba(255, 255, 255, 0.48);
  background: rgba(255, 255, 255, 0.035);
  color: #fff;
}

.quote-addons label.is-selected,
.quote-addons label:has(input:checked) {
  border-color:rgba(255,255,255,.72);
  background:#f2f0eb;
  color:#080808;
}

.quote-addons input {
  width: 15px;
  min-height: 15px;
  accent-color: #fff;
}

.quote-submit {
  min-height: 56px;
  border: 1px solid #fff;
  border-radius: 0;
  background: #fff;
  color: #080808;
  padding: 0 26px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  box-shadow: none;
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.quote-submit:hover,
.quote-submit:focus-visible {
  background: transparent;
  color: #fff;
  transform: translateY(-2px);
}

.quote-submit.is-sending {
  cursor:wait;
  opacity:.72;
}

@media (prefers-reduced-motion: reduce) {
  .quote-typing-line > i { display:none; }
  .quote-completion > i > b { transition:none; }
}

.quote-status {
  color: rgba(255, 255, 255, 0.38);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.7rem;
  line-height: 1.55;
}

.quote-status[data-tone="success"] {
  color: rgba(255, 255, 255, 0.86);
}

@media (max-width: 980px) {
  .quote-section {
    width: 100vw;
    grid-template-columns: 1fr;
    gap: 54px;
    padding-inline: max(24px, calc((100vw - 720px) / 2));
  }

  .quote-copy {
    position: static;
  }

  .quote-copy h2 {
    max-width: 10ch;
  }

  .quote-copy > p {
    max-width: 620px;
  }

  .quote-proof {
    max-width: 620px;
  }

  .quote-form {
    max-width: none;
    justify-self: stretch;
  }
}

@media (max-width: 640px) {
  .quote-section {
    gap: 42px;
    margin: 0 calc(50% - 50vw);
    padding: 72px 18px 64px;
  }

  .quote-section::before {
    top: 20px;
    right: 18px;
  }

  .quote-copy h2 {
    max-width: 9ch;
    font-size: clamp(3rem, 15vw, 4.4rem);
  }

  .quote-copy > p {
    font-size: 0.92rem;
  }

  .quote-form {
    gap: 22px;
    padding: 24px 18px;
  }

  .quote-form-grid,
  .quote-addons {
    grid-template-columns: 1fr;
  }

  .quote-addons label {
    min-height: 48px;
  }

  .quote-submit {
    width: 100%;
  }
}

/* Partner — private owner program */
.partner-private-page {
  background: #050505;
  color: #f4f2ed;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.partner-private-page main {
  overflow: clip;
  background: #050505;
}

.partner-private-hero {
  position: relative;
  display: flex;
  min-height: 100svh;
  align-items: flex-end;
  isolation: isolate;
  overflow: hidden;
  background: #060606;
}

.partner-private-hero-media {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% center;
  filter: saturate(0.68) contrast(1.08) brightness(0.72);
  transform: scale(1.035);
  animation: partnerPrivateMediaIn 1.8s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.partner-private-hero-shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94) 0%, rgba(0, 0, 0, 0.78) 32%, rgba(0, 0, 0, 0.2) 67%, rgba(0, 0, 0, 0.42) 100%),
    linear-gradient(0deg, rgba(0, 0, 0, 0.88) 0%, transparent 48%, rgba(0, 0, 0, 0.18) 100%);
}

.partner-private-hero-frame {
  position: absolute;
  inset: 94px 28px 28px;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, 0.2);
  opacity: 0;
  animation: partnerPrivateFade 1s 0.5s ease forwards;
}

.partner-private-hero-inner {
  width: min(1440px, calc(100% - 128px));
  margin: 0 auto;
  padding: clamp(170px, 18vh, 230px) 0 clamp(112px, 13vh, 150px);
}

.partner-private-kicker,
.partner-private-section-head > p,
.partner-private-standard-copy > p:first-child,
.partner-private-application-copy > p:first-child,
.partner-private-form-head p {
  margin: 0 0 24px;
  color: #f4f2ed;
  font-size: 0.69rem;
  font-weight: 600;
  letter-spacing: 0.24em;
  line-height: 1.3;
  text-transform: uppercase;
}

.partner-private-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  opacity: 0;
  animation: partnerPrivateRise 0.85s 0.25s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.partner-private-kicker::before {
  width: 34px;
  height: 1px;
  background: currentColor;
  content: "";
}

.partner-private-hero h1 {
  width: min-content;
  margin: 0;
  color: #fff;
  font-size: clamp(4.6rem, 8.4vw, 9.5rem);
  font-weight: 300;
  letter-spacing: -0.075em;
  line-height: 0.78;
  text-transform: uppercase;
}

.partner-private-hero h1 > span {
  display: block;
  overflow: hidden;
  padding: 0 0.08em 0.08em 0;
}

.partner-private-hero h1 > span > span {
  display: block;
  opacity: 0;
  transform: translateY(110%);
  animation: partnerPrivateTitle 1.05s 0.42s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.partner-private-hero h1 > span:nth-child(2) > span {
  animation-delay: 0.56s;
}

.partner-private-hero-copy {
  width: min(620px, 100%);
  max-width: 620px;
  margin: 38px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  font-weight: 300;
  letter-spacing: 0.015em;
  line-height: 1.65;
  opacity: 0;
  animation: partnerPrivateRise 0.9s 0.78s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.partner-private-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 38px;
  opacity: 0;
  animation: partnerPrivateRise 0.9s 0.92s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.partner-private-button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 0;
  font-size: 0.7rem;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 220ms ease, background 220ms ease, border-color 220ms ease;
}

.partner-private-button-light {
  border-color: #f4f2ed;
  background: #f4f2ed;
  color: #080808;
}

.partner-private-button-light:hover {
  border-color: #fff;
  background: #fff;
}

.partner-private-button-ghost {
  color: #fff;
}

.partner-private-button-ghost:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.1);
}

.partner-private-trust {
  display: flex;
  gap: 0;
  margin: 44px 0 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.61rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0;
  animation: partnerPrivateFade 0.9s 1.08s ease forwards;
}

.partner-private-trust span {
  padding: 0 17px;
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}

.partner-private-trust span:first-child {
  padding-left: 0;
  border-left: 0;
}

.partner-private-scroll {
  position: absolute;
  right: 50px;
  bottom: 49px;
  display: flex;
  align-items: center;
  gap: 16px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.59rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-decoration: none;
  text-transform: uppercase;
  transform: rotate(90deg) translateX(-100%);
  transform-origin: bottom right;
}

.partner-private-scroll i {
  position: relative;
  display: block;
  width: 54px;
  height: 1px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.24);
}

.partner-private-scroll i::after {
  position: absolute;
  inset: 0;
  background: #fff;
  content: "";
  transform: translateX(-100%);
  animation: partnerPrivateLine 2.6s 1.4s ease-in-out infinite;
}

.partner-private-process,
.partner-private-standard,
.partner-private-application {
  margin: 0 calc(50% - 50vw);
}

.partner-private-process {
  display: grid;
  grid-template-columns: minmax(300px, 0.8fr) minmax(540px, 1.2fr);
  gap: clamp(70px, 9vw, 170px);
  padding: clamp(110px, 12vw, 190px) max(64px, calc((100vw - 1440px) / 2));
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  background: #080808;
}

.partner-private-section-head h2,
.partner-private-standard-copy h2,
.partner-private-application-copy h2 {
  margin: 0;
  color: #f4f2ed;
  font-size: clamp(3rem, 5.5vw, 6.4rem);
  font-weight: 300;
  letter-spacing: -0.065em;
  line-height: 0.94;
  text-transform: uppercase;
}

.partner-private-steps {
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.38);
  list-style: none;
}

.partner-private-steps li {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 20px;
  padding: 34px 0 36px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.partner-private-steps li > span,
.partner-private-standards article > span,
.partner-private-review-note > span {
  color: rgba(255, 255, 255, 0.48);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.15em;
}

.partner-private-steps h3,
.partner-private-standards h3 {
  margin: 0 0 10px;
  color: #f4f2ed;
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-weight: 400;
  letter-spacing: -0.035em;
}

.partner-private-steps p,
.partner-private-standards p {
  max-width: 590px;
  margin: 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.95rem;
  font-weight: 300;
  line-height: 1.7;
}

.partner-private-standard {
  display: grid;
  grid-template-columns: minmax(300px, 0.82fr) minmax(600px, 1.18fr);
  gap: clamp(80px, 10vw, 190px);
  padding: clamp(110px, 12vw, 180px) max(64px, calc((100vw - 1440px) / 2));
  background: #efede8;
  color: #0b0b0b;
}

.partner-private-standard-copy > p:first-child,
.partner-private-standard-copy h2,
.partner-private-standard-copy > p {
  color: #0b0b0b;
}

.partner-private-standard-copy > p:not(:first-child) {
  max-width: 520px;
  margin: 30px 0 0;
  color: rgba(11, 11, 11, 0.67);
  font-size: 1rem;
  line-height: 1.75;
}

.partner-private-standard-copy > a {
  display: inline-flex;
  gap: 15px;
  margin-top: 35px;
  padding-bottom: 8px;
  border-bottom: 1px solid #0b0b0b;
  color: #0b0b0b;
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.14em;
  text-decoration: none;
  text-transform: uppercase;
}

.partner-private-standards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(11, 11, 11, 0.45);
  border-left: 1px solid rgba(11, 11, 11, 0.2);
}

.partner-private-standards article {
  min-height: 245px;
  padding: 30px;
  border-right: 1px solid rgba(11, 11, 11, 0.2);
  border-bottom: 1px solid rgba(11, 11, 11, 0.2);
}

.partner-private-standards article > span {
  display: block;
  margin-bottom: 62px;
  color: rgba(11, 11, 11, 0.5);
}

.partner-private-standards h3 {
  color: #0b0b0b;
}

.partner-private-standards p {
  color: rgba(11, 11, 11, 0.62);
}

.partner-private-application {
  display: grid;
  grid-template-columns: minmax(300px, 0.78fr) minmax(600px, 1.22fr);
  gap: clamp(70px, 9vw, 160px);
  padding: clamp(110px, 12vw, 180px) max(64px, calc((100vw - 1440px) / 2));
  background:
    radial-gradient(circle at 14% 45%, rgba(255, 255, 255, 0.055), transparent 30%),
    #070707;
}

.partner-private-application-copy > p:nth-of-type(2) {
  max-width: 520px;
  margin: 30px 0 0;
  color: rgba(255, 255, 255, 0.6);
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.75;
}

.partner-private-review-note {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 16px;
  max-width: 540px;
  margin-top: 52px;
  padding-top: 23px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.partner-private-review-note p {
  margin: 0;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.84rem;
  line-height: 1.65;
}

.partner-private-review-note strong {
  color: #f4f2ed;
  font-weight: 500;
}

.partner-private-application .partner-private-form {
  display: grid;
  gap: 30px;
  padding: 36px 40px 40px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 0;
  background: rgba(12, 12, 12, 0.76);
  box-shadow: none;
  backdrop-filter: blur(12px);
}

.partner-private-form-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.partner-private-form-head p {
  margin: 0;
}

.partner-private-form-head span {
  color: rgba(255, 255, 255, 0.42);
  font-size: 0.6rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.partner-private-application .partner-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 25px 24px;
}

.partner-private-application .partner-private-form label {
  display: grid;
  gap: 9px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.59rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.partner-private-application .partner-private-form input,
.partner-private-application .partner-private-form select,
.partner-private-application .partner-private-form textarea {
  width: 100%;
  min-height: 47px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 0;
  outline: 0;
  background: transparent;
  box-shadow: none;
  color: #f4f2ed;
  font: 300 0.95rem/1.4 "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: normal;
  text-transform: none;
  transition: border-color 180ms ease;
}

.partner-private-application .partner-private-form textarea {
  min-height: 112px;
  resize: vertical;
}

.partner-private-application .partner-private-form input::placeholder,
.partner-private-application .partner-private-form textarea::placeholder {
  color: rgba(255, 255, 255, 0.27);
}

.partner-private-application .partner-private-form input:focus,
.partner-private-application .partner-private-form select:focus,
.partner-private-application .partner-private-form textarea:focus {
  border-bottom-color: #f4f2ed;
}

.partner-private-application .partner-form-actions {
  display: grid;
  grid-template-columns: minmax(200px, 0.8fr) minmax(240px, 1.2fr);
  align-items: center;
  gap: 24px;
  margin: 0;
}

.partner-private-submit {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 20px;
  border: 1px solid #f4f2ed;
  border-radius: 0;
  background: #f4f2ed;
  color: #080808;
  cursor: pointer;
  font-size: 0.67rem;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background 180ms ease, color 180ms ease;
}

.partner-private-submit:hover {
  background: #fff;
}

.partner-private-application .partner-form-actions p {
  margin: 0;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.68rem;
  line-height: 1.6;
}

@keyframes partnerPrivateMediaIn {
  from { opacity: 0; transform: scale(1.11); }
  to { opacity: 1; transform: scale(1.035); }
}

@keyframes partnerPrivateTitle {
  from { opacity: 0; transform: translateY(110%); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes partnerPrivateRise {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes partnerPrivateFade {
  to { opacity: 1; }
}

@keyframes partnerPrivateLine {
  0%, 20% { transform: translateX(-100%); }
  60%, 100% { transform: translateX(100%); }
}

@media (max-width: 1024px) {
  .partner-private-hero-inner {
    width: calc(100% - 72px);
  }

  .partner-private-process,
  .partner-private-standard,
  .partner-private-application {
    grid-template-columns: 1fr;
    gap: 64px;
    padding-right: 36px;
    padding-left: 36px;
  }

  .partner-private-section-head h2,
  .partner-private-standard-copy h2,
  .partner-private-application-copy h2 {
    max-width: 760px;
  }

  .partner-private-application .partner-private-form {
    max-width: 820px;
  }
}

@media (max-width: 700px) {
  .partner-private-hero {
    min-height: 760px;
  }

  .partner-private-hero-media {
    object-position: 68% center;
  }

  .partner-private-hero-shade {
    background:
      linear-gradient(90deg, rgba(0, 0, 0, 0.91), rgba(0, 0, 0, 0.26)),
      linear-gradient(0deg, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.23) 65%, rgba(0, 0, 0, 0.4) 100%);
  }

  .partner-private-hero-frame {
    inset: 82px 12px 12px;
  }

  .partner-private-hero-inner {
    width: calc(100% - 42px);
    padding: 150px 0 74px;
  }

  .partner-private-kicker {
    margin-bottom: 18px;
    font-size: 0.59rem;
  }

  .partner-private-hero h1 {
    font-size: clamp(3.85rem, 19vw, 5.8rem);
    line-height: 0.82;
  }

  .partner-private-hero-copy {
    width: 100%;
    max-width: none;
    margin-top: 26px;
    font-size: 0.94rem;
    line-height: 1.58;
    overflow-wrap: anywhere;
  }

  .partner-private-actions {
    display: grid;
    margin-top: 28px;
  }

  .partner-private-button {
    width: 100%;
  }

  .partner-private-trust {
    flex-wrap: wrap;
    gap: 8px 0;
    margin-top: 28px;
    font-size: 0.5rem;
  }

  .partner-private-trust span {
    padding: 0 9px;
  }

  .partner-private-scroll {
    display: none;
  }

  .partner-private-process,
  .partner-private-standard,
  .partner-private-application {
    gap: 46px;
    padding: 84px 21px;
  }

  .partner-private-section-head > p,
  .partner-private-standard-copy > p:first-child,
  .partner-private-application-copy > p:first-child {
    margin-bottom: 18px;
    font-size: 0.59rem;
  }

  .partner-private-section-head h2,
  .partner-private-standard-copy h2,
  .partner-private-application-copy h2 {
    font-size: clamp(2.8rem, 13vw, 4.3rem);
  }

  .partner-private-steps li {
    grid-template-columns: 38px 1fr;
    gap: 12px;
    padding: 27px 0;
  }

  .partner-private-steps h3 {
    font-size: 1.25rem;
  }

  .partner-private-standards {
    grid-template-columns: 1fr;
  }

  .partner-private-standards article {
    min-height: 0;
    padding: 24px;
  }

  .partner-private-standards article > span {
    margin-bottom: 34px;
  }

  .partner-private-application .partner-private-form {
    gap: 25px;
    padding: 25px 20px 24px;
  }

  .partner-private-form-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .partner-private-application .partner-form-grid,
  .partner-private-application .partner-form-actions {
    grid-template-columns: 1fr;
  }

  .partner-private-submit {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .partner-private-hero-media,
  .partner-private-hero-frame,
  .partner-private-kicker,
  .partner-private-hero h1 > span > span,
  .partner-private-hero-copy,
  .partner-private-actions,
  .partner-private-trust,
  .partner-private-scroll i::after {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

/* Partner final section compositions — intentionally distinct from the hero */
.partner-private-page .partner-private-process {
  display: block;
  background: #efede8;
  color: #0a0a0a;
}

.partner-private-page .partner-private-process .partner-private-section-head {
  display: grid;
  grid-template-columns: minmax(180px, 0.42fr) minmax(560px, 1.58fr);
  gap: 50px;
  align-items: start;
}

.partner-private-page .partner-private-process .partner-private-section-head > p,
.partner-private-page .partner-private-process .partner-private-section-head h2,
.partner-private-page .partner-private-process .partner-private-steps h3 {
  color: #0a0a0a;
}

.partner-private-page .partner-private-process .partner-private-section-head h2 {
  max-width: 1050px;
  font-size: clamp(3.7rem, 6.5vw, 7.4rem);
}

.partner-private-page .partner-private-process .partner-private-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(70px, 8vw, 120px);
  border-top-color: rgba(10, 10, 10, 0.5);
}

.partner-private-page .partner-private-process .partner-private-steps li {
  display: flex;
  min-height: 300px;
  flex-direction: column;
  justify-content: space-between;
  gap: 70px;
  padding: 28px 34px 34px;
  border-right: 1px solid rgba(10, 10, 10, 0.2);
  border-bottom: 0;
}

.partner-private-page .partner-private-process .partner-private-steps li:first-child {
  padding-left: 0;
}

.partner-private-page .partner-private-process .partner-private-steps li:last-child {
  padding-right: 0;
  border-right: 0;
}

.partner-private-page .partner-private-process .partner-private-steps li > span {
  color: rgba(10, 10, 10, 0.4);
}

.partner-private-page .partner-private-process .partner-private-steps p {
  color: rgba(10, 10, 10, 0.62);
}

.partner-private-page .partner-private-standard {
  display: block;
  padding: 0;
  background: #f4f1eb;
  color: #0a0a0a;
}

.partner-private-page .partner-private-standard-copy {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(110px, 12vw, 180px) 40px clamp(90px, 10vw, 145px);
  text-align: center;
}

.partner-private-page .partner-private-standard .partner-private-standard-copy > p:first-child {
  color: rgba(10, 10, 10, 0.58);
}

.partner-private-page .partner-private-standard .partner-private-standard-copy h2 {
  color: #0a0a0a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.5rem, 6.2vw, 7.2rem);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.065em;
  line-height: 0.95;
  text-transform: none;
}

.partner-private-page .partner-private-standard .partner-private-standard-copy > p:not(:first-child) {
  max-width: 610px;
  margin: 30px auto 0;
  color: rgba(10, 10, 10, 0.64);
}

.partner-private-page .partner-private-standard .partner-private-standard-copy > a {
  margin-top: 34px;
  border-bottom-color: #0a0a0a;
  color: #0a0a0a;
}

.partner-private-page .partner-private-standard .partner-private-standards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 0;
  background: #090909;
}

.partner-private-page .partner-private-standard .partner-private-standards article {
  display: flex;
  min-height: 280px;
  flex-direction: column;
  padding: 32px clamp(24px, 3vw, 52px) 38px;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.partner-private-page .partner-private-standard .partner-private-standards article:last-child {
  border-right: 0;
}

.partner-private-page .partner-private-standard .partner-private-standards article > span {
  display: block;
  margin: 0 0 auto;
  color: rgba(255, 255, 255, 0.4);
}

.partner-private-page .partner-private-standard .partner-private-standards h3 {
  margin-top: 70px;
  color: #f4f1eb;
  font-size: clamp(1.25rem, 1.6vw, 1.7rem);
}

.partner-private-page .partner-private-standard .partner-private-standards p {
  color: rgba(255, 255, 255, 0.5);
}

.partner-private-page .partner-private-application {
  background: #e5e2dc;
  color: #0a0a0a;
}

.partner-private-page .partner-private-application .partner-private-application-copy > p:first-child,
.partner-private-page .partner-private-application .partner-private-application-copy h2 {
  color: #0a0a0a;
}

.partner-private-page .partner-private-application .partner-private-application-copy > p:nth-of-type(2),
.partner-private-page .partner-private-application .partner-private-review-note p {
  color: rgba(10, 10, 10, 0.64);
}

.partner-private-page .partner-private-application .partner-private-review-note {
  border-top-color: rgba(10, 10, 10, 0.3);
}

.partner-private-page .partner-private-application .partner-private-review-note > span {
  color: rgba(10, 10, 10, 0.46);
}

.partner-private-page .partner-private-application .partner-private-review-note strong {
  color: #0a0a0a;
}

@media (max-width: 1024px) {
  .partner-private-page .partner-private-process .partner-private-section-head {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .partner-private-page .partner-private-standard .partner-private-standards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .partner-private-page .partner-private-standard .partner-private-standards article:nth-child(2) {
    border-right: 0;
  }

  .partner-private-page .partner-private-standard .partner-private-standards article:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }
}

@media (max-width: 700px) {
  .partner-private-page .partner-private-process .partner-private-steps {
    display: block;
    margin-top: 55px;
  }

  .partner-private-page .partner-private-process .partner-private-steps li,
  .partner-private-page .partner-private-process .partner-private-steps li:first-child,
  .partner-private-page .partner-private-process .partner-private-steps li:last-child {
    display: grid;
    min-height: 0;
    grid-template-columns: 38px 1fr;
    gap: 12px;
    padding: 27px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(10, 10, 10, 0.2);
  }

  .partner-private-page .partner-private-standard-copy {
    padding: 84px 21px 72px;
  }

  .partner-private-page .partner-private-standard .partner-private-standard-copy h2 {
    font-size: clamp(3rem, 14vw, 4.8rem);
  }

  .partner-private-page .partner-private-standard .partner-private-standards {
    grid-template-columns: 1fr;
  }

  .partner-private-page .partner-private-standard .partner-private-standards article,
  .partner-private-page .partner-private-standard .partner-private-standards article:nth-child(2) {
    min-height: 230px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }
}

.partner-collection-banner {
  position: relative;
  width: 100%;
  height: clamp(360px, 40vw, 760px);
  margin: 0 calc(50% - 50vw);
  overflow: hidden;
  background: #0a0a0a;
}

.partner-collection-banner::after {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, 0.15);
  pointer-events: none;
  content: "";
}

.partner-collection-banner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 700px) {
  .partner-collection-banner {
    height: clamp(300px, 78vw, 430px);
  }

  .partner-collection-banner img {
    object-position: 47% center;
  }
}

/* Fleet final-cascade guard (keep after all legacy page styles). */
.fleet-page .showroom-card,
.fleet-page .showroom-card:hover { display:block; overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; transform:none; }
.fleet-page .showroom-card-media,
.fleet-page .showroom-card-skeleton-media { aspect-ratio:4 / 3; border-radius:0; }
.fleet-page .showroom-card-media::before,
.fleet-page .showroom-card-media::after { display:none; }
.fleet-page .showroom-card-media img { inset:0; width:100%; height:100%; padding:0; object-fit:cover; }
.fleet-page .showroom-card-body { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:22px 0 17px; color:inherit; background:transparent; }
.fleet-page .showroom-card-body .showroom-card-title { display:block; min-width:0; }
.fleet-page .showroom-card-body span,
.fleet-page .showroom-card-body h3,
.fleet-page .showroom-card-body strong,
.fleet-page .showroom-card-body strong small { color:inherit; }
.fleet-page .showroom-card-body h3 { margin:7px 0 0; font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; font-size:clamp(1.22rem,1.8vw,1.8rem); font-weight:500; line-height:1.12; letter-spacing:-0.035em; }
.fleet-page .showroom-card-body strong { flex:0 0 auto; align-self:flex-end; margin:0 0 1px auto; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.35rem,1.8vw,1.85rem); font-weight:400; line-height:1.08; letter-spacing:-0.045em; white-space:nowrap; }
.fleet-page .showroom-card-body strong small { margin-left:5px; opacity:0.52; font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; font-size:0.56rem; font-weight:700; letter-spacing:0.11em; vertical-align:0.18em; }
.fleet-page .showroom-request { width:100%; min-height:48px; display:flex; align-items:center; justify-content:space-between; border:0; border-top:1px solid currentColor; border-radius:0; background:transparent; color:inherit; padding:14px 0 0; }
@media (max-width:760px) {
  .fleet-hero-copy,
  .fleet-hero-concierge,
  .fleet-hero-concierge p { width:calc(100% - 14px); max-width:calc(100% - 14px); white-space:normal; overflow-wrap:anywhere; }
  .fleet-brand-gallery h2 { max-width:310px; margin-inline:auto; font-size:clamp(2rem,8.6vw,2.55rem); letter-spacing:-0.06em; white-space:normal; overflow-wrap:normal; }
  .fleet-page .showroom-card-body { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; padding-right:16px; }
  .fleet-page .showroom-card-body strong { align-self:flex-end; margin:0 0 1px auto; font-size:1.28rem; }
  .fleet-page .showroom-card-body h3 { font-size:1.4rem; }
  .fleet-page .showroom-request { padding-right:14px; }
}

/* Luxury vehicle detail pages — final cascade. */
.vehicle-page { background:#080808; color:#f0eee8; font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; }
.vehicle-page .vehicle-header { background:rgba(7,7,7,.9); border-bottom:1px solid rgba(255,255,255,.12); backdrop-filter:blur(18px); }
.vehicle-private-page { padding-top:112px; overflow:hidden; }
.vehicle-private-back { width:min(1500px,calc(100% - 64px)); min-height:58px; display:flex; align-items:center; gap:14px; margin:0 auto; border-bottom:1px solid rgba(255,255,255,.18); color:rgba(240,238,232,.68); font-size:.67rem; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
.vehicle-private-back:hover { color:#fff; }

.vehicle-private-hero { position:relative; width:min(1500px,calc(100% - 64px)); margin:54px auto 72px; display:grid; grid-template-columns:1fr; gap:34px; }
.vehicle-private-title-card { position:relative; z-index:3; width:100%; min-height:300px; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"year category" "title price" "title action"; align-items:end; column-gap:70px; padding:clamp(32px,5vw,68px) 0; border-top:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); background:transparent; box-shadow:none; }
.vehicle-private-title-card > span { grid-area:year; align-self:start; color:rgba(240,238,232,.48); -webkit-text-stroke:0; font-size:.67rem; font-weight:750; line-height:1; letter-spacing:.17em; text-transform:uppercase; }
.vehicle-private-title-card > p { grid-area:category; align-self:start; justify-self:end; margin:0; color:rgba(240,238,232,.48); font-size:.66rem; font-weight:750; letter-spacing:.16em; text-transform:uppercase; }
.vehicle-private-title-card h1 { grid-area:title; max-width:980px; margin:28px 0 0; color:#f4f2ed; font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; font-size:clamp(3.7rem,7.4vw,8.2rem); font-weight:560; line-height:.82; letter-spacing:-.075em; text-transform:uppercase; }
.vehicle-private-title-card > strong { grid-area:price; justify-self:end; margin:0; color:#f4f2ed; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.7rem,2.4vw,2.5rem); font-weight:400; }
.vehicle-private-title-card > a { grid-area:action; align-self:end; justify-self:end; width:max-content; display:flex; gap:34px; margin-top:28px; border-bottom:1px solid rgba(240,238,232,.7); color:#f4f2ed; padding-bottom:9px; font-size:.68rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.vehicle-private-hero .vehicle-gallery-stage { grid-area:auto; width:100%; height:clamp(560px,62vw,900px); border:0; border-radius:0; box-shadow:none; }
.vehicle-private-hero .vehicle-gallery-stage img { width:100%; height:100%; object-fit:cover; }
.vehicle-private-hero .vehicle-gallery-nav { border-radius:0; border-color:rgba(255,255,255,.35); background:rgba(0,0,0,.55); color:#fff; }

.vehicle-private-photo-grid { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2px; background:#080808; }
.vehicle-private-photo-grid .vehicle-side-thumb { min-height:360px; border:0; border-radius:0; opacity:1; transform:none; }
.vehicle-private-photo-grid .vehicle-side-thumb img { width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; transition:transform 650ms cubic-bezier(.2,.75,.25,1); }
.vehicle-private-photo-grid .vehicle-side-thumb:hover img { transform:scale(1.025); }

.vehicle-private-information { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr); gap:clamp(48px,7vw,120px); padding:clamp(90px,10vw,160px) max(5vw,32px); color:#111; background:#efede7; }
.vehicle-private-overview { max-width:920px; }
.vehicle-private-overview > .eyebrow,
.vehicle-private-request > .eyebrow,
.vehicle-private-inclusions > .eyebrow,
.vehicle-private-rates > .eyebrow,
.vehicle-private-essentials .eyebrow,
.vehicle-private-faq .eyebrow { margin:0 0 18px; color:inherit; opacity:.52; font-size:.65rem; font-weight:750; letter-spacing:.17em; text-transform:uppercase; }
.vehicle-private-overview > h2 { max-width:800px; margin:0; font-size:clamp(3.2rem,7vw,7.4rem); font-weight:580; line-height:.84; letter-spacing:-.075em; text-transform:uppercase; }
.vehicle-private-summary { max-width:760px; margin:38px 0 0; color:rgba(17,17,17,.65); font-size:clamp(1.05rem,1.45vw,1.3rem); line-height:1.7; }
.vehicle-private-specs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:62px; border-top:1px solid rgba(17,17,17,.3); border-left:1px solid rgba(17,17,17,.3); }
.vehicle-private-specs div { min-height:135px; display:grid; align-content:end; gap:8px; border-right:1px solid rgba(17,17,17,.3); border-bottom:1px solid rgba(17,17,17,.3); padding:22px; }
.vehicle-private-specs span { opacity:.5; font-size:.62rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.vehicle-private-specs strong { font-size:1rem; font-weight:600; }
.vehicle-private-inclusions,
.vehicle-private-rates { margin-top:70px; padding-top:28px; border-top:1px solid rgba(17,17,17,.3); }
.vehicle-private-inclusions ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:0; padding:0; list-style:none; }
.vehicle-private-inclusions li { min-height:58px; display:flex; align-items:center; gap:12px; border-bottom:1px solid rgba(17,17,17,.15); color:rgba(17,17,17,.72); }
.vehicle-private-inclusions .detail-check { width:18px; height:18px; }
.vehicle-private-rates .vehicle-rate-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
.vehicle-private-rates .vehicle-rate-card { border:1px solid rgba(17,17,17,.24); border-radius:0; background:transparent; color:#111; }
.vehicle-private-rates .vehicle-rate-card span,
.vehicle-private-rates .vehicle-rate-card strong,
.vehicle-private-rates .vehicle-rate-card small { color:#111; }
.vehicle-private-rates .vehicle-feature-tags span { border:1px solid rgba(17,17,17,.2); background:transparent; color:#111; }
.vehicle-private-rates > p:last-child { color:rgba(17,17,17,.58); line-height:1.6; }

.vehicle-private-request { position:sticky; top:110px; align-self:start; padding:clamp(30px,4vw,54px); color:#f0eee8; background:#111; box-shadow:0 28px 80px rgba(17,17,17,.18); }
.vehicle-private-request h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.6rem,4vw,4.5rem); font-weight:400; line-height:.92; letter-spacing:-.055em; }
.vehicle-private-request > p:not(.eyebrow) { margin:22px 0; color:rgba(240,238,232,.62); line-height:1.65; }
.vehicle-request-rate { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:28px 0; padding:20px 0; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.vehicle-request-rate span { color:rgba(240,238,232,.54); font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; }
.vehicle-request-rate strong { font-family:Georgia,"Times New Roman",serif; font-size:1.75rem; font-weight:400; }
.vehicle-private-request form { display:grid; gap:13px; }
.vehicle-private-request label { display:grid; gap:7px; }
.vehicle-private-request label > span { color:rgba(240,238,232,.58); font-size:.62rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.vehicle-private-request input:not([type="checkbox"]) { width:100%; min-height:52px; border:1px solid rgba(255,255,255,.18); border-radius:0; background:rgba(255,255,255,.055); color:#fff; padding:0 15px; font:inherit; color-scheme:dark; }
.vehicle-request-dates { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.vehicle-private-request .vehicle-request-alternatives { display:flex; grid-template-columns:none; align-items:flex-start; gap:10px; margin:5px 0; }
.vehicle-request-alternatives input { margin-top:3px; accent-color:#f0eee8; }
.vehicle-private-request form > button { min-height:58px; display:flex; align-items:center; justify-content:space-between; border:0; border-radius:0; background:#f0eee8; color:#111; padding:0 20px; font:inherit; font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.vehicle-private-request form > button:disabled { opacity:.6; cursor:default; }
.vehicle-private-request form > p { margin:0; color:rgba(240,238,232,.5); font-size:.76rem; line-height:1.5; }
.vehicle-private-request form > p[data-tone="success"] { color:#b8d7b5; }
.vehicle-private-request form > p[data-tone="error"] { color:#efaaaa; }
.vehicle-request-call { display:block; margin-top:22px; border-top:1px solid rgba(255,255,255,.18); color:#f0eee8; padding-top:18px; font-size:.7rem; letter-spacing:.06em; }

.vehicle-private-essentials { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(50px,8vw,130px); padding:clamp(90px,11vw,170px) max(5vw,32px); background:#0d0d0d; }
.vehicle-private-essentials header h2 { margin:0; font-size:clamp(3.4rem,7vw,7.2rem); font-weight:580; line-height:.86; letter-spacing:-.075em; text-transform:uppercase; }
.vehicle-private-essentials > div { border-top:1px solid rgba(255,255,255,.2); }
.vehicle-private-essentials article { position:relative; min-height:150px; display:grid; grid-template-columns:55px 1fr 1fr; align-items:center; gap:24px; border-bottom:1px solid rgba(255,255,255,.2); }
.vehicle-private-essentials article > span { opacity:.42; font-size:.68rem; }
.vehicle-private-essentials h3 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.4rem,2vw,2.1rem); font-weight:400; }
.vehicle-private-essentials article p { margin:0; color:rgba(240,238,232,.55); line-height:1.65; }

.vehicle-private-faq { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(50px,8vw,130px); padding:clamp(90px,11vw,170px) max(5vw,32px); color:#111; background:#efede7; }
.vehicle-private-faq h2 { margin:0; font-size:clamp(3.4rem,7vw,7rem); font-weight:580; line-height:.82; letter-spacing:-.075em; text-transform:uppercase; }
.vehicle-private-faq h2 em { font-family:Georgia,"Times New Roman",serif; font-weight:400; text-transform:none; }
.vehicle-private-faq-list { border-top:1px solid rgba(17,17,17,.3); }
.vehicle-private-faq details { border-bottom:1px solid rgba(17,17,17,.3); }
.vehicle-private-faq summary { min-height:90px; display:flex; align-items:center; justify-content:space-between; gap:18px; cursor:pointer; font-size:clamp(1rem,1.5vw,1.35rem); font-weight:600; list-style:none; }
.vehicle-private-faq summary::-webkit-details-marker { display:none; }
.vehicle-private-faq summary span { font-family:Georgia,serif; font-size:1.5rem; font-weight:400; }
.vehicle-private-faq details[open] summary span { transform:rotate(45deg); }
.vehicle-private-faq details p { max-width:720px; margin:-5px 40px 28px 0; color:rgba(17,17,17,.62); line-height:1.7; }

.vehicle-private-page .vehicle-product-related { margin:0; padding:clamp(90px,10vw,150px) max(5vw,32px); background:#090909; }
.vehicle-private-page .vehicle-product-related .section-heading { margin-bottom:44px; }
.vehicle-private-page .related-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.vehicle-private-page .related-car { border:0; border-radius:0; background:transparent; }
.vehicle-private-page .related-car img { aspect-ratio:4/3; border-radius:0; }

@media (max-width:980px) {
  .vehicle-private-title-card { column-gap:30px; }
  .vehicle-private-hero .vehicle-gallery-stage { width:100%; height:clamp(500px,68vw,700px); }
  .vehicle-private-photo-grid .vehicle-side-thumb { min-height:240px; }
  .vehicle-private-information,
  .vehicle-private-essentials,
  .vehicle-private-faq { grid-template-columns:1fr; }
  .vehicle-private-request { position:relative; top:auto; }
}

@media (max-width:680px) {
  .vehicle-private-page { padding-top:86px; }
  .vehicle-private-back { width:calc(100% - 36px); }
  .vehicle-private-hero { width:100%; display:grid; margin:28px 0 2px; gap:0; }
  .vehicle-private-title-card { width:calc(100% - 36px); min-height:0; grid-template-columns:1fr auto; grid-template-areas:"year category" "title title" "price action"; gap:22px 12px; margin:0 18px; padding:28px 2px 34px; }
  .vehicle-private-title-card > span { font-size:.62rem; }
  .vehicle-private-title-card h1 { font-size:clamp(2rem,10vw,3.3rem); }
  .vehicle-private-title-card > strong { justify-self:start; font-size:1.45rem; }
  .vehicle-private-title-card > a { justify-self:end; gap:12px; margin:0; }
  .vehicle-private-hero .vehicle-gallery-stage { width:100%; height:72vw; min-height:300px; margin:0; padding:0; }
  .vehicle-private-photo-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .vehicle-private-photo-grid .vehicle-side-thumb { flex:0 0 84%; min-height:270px; scroll-snap-align:start; }
  .vehicle-private-information,
  .vehicle-private-essentials,
  .vehicle-private-faq { padding:82px 20px; }
  .vehicle-private-overview > h2,
  .vehicle-private-essentials header h2,
  .vehicle-private-faq h2 { max-width:100%; font-size:clamp(2.8rem,13vw,4rem); white-space:normal; overflow-wrap:normal; }
  .vehicle-private-specs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vehicle-private-inclusions ul { grid-template-columns:1fr; }
  .vehicle-request-dates { grid-template-columns:1fr; }
  .vehicle-private-request { padding:30px 22px; }
  .vehicle-private-essentials article { min-height:190px; grid-template-columns:38px 1fr; align-content:center; }
  .vehicle-private-essentials article p { grid-column:2; }
  .vehicle-private-page .related-grid { grid-template-columns:1fr; }
}

/* Original Prestiege Luxor's vehicle masthead: cinematic image, editorial identity band, curated filmstrip. */
.vehicle-private-hero {
  width:100%;
  max-width:none;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto auto;
  gap:0;
  margin:0;
}

.vehicle-private-hero .vehicle-gallery-stage {
  grid-area:auto;
  grid-column:1;
  grid-row:1;
  width:100%;
  height:clamp(620px,72svh,920px);
  background:#0a0a0a;
}

.vehicle-private-hero .vehicle-gallery-stage img {
  object-fit:cover;
  object-position:center 56%;
}

.vehicle-private-title-card {
  grid-column:1;
  grid-row:2;
  width:100%;
  min-height:330px;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);
  grid-template-areas:
    "meta price"
    "title action";
  align-items:end;
  gap:26px 70px;
  margin:0;
  border:0;
  background:#efede7;
  color:#111;
  padding:clamp(48px,7vw,96px) max(5vw,32px);
}

.vehicle-private-title-card > span {
  grid-area:meta;
  align-self:start;
  color:rgba(17,17,17,.52);
  font-size:.65rem;
}

.vehicle-private-title-card > p {
  grid-area:meta;
  align-self:start;
  justify-self:start;
  margin:0 0 0 72px;
  color:rgba(17,17,17,.52);
}

.vehicle-private-title-card h1 {
  grid-area:title;
  max-width:1050px;
  margin:0;
  color:#111;
  font-size:clamp(4rem,8.5vw,9.5rem);
  line-height:.78;
}

.vehicle-private-title-card > strong {
  grid-area:price;
  align-self:start;
  justify-self:end;
  color:#111;
  font-size:clamp(1.9rem,3vw,3.1rem);
}

.vehicle-private-title-card > a {
  grid-area:action;
  width:100%;
  min-height:62px;
  align-self:end;
  justify-self:stretch;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:0;
  border:1px solid #111;
  background:#111;
  color:#f4f2ed;
  padding:0 22px;
}

.vehicle-private-photo-grid {
  width:min(1500px,calc(100% - 64px));
  grid-template-columns:1.15fr .85fr 1.15fr;
  gap:18px;
  margin:clamp(70px,8vw,120px) auto;
  background:#080808;
}

.vehicle-private-photo-grid .vehicle-side-thumb {
  min-height:clamp(260px,30vw,470px);
}

.vehicle-private-photo-grid .vehicle-side-thumb:nth-child(2) {
  transform:translateY(54px);
}

.vehicle-private-photo-grid .vehicle-side-thumb:hover,
.vehicle-private-photo-grid .vehicle-side-thumb.active {
  transform:none;
}

.vehicle-private-photo-grid .vehicle-side-thumb:nth-child(2):hover,
.vehicle-private-photo-grid .vehicle-side-thumb:nth-child(2).active {
  transform:translateY(54px);
}

@media (max-width:680px) {
  .vehicle-private-hero { width:100%; margin:0; }
  .vehicle-private-hero .vehicle-gallery-stage { grid-row:1; height:68svh; min-height:500px; }
  .vehicle-private-title-card {
    grid-row:2;
    width:100%;
    grid-template-columns:1fr auto;
    grid-template-areas:
      "meta meta"
      "title title"
      "price price"
      "action action";
    gap:22px 12px;
    margin:0;
    padding:45px 20px 52px;
  }
  .vehicle-private-title-card > p { margin-left:68px; }
  .vehicle-private-title-card h1 { font-size:clamp(3rem,15vw,5rem); line-height:.82; }
  .vehicle-private-title-card > strong { justify-self:start; font-size:1.8rem; }
  .vehicle-private-title-card > a { justify-self:stretch; width:100%; min-height:58px; }
  .vehicle-private-photo-grid {
    width:100%;
    display:flex;
    gap:10px;
    margin:70px 0;
    padding-left:20px;
    overflow-x:auto;
  }
  .vehicle-private-photo-grid .vehicle-side-thumb,
  .vehicle-private-photo-grid .vehicle-side-thumb:nth-child(2),
  .vehicle-private-photo-grid .vehicle-side-thumb:nth-child(2):hover,
  .vehicle-private-photo-grid .vehicle-side-thumb:nth-child(2).active {
    flex:0 0 84%;
    min-height:280px;
    transform:none;
  }
}

/* Vehicle masthead v3: contained image beside a separate editorial identity panel. */
.vehicle-private-hero {
  width:min(1500px,calc(100% - 64px));
  display:grid;
  grid-template-columns:minmax(380px,.43fr) minmax(0,.57fr);
  grid-template-rows:clamp(540px,51vw,720px);
  gap:0;
  margin:54px auto 86px;
}

.vehicle-private-title-card {
  grid-column:1;
  grid-row:1;
  width:100%;
  min-height:0;
  height:100%;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto auto 1fr auto auto;
  grid-template-areas:
    "meta"
    "category"
    "title"
    "price"
    "action";
  align-items:start;
  gap:0;
  border:0;
  border-right:1px solid rgba(17,17,17,.18);
  background:#efede7;
  color:#111;
  padding:clamp(38px,5vw,72px);
}

.vehicle-private-title-card > span {
  grid-area:meta;
  color:rgba(17,17,17,.48);
}

.vehicle-private-title-card > p {
  grid-area:category;
  justify-self:start;
  margin:16px 0 0;
  color:rgba(17,17,17,.48);
}

.vehicle-private-title-card h1 {
  grid-area:title;
  align-self:center;
  max-width:100%;
  margin:36px 0;
  color:#111;
  font-size:clamp(3rem,5.4vw,6.4rem);
  line-height:.84;
}

.vehicle-private-title-card h1.vehicle-title-long {
  font-size:clamp(2.7rem,4.35vw,5.25rem);
  line-height:.87;
  letter-spacing:-.065em;
}

.vehicle-private-title-card h1.vehicle-title-extra-long {
  font-size:clamp(2.45rem,3.75vw,4.55rem);
  line-height:.9;
  letter-spacing:-.055em;
}

.vehicle-private-title-card > strong {
  grid-area:price;
  align-self:end;
  justify-self:start;
  color:#111;
  font-size:clamp(1.7rem,2.3vw,2.5rem);
}

.vehicle-private-title-card > a {
  grid-area:action;
  width:100%;
  min-height:60px;
  align-self:end;
  justify-self:stretch;
  margin-top:24px;
  border:1px solid #111;
  background:#111;
  color:#f4f2ed;
  padding:0 20px;
}

.vehicle-private-hero .vehicle-gallery-stage {
  grid-area:auto;
  grid-column:2;
  grid-row:1;
  width:100%;
  height:100%;
  min-height:0;
}

.vehicle-private-hero .vehicle-gallery-stage img {
  object-position:center;
}

@media (max-width:900px) {
  .vehicle-private-hero {
    grid-template-columns:minmax(280px,.44fr) minmax(0,.56fr);
    grid-template-rows:560px;
  }
  .vehicle-private-title-card { padding:38px 30px; }
  .vehicle-private-title-card h1 { font-size:clamp(2.8rem,6.8vw,4.7rem); }
}

@media (max-width:680px) {
  .vehicle-private-hero {
    width:100%;
    grid-template-columns:1fr;
    grid-template-rows:minmax(330px,62svh) auto;
    margin:24px 0 56px;
  }
  .vehicle-private-hero .vehicle-gallery-stage {
    grid-column:1;
    grid-row:1;
    width:100%;
    height:100%;
    min-height:330px;
  }
  .vehicle-private-title-card {
    grid-column:1;
    grid-row:2;
    width:100%;
    height:auto;
    min-height:430px;
    grid-template-areas:"meta" "category" "title" "price" "action";
    margin:0;
    border-right:0;
    padding:38px 20px 44px;
  }
  .vehicle-private-title-card h1 { margin:30px 0; font-size:clamp(3rem,15vw,4.8rem); }
  .vehicle-private-title-card > strong { font-size:1.8rem; }
}

/* Keep the supporting vehicle gallery perfectly level and uniform. */
.vehicle-private-photo-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}

.vehicle-private-photo-grid .vehicle-side-thumb,
.vehicle-private-photo-grid .vehicle-side-thumb:nth-child(2),
.vehicle-private-photo-grid .vehicle-side-thumb:hover,
.vehicle-private-photo-grid .vehicle-side-thumb.active,
.vehicle-private-photo-grid .vehicle-side-thumb:nth-child(2):hover,
.vehicle-private-photo-grid .vehicle-side-thumb:nth-child(2).active {
  width:100%;
  height:clamp(300px,29vw,455px);
  min-height:0;
  transform:none;
}

.vehicle-private-photo-grid .vehicle-side-thumb img {
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
}

@media (max-width:680px) {
  .vehicle-private-photo-grid .vehicle-side-thumb,
  .vehicle-private-photo-grid .vehicle-side-thumb:nth-child(2) {
    width:auto;
    height:290px;
  }
}

/* Product recommendations: uniform editorial cards with aligned vehicle and rate details. */
.vehicle-private-page .vehicle-product-related {
  padding-top:clamp(92px,10vw,150px);
  padding-bottom:clamp(100px,11vw,170px);
}

.vehicle-private-page .vehicle-product-related .section-heading {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.5fr);
  align-items:end;
  gap:24px 70px;
  margin-bottom:52px;
  padding-bottom:28px;
  border-bottom:1px solid rgba(255,255,255,.18);
}

.vehicle-private-page .vehicle-product-related .section-heading .eyebrow {
  grid-column:1 / -1;
  margin:0;
}

.vehicle-private-page .vehicle-product-related .section-heading h2 {
  margin:0;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:clamp(3rem,6vw,6.5rem);
  font-weight:560;
  line-height:.84;
  letter-spacing:-.065em;
  text-transform:uppercase;
}

.vehicle-private-page .vehicle-product-related .section-heading > p:last-child {
  max-width:420px;
  justify-self:end;
  margin:0;
  color:rgba(240,238,232,.52);
  line-height:1.65;
}

.vehicle-private-page .related-grid {
  gap:clamp(18px,2vw,32px);
  align-items:stretch;
}

.vehicle-private-page .related-car {
  min-width:0;
  min-height:100%;
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  gap:0;
  padding:0;
  border-top:1px solid rgba(255,255,255,.22);
  border-bottom:1px solid rgba(255,255,255,.22);
  overflow:visible;
  transition:border-color 240ms ease;
}

.vehicle-private-page .related-car:hover {
  transform:none;
  border-color:rgba(255,255,255,.72);
}

.vehicle-private-page .related-car-media {
  position:relative;
  overflow:hidden;
  margin-top:14px;
}

.vehicle-private-page .related-car-media img {
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  display:block;
  object-fit:cover;
  transition:transform 650ms cubic-bezier(.2,.75,.25,1),filter 350ms ease;
}

.vehicle-private-page .related-car:hover .related-car-media img {
  transform:scale(1.025);
  filter:brightness(1.05);
}

.vehicle-private-page .related-car-media > span {
  position:absolute;
  top:14px;
  right:14px;
  min-width:38px;
  min-height:38px;
  display:grid;
  place-items:center;
  margin:0;
  background:rgba(8,8,8,.76);
  color:#fff;
  font-size:.62rem;
  letter-spacing:.12em;
  backdrop-filter:blur(12px);
}

.vehicle-private-page .related-car-meta {
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid rgba(255,255,255,.14);
}

.vehicle-private-page .related-car-meta span,
.vehicle-private-page .related-car-meta small {
  margin:0;
  color:rgba(240,238,232,.5);
  font-size:.62rem;
  font-style:normal;
  font-weight:750;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.vehicle-private-page .related-car-main {
  min-height:132px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:18px;
  padding:24px 0 28px;
}

.vehicle-private-page .related-car-main strong {
  min-width:0;
  margin:0;
  color:#f4f2ed;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:clamp(1.35rem,2vw,2rem);
  font-weight:560;
  line-height:1.02;
  letter-spacing:-.04em;
  text-transform:uppercase;
}

.vehicle-private-page .related-car-main small {
  margin:0;
  color:#f4f2ed;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.15rem,1.5vw,1.45rem);
  font-weight:400;
  line-height:1;
  white-space:nowrap;
}

.vehicle-private-page .related-car-main small em {
  margin-left:3px;
  color:rgba(240,238,232,.48);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:.55em;
  font-style:normal;
  text-transform:uppercase;
}

.vehicle-private-page .related-car-action {
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:0;
  border-top:1px solid rgba(255,255,255,.14);
  color:rgba(240,238,232,.7);
  font-size:.65rem;
  font-weight:750;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.vehicle-private-page .related-car-action b {
  font-size:1rem;
  font-weight:400;
}

@media (max-width:900px) {
  .vehicle-private-page .vehicle-product-related .section-heading {
    grid-template-columns:1fr;
  }
  .vehicle-private-page .vehicle-product-related .section-heading > p:last-child {
    justify-self:start;
  }
  .vehicle-private-page .related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vehicle-private-page .related-car:last-child { display:none; }
}

@media (max-width:680px) {
  .vehicle-private-page .vehicle-product-related { padding-inline:20px; }
  .vehicle-private-page .vehicle-product-related .section-heading h2 { font-size:clamp(2.8rem,14vw,4rem); }
  .vehicle-private-page .related-grid { display:flex; gap:14px; margin-right:-20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .vehicle-private-page .related-car,
  .vehicle-private-page .related-car:last-child { flex:0 0 84%; display:grid; scroll-snap-align:start; }
  .vehicle-private-page .related-car-main { min-height:122px; }
}

/* Vehicle FAQ: light editorial accordion, isolated from the global dark details style. */
.vehicle-private-page .vehicle-private-faq-list {
  counter-reset:vehicle-faq;
  border-top:1px solid rgba(17,17,17,.34);
}

.vehicle-private-page .vehicle-private-faq details {
  counter-increment:vehicle-faq;
  margin:0;
  border:0;
  border-bottom:1px solid rgba(17,17,17,.28);
  border-radius:0;
  background:transparent;
  padding:0;
  color:#111;
  transition:background 220ms ease;
}

.vehicle-private-page .vehicle-private-faq details[open] {
  background:rgba(17,17,17,.045);
}

.vehicle-private-page .vehicle-private-faq summary {
  min-height:104px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 42px;
  align-items:center;
  gap:20px;
  padding:0 18px 0 0;
  color:#111;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:clamp(1rem,1.45vw,1.3rem);
  font-weight:600;
  line-height:1.25;
  letter-spacing:-.02em;
}

.vehicle-private-page .vehicle-private-faq summary::before {
  content:counter(vehicle-faq, decimal-leading-zero);
  color:rgba(17,17,17,.42);
  font-size:.62rem;
  font-weight:750;
  letter-spacing:.12em;
}

.vehicle-private-page .vehicle-private-faq summary span {
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  justify-self:end;
  border:1px solid rgba(17,17,17,.32);
  border-radius:50%;
  color:#111;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.25rem;
  font-weight:400;
  line-height:1;
  transition:transform 220ms ease,background 220ms ease,color 220ms ease;
}

.vehicle-private-page .vehicle-private-faq details[open] summary span {
  transform:rotate(45deg);
  background:#111;
  color:#efede7;
}

.vehicle-private-page .vehicle-private-faq details p {
  max-width:760px;
  margin:0;
  padding:0 76px 34px 72px;
  color:rgba(17,17,17,.64);
  font-size:1rem;
  line-height:1.7;
}

@media (hover:hover) {
  .vehicle-private-page .vehicle-private-faq details:not([open]):hover {
    background:rgba(17,17,17,.025);
  }
}

@media (max-width:680px) {
  .vehicle-private-page .vehicle-private-faq summary {
    min-height:92px;
    grid-template-columns:34px minmax(0,1fr) 36px;
    gap:10px;
    padding-right:4px;
    font-size:1rem;
  }
  .vehicle-private-page .vehicle-private-faq summary span {
    width:32px;
    height:32px;
  }
  .vehicle-private-page .vehicle-private-faq details p {
    padding:0 10px 28px 44px;
    font-size:.94rem;
  }
}

/* Remove the empty dark band beneath the supporting vehicle gallery. */
.vehicle-private-page .vehicle-private-photo-grid {
  margin-bottom:0;
}

/* Keep fleet controls in the page flow so they leave the screen while browsing cars. */
.fleet-page .fleet-showroom-toolbar-minimal {
  position:relative;
  top:auto;
}

/* Orange County showroom location page */
.oc-location-page {
  --oc-ink:#0a0a0a;
  --oc-paper:#f0eee8;
  --oc-gold:#d8b765;
  background:var(--oc-ink);
  color:var(--oc-paper);
  overflow-x:hidden;
}

.oc-location-page .site-header {
  background:rgba(8,8,8,.94);
  border-bottom-color:rgba(240,238,232,.12);
  backdrop-filter:blur(18px);
}

.oc-location-main {
  background:var(--oc-ink);
}

.oc-location-hero {
  position:relative;
  min-height:clamp(610px,76svh,780px);
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  border-bottom:1px solid rgba(240,238,232,.14);
}

.oc-location-hero-media {
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:62% 57%;
  filter:saturate(.92) contrast(1.03);
  animation:ocHeroReveal 1.2s cubic-bezier(.2,.8,.2,1) both;
}

.oc-location-hero-scrim {
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.78) 32%,rgba(0,0,0,.3) 60%,rgba(0,0,0,.06) 100%),
    linear-gradient(0deg,rgba(0,0,0,.58) 0%,transparent 42%);
}

.oc-location-hero-content {
  width:min(100% - 96px,1500px);
  margin:0 auto;
  padding:clamp(110px,14vh,150px) 0 clamp(72px,9vh,96px);
}

.oc-location-kicker,
.oc-section-heading p,
.oc-service-intro > p,
.oc-location-quote > div > p,
.oc-location-final > p {
  margin:0 0 22px;
  color:var(--oc-gold);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1.2;
  text-transform:uppercase;
}

.oc-location-hero h1 {
  max-width:760px;
  margin:0;
  color:#fff;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:clamp(4.15rem,6.6vw,7.3rem);
  font-weight:600;
  letter-spacing:0;
  line-height:.9;
  text-transform:uppercase;
  text-wrap:balance;
}

.oc-location-hero-content > p:not(.oc-location-kicker) {
  max-width:510px;
  margin:28px 0 0;
  color:rgba(255,255,255,.74);
  font-size:clamp(.98rem,1.15vw,1.12rem);
  line-height:1.55;
}

.oc-new-client-offer {
  width:fit-content;
  display:grid;
  grid-template-columns:auto auto;
  align-items:baseline;
  gap:4px 14px;
  margin-top:24px;
  padding:13px 16px 12px;
  border-left:3px solid var(--oc-gold);
  background:rgba(0,0,0,.38);
  backdrop-filter:blur(10px);
}

.oc-new-client-offer strong {
  color:var(--oc-gold);
  font-size:1rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.oc-new-client-offer span {
  color:#fff;
  font-size:.88rem;
  font-weight:600;
}

.oc-new-client-offer small {
  grid-column:1 / -1;
  color:rgba(255,255,255,.55);
  font-size:.67rem;
}

.oc-location-actions,
.oc-location-final > div {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  margin-top:32px;
}

.oc-location-primary,
.oc-location-secondary {
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  padding:0 28px;
  border:1px solid var(--oc-gold);
  border-radius:0;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:background 180ms ease,color 180ms ease,border-color 180ms ease;
}

.oc-location-primary {
  background:var(--oc-gold);
  color:#090909;
}

.oc-location-secondary {
  background:rgba(0,0,0,.22);
  color:#fff;
  border-color:rgba(255,255,255,.42);
}

.oc-location-primary:hover,
.oc-location-primary:focus-visible {
  background:#fff;
  border-color:#fff;
}

.oc-location-secondary:hover,
.oc-location-secondary:focus-visible {
  background:#fff;
  border-color:#fff;
  color:#0a0a0a;
}

.oc-location-featured {
  position:absolute;
  right:max(48px,calc((100vw - 1500px) / 2));
  bottom:42px;
  width:min(330px,28vw);
  display:flex;
  flex-direction:column;
  padding:22px 0 0;
  border-top:1px solid rgba(255,255,255,.58);
  color:#fff;
  transition:border-color 180ms ease;
}

.oc-location-featured span {
  color:var(--oc-gold);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.oc-location-featured strong {
  margin-top:8px;
  font-size:clamp(1.05rem,1.4vw,1.35rem);
  font-weight:600;
}

.oc-location-featured small {
  display:flex;
  justify-content:space-between;
  margin-top:6px;
  color:rgba(255,255,255,.65);
  font-size:.78rem;
}

.oc-location-featured b { color:#fff; font-size:1rem; font-weight:400; }
.oc-location-featured:hover,
.oc-location-featured:focus-visible { border-color:var(--oc-gold); }

.oc-location-fleet {
  padding:clamp(88px,10vw,164px) max(48px,calc((100vw - 1680px) / 2));
  background:var(--oc-paper);
  color:#111;
}

.oc-section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:50px;
}

.oc-section-heading h2,
.oc-service-intro h2,
.oc-location-quote h2,
.oc-location-final h2 {
  margin:0;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:clamp(2.8rem,5.7vw,6.8rem);
  font-weight:500;
  letter-spacing:0;
  line-height:.94;
  text-transform:uppercase;
}

.oc-section-heading > a {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:16px;
  padding-bottom:8px;
  border-bottom:1px solid currentColor;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.oc-showroom-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(24px,2.5vw,44px);
}

.oc-showroom-card { min-width:0; }

.oc-showroom-media {
  position:relative;
  aspect-ratio:4 / 3;
  display:block;
  overflow:hidden;
  background:#d6d3cc;
}

.oc-showroom-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform 500ms cubic-bezier(.2,.8,.2,1);
}

.oc-showroom-card:hover .oc-showroom-media img { transform:scale(1.025); }

.oc-showroom-card-copy {
  min-height:112px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:22px 0 18px;
}

.oc-showroom-card-copy span {
  color:rgba(17,17,17,.56);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.oc-showroom-card-copy h3 {
  margin:7px 0 0;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:clamp(1.35rem,2vw,2rem);
  font-weight:500;
  letter-spacing:0;
  line-height:1.05;
}

.oc-showroom-card-copy p {
  flex:0 0 auto;
  margin:0 0 2px;
  color:rgba(17,17,17,.58);
  font-size:.72rem;
  white-space:nowrap;
}

.oc-showroom-card-copy strong {
  color:#111;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.3rem;
  font-weight:400;
}

.oc-showroom-link {
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid #111;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.oc-location-service {
  padding:clamp(88px,9vw,144px) max(48px,calc((100vw - 1680px) / 2));
  background:
    linear-gradient(120deg,rgba(216,183,101,.07),transparent 32%),
    #090909;
}

.oc-service-intro {
  width:min(100%,980px);
  margin-bottom:clamp(48px,6vw,82px);
}

.oc-service-intro > p { margin-bottom:18px; }

.oc-service-intro h2 {
  max-width:860px;
  color:#fff;
  font-size:clamp(3rem,4.7vw,5.6rem);
  line-height:.92;
}

.oc-service-steps {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2vw,32px);
}

.oc-service-steps article {
  min-height:232px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:28px;
  border:1px solid rgba(240,238,232,.18);
  background:rgba(255,255,255,.025);
}

.oc-service-steps span {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  margin-bottom:auto;
  border:1px solid rgba(216,183,101,.52);
  color:var(--oc-gold);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
}

.oc-service-steps h3 {
  margin:34px 0 10px;
  color:#fff;
  font-size:clamp(1.15rem,1.5vw,1.45rem);
  font-weight:600;
  letter-spacing:0;
}

.oc-service-steps p {
  margin:0;
  color:rgba(240,238,232,.62);
  font-size:.92rem;
  line-height:1.6;
}

.oc-location-quote {
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(520px,1.18fr);
  gap:clamp(72px,9vw,148px);
  align-items:center;
  padding:clamp(96px,10vw,164px) max(48px,calc((100vw - 1680px) / 2));
  background:var(--oc-paper);
  color:#111;
}

.oc-location-quote > div {
  position:relative;
  padding-left:34px;
}

.oc-location-quote > div::before {
  content:"";
  position:absolute;
  top:2px;
  bottom:4px;
  left:0;
  width:3px;
  background:var(--oc-gold);
}

.oc-location-quote > div > p { color:#7f6221; }

.oc-location-quote h2 {
  max-width:560px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3.6rem,6.2vw,7rem);
  font-weight:400;
  line-height:.88;
  text-transform:none;
}

.oc-location-quote dl {
  position:relative;
  margin:0;
  width:100%;
  padding:26px 38px;
  border:1px solid rgba(17,17,17,.18);
  background:#fff;
  box-shadow:0 24px 70px rgba(35,29,18,.08);
}

.oc-location-quote dl::before {
  content:"QUOTE DETAILS";
  display:block;
  padding:0 0 22px;
  border-bottom:2px solid #111;
  color:#111;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.14em;
}

.oc-location-quote dl > div {
  display:grid;
  grid-template-columns:minmax(120px,.5fr) minmax(0,1fr);
  gap:24px;
  padding:24px 0;
  border-bottom:1px solid rgba(17,17,17,.28);
}

.oc-location-quote dt {
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.oc-location-quote dd {
  margin:0;
  color:rgba(17,17,17,.64);
  font-size:1rem;
}

.oc-location-final {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,900px) minmax(240px,300px);
  grid-template-rows:auto auto;
  grid-template-areas:
    "eyebrow actions"
    "headline actions";
  align-items:center;
  gap:64px;
  min-height:440px;
  padding:clamp(80px,9vw,132px) max(48px,calc((100vw - 1680px) / 2));
  overflow:hidden;
  background:var(--oc-gold);
  color:#0a0a0a;
  text-align:left;
}

.oc-location-final::before {
  content:"10%";
  position:absolute;
  right:4vw;
  bottom:-.22em;
  z-index:-1;
  color:rgba(255,255,255,.2);
  font-size:clamp(14rem,30vw,34rem);
  font-weight:800;
  letter-spacing:-.08em;
  line-height:.8;
}

.oc-location-final > p {
  grid-area:eyebrow;
  margin-bottom:16px;
  color:#0a0a0a;
}

.oc-location-final h2 {
  grid-area:headline;
  max-width:850px;
  color:#0a0a0a;
  font-size:clamp(3rem,5.6vw,6.5rem);
  line-height:.9;
}

.oc-location-final > div {
  grid-area:actions;
  display:grid;
  grid-template-columns:1fr;
  min-width:min(100%,280px);
  margin-top:0;
}

.oc-location-final .oc-location-primary {
  background:#0a0a0a;
  border-color:#0a0a0a;
  color:#fff;
}

.oc-location-final .oc-location-primary:hover,
.oc-location-final .oc-location-primary:focus-visible {
  background:#fff;
  border-color:#fff;
  color:#0a0a0a;
}

.oc-location-final .oc-location-secondary {
  background:transparent;
  border-color:rgba(10,10,10,.45);
  color:#0a0a0a;
}

@keyframes ocHeroReveal {
  from { opacity:0; transform:scale(1.035); }
  to { opacity:1; transform:scale(1); }
}

@media (max-width:980px) {
  .oc-location-hero-content { width:calc(100% - 48px); }
  .oc-location-featured { right:24px; width:260px; }
  .oc-showroom-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .oc-showroom-card:last-child { grid-column:1 / -1; width:calc(50% - 12px); }
  .oc-location-service,
  .oc-location-quote { grid-template-columns:1fr; gap:64px; }
  .oc-service-steps { grid-template-columns:1fr; }
  .oc-service-steps article { min-height:210px; }
  .oc-location-quote { background:var(--oc-paper); }
  .oc-location-final {
    grid-template-columns:1fr;
    grid-template-areas:"eyebrow" "headline" "actions";
    gap:0;
  }
  .oc-location-final > div { margin-top:38px; }
}

@media (max-width:680px) {
  .oc-location-page .site-header { min-height:72px; }
  .oc-location-hero { min-height:clamp(630px,calc(100svh - 72px),760px); align-items:flex-end; }
  .oc-location-hero-media { object-position:64% 48%; }
  .oc-location-hero-scrim {
    background:
      linear-gradient(0deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.72) 46%,rgba(0,0,0,.16) 78%,rgba(0,0,0,.12) 100%),
      linear-gradient(90deg,rgba(0,0,0,.42),transparent 72%);
  }
  .oc-location-hero-content {
    width:calc(100% - 36px);
    padding:260px 0 34px;
  }
  .oc-location-kicker { margin-bottom:13px; font-size:.6rem; }
  .oc-location-hero h1 { max-width:100%; font-size:clamp(2.8rem,13.5vw,3.75rem); line-height:.9; }
  .oc-location-hero-content > p:not(.oc-location-kicker) { max-width:340px; margin-top:18px; font-size:.91rem; line-height:1.5; }
  .oc-new-client-offer {
    width:100%;
    grid-template-columns:auto 1fr;
    gap:3px 10px;
    margin-top:18px;
    padding:11px 13px;
  }
  .oc-new-client-offer strong { font-size:.88rem; }
  .oc-new-client-offer span { font-size:.8rem; }
  .oc-new-client-offer small { font-size:.61rem; }
  .oc-location-actions { display:grid; grid-template-columns:1fr; margin-top:24px; }
  .oc-location-primary,
  .oc-location-secondary { width:100%; min-height:50px; }
  .oc-location-featured { display:none; }
  .oc-location-fleet,
  .oc-location-service,
  .oc-location-quote,
  .oc-location-final { padding-right:18px; padding-left:18px; }
  .oc-section-heading { align-items:flex-start; margin-bottom:34px; }
  .oc-section-heading h2,
  .oc-service-intro h2,
  .oc-location-quote h2,
  .oc-location-final h2 { font-size:clamp(2.5rem,13vw,4rem); }
  .oc-section-heading > a { flex:0 0 auto; font-size:0; }
  .oc-section-heading > a span { font-size:1.4rem; }
  .oc-showroom-grid { grid-template-columns:1fr; gap:50px; }
  .oc-showroom-card:last-child { grid-column:auto; width:auto; }
  .oc-showroom-card-copy { min-height:96px; padding-top:17px; }
  .oc-showroom-card-copy h3 { font-size:1.4rem; }
  .oc-showroom-card-copy strong { font-size:1.15rem; }
  .oc-location-service,
  .oc-location-quote { gap:48px; }
  .oc-service-steps article { min-height:190px; padding:22px; }
  .oc-service-steps h3 { margin-top:30px; }
  .oc-location-quote dl { padding:18px; }
  .oc-location-quote > div { padding-left:20px; }
  .oc-location-quote dl > div { grid-template-columns:1fr; gap:8px; }
  .oc-location-final { min-height:0; padding-top:78px; padding-bottom:78px; }
  .oc-location-final::before { right:-12vw; font-size:15rem; }
  .oc-location-final > div { display:grid; grid-template-columns:1fr; width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  .oc-location-hero-media { animation:none; }
  .oc-showroom-media img,
  .oc-location-primary,
  .oc-location-secondary { transition:none; }
  .oc-showroom-card:hover .oc-showroom-media img { transform:none; }
}

/*
 * Prestiege Luxor public-site theme
 *
 * The homepage is the visual source of truth. New public pages should add
 * `site-theme` to the body and compose the primitives below. Campaign and
 * admin surfaces intentionally keep their own product-specific systems.
 */
:root {
  --site-bg: #070606;
  --site-surface: #11100f;
  --site-surface-raised: #171513;
  --site-paper: #f0eee8;
  --site-paper-muted: #ded9cf;
  --site-text: #f8f5ef;
  --site-text-muted: #c8bfb2;
  --site-text-dark: #11100f;
  --site-gold: #d7b46a;
  --site-gold-bright: #f0ce83;
  --site-line: rgba(248, 245, 239, 0.14);
  --site-line-dark: rgba(17, 16, 15, 0.2);
  --site-container: 1180px;
  --site-container-wide: 1500px;
  --site-section-space: clamp(72px, 9vw, 144px);
  --site-gutter: clamp(18px, 4vw, 48px);
  --site-display: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --site-body: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --site-motion-fast: 180ms;
  --site-motion-enter: 420ms;
}

body.site-theme {
  min-width: 320px;
  background: var(--site-bg);
  color: var(--site-text);
  font-family: var(--site-body);
  letter-spacing: 0;
  overflow-x: clip;
}

.site-theme :where(h1, h2, h3, p) {
  text-wrap: pretty;
}

.site-shell {
  width: min(var(--site-container), calc(100% - (2 * var(--site-gutter))));
  margin-inline: auto;
}

.site-shell--wide {
  width: min(var(--site-container-wide), calc(100% - (2 * var(--site-gutter))));
  margin-inline: auto;
}

.site-section {
  position: relative;
  padding-block: var(--site-section-space);
  background: var(--site-bg);
  color: var(--site-text);
}

.site-section--surface {
  background: var(--site-surface);
}

.site-section--light {
  background: var(--site-paper);
  color: var(--site-text-dark);
}

.site-eyebrow,
.site-content-page .eyebrow {
  margin: 0 0 18px;
  color: var(--site-gold);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: uppercase;
}

.site-display {
  max-width: 12ch;
  margin: 0;
  font-family: var(--site-display);
  font-size: clamp(3rem, 7.2vw, 7.5rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.9;
  text-transform: uppercase;
}

.site-lead {
  max-width: 620px;
  margin: 24px 0 0;
  color: var(--site-text-muted);
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  line-height: 1.65;
}

.site-section--light .site-lead {
  color: #645f57;
}

.site-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.site-button {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid var(--site-line);
  border-radius: 2px;
  padding: 0 24px;
  background: transparent;
  color: var(--site-text);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
  transition: background var(--site-motion-fast) ease, border-color var(--site-motion-fast) ease, color var(--site-motion-fast) ease;
}

.site-button:hover {
  border-color: var(--site-text);
  background: var(--site-text);
  color: var(--site-text-dark);
}

.site-button--primary {
  border-color: var(--site-gold);
  background: var(--site-gold);
  color: var(--site-text-dark);
}

.site-button--primary:hover {
  border-color: var(--site-gold-bright);
  background: var(--site-gold-bright);
}

.site-section--light .site-button:not(.site-button--primary) {
  border-color: var(--site-line-dark);
  color: var(--site-text-dark);
}

.site-editorial-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  align-items: center;
  gap: clamp(48px, 8vw, 120px);
}

.site-media {
  min-height: clamp(360px, 52vw, 720px);
  overflow: hidden;
  background: var(--site-surface-raised);
}

.site-media img,
.site-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.site-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.site-card {
  min-height: 220px;
  border: 1px solid var(--site-line);
  border-radius: 2px;
  padding: clamp(22px, 3vw, 34px);
  background: var(--site-surface-raised);
}

/* Generated service and location pages inherit the homepage editorial rhythm. */
.site-content-page .seo-page-main {
  width: min(var(--site-container), calc(100% - (2 * var(--site-gutter))));
  padding: clamp(148px, 17vw, 210px) 0 var(--site-section-space);
}

.site-content-page .seo-page-hero {
  max-width: 980px;
  margin-bottom: clamp(64px, 9vw, 120px);
}

.site-content-page .seo-page-hero h1 {
  max-width: 12ch;
  margin: 0;
  font-family: var(--site-display);
  font-size: clamp(3.1rem, 7.5vw, 7.4rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.9;
  text-transform: uppercase;
}

.site-content-page .seo-page-lead {
  max-width: 660px;
  margin-top: 26px;
  color: var(--site-text-muted);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.65;
}

.site-content-page .seo-page-actions {
  margin-top: 34px;
}

.site-content-page .seo-copy {
  gap: 0;
}

.site-content-page .seo-copy > section {
  width: 100%;
  max-width: none;
  border-top: 1px solid var(--site-line);
  padding-block: clamp(54px, 7vw, 92px);
}

.site-content-page .seo-copy h2 {
  max-width: 15ch;
  margin: 0 0 22px;
  font-family: var(--site-display);
  font-size: clamp(2.2rem, 4.5vw, 4.5rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.94;
  text-transform: uppercase;
}

.site-content-page .seo-card-grid {
  gap: 16px;
}

.site-content-page .seo-card {
  min-height: 190px;
  border-radius: 2px;
  padding: clamp(22px, 3vw, 34px);
  background: var(--site-surface-raised);
}

@media (max-width: 900px) {
  .site-editorial-grid,
  .site-card-grid {
    grid-template-columns: 1fr;
  }

  .site-editorial-grid {
    gap: 42px;
  }

  .site-media {
    min-height: min(72vw, 560px);
  }
}

@media (max-width: 640px) {
  :root {
    --site-section-space: 72px;
    --site-gutter: 18px;
  }

  .site-display,
  .site-content-page .seo-page-hero h1 {
    max-width: 100%;
    font-size: clamp(2.75rem, 13vw, 4.15rem);
    line-height: 0.92;
  }

  .site-actions,
  .site-content-page .seo-page-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .site-button,
  .site-content-page .seo-page-actions a {
    width: 100%;
    min-height: 52px;
  }

  .site-content-page .seo-page-main {
    padding-top: 124px;
  }

  .site-content-page .seo-page-hero {
    margin-bottom: 58px;
  }

  .site-content-page .seo-card-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-theme *,
  .site-theme *::before,
  .site-theme *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Dedicated rental FAQ */
.faq-guide-page {
  overflow-x: clip;
  background: #070606;
}

.faq-guide-page em {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}

.faq-guide-hero {
  width: min(1320px, calc(100% - 48px));
  min-height: min(900px, 100dvh);
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(460px, 1.08fr);
  grid-template-rows: 1fr auto;
  align-items: center;
  gap: 42px clamp(42px, 6vw, 92px);
  margin: 0 auto;
  padding: 132px 0 38px;
}

.faq-guide-hero-copy {
  max-width: 620px;
}

.faq-guide-hero-copy h1 {
  max-width: 8ch;
  margin: 16px 0 24px;
  color: #f8f5ef;
  font-family: var(--display);
  font-size: clamp(4.9rem, 8vw, 8.5rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.78;
  text-transform: uppercase;
}

.faq-guide-hero-copy h1 em {
  color: var(--gold-strong);
  font-size: 0.82em;
  text-transform: none;
}

.faq-guide-lead {
  max-width: 570px;
  margin: 0;
  color: #bdb5aa;
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  line-height: 1.65;
}

.faq-guide-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 34px;
}

.faq-text-link {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid rgba(248, 245, 239, 0.34);
  color: #f8f5ef;
  font-size: 0.88rem;
  font-weight: 700;
}

.faq-guide-hero-media {
  position: relative;
  min-width: 0;
  height: clamp(430px, 60vh, 670px);
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(215, 180, 106, 0.3);
  background: #151310;
}

.faq-guide-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(4, 4, 4, 0.74));
  pointer-events: none;
}

.faq-guide-hero-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 61% center;
  transform: scale(1.02);
  animation: faqImageIn 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.faq-guide-hero-media figcaption {
  position: absolute;
  z-index: 1;
  right: 22px;
  bottom: 20px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.faq-guide-essentials {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto 1fr auto 1fr;
  gap: 12px 20px;
  align-items: center;
  border-top: 1px solid rgba(248, 245, 239, 0.15);
  padding-top: 30px;
}

.faq-guide-essentials span {
  color: var(--gold);
  font-size: 0.7rem;
  font-weight: 800;
}

.faq-guide-essentials strong {
  color: #f8f5ef;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.faq-guide-workspace {
  background: #f2f0eb;
  color: #11100f;
  padding: clamp(74px, 8vw, 124px) max(24px, calc((100vw - 1320px) / 2));
}

.faq-library-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 440px);
  gap: 50px;
  align-items: end;
  padding-bottom: clamp(38px, 5vw, 64px);
}

.faq-library-head .eyebrow,
.faq-checklist .eyebrow {
  color: #8c6d2d;
}

.faq-library-head h2 {
  max-width: 10ch;
  margin: 12px 0 0;
  font-family: var(--display);
  font-size: clamp(3.2rem, 6vw, 6.5rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.84;
  text-transform: uppercase;
}

.faq-library-head > p {
  max-width: 420px;
  margin: 0;
  color: #6c6861;
  line-height: 1.7;
}

.faq-search-shell {
  position: sticky;
  z-index: 6;
  top: 88px;
  display: grid;
  grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.25fr);
  gap: 14px;
  margin-bottom: 52px;
  border: 1px solid #d4d0c8;
  background: rgba(242, 240, 235, 0.94);
  padding: 12px;
  backdrop-filter: blur(18px);
}

.faq-search {
  min-width: 0;
  min-height: 56px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid #cbc6bc;
  background: #fff;
  padding: 0 16px;
}

.faq-search svg {
  width: 20px;
  fill: none;
  stroke: #141310;
  stroke-width: 1.8;
}

.faq-search input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #12110f;
  font: inherit;
}

.faq-search input::placeholder {
  color: #817c73;
}

.faq-search kbd {
  border: 1px solid #d5d1c9;
  background: #f3f1ed;
  color: #716c64;
  padding: 4px 8px;
  font: 700 0.7rem var(--sans);
}

.faq-category-rail {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: none;
}

.faq-category-rail::-webkit-scrollbar {
  display: none;
}

.faq-category-rail button {
  min-height: 44px;
  flex: 0 0 auto;
  border: 1px solid transparent;
  background: transparent;
  color: #5f5a52;
  padding: 0 14px;
  cursor: pointer;
  font: 700 0.78rem var(--sans);
  white-space: nowrap;
}

.faq-category-rail button:hover,
.faq-category-rail button.active {
  border-color: #171512;
  background: #171512;
  color: #fff;
}

.faq-library {
  display: grid;
  grid-template-columns: minmax(270px, 340px) minmax(0, 1fr);
  gap: clamp(38px, 6vw, 92px);
  align-items: start;
}

.faq-checklist {
  position: sticky;
  top: 190px;
  background: #11100f;
  color: #f8f5ef;
  padding: 34px;
}

.faq-checklist h2 {
  margin: 10px 0 30px;
  font-family: var(--display);
  font-size: clamp(2.2rem, 3.2vw, 3.5rem);
  line-height: 0.9;
  text-transform: uppercase;
}

.faq-checklist ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.faq-checklist li {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  padding: 18px 0;
}

.faq-checklist li > span {
  color: var(--gold);
  font-size: 0.68rem;
  font-weight: 800;
}

.faq-checklist li p {
  display: grid;
  gap: 6px;
  margin: 0;
  color: #9f978c;
  font-size: 0.82rem;
  line-height: 1.5;
}

.faq-checklist li strong {
  color: #f8f5ef;
  font-size: 0.9rem;
}

.faq-checklist > a {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 20px;
  background: var(--gold);
  color: #11100f;
  padding: 0 18px;
  font-size: 0.84rem;
  font-weight: 800;
}

.faq-question-list {
  min-width: 0;
}

.faq-category {
  display: grid;
  grid-template-columns: minmax(170px, 0.42fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 64px);
  border-top: 1px solid #c9c4bb;
  padding: 38px 0 62px;
}

.faq-category-label {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.faq-category-label span {
  color: #9a7834;
  font-size: 0.68rem;
  font-weight: 800;
}

.faq-category-label h3 {
  margin: 0;
  font-family: var(--display);
  font-size: 1.35rem;
  line-height: 1;
  text-transform: uppercase;
}

.faq-category-questions details {
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #c9c4bb;
  border-radius: 0;
  background: transparent;
}

.faq-category-questions summary {
  min-height: 74px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28px;
  gap: 18px;
  align-items: center;
  cursor: pointer;
  color: #171512;
  -webkit-text-fill-color: #171512;
  font-size: clamp(0.98rem, 1.3vw, 1.12rem);
  font-weight: 750;
  list-style: none;
}

.faq-category-questions summary:hover,
.faq-category-questions summary:focus-visible,
.faq-category-questions details[open] summary {
  color: #171512;
  -webkit-text-fill-color: #171512;
}

.faq-category-questions summary::-webkit-details-marker {
  display: none;
}

.faq-category-questions summary span {
  position: relative;
  width: 28px;
  height: 28px;
  border: 1px solid #aaa49a;
  border-radius: 50%;
}

.faq-category-questions summary span::before,
.faq-category-questions summary span::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 1px;
  background: #171512;
  transform: translate(-50%, -50%);
}

.faq-category-questions summary span::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: transform 180ms ease;
}

.faq-category-questions details[open] summary span::after {
  transform: translate(-50%, -50%) rotate(0);
}

.faq-category-questions details > p {
  max-width: 720px;
  margin: -4px 50px 26px 0;
  color: #625d55;
  line-height: 1.72;
}

.faq-empty {
  border-top: 1px solid #c9c4bb;
  margin: 0;
  padding: 44px 0;
  color: #625d55;
}

.faq-final-cta {
  width: min(1320px, calc(100% - 48px));
  min-height: 620px;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  gap: clamp(48px, 8vw, 130px);
  align-items: center;
  margin: 0 auto;
  padding: clamp(80px, 10vw, 150px) 0;
}

.faq-final-cta h2 {
  max-width: 10ch;
  margin: 14px 0 0;
  font-family: var(--display);
  font-size: clamp(4rem, 7vw, 7.6rem);
  line-height: 0.82;
  text-transform: uppercase;
}

.faq-final-cta h2 em {
  color: var(--gold-strong);
  text-transform: none;
}

.faq-final-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.faq-final-actions p {
  grid-column: 1 / -1;
  margin: 0 0 18px;
  color: #aaa196;
  line-height: 1.7;
}

@keyframes faqImageIn {
  from {
    opacity: 0;
    transform: scale(1.08);
  }
  to {
    opacity: 1;
    transform: scale(1.02);
  }
}

@media (max-width: 980px) {
  .faq-guide-hero {
    min-height: auto;
    grid-template-columns: 1fr;
    padding-top: 116px;
  }

  .faq-guide-hero-copy {
    max-width: 760px;
  }

  .faq-guide-hero-copy h1 {
    max-width: none;
    font-size: clamp(4.5rem, 12vw, 7rem);
  }

  .faq-guide-hero-media {
    height: min(65vw, 560px);
  }

  .faq-guide-essentials {
    grid-template-columns: auto 1fr auto 1fr;
  }

  .faq-search-shell {
    position: static;
    grid-template-columns: 1fr;
  }

  .faq-library {
    grid-template-columns: 1fr;
  }

  .faq-checklist {
    position: static;
    display: grid;
    grid-template-columns: minmax(180px, 0.7fr) minmax(0, 1.3fr);
    gap: 0 34px;
  }

  .faq-checklist .eyebrow,
  .faq-checklist h2,
  .faq-checklist > a {
    grid-column: 1;
  }

  .faq-checklist ol {
    grid-column: 2;
    grid-row: 1 / span 4;
  }
}

@media (max-width: 720px) {
  .faq-guide-page .site-header {
    padding-inline: 16px;
  }

  .faq-guide-hero,
  .faq-final-cta {
    width: min(100% - 36px, 1320px);
  }

  .faq-guide-hero {
    gap: 30px;
    padding-top: 106px;
  }

  .faq-guide-hero-copy h1 {
    max-width: 7ch;
    margin-top: 12px;
    font-size: clamp(3.8rem, 20vw, 5.5rem);
    line-height: 0.8;
  }

  .faq-guide-lead {
    font-size: 0.98rem;
  }

  .faq-guide-actions {
    display: grid;
    gap: 10px;
  }

  .faq-guide-actions .primary-button,
  .faq-text-link {
    width: 100%;
  }

  .faq-text-link {
    justify-content: space-between;
    padding-inline: 4px;
  }

  .faq-guide-hero-media {
    height: 62vw;
    min-height: 270px;
  }

  .faq-guide-essentials {
    grid-template-columns: auto 1fr;
    gap: 14px;
    padding-top: 22px;
  }

  .faq-guide-workspace {
    padding-inline: 18px;
  }

  .faq-library-head {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .faq-library-head h2 {
    font-size: clamp(3.4rem, 17vw, 5.1rem);
  }

  .faq-search-shell {
    margin-inline: -6px;
    padding: 7px;
  }

  .faq-search kbd {
    display: none;
  }

  .faq-search {
    grid-template-columns: 22px minmax(0, 1fr);
  }

  .faq-category-rail {
    padding-bottom: 2px;
  }

  .faq-checklist {
    display: block;
    padding: 28px 24px;
  }

  .faq-category {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 30px 0 48px;
  }

  .faq-category-label h3 {
    font-size: 1.25rem;
  }

  .faq-category-questions summary {
    min-height: 70px;
    font-size: 0.96rem;
  }

  .faq-category-questions details > p {
    margin-right: 14px;
    font-size: 0.92rem;
  }

  .faq-final-cta {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .faq-final-cta h2 {
    font-size: clamp(3.6rem, 17vw, 5.1rem);
  }

  .faq-final-actions {
    grid-template-columns: 1fr;
  }

  .faq-final-actions p {
    grid-column: auto;
  }
}

/* Wedding service page: partner-page typography with a more ceremonial editorial rhythm. */
.wedding-page {
  overflow-x: clip;
  background: #050505;
  color: #f4f1ea;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.wedding-page main {
  overflow: clip;
}

.wedding-page .site-header {
  border-bottom-color: rgba(255, 255, 255, 0.1);
  background: rgba(5, 5, 5, 0.92);
}

.wedding-hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  isolation: isolate;
  background: #090909;
}

.wedding-hero-media,
.wedding-hero-shade,
.wedding-hero-grain,
.wedding-hero-frame {
  position: absolute;
  inset: 0;
}

.wedding-hero-media {
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 56% center;
  filter: grayscale(1) contrast(1.12) brightness(0.82);
  animation: wedding-image-arrive 1.6s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.wedding-hero-shade {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.84) 0%, rgba(0, 0, 0, 0.56) 38%, rgba(0, 0, 0, 0.16) 67%, rgba(0, 0, 0, 0.34) 100%),
    linear-gradient(0deg, rgba(0, 0, 0, 0.88) 0%, transparent 45%, rgba(0, 0, 0, 0.14) 100%);
}

.wedding-hero-grain {
  z-index: -1;
  opacity: 0.16;
  pointer-events: none;
  mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.62'/%3E%3C/svg%3E");
  background-size: 180px 180px;
}

.wedding-hero-frame {
  z-index: -1;
  inset: 92px 22px 22px;
  border: 1px solid rgba(255, 255, 255, 0.17);
  pointer-events: none;
}

.wedding-hero-inner {
  width: min(1440px, calc(100% - 96px));
  margin: 0 auto;
  padding: clamp(170px, 22vh, 250px) 0 clamp(88px, 10vh, 130px);
}

.wedding-hero .partner-private-kicker,
.wedding-reasons-head > p,
.wedding-moments-head > p,
.wedding-timeline-title > p,
.wedding-inquiry-copy > p:first-child {
  margin: 0 0 22px;
  color: #d8b665;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.wedding-hero .partner-private-kicker {
  gap: 16px;
  color: rgba(244, 241, 234, 0.84);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.22em;
}

.wedding-hero .partner-private-kicker::before {
  width: 52px;
  background: #d8b665;
}

.wedding-hero h1 {
  max-width: 10ch;
  margin: 0;
  color: #f8f4ec;
  font-family: "Iowan Old Style", "Baskerville", "Times New Roman", Georgia, serif;
  font-size: clamp(4.5rem, 8vw, 8.75rem);
  font-weight: 400;
  line-height: 0.86;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.wedding-hero h1 > span {
  display: block;
  overflow: hidden;
  padding: 0 0.08em 0.08em 0;
}

.wedding-hero h1 > span > span {
  display: block;
  animation: wedding-copy-arrive 1s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.wedding-hero h1 > span:nth-child(2) > span {
  padding-left: 0.34em;
  color: #e8d8b7;
  font-style: italic;
  animation-delay: 0.12s;
}

.wedding-hero-copy {
  max-width: 570px;
  margin: 34px 0 0;
  color: rgba(248, 244, 236, 0.8);
  font-family: "Iowan Old Style", "Baskerville", "Times New Roman", Georgia, serif;
  font-size: clamp(1.08rem, 1.4vw, 1.34rem);
  line-height: 1.58;
}

.wedding-hero .partner-private-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.wedding-hero .partner-private-button {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.48);
  border-radius: 0;
  padding: 0 24px;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.wedding-hero .partner-private-button-light {
  border-color: #f1eee7;
  background: #f1eee7;
  color: #0a0a0a;
}

.wedding-hero .partner-private-button:hover {
  border-color: #d8b665;
  background: #d8b665;
  color: #090909;
}

.wedding-hero .partner-private-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 42px 0 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.wedding-hero .partner-private-trust span {
  padding-right: 20px;
}

.wedding-hero .partner-private-trust span + span {
  border-left: 1px solid rgba(255, 255, 255, 0.28);
  padding-left: 20px;
}

.wedding-hero .partner-private-scroll {
  position: absolute;
  right: 42px;
  bottom: 38px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.wedding-hero .partner-private-scroll i {
  width: 44px;
  height: 1px;
  display: block;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.28);
}

.wedding-hero .partner-private-scroll i::after {
  content: "";
  width: 50%;
  height: 100%;
  display: block;
  background: #d8b665;
  animation: wedding-scroll-line 1.8s ease-in-out infinite;
}

.wedding-reasons,
.wedding-moments,
.wedding-timeline,
.wedding-inquiry {
  width: 100%;
  padding: clamp(88px, 10vw, 160px) max(32px, calc((100vw - 1440px) / 2));
}

.wedding-reasons {
  scroll-margin-top: 84px;
  background: #efede8;
  color: #0a0a0a;
}

.wedding-reasons-head h2,
.wedding-moments-head h2,
.wedding-timeline-title h2,
.wedding-inquiry-copy h2 {
  margin: 0;
  font-size: clamp(3.7rem, 7vw, 7.8rem);
  font-weight: 430;
  line-height: 0.88;
  letter-spacing: -0.065em;
}

.wedding-reasons-head {
  display: grid;
  grid-template-columns: minmax(180px, 0.42fr) minmax(0, 1.58fr);
  gap: clamp(36px, 7vw, 120px);
  align-items: start;
}

.wedding-reasons-head > p {
  padding-top: 10px;
}

.wedding-reasons-head h2 {
  max-width: 11ch;
  color: #0a0a0a;
  font-family: "Iowan Old Style", "Baskerville", "Times New Roman", Georgia, serif;
  font-weight: 400;
  letter-spacing: -0.045em;
}

.wedding-reasons-head h2 em {
  color: #9a7524;
  font-weight: 400;
}

.wedding-reasons-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(70px, 9vw, 132px);
  border-top: 1px solid rgba(10, 10, 10, 0.28);
  border-bottom: 1px solid rgba(10, 10, 10, 0.28);
}

.wedding-reasons-grid article {
  position: relative;
  min-height: 280px;
  padding: 30px clamp(24px, 3vw, 46px) 34px;
  border-right: 1px solid rgba(10, 10, 10, 0.18);
}

.wedding-reasons-grid article:nth-child(3n) {
  border-right: 0;
}

.wedding-reasons-grid article:nth-child(-n + 3) {
  border-bottom: 1px solid rgba(10, 10, 10, 0.18);
}

.wedding-reason-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(10, 10, 10, 0.28);
  color: #9a7524;
}

.wedding-reason-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wedding-reason-number {
  position: absolute;
  top: 36px;
  right: clamp(24px, 3vw, 46px);
  color: rgba(10, 10, 10, 0.38);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.wedding-reasons-grid h3 {
  max-width: 18ch;
  margin: 54px 0 12px;
  color: #0a0a0a;
  font-size: clamp(1.25rem, 1.7vw, 1.65rem);
  line-height: 1.12;
  letter-spacing: -0.025em;
}

.wedding-reasons-grid p {
  max-width: 33ch;
  margin: 0;
  color: rgba(10, 10, 10, 0.62);
  font-size: 0.98rem;
  line-height: 1.58;
}

.wedding-image-break {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 0;
  background: #060606;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.wedding-image-break-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 1983 / 793;
  margin: 0;
  overflow: hidden;
  background: #15120f;
}

.wedding-image-break-frame::after {
  position: absolute;
  inset: 0;
  content: "";
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(4, 4, 4, 0.04), transparent 20%, transparent 82%, rgba(4, 4, 4, 0.16)),
    linear-gradient(90deg, rgba(248, 241, 229, 0.18), transparent 38%, transparent 80%, rgba(4, 4, 4, 0.08));
}

.wedding-image-break-frame img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.wedding-image-break-copy {
  position: absolute;
  top: 50%;
  left: clamp(34px, 6vw, 116px);
  z-index: 2;
  display: flex;
  width: min(34vw, 570px);
  flex-direction: column;
  align-items: center;
  padding: clamp(28px, 3vw, 50px) clamp(28px, 3.4vw, 58px);
  color: #2a2119;
  text-align: center;
  text-shadow: none;
  background: rgba(255, 252, 247, 0.76);
  border: 1px solid rgba(174, 139, 94, 0.58);
  outline: 1px solid rgba(255, 255, 255, 0.72);
  outline-offset: -7px;
  box-shadow:
    0 24px 70px rgba(40, 27, 15, 0.18),
    inset 0 0 0 1px rgba(255, 255, 255, 0.42);
  backdrop-filter: blur(10px) saturate(0.82);
  -webkit-backdrop-filter: blur(10px) saturate(0.82);
  transform: translateY(-50%);
}

.wedding-image-break-copy::before,
.wedding-image-break-copy::after {
  position: absolute;
  top: 12px;
  width: 30px;
  height: 30px;
  content: "";
  border-top: 1px solid rgba(151, 113, 71, 0.72);
}

.wedding-image-break-copy::before {
  left: 12px;
  border-left: 1px solid rgba(151, 113, 71, 0.72);
}

.wedding-image-break-copy::after {
  right: 12px;
  border-right: 1px solid rgba(151, 113, 71, 0.72);
}

.wedding-image-kicker {
  font-size: clamp(0.62rem, 0.82vw, 0.88rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.54em;
  text-transform: uppercase;
}

.wedding-image-break-copy strong {
  margin-top: clamp(8px, 0.7vw, 14px);
  color: #9b7650;
  font-family: "Iowan Old Style", "Baskerville", "Times New Roman", Georgia, serif;
  font-size: clamp(4.25rem, 7.25vw, 8rem);
  font-style: italic;
  font-weight: 400;
  line-height: 0.72;
  letter-spacing: -0.045em;
}

.wedding-image-divider {
  position: relative;
  width: min(82%, 420px);
  height: 1px;
  margin-top: clamp(22px, 2vw, 34px);
  background: rgba(125, 91, 57, 0.58);
}

.wedding-image-divider::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  content: "";
  background: #a88760;
  transform: translate(-50%, -50%) rotate(45deg);
}

.wedding-image-subtitle {
  max-width: 32ch;
  margin-top: clamp(14px, 1.2vw, 20px);
  font-size: clamp(0.58rem, 0.76vw, 0.78rem);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.wedding-moments {
  background: #060606;
}

.wedding-moments-head {
  display: grid;
  grid-template-columns: minmax(180px, 0.4fr) minmax(0, 1.6fr);
  gap: 40px;
  align-items: start;
}

.wedding-moments-head h2 {
  max-width: 12ch;
  color: #f2efe8;
}

.wedding-moment-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: clamp(70px, 9vw, 130px);
  border-top: 1px solid rgba(255, 255, 255, 0.35);
}

.wedding-moment-grid article {
  min-height: 330px;
  display: flex;
  flex-direction: column;
  padding: 26px clamp(22px, 2.4vw, 38px) 34px;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.wedding-moment-grid article:first-child {
  padding-left: 0;
}

.wedding-moment-grid article:last-child {
  border-right: 0;
}

.wedding-moment-grid article > span {
  color: #d8b665;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
}

.wedding-moment-grid h3 {
  margin: auto 0 14px;
  color: #f2efe8;
  font-size: clamp(1.4rem, 2vw, 2rem);
  font-weight: 500;
}

.wedding-moment-grid p {
  margin: 0;
  color: rgba(255, 255, 255, 0.48);
  font-size: 0.95rem;
  line-height: 1.6;
}

.wedding-packages {
  padding: clamp(88px, 9vw, 150px) clamp(24px, 5vw, 84px);
  overflow: hidden;
  background: #f3f0ea;
  color: #0a0a0a;
}

.wedding-packages-head {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
  gap: clamp(48px, 9vw, 150px);
  align-items: end;
  max-width: 1500px;
  margin: 0 auto clamp(58px, 7vw, 100px);
}

.wedding-packages-head > div > p,
.wedding-addons-title > p {
  margin: 0 0 18px;
  color: #9a741f;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.wedding-packages-head h2 {
  max-width: 10ch;
  margin: 0;
  color: #090909;
  font-family: "Iowan Old Style", "Baskerville", "Times New Roman", Georgia, serif;
  font-size: clamp(3.5rem, 6vw, 7.25rem);
  font-weight: 400;
  line-height: 0.88;
  letter-spacing: -0.055em;
}

.wedding-packages-head > p {
  max-width: 42ch;
  margin: 0 0 8px;
  padding-top: 24px;
  border-top: 1px solid rgba(10, 10, 10, 0.24);
  color: rgba(10, 10, 10, 0.58);
  font-size: 0.96rem;
  line-height: 1.65;
}

.wedding-package-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.5vw, 24px);
  max-width: 1500px;
  margin: 0 auto;
  align-items: stretch;
}

.wedding-package {
  min-width: 0;
  min-height: 760px;
  display: flex;
  flex-direction: column;
  padding: clamp(28px, 3vw, 48px);
  border: 1px solid rgba(10, 10, 10, 0.18);
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.68);
}

.wedding-package--featured {
  border-color: #111;
  background: #0a0a0a;
  color: #f4f1ea;
  box-shadow: 0 24px 60px rgba(28, 23, 16, 0.13);
}

.wedding-package-number {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  margin-bottom: 42px;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 50%;
  color: #8f6b1b;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.wedding-package--featured .wedding-package-number {
  border-color: rgba(216, 182, 101, 0.48);
  color: #d8b665;
}

.wedding-package-label {
  margin: 0 0 16px;
  color: #8f6b1b;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.wedding-package--featured .wedding-package-label {
  color: #d8b665;
}

.wedding-package h3 {
  max-width: 12ch;
  margin: 0 0 24px;
  color: #0a0a0a;
  font-family: "Iowan Old Style", "Baskerville", "Times New Roman", Georgia, serif;
  font-size: clamp(2.15rem, 3.2vw, 3.8rem);
  font-weight: 400;
  line-height: 0.94;
  letter-spacing: -0.045em;
}

.wedding-package--featured h3 {
  color: #f4f1ea;
}

.wedding-package-perfect {
  min-height: 76px;
  margin: 0 0 30px;
  color: rgba(10, 10, 10, 0.58);
  font-size: 0.9rem;
  line-height: 1.55;
}

.wedding-package--featured .wedding-package-perfect {
  color: rgba(255, 255, 255, 0.6);
}

.wedding-package-perfect span,
.wedding-package footer p span {
  display: block;
  margin-bottom: 3px;
  color: currentColor;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.wedding-package ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(10, 10, 10, 0.16);
  list-style: none;
}

.wedding-package li {
  position: relative;
  padding: 13px 0 13px 22px;
  border-bottom: 1px solid rgba(10, 10, 10, 0.12);
  color: rgba(10, 10, 10, 0.73);
  font-size: 0.85rem;
  line-height: 1.4;
}

.wedding-package li::before {
  position: absolute;
  top: 18px;
  left: 2px;
  width: 5px;
  height: 5px;
  content: "";
  border-radius: 50%;
  background: #a67d22;
}

.wedding-package--featured ul {
  border-color: rgba(255, 255, 255, 0.18);
}

.wedding-package--featured li {
  border-color: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.72);
}

.wedding-package--featured li::before {
  background: #d8b665;
}

.wedding-package footer {
  margin-top: auto;
  padding-top: 34px;
}

.wedding-package footer p {
  min-height: 66px;
  margin: 0 0 24px;
  color: rgba(10, 10, 10, 0.54);
  font-size: 0.8rem;
  line-height: 1.5;
}

.wedding-package--featured footer p {
  color: rgba(255, 255, 255, 0.55);
}

.wedding-package footer a {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 16px;
  border: 1px solid #111;
  color: #111;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background 180ms ease, color 180ms ease;
}

.wedding-package footer a:hover {
  background: #111;
  color: #fff;
}

.wedding-package--featured footer a {
  border-color: #d8b665;
  background: #d8b665;
  color: #090909;
}

.wedding-package--featured footer a:hover {
  background: #f0d58c;
  color: #090909;
}

.wedding-addons {
  display: grid;
  grid-template-columns: minmax(250px, 0.55fr) minmax(0, 1.45fr);
  gap: clamp(42px, 8vw, 130px);
  max-width: 1500px;
  margin: clamp(48px, 6vw, 86px) auto 0;
  padding-top: clamp(40px, 5vw, 72px);
  border-top: 1px solid rgba(10, 10, 10, 0.25);
}

.wedding-addons-title h3 {
  margin: 0;
  color: #090909;
  font-family: "Iowan Old Style", "Baskerville", "Times New Roman", Georgia, serif;
  font-size: clamp(2.4rem, 4vw, 4.8rem);
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: -0.045em;
}

.wedding-addons ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(10, 10, 10, 0.2);
  list-style: none;
}

.wedding-addons li {
  min-height: 66px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 6px 12px 0;
  border-bottom: 1px solid rgba(10, 10, 10, 0.15);
  color: rgba(10, 10, 10, 0.76);
  font-size: 0.85rem;
}

.wedding-addons li:nth-child(odd) {
  margin-right: 28px;
}

.wedding-addons li::before {
  flex: 0 0 auto;
  color: #9a741f;
  content: "+";
  font-size: 1.1rem;
}

.wedding-addons li span {
  margin-left: auto;
  color: rgba(10, 10, 10, 0.43);
  font-size: 0.68rem;
  text-transform: uppercase;
}

.wedding-arrival {
  position: relative;
  min-height: clamp(620px, 57vw, 900px);
  overflow: hidden;
  isolation: isolate;
  background: #13100c;
}

.wedding-arrival-media {
  position: absolute;
  inset: -2%;
  width: 104%;
  height: 104%;
  object-fit: cover;
  object-position: 54% center;
  animation: wedding-arrival-settle 16s ease-in-out infinite alternate;
}

.wedding-arrival-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(12, 9, 6, 0.78) 0%, rgba(12, 9, 6, 0.49) 31%, rgba(12, 9, 6, 0.08) 62%, transparent 78%),
    linear-gradient(0deg, rgba(9, 7, 5, 0.58) 0%, transparent 42%);
}

.wedding-arrival-copy {
  position: relative;
  z-index: 2;
  width: min(100%, 1560px);
  min-height: inherit;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin: 0 auto;
  padding: clamp(72px, 8vw, 132px) clamp(28px, 7vw, 116px);
  color: #fffdf8;
}

.wedding-arrival-kicker {
  margin: 0 0 22px;
  color: rgba(255, 253, 248, 0.78);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.wedding-arrival h2 {
  max-width: 900px;
  margin: 0;
  color: #fffdf8;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(3.7rem, 6.2vw, 7.3rem);
  font-weight: 400;
  line-height: 0.84;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.wedding-arrival h2 em {
  color: #ead8b1;
  font-weight: 400;
}

.wedding-arrival-rule {
  width: min(340px, 42vw);
  height: 1px;
  margin: clamp(32px, 4vw, 54px) 0 28px;
  background: linear-gradient(90deg, #d8b665, rgba(216, 182, 101, 0));
  transform-origin: left;
}

.wedding-arrival-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  max-width: 840px;
}

.wedding-arrival-footer p {
  max-width: 580px;
  margin: 0;
  color: rgba(255, 253, 248, 0.78);
  font-size: clamp(0.96rem, 1.2vw, 1.08rem);
  line-height: 1.55;
}

.wedding-arrival-footer a {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 13px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(234, 216, 177, 0.62);
  color: #fffdf8;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: color 180ms ease, border-color 180ms ease;
}

.wedding-arrival-footer a:hover {
  border-color: #ead8b1;
  color: #ead8b1;
}

.wedding-arrival .reveal {
  transform: translateY(28px);
}

.wedding-arrival .reveal.revealed {
  transform: translateY(0);
}

.wedding-arrival-kicker.reveal {
  transition-delay: 40ms;
}

.wedding-arrival h2.reveal {
  transition-delay: 110ms;
}

.wedding-arrival-rule.reveal {
  opacity: 1;
  transform: scaleX(0);
  transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 230ms;
}

.wedding-arrival-rule.reveal.revealed {
  transform: scaleX(1);
}

.wedding-arrival-footer.reveal {
  transition-delay: 300ms;
}

@keyframes wedding-arrival-settle {
  from {
    transform: scale(1.035) translate3d(-0.4%, 0, 0);
  }
  to {
    transform: scale(1) translate3d(0.4%, 0, 0);
  }
}

.wedding-inquiry {
  display: grid;
  grid-template-columns: minmax(300px, 0.74fr) minmax(520px, 1.26fr);
  gap: clamp(60px, 8vw, 140px);
  align-items: start;
  background: #0c0c0c;
}

.wedding-inquiry-copy {
  position: sticky;
  top: 128px;
}

.wedding-inquiry-copy h2 {
  max-width: 10ch;
  color: #f2efe8;
  font-size: clamp(3.6rem, 6vw, 6.6rem);
}

.wedding-inquiry-copy > p:nth-of-type(2) {
  max-width: 470px;
  margin: 30px 0 0;
  color: rgba(255, 255, 255, 0.52);
  line-height: 1.65;
}

.wedding-inquiry-note {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 16px;
  max-width: 480px;
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.wedding-inquiry-note > span {
  color: #d8b665;
  font-size: 0.7rem;
}

.wedding-inquiry-note p {
  margin: 0;
  color: rgba(255, 255, 255, 0.47);
  font-size: 0.86rem;
  line-height: 1.55;
}

.wedding-inquiry-note strong {
  display: block;
  margin-bottom: 6px;
  color: rgba(255, 255, 255, 0.85);
}

.wedding-form {
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: #111;
  padding: clamp(24px, 3vw, 42px);
}

.wedding-form-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 34px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.wedding-form-head p,
.wedding-form-head span {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.wedding-form-head p {
  color: #f2efe8;
}

.wedding-form-head span {
  color: #d8b665;
}

.wedding-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 18px;
}

.wedding-form label {
  display: grid;
  gap: 9px;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.wedding-form > label {
  margin-top: 22px;
}

.wedding-form input,
.wedding-form select,
.wedding-form textarea {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 0;
  background: transparent;
  color: #fff;
  padding: 0 2px;
  font: inherit;
  font-size: 0.95rem;
  font-weight: 450;
  letter-spacing: 0;
  text-transform: none;
}

.wedding-form select {
  appearance: auto;
}

.wedding-form textarea {
  min-height: 120px;
  padding-top: 14px;
  resize: vertical;
}

.wedding-form input::placeholder,
.wedding-form textarea::placeholder {
  color: rgba(255, 255, 255, 0.34);
}

.wedding-form input:focus,
.wedding-form select:focus,
.wedding-form textarea:focus {
  border-bottom-color: #d8b665;
  outline: none;
}

.wedding-form-actions {
  display: grid;
  grid-template-columns: minmax(200px, 0.7fr) 1fr;
  gap: 20px;
  align-items: center;
  margin-top: 32px;
}

.wedding-submit {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border: 1px solid #f0ede6;
  border-radius: 0;
  background: #f0ede6;
  color: #080808;
  padding: 0 20px;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.wedding-submit:hover {
  border-color: #d8b665;
  background: #d8b665;
}

.wedding-submit:disabled {
  cursor: wait;
  opacity: 0.62;
}

.wedding-form-actions p {
  margin: 0;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.76rem;
  line-height: 1.5;
}

.wedding-form-actions p[data-tone="success"] {
  color: #d8b665;
}

.wedding-form-actions p[data-tone="error"] {
  color: #f4a3a3;
}

@keyframes wedding-image-arrive {
  from { opacity: 0; transform: scale(1.035); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes wedding-copy-arrive {
  from { opacity: 0; transform: translateY(105%); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes wedding-scroll-line {
  0%, 100% { transform: translateX(-110%); }
  50% { transform: translateX(210%); }
}

@media (max-width: 1100px) {
  .wedding-hero-inner {
    width: min(100% - 64px, 980px);
  }

  .wedding-reasons-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wedding-reasons-grid article:nth-child(3n) {
    border-right: 1px solid rgba(10, 10, 10, 0.18);
  }

  .wedding-reasons-grid article:nth-child(2n) {
    border-right: 0;
  }

  .wedding-reasons-grid article:nth-child(-n + 4) {
    border-bottom: 1px solid rgba(10, 10, 10, 0.18);
  }

  .wedding-moment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wedding-moment-grid article {
    min-height: 280px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }

  .wedding-moment-grid article:nth-child(2) {
    border-right: 0;
  }

  .wedding-moment-grid article:nth-child(3) {
    padding-left: 0;
  }

  .wedding-packages-head,
  .wedding-inquiry {
    grid-template-columns: 1fr;
  }

  .wedding-package-grid {
    grid-template-columns: 1fr;
    max-width: 760px;
  }

  .wedding-package {
    min-height: 0;
  }

  .wedding-addons {
    grid-template-columns: 1fr;
  }

  .wedding-inquiry-copy {
    position: static;
  }
}

@media (max-width: 760px) {
  .wedding-hero {
    min-height: 820px;
  }

  .wedding-hero-media {
    object-position: 69% center;
    filter: grayscale(1) contrast(1.08) brightness(0.76);
  }

  .wedding-hero-shade {
    background:
      linear-gradient(0deg, rgba(0, 0, 0, 0.94) 0%, rgba(0, 0, 0, 0.56) 54%, rgba(0, 0, 0, 0.28) 100%),
      linear-gradient(90deg, rgba(0, 0, 0, 0.35), transparent 75%);
  }

  .wedding-hero-frame {
    inset: 82px 12px 12px;
  }

  .wedding-hero-inner {
    width: calc(100% - 42px);
    padding: 154px 0 66px;
  }

  .wedding-hero h1 {
    max-width: 9ch;
    font-size: clamp(3.7rem, 17vw, 5.15rem);
    line-height: 0.88;
    letter-spacing: -0.04em;
  }

  .wedding-hero h1 > span:nth-child(2) > span {
    padding-left: 0.2em;
  }

  .wedding-hero-copy {
    max-width: 31rem;
    margin-top: 26px;
    font-size: 1.03rem;
    line-height: 1.55;
  }

  .wedding-hero .partner-private-actions {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 26px;
  }

  .wedding-hero .partner-private-trust {
    gap: 10px 14px;
    margin-top: 28px;
    font-size: 0.62rem;
  }

  .wedding-hero .partner-private-trust span,
  .wedding-hero .partner-private-trust span + span {
    border: 0;
    padding: 0;
  }

  .wedding-hero .partner-private-scroll {
    display: none;
  }

  .wedding-reasons,
  .wedding-moments,
  .wedding-packages,
  .wedding-inquiry {
    padding: 78px 22px;
  }

  .wedding-image-break {
    padding: 0;
  }

  .wedding-image-break-frame {
    aspect-ratio: 3 / 2;
  }

  .wedding-image-break-frame img {
    object-position: 68% center;
  }

  .wedding-image-break-frame::after {
    background:
      linear-gradient(90deg, rgba(5, 5, 5, 0.24), transparent 72%),
      linear-gradient(180deg, rgba(5, 5, 5, 0.1), transparent 58%, rgba(5, 5, 5, 0.12));
  }

  .wedding-image-break-copy {
    top: 50%;
    left: 14px;
    width: min(59vw, 230px);
    padding: 20px 18px 22px;
    color: #2a2119;
    text-shadow: none;
    background: rgba(255, 252, 247, 0.82);
    border-color: rgba(174, 139, 94, 0.62);
    outline-offset: -5px;
    box-shadow: 0 12px 34px rgba(23, 15, 9, 0.18);
    backdrop-filter: blur(7px) saturate(0.82);
    -webkit-backdrop-filter: blur(7px) saturate(0.82);
    transform: translateY(-50%);
  }

  .wedding-image-break-copy::before,
  .wedding-image-break-copy::after {
    top: 8px;
    width: 18px;
    height: 18px;
  }

  .wedding-image-break-copy::before {
    left: 8px;
  }

  .wedding-image-break-copy::after {
    right: 8px;
  }

  .wedding-image-kicker {
    font-size: clamp(0.38rem, 1.75vw, 0.48rem);
    letter-spacing: 0.34em;
  }

  .wedding-image-break-copy strong {
    margin-top: 7px;
    color: #a17d55;
    font-size: clamp(2.55rem, 12.5vw, 3.65rem);
    line-height: 0.72;
  }

  .wedding-image-divider {
    width: 82%;
    margin-top: 15px;
    background: rgba(151, 113, 71, 0.58);
  }

  .wedding-image-subtitle {
    max-width: 24ch;
    margin-top: 10px;
    font-size: clamp(0.35rem, 1.55vw, 0.44rem);
    line-height: 1.5;
    letter-spacing: 0.15em;
  }

  .wedding-reasons-head,
  .wedding-moments-head {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .wedding-reasons-head > p {
    padding-top: 0;
  }

  .wedding-reasons-head h2,
  .wedding-moments-head h2,
  .wedding-packages-head h2,
  .wedding-inquiry-copy h2 {
    font-size: clamp(3rem, 14vw, 4.5rem);
  }

  .wedding-reasons-grid {
    grid-template-columns: 1fr;
    margin-top: 54px;
  }

  .wedding-reasons-grid article,
  .wedding-reasons-grid article:nth-child(3n),
  .wedding-reasons-grid article:nth-child(-n + 3) {
    min-height: 0;
    padding: 24px 0 26px 72px;
    border-right: 0;
    border-bottom: 1px solid rgba(10, 10, 10, 0.18);
  }

  .wedding-reasons-grid article:last-child {
    border-bottom: 0;
  }

  .wedding-reason-icon {
    position: absolute;
    top: 24px;
    left: 0;
    width: 48px;
    height: 48px;
  }

  .wedding-reason-number {
    top: 29px;
    right: 0;
  }

  .wedding-reasons-grid h3 {
    margin: 0 34px 8px 0;
    font-size: 1.18rem;
  }

  .wedding-reasons-grid p {
    padding-right: 6px;
    font-size: 0.92rem;
  }

  .wedding-moment-grid {
    display: block;
    margin-top: 54px;
  }

  .wedding-moment-grid article,
  .wedding-moment-grid article:first-child,
  .wedding-moment-grid article:nth-child(3) {
    min-height: 0;
    padding: 24px 0 28px;
    border-right: 0;
  }

  .wedding-moment-grid h3 {
    margin: 46px 0 10px;
  }

  .wedding-packages-head {
    gap: 32px;
    margin-bottom: 48px;
  }

  .wedding-packages-head > p {
    padding-top: 20px;
  }

  .wedding-package {
    padding: 28px 22px;
  }

  .wedding-package-number {
    margin-bottom: 30px;
  }

  .wedding-package-perfect,
  .wedding-package footer p {
    min-height: 0;
  }

  .wedding-addons {
    gap: 34px;
  }

  .wedding-addons ul {
    grid-template-columns: 1fr;
  }

  .wedding-addons li:nth-child(odd) {
    margin-right: 0;
  }

  .wedding-arrival {
    min-height: 720px;
  }

  .wedding-arrival-media {
    inset: 0;
    width: 100%;
    height: 100%;
    object-position: 60% center;
  }

  .wedding-arrival-shade {
    background:
      linear-gradient(0deg, rgba(10, 7, 5, 0.9) 0%, rgba(10, 7, 5, 0.5) 52%, rgba(10, 7, 5, 0.14) 100%),
      linear-gradient(90deg, rgba(10, 7, 5, 0.45), transparent 75%);
  }

  .wedding-arrival-copy {
    justify-content: flex-end;
    padding: 64px 22px;
  }

  .wedding-arrival h2 {
    max-width: 8ch;
    font-size: clamp(3.35rem, 15vw, 5rem);
    line-height: 0.88;
  }

  .wedding-arrival-rule {
    width: 180px;
    margin: 30px 0 22px;
  }

  .wedding-arrival-footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }

  .wedding-inquiry {
    gap: 54px;
  }

  .wedding-form {
    padding: 24px 18px;
  }

  .wedding-form-grid,
  .wedding-form-actions {
    grid-template-columns: 1fr;
  }

  .wedding-form-actions {
    gap: 14px;
  }
}

@media (max-width: 420px) {
  .wedding-hero {
    min-height: 760px;
  }

  .wedding-hero-inner {
    width: calc(100% - 36px);
    padding-bottom: 48px;
  }

  .wedding-hero h1 {
    font-size: clamp(3.15rem, 16vw, 4.15rem);
  }

  .wedding-form-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .wedding-arrival {
    min-height: 680px;
  }

  .wedding-arrival-copy {
    padding-bottom: 46px;
  }

  .wedding-arrival-kicker {
    margin-bottom: 16px;
    font-size: 0.62rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wedding-hero-media,
  .wedding-arrival-media,
  .wedding-hero h1 > span > span,
  .wedding-hero .partner-private-scroll i::after {
    animation: none;
  }

  .wedding-hero-media {
    object-position: 56% center;
  }
}

/* Wedding service editorial */
.wedding-reasons {
  display: grid;
  grid-template-columns: minmax(360px, 0.82fr) minmax(560px, 1.18fr);
  min-height: 900px;
  padding: 0;
  overflow: hidden;
  background: #fff;
  color: #080808;
}

.wedding-reasons-head {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: space-between;
  gap: 56px;
  padding: clamp(72px, 8vw, 132px) clamp(42px, 6vw, 108px);
  overflow: hidden;
  background: #070707;
  color: #fff;
}

.wedding-reasons-head::before {
  width: 64px;
  height: 1px;
  content: "";
  background: rgba(255, 255, 255, 0.55);
}

.wedding-reasons-head::after {
  position: absolute;
  right: -0.08em;
  bottom: -0.22em;
  content: "06";
  color: rgba(255, 255, 255, 0.045);
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(15rem, 27vw, 31rem);
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
}

.wedding-reasons-head > p {
  position: absolute;
  top: clamp(72px, 8vw, 132px);
  left: clamp(130px, 14vw, 230px);
  z-index: 1;
  padding: 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.wedding-reasons-head h2 {
  position: relative;
  z-index: 1;
  max-width: 7.5ch;
  margin-top: auto;
  color: #fff;
  font-family: "Iowan Old Style", "Baskerville", "Times New Roman", Georgia, serif;
  font-size: clamp(4.35rem, 7vw, 8.2rem);
  font-weight: 400;
  line-height: 0.82;
  letter-spacing: -0.055em;
}

.wedding-reasons-head h2 em {
  display: block;
  margin-top: 0.1em;
  color: #fff;
  font-weight: 400;
}

.wedding-reasons-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(6, minmax(145px, 1fr));
  min-width: 0;
  margin: 0;
  border: 0;
  background: #fff;
}

.wedding-reasons-grid article,
.wedding-reasons-grid article:nth-child(3n),
.wedding-reasons-grid article:nth-child(-n + 3) {
  position: relative;
  display: grid;
  min-height: 0;
  grid-template-columns: 64px minmax(180px, 0.82fr) minmax(230px, 1.18fr);
  align-items: center;
  gap: clamp(20px, 3vw, 48px);
  padding: 25px clamp(34px, 5vw, 82px);
  border: 0;
  border-bottom: 1px solid #111;
  background: #fff;
  color: #0a0a0a;
}

.wedding-reasons-grid article:nth-child(even) {
  background: #0a0a0a;
  color: #fff;
}

.wedding-reasons-grid article:last-child {
  border-bottom: 0;
}

.wedding-reason-icon {
  position: static;
  width: 54px;
  height: 54px;
  border: 1px solid #111;
  color: #0a0a0a;
}

.wedding-reasons-grid article:nth-child(even) .wedding-reason-icon {
  border-color: rgba(255, 255, 255, 0.52);
  color: #fff;
}

.wedding-reason-icon svg {
  width: 26px;
  height: 26px;
  stroke-width: 1.25;
}

.wedding-reason-number {
  top: 20px;
  right: clamp(20px, 2vw, 34px);
  color: rgba(10, 10, 10, 0.34);
  font-family: "Iowan Old Style", "Baskerville", "Times New Roman", Georgia, serif;
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0;
}

.wedding-reasons-grid article:nth-child(even) .wedding-reason-number {
  color: rgba(255, 255, 255, 0.42);
}

.wedding-reasons-grid h3 {
  max-width: 16ch;
  margin: 0;
  color: inherit;
  font-family: "Iowan Old Style", "Baskerville", "Times New Roman", Georgia, serif;
  font-size: clamp(1.45rem, 2vw, 2.15rem);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.035em;
}

.wedding-reasons-grid p {
  max-width: 38ch;
  margin: 0;
  color: rgba(10, 10, 10, 0.62);
  font-size: clamp(0.88rem, 1vw, 1rem);
  line-height: 1.55;
}

.wedding-reasons-grid article:nth-child(even) p {
  color: rgba(255, 255, 255, 0.62);
}

@media (max-width: 1100px) {
  .wedding-reasons {
    grid-template-columns: minmax(310px, 0.72fr) minmax(500px, 1.28fr);
  }

  .wedding-reasons-head {
    padding-inline: 42px;
  }

  .wedding-reasons-head > p {
    left: 130px;
  }

  .wedding-reasons-grid {
    grid-template-columns: 1fr;
    margin-top: 0;
  }

  .wedding-reasons-grid article,
  .wedding-reasons-grid article:nth-child(3n),
  .wedding-reasons-grid article:nth-child(-n + 3) {
    grid-template-columns: 54px minmax(160px, 0.85fr) minmax(190px, 1.15fr);
    gap: 20px;
    padding-inline: 28px;
  }
}

@media (max-width: 820px) {
  .wedding-reasons {
    display: block;
    min-height: 0;
  }

  .wedding-reasons-head {
    min-height: 500px;
    gap: 42px;
    padding: 70px 22px 56px;
  }

  .wedding-reasons-head::before {
    width: 48px;
  }

  .wedding-reasons-head::after {
    font-size: 17rem;
  }

  .wedding-reasons-head > p {
    top: 67px;
    left: 88px;
    font-size: 0.61rem;
  }

  .wedding-reasons-head h2 {
    max-width: 8ch;
    font-size: clamp(3.85rem, 17vw, 5.2rem);
    line-height: 0.84;
  }

  .wedding-reasons-grid {
    display: block;
  }

  .wedding-reasons-grid article,
  .wedding-reasons-grid article:nth-child(3n),
  .wedding-reasons-grid article:nth-child(-n + 3) {
    display: grid;
    min-height: 190px;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 18px;
    padding: 30px 22px;
  }

  .wedding-reason-icon {
    width: 48px;
    height: 48px;
  }

  .wedding-reasons-grid h3 {
    margin: 0 36px 8px 0;
    font-size: 1.55rem;
  }

  .wedding-reasons-grid p {
    grid-column: 2;
    padding: 0 24px 0 0;
    font-size: 0.94rem;
  }
}

/* Final brand lockup overrides. Keep the supplied wordmark crisp on every dark surface. */
.site-header .brand-logo-wide[src*="prestiege-luxor-logo-light"],
.admin-page .admin-topbar .brand-logo-wide[src*="prestiege-luxor-logo-light"],
.footer-logo-frame .brand-logo-wide[src*="prestiege-luxor-logo-light"] {
  height: auto;
  object-fit: contain;
  filter: none;
}

.site-header .brand-logo-wide[src*="prestiege-luxor-logo-light"] {
  width: clamp(172px, 14vw, 236px);
  max-height: 46px;
}

.admin-page .admin-topbar .brand-logo-wide[src*="prestiege-luxor-logo-light"] {
  width: clamp(156px, 13vw, 214px);
  max-height: 42px;
}

.footer-logo-frame .brand-logo-wide[src*="prestiege-luxor-logo-light"] {
  width: min(260px, 74vw);
  max-height: 58px;
  opacity: 1;
}

@media (max-width: 760px) {
  .site-header .brand-logo-wide[src*="prestiege-luxor-logo-light"],
  .admin-page .admin-topbar .brand-logo-wide[src*="prestiege-luxor-logo-light"] {
    width: 148px;
    max-height: 36px;
  }
}
