/* =====================================================================
   Monaco — Variant B (A/B test)
   "Native-app / Apple-style" mobile-first skin.
   Loaded AFTER montecarlo-catalog.css; all rules scoped to body.mc-v2
   so the live A page is never affected. Same DOM + same scripts as the
   control page (form #form-hero-quick, #request modal, fleet articles)
   so lead capture / CRM / analytics behave identically.
   ===================================================================== */

body.mc-v2 {
  --v2-bg: #050506;
  --v2-bg-soft: #0d0d10;
  --v2-card: #141417;
  --v2-card-2: #0f0f12;
  --v2-line: rgba(255, 255, 255, 0.1);
  --v2-line-soft: rgba(255, 255, 255, 0.06);
  --v2-text: #f5f5f7;
  --v2-text-dim: #a1a1a8;
  --v2-text-mute: #6e6e76;
  --v2-accent: #ffffff;
  --v2-gold: #d8b777;
  --v2-wa: #25d366;
  --v2-radius: 22px;
  --v2-radius-lg: 30px;
  --v2-ease: cubic-bezier(0.22, 0.9, 0.28, 1);
  --v2-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text",
    "Inter", "Helvetica Neue", Arial, sans-serif;

  background: var(--v2-bg);
  color: var(--v2-text);
  font-family: var(--v2-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  /* room for the fixed bottom dock (synced with .v2-dock min-height) */
  --v2-dock-pad: 0.85rem;
  --v2-dock-safe: env(safe-area-inset-bottom, 0px);
  --v2-dock-inner: calc(var(--v2-dock-pad) * 2 + 2.75rem);
  --v2-dock-total: calc(var(--v2-dock-inner) + var(--v2-dock-safe));
  padding-bottom: var(--v2-dock-total);
}
body.mc-v2.mc-cat-catalog,
body.mc-v2.mc-cat-catalog.has-neo-header {
  background: var(--v2-bg);
  color: var(--v2-text);
}
html:has(body.mc-v2) {
  background: var(--v2-bg, #050506);
}
/* Clip horizontal bleed inside main only — keeps fixed header/dock on the viewport
   (html/body overflow was breaking native scroll over fleet rails vs control page). */
body.mc-v2 #main-content {
  overflow-x: clip;
  background: var(--v2-bg);
}

/* Elements that break the "app" feel — removed in the variant */
body.mc-v2 .mc-cat-bar,
body.mc-v2 .mc-events-digest,
body.mc-v2 .mc-cat-toolbar,
body.mc-v2 .neo-logo__heritage,
body.mc-v2 .neo-logo__tagline {
  display: none !important;
}

/* ===================== Slim translucent top bar (fixed, never scrolls) ===================== */
body.mc-v2 .neo-header-root {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 950;
  background: transparent;
  border: 0;
  box-shadow: none;
}
/* High specificity to beat body.mc-cat-catalog.has-neo-header .neo-header */
body.mc-v2.mc-cat-catalog.has-neo-header .neo-header,
body.mc-v2 .neo-header {
  background: rgba(10, 10, 12, 0.94);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
}
body.mc-v2 .neo-header::before {
  opacity: 0.45;
}
body.mc-v2 .neo-header::after {
  display: none;
}
body.mc-v2 .neo-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0.55rem clamp(1rem, 4vw, 2rem);
  min-height: 52px;
}
body.mc-v2 .neo-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
body.mc-v2.mc-cat-catalog.has-neo-header .neo-logo__brand,
body.mc-v2 .neo-logo__brand {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  padding-right: 0 !important;
  width: auto;
}
body.mc-v2 .neo-logo__img {
  display: none !important;
}
body.mc-v2.mc-cat-catalog.has-neo-header .neo-logo__name,
body.mc-v2 .neo-logo__name {
  font-family: var(--v2-font);
  font-size: clamp(0.98rem, 3.8vw, 1.18rem);
  font-weight: 700;
  letter-spacing: -0.015em;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
/* "Monaco · Riviera desk" line under the brand name */
body.mc-v2.mc-cat-catalog.has-neo-header .neo-logo__line,
body.mc-v2 .neo-logo__line {
  display: block !important;
  margin-top: 2px;
  font-size: clamp(0.58rem, 2.4vw, 0.68rem);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #e8c98a !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #e8c98a !important;
}
body.mc-v2 .neo-logo__line::after {
  display: none !important;
}
body.mc-v2 .neo-header__right {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
body.mc-v2 .neo-aside__copy {
  margin: 0;
  display: flex;
  align-items: center;
}
body.mc-v2 .neo-aside {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}
body.mc-v2 .neo-header-root .neo-aside > .neo-live {
  display: inline-flex !important;
}
body.mc-v2 .neo-live {
  align-items: center;
  gap: 0.45rem;
  font-size: 0.8rem;
  color: #d8d8de;
}
body.mc-v2 .neo-live__temp {
  font-weight: 700;
  font-size: 0.92rem;
  color: #ffffff;
}
body.mc-v2 .neo-live__temp sup {
  color: #ffffff;
  opacity: 0.9;
}
body.mc-v2 .neo-live__place {
  display: inline;
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 0.01em;
}
/* Divider + Monte Carlo coordinates, dark-theme styled (desktop only) */
body.mc-v2 .neo-divider {
  display: none;
  width: 1px;
  height: 18px;
  background: var(--v2-line);
  border: 0;
}
body.mc-v2 .neo-coord {
  display: none;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.78rem;
  color: #b8b8c0;
  background: rgba(255, 255, 255, 0.06);
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
body.mc-v2 .neo-coord__star {
  color: #e8c98a;
}
body.mc-v2 .neo-coord__geo {
  color: #e2e2e8;
  letter-spacing: 0.01em;
  font-weight: 500;
}
body.mc-v2.mc-cat-catalog.has-neo-header .neo-logo__pill-wa,
body.mc-v2 .neo-logo__pill-wa {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.38rem 0.78rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #2ad15f 0%, #21bd54 100%);
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.22);
  font-weight: 700;
  font-size: 0.82rem;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(33, 189, 84, 0.35);
}
body.mc-v2 .neo-logo__pill-wa i {
  color: #ffffff;
  font-size: 1.05em;
}
body.mc-v2 .neo-logo__pill-wa span {
  color: #ffffff;
}
@media (max-width: 780px) {
  body.mc-v2 .neo-header__inner {
    flex-direction: row;
    align-items: center;
    padding: 0.5rem clamp(0.75rem, 3.5vw, 1.1rem);
    position: relative;
  }
  body.mc-v2 .neo-logo {
    flex: 1 1 auto;
    min-width: 0;
  }
  body.mc-v2 .neo-header__right {
    width: auto;
    max-width: none;
    flex-direction: row;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
  }
  body.mc-v2 .neo-aside__copy {
    position: static;
    transform: none;
    pointer-events: auto;
    flex-shrink: 0;
    order: 2;
  }
  body.mc-v2 .neo-aside {
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 0.35rem;
    order: 1;
    width: auto;
  }
  body.mc-v2 .neo-live__place {
    display: none;
  }
  body.mc-v2 .neo-live {
    font-size: 0.76rem;
    gap: 0.3rem;
  }
  body.mc-v2 .neo-live__temp {
    font-size: 0.84rem;
  }
  /* Keep full header visible while scrolling (no compact hide on v2) */
  body.mc-v2.neo-header-is-compact .neo-aside {
    display: inline-flex !important;
  }
}
@media (min-width: 781px) {
  body.mc-v2 .neo-divider {
    display: block;
  }
  body.mc-v2 .neo-coord {
    display: inline-flex;
  }
  body.mc-v2 .neo-live__place {
    display: inline;
  }
}
body.mc-v2 .neo-flag-mc {
  width: 17px;
  height: auto;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.35);
}

/* ============================== HERO ============================== */
body.mc-v2 .v2-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0.65rem clamp(1.1rem, 5vw, 3rem) 1.25rem;
  background:
    radial-gradient(120% 80% at 50% 0%, #1a1a20 0%, #0a0a0c 55%, #050506 100%);
}
body.mc-v2 .v2-hero__content {
  position: relative;
  max-width: 1180px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
body.mc-v2 .v2-hero__kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin: 0 0 0.7rem;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--v2-gold);
}
body.mc-v2 .v2-hero__kicker svg {
  width: 18px;
  height: auto;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25);
}
body.mc-v2 .v2-hero__title {
  margin: 0 0 0.7rem;
  font-family: var(--v2-font);
  font-weight: 700;
  font-size: clamp(2.4rem, 9vw, 4.6rem);
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: #fff;
}
body.mc-v2 .v2-hero__title span {
  background: linear-gradient(180deg, #fff 0%, #c9c9d0 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.mc-v2 .v2-hero__sub {
  margin: 0 auto 1.4rem;
  max-width: 30em;
  font-size: clamp(1rem, 3.6vw, 1.2rem);
  line-height: 1.5;
  color: var(--v2-text-dim);
}
body.mc-v2 .v2-hero__actions {
  display: flex;
  justify-content: center;
  margin-bottom: 1.1rem;
}
body.mc-v2 .v2-hero__actions .v2-btn--wa {
  min-width: min(100%, 280px);
}
body.mc-v2 .v2-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.95rem 1.5rem;
  border-radius: 999px;
  font-size: 1.02rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.18s var(--v2-ease), background 0.2s ease, box-shadow 0.2s ease;
}
body.mc-v2 .v2-btn i {
  font-size: 0.95em;
}
body.mc-v2 .v2-btn--primary {
  background: #fff;
  color: #0a0a0c;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}
body.mc-v2 .v2-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}
body.mc-v2 .v2-btn--primary .fa-arrow-right {
  transition: transform 0.2s var(--v2-ease);
}
body.mc-v2 .v2-btn--primary:hover .fa-arrow-right {
  transform: translateX(4px);
}
body.mc-v2 .v2-btn--wa {
  background: linear-gradient(180deg, #2ad15f 0%, #21bd54 100%);
  color: #ffffff;
  border: 0;
  box-shadow: 0 10px 26px rgba(33, 189, 84, 0.38);
}
body.mc-v2 .v2-btn--wa i {
  color: #ffffff;
  font-size: 1.15em;
}
body.mc-v2 .v2-btn--wa:hover {
  background: linear-gradient(180deg, #31db66 0%, #25c95b 100%);
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(33, 189, 84, 0.46);
}
body.mc-v2 .v2-hero__trust {
  margin: 0;
  font-size: 0.85rem;
  color: var(--v2-text-mute);
}
body.mc-v2 .v2-hero__trust i {
  color: var(--v2-gold);
  margin-right: 0.35rem;
}

/* ============================ FLEET ============================ */
body.mc-v2 #fleet {
  background: var(--v2-bg);
  padding-top: 0.5rem;
}
@media (prefers-reduced-motion: no-preference) {
  body.mc-v2:not(.mc-v2-fleet-in) #fleet .mc-cat-layout {
    opacity: 0;
    transform: translateY(1.8rem);
    pointer-events: none;
    will-change: opacity, transform;
  }
  body.mc-v2.mc-v2-fleet-in #fleet .mc-cat-layout {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    transition: opacity 0.75s ease, transform 0.75s cubic-bezier(0.22, 0.9, 0.28, 1);
  }
}
body.mc-v2 .mc-cat-fleet-main {
  background: transparent;
}
body.mc-v2 .mc-cat-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  margin-bottom: 1.4rem;
  padding: 0;
  border: 0;
  background: transparent;
}
body.mc-v2 .mc-cat-toolbar-count {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
}
body.mc-v2 .mc-cat-toolbar-count #mc-cat-count {
  color: var(--v2-gold);
}
body.mc-v2 .mc-cat-filter-btn-mobile {
  border-radius: 999px;
  border: 1px solid var(--v2-line);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-weight: 600;
  padding: 0.55rem 1rem;
}

/* Brand groups → section headers like an app feed */
body.mc-v2 .fleet-brand-group {
  margin: 0 0 clamp(2rem, 6vw, 3rem);
}
body.mc-v2 .fleet-brand-group__title {
  font-family: var(--v2-font);
  font-size: clamp(1.5rem, 5.5vw, 2.1rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0 0 1rem;
}
body.mc-v2 .fleet-brand-scroll-prev,
body.mc-v2 .fleet-brand-scroll-next {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--v2-line);
  color: #fff;
}

/* Cards — premium dark glass tiles */
body.mc-v2 .mc-cat-card {
  background: linear-gradient(180deg, var(--v2-card) 0%, var(--v2-card-2) 100%);
  border: 1px solid var(--v2-line-soft);
  border-radius: var(--v2-radius);
  overflow: hidden;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset, 0 18px 40px rgba(0, 0, 0, 0.4);
  transition: transform 0.25s var(--v2-ease), border-color 0.25s ease, box-shadow 0.25s ease;
}
@media (hover: hover) and (pointer: fine) {
  body.mc-v2 .mc-cat-card:hover {
    transform: translateY(-4px);
    border-color: var(--v2-line);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06) inset, 0 26px 56px rgba(0, 0, 0, 0.5);
  }
}
body.mc-v2 .mc-cat-card__img {
  background: #ffffff;
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
body.mc-v2 .mc-cat-card__img img {
  filter: none;
}
body.mc-v2 .mc-cat-card__body {
  background: transparent;
}
body.mc-v2 .mc-cat-card__title {
  color: #fff;
  font-weight: 600;
  letter-spacing: -0.01em;
}
body.mc-v2 .mc-cat-card__lede {
  color: var(--v2-text-dim);
}
body.mc-v2 .mc-cat-card__facts {
  color: var(--v2-text-dim);
}
body.mc-v2 .mc-cat-card__facts li span {
  color: var(--v2-text-mute);
}
body.mc-v2 .mc-cat-card__meta {
  color: #fff;
  font-weight: 600;
}
/* Beat catalog static-fleet meta (charcoal on dark cards = invisible) */
body.mc-v2 #mc-cat-fleet-groups[data-mc-fleet="static"] .mc-cat-card__meta {
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.35;
  color: #fff;
  margin: 0 0 0.5rem;
  flex-shrink: 0;
}
body.mc-v2 #mc-cat-fleet-groups[data-mc-fleet="static"] .mc-cat-card__meta::first-line {
  color: var(--v2-gold);
}
/* Keep price row visible above the sticky CTA on mobile rails */
@media (max-width: 959px) {
  body.mc-v2 #mc-cat-fleet-groups[data-mc-fleet="static"] .mc-cat-card--rich .mc-cat-card__lede {
    -webkit-line-clamp: 1;
    line-clamp: 1;
    margin-bottom: 0.35rem;
  }
  body.mc-v2 #mc-cat-fleet-groups[data-mc-fleet="static"] .mc-cat-card--conversion .mc-cat-card__body {
    overflow: visible;
  }
}

/* CTA — same gold as modal form submit (hero-quick-form__btn), no shadow */
body.mc-v2 .mc-cat-card .mc-cat-card__cta.btn-primary {
  background: #c9a96e;
  color: #1a1c1e;
  border: 0;
  border-radius: 0.3rem;
  font-weight: 700;
  box-shadow: none !important;
  text-shadow: none;
  filter: none;
  transform: none;
  outline: none;
}
body.mc-v2 .mc-cat-card .mc-cat-card__cta.btn-primary::after,
body.mc-v2 .mc-cat-card .mc-cat-card__cta.btn-primary .fa-arrow-right {
  color: #1a1c1e;
}
body.mc-v2 .mc-cat-card .mc-cat-card__cta.btn-primary:hover,
body.mc-v2.mc-cat-catalog .mc-cat-card .mc-cat-card__cta.btn-primary:hover {
  background: #c9a96e;
  color: #1a1c1e;
  opacity: 0.92;
  box-shadow: none !important;
  filter: none;
  transform: none;
}
body.mc-v2 .mc-cat-card .mc-cat-card__cta.btn-primary:focus,
body.mc-v2 .mc-cat-card .mc-cat-card__cta.btn-primary:focus-visible {
  outline: none;
  box-shadow: none !important;
}

/* SEO / quick answers + brand strip */
body.mc-v2 .mc-cat-seo {
  background: var(--v2-bg-soft);
  border: 1px solid var(--v2-line-soft);
  border-radius: var(--v2-radius-lg);
  margin: clamp(1.5rem, 5vw, 2.5rem) auto;
  padding: clamp(1.5rem, 5vw, 2.4rem);
  max-width: 960px;
  color: var(--v2-text-dim);
}
body.mc-v2 .mc-cat-seo h2 {
  color: #fff;
  letter-spacing: -0.02em;
}
body.mc-v2 .mc-cat-seo strong {
  color: #fff;
}
body.mc-v2 .mc-cat-brands {
  color: var(--v2-text-mute);
  border-top: 1px solid var(--v2-line-soft);
}
body.mc-v2 .mc-cat-brands strong {
  color: var(--v2-text-dim);
}

/* ============================ FOOTER ============================ */
body.mc-v2 .mc-site-footer {
  background: #000;
  border-top: 1px solid var(--v2-line-soft);
  color: var(--v2-text-dim);
}
body.mc-v2 .mc-site-footer__brand,
body.mc-v2 .mc-site-footer__heading {
  color: #fff;
}
body.mc-v2 .mc-site-footer a {
  color: var(--v2-text-dim);
}
body.mc-v2 .mc-site-footer a:hover {
  color: #fff;
}

/* ===================== Fixed bottom app dock ===================== */
body.mc-v2 .v2-dock {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 940;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  box-sizing: border-box;
  min-height: var(--v2-dock-inner, calc(0.85rem * 2 + 2.75rem));
  padding: var(--v2-dock-pad, 0.85rem) clamp(0.9rem, 4vw, 1.4rem);
  padding-bottom: calc(var(--v2-dock-pad, 0.85rem) + max(var(--v2-dock-safe, env(safe-area-inset-bottom, 0px)), 6px));
  background: rgba(8, 8, 10, 0.82);
  -webkit-backdrop-filter: saturate(180%) blur(22px);
  backdrop-filter: saturate(180%) blur(22px);
  border-top: 1px solid var(--v2-line);
  transform: translate3d(0, 0, 0);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: transform 0.28s var(--v2-ease), opacity 0.22s ease, visibility 0s linear 0s;
}
/* hidden while the hero is in view — fully off-screen, no peek on hero */
body.mc-v2 .v2-dock[data-hidden="true"] {
  transform: translate3d(0, calc(100% + 2px), 0);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: transform 0.3s var(--v2-ease), opacity 0.24s ease;
}
body.mc-v2 .v2-dock__info {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
  min-width: 0;
}
body.mc-v2 .v2-dock__title {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: #fff;
}
body.mc-v2 .v2-dock__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--v2-wa);
  box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.6);
  animation: v2Pulse 2s infinite;
}
@keyframes v2Pulse {
  0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.5); }
  70% { box-shadow: 0 0 0 7px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}
body.mc-v2 .v2-dock__sub {
  font-size: 0.78rem;
  color: var(--v2-text-mute);
}
body.mc-v2 .v2-dock__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
body.mc-v2 .v2-dock__wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border-radius: 50%;
  background: linear-gradient(180deg, #2ad15f 0%, #21bd54 100%);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #ffffff;
  font-size: 1.25rem;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(33, 189, 84, 0.35);
}

/* ===================== Desktop refinements ===================== */
@media (min-width: 768px) {
  body.mc-v2 .v2-hero {
    padding: 0.85rem clamp(1.1rem, 5vw, 3rem) 1.5rem;
    text-align: left;
  }
  body.mc-v2 .v2-hero__content {
    text-align: left;
  }
  body.mc-v2 .v2-hero__kicker {
    justify-content: flex-start;
  }
  body.mc-v2 .v2-hero__sub {
    margin-left: 0;
    margin-right: 0;
  }
  body.mc-v2 .v2-hero__actions {
    justify-content: flex-start;
  }
  body.mc-v2 .v2-dock__sub {
    font-size: 0.82rem;
  }
}

@media (min-width: 1024px) {
  /* On large screens the bottom dock is less necessary; keep it subtle */
  body.mc-v2 .v2-dock {
    left: auto;
    right: 24px;
    bottom: calc(24px + var(--v2-dock-safe, env(safe-area-inset-bottom, 0px)));
    border-radius: 999px;
    border: 1px solid var(--v2-line);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.5);
    max-width: 460px;
  }
}

/* ===================== Page loader — dark Riviera skin (always on v2) ===================== */
body.mc-v2 .mc-page-loader {
  background:
    radial-gradient(ellipse 90% 70% at 75% 15%, rgba(40, 40, 48, 0.55) 0%, transparent 50%),
    radial-gradient(ellipse 70% 55% at 12% 85%, rgba(28, 28, 34, 0.45) 0%, transparent 48%),
    linear-gradient(158deg, #0a0a0c 0%, #121218 44%, #1a1a22 100%);
}
body.mc-v2 .mc-page-loader__shine {
  background: linear-gradient(
    115deg,
    transparent 0%,
    transparent 38%,
    rgba(255, 255, 255, 0.08) 46%,
    rgba(201, 169, 110, 0.12) 52%,
    transparent 62%,
    transparent 100%
  );
}
body.mc-v2 .mc-page-loader__inner {
  background: linear-gradient(
    165deg,
    rgba(22, 22, 26, 0.92) 0%,
    rgba(14, 14, 18, 0.88) 50%,
    rgba(10, 10, 12, 0.9) 100%
  );
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.06) inset,
    0 0 0 1px rgba(201, 169, 110, 0.14) inset,
    0 18px 50px rgba(0, 0, 0, 0.45);
}
body.mc-v2 .mc-page-loader__place {
  color: #f5f5f7;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
body.mc-v2 .mc-page-loader__line--premium {
  color: rgba(201, 169, 110, 0.88);
}

/* ===================== Motion / a11y — same slow reveals as control page ===================== */
@media (prefers-reduced-motion: no-preference) {
  /* Fleet cards — slow image zoom on hover (catalog micro-motion) */
  body.mc-v2 .mc-cat-card__img img {
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  }
  @media (hover: hover) and (pointer: fine) {
    body.mc-v2 .mc-cat-card:hover .mc-cat-card__img img {
      transform: scale(1.04);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  body.mc-v2 .v2-dock__dot {
    animation: none !important;
  }
}

/* ===================== Request modal (light panel on dark page) ===================== */
body.mc-v2 #request,
body.mc-v2 #request .mc-request-checkout,
body.mc-v2 #request .mc-request-pick--filled,
body.mc-v2 #request .mc-request-pick--empty {
  color: #1a1c1e;
}
body.mc-v2 #request .mc-request-checkout__title,
body.mc-v2 #request .mc-request-pick__title {
  color: #141312 !important;
  font-weight: 700;
}
body.mc-v2 #request .mc-request-checkout__kicker,
body.mc-v2 #request .mc-request-pick__desk,
body.mc-v2 #request .mc-request-pick__lede,
body.mc-v2 #request .mc-request-checkout__lede,
body.mc-v2 #request .mc-request-pick__meta,
body.mc-v2 #request .hero-quick-form__note,
body.mc-v2 #request .hero-quick-form__field label,
body.mc-v2 #request .privacy-row label {
  color: #4b5563;
}
body.mc-v2 #request .mc-request-pick__meta strong,
body.mc-v2 #request .mc-request-checkout__lede strong,
body.mc-v2 #request .mc-request-pick__lede strong {
  color: #1a1c1e;
}
body.mc-v2 #request .hero-quick-form__field input,
body.mc-v2 #request .hero-quick-form__textarea,
body.mc-v2 #request .mc-dp__trigger {
  color: #1a1c1e;
  background: #fff;
}
body.mc-v2 #request .mc-dp__value--placeholder {
  color: #6b7280;
}
