/* ==========================================================================
   MMRV — Design tokens (ported verbatim from the live site's palette)
   ========================================================================== */
:root{
  --marble:        #ece9e0;
  --marble-bright: #ffffff;
  --marble-soft:   #c8c5bc;
  --marble-dim:    #8c8a83;
  --onyx:          #0a0a0a;
  --onyx-2:        #141414;
  --onyx-3:        #1d1d1d;
  --line:          rgba(236,233,224,.08);
  --line-bright:   rgba(236,233,224,.22);

  --f-serif:'Cormorant Garamond', 'Trajan Pro', Georgia, serif;
  --f-sans:'Inter', 'Helvetica Neue', Arial, sans-serif;

  --container: 1320px;
  --ease: cubic-bezier(.16,.84,.44,1);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
#features,#contact{scroll-margin-top:90px;}
body{
  background:#ffffff;
  color:var(--marble);
  font-family:var(--f-sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{margin:0;font-family:var(--f-serif);font-weight:500;}
p{margin:0;}
button{font-family:inherit;cursor:pointer;background:none;border:none;}
::selection{background:var(--marble);color:var(--onyx);}

.wrap{max-width:var(--container);margin:0 auto;padding-inline:32px;}
@media (max-width:640px){ .wrap{padding-inline:20px;} }

/* Fade-to-white gradient panel — used to wrap dark content zones on the
   otherwise white page (spec zone, why-us, fleet sections).

   IMPORTANT: ::before / ::after must stay RGBA (transparent overlays).
   If made opaque rgb() they paint over the side vignette on the base layer
   and produce a hard horizontal seam where they end. */
.mmrv-fade-panel{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  --fade-in:420px;
  --fade-out:420px;
  --panel-base:#1a1a1a;
  --panel-out:245,243,238;  /* #f5f3ee - matches .mmrv-light-panel base */
  background:var(--panel-base);
  padding:60px 0;
}

/* Top fade-in: white -> transparent (tints the base, never replaces it) */
.mmrv-fade-panel::before{
  content:"";position:absolute;top:0;left:0;right:0;
  height:var(--fade-in);z-index:0;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(255,255,255,1)     0%,    rgba(255,255,255,0.998) 5%,
    rgba(255,255,255,0.991) 10%,   rgba(255,255,255,0.977) 15%,
    rgba(255,255,255,0.954) 20%,   rgba(255,255,255,0.919) 25%,
    rgba(255,255,255,0.872) 30%,   rgba(255,255,255,0.812) 35%,
    rgba(255,255,255,0.740) 40%,   rgba(255,255,255,0.657) 45%,
    rgba(255,255,255,0.567) 50%,   rgba(255,255,255,0.473) 55%,
    rgba(255,255,255,0.380) 60%,   rgba(255,255,255,0.292) 65%,
    rgba(255,255,255,0.213) 70%,   rgba(255,255,255,0.145) 75%,
    rgba(255,255,255,0.091) 80%,   rgba(255,255,255,0.050) 85%,
    rgba(255,255,255,0.022) 90%,   rgba(255,255,255,0.006) 95%,
    rgba(255,255,255,0)     100%);
}

/* Bottom fade-out: transparent -> white (mirror of the top) */
.mmrv-fade-panel::after{
  content:"";position:absolute;bottom:0;left:0;right:0;
  height:var(--fade-out);z-index:0;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(var(--panel-out),0)     0%,   rgba(var(--panel-out),0.006) 5%,
    rgba(var(--panel-out),0.022) 10%,  rgba(var(--panel-out),0.050) 15%,
    rgba(var(--panel-out),0.091) 20%,  rgba(var(--panel-out),0.145) 25%,
    rgba(var(--panel-out),0.213) 30%,  rgba(var(--panel-out),0.292) 35%,
    rgba(var(--panel-out),0.380) 40%,  rgba(var(--panel-out),0.473) 45%,
    rgba(var(--panel-out),0.567) 50%,  rgba(var(--panel-out),0.657) 55%,
    rgba(var(--panel-out),0.740) 60%,  rgba(var(--panel-out),0.812) 65%,
    rgba(var(--panel-out),0.872) 70%,  rgba(var(--panel-out),0.919) 75%,
    rgba(var(--panel-out),0.954) 80%,  rgba(var(--panel-out),0.977) 85%,
    rgba(var(--panel-out),0.991) 90%,  rgba(var(--panel-out),0.998) 95%,
    rgba(var(--panel-out),1)     100%);
}

.mmrv-fade-panel .mmrv-noise-layer{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:url('../images/site/noise.png');
  background-size:128px 128px;
  mix-blend-mode:overlay;
  opacity:.5;
}
.mmrv-fade-panel > *{position:relative;z-index:2;}

/* Collection panel sits directly above the light Why-Us panel, whose ::before
   already fades dark -> cream. A bottom fade here would double up and, if its
   end colour differs, produce a hard step. So: no bottom fade, end flat at
   --panel-base, and let .mmrv-light-panel::before do the whole transition.
   Both must agree on the same dark value (#1a1a1a). */
.mmrv-fade-panel.no-bottom-fade::after{display:none;}

/* ---- Light panel: inverse of .mmrv-fade-panel ----
   Cream section that fades UP into the dark Collection panel above and
   DOWN into the dark Contact section below. High luminance range
   (#f5f3ee -> #1a1a1a) so the gradient has ~230 integer steps to travel:
   no banding. Do NOT shrink this range into a low-contrast vignette. */
.mmrv-light-panel{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  --lfade:300px;
  --light-base:#f5f3ee;
  --dark-above:26,26,26;   /* MUST equal --panel-base (#1a1a1a) on the Collection
                              panel above, which now ends flat (no bottom fade).
                              If these two values disagree you get a hard step. */
  --dark-below:5,5,5;      /* #050505 - Contact section */
  background:var(--light-base);
}
.mmrv-light-panel::before{
  content:"";position:absolute;top:0;left:0;right:0;
  height:var(--lfade);z-index:0;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(var(--dark-above),1)     0%,   rgba(var(--dark-above),0.998) 5%,
    rgba(var(--dark-above),0.991) 10%,  rgba(var(--dark-above),0.977) 15%,
    rgba(var(--dark-above),0.954) 20%,  rgba(var(--dark-above),0.919) 25%,
    rgba(var(--dark-above),0.872) 30%,  rgba(var(--dark-above),0.812) 35%,
    rgba(var(--dark-above),0.740) 40%,  rgba(var(--dark-above),0.657) 45%,
    rgba(var(--dark-above),0.567) 50%,  rgba(var(--dark-above),0.473) 55%,
    rgba(var(--dark-above),0.380) 60%,  rgba(var(--dark-above),0.292) 65%,
    rgba(var(--dark-above),0.213) 70%,  rgba(var(--dark-above),0.145) 75%,
    rgba(var(--dark-above),0.091) 80%,  rgba(var(--dark-above),0.050) 85%,
    rgba(var(--dark-above),0.022) 90%,  rgba(var(--dark-above),0.006) 95%,
    rgba(var(--dark-above),0)     100%);
}
.mmrv-light-panel::after{
  content:"";position:absolute;bottom:0;left:0;right:0;
  height:var(--lfade);z-index:0;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(var(--dark-below),0)     0%,   rgba(var(--dark-below),0.006) 5%,
    rgba(var(--dark-below),0.022) 10%,  rgba(var(--dark-below),0.050) 15%,
    rgba(var(--dark-below),0.091) 20%,  rgba(var(--dark-below),0.145) 25%,
    rgba(var(--dark-below),0.213) 30%,  rgba(var(--dark-below),0.292) 35%,
    rgba(var(--dark-below),0.380) 40%,  rgba(var(--dark-below),0.473) 45%,
    rgba(var(--dark-below),0.567) 50%,  rgba(var(--dark-below),0.657) 55%,
    rgba(var(--dark-below),0.740) 60%,  rgba(var(--dark-below),0.812) 65%,
    rgba(var(--dark-below),0.872) 70%,  rgba(var(--dark-below),0.919) 75%,
    rgba(var(--dark-below),0.954) 80%,  rgba(var(--dark-below),0.977) 85%,
    rgba(var(--dark-below),0.991) 90%,  rgba(var(--dark-below),0.998) 95%,
    rgba(var(--dark-below),1)     100%);
}
.mmrv-light-panel > *{position:relative;z-index:2;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}

/* Custom cursor */
html, body {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><circle cx='8' cy='8' r='4.5' fill='%23000000' stroke='%23ece9e0' stroke-width='1' opacity='0.92'/></svg>") 8 8, auto;
}
a, button, [role="button"], .btn, .mmrv-spec, .mmrv-whyus-card, .mmrv-fleetcard, input[type="submit"] {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><circle cx='10' cy='10' r='6' fill='%23000000' stroke='%23ffffff' stroke-width='1.2'/></svg>") 10 10, pointer;
}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.is-visible{opacity:1;transform:translateY(0);}
.reveal-stagger > *{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal-stagger.is-visible > *{opacity:1;transform:translateY(0);}
.reveal-stagger.is-visible > *:nth-child(1){transition-delay:.05s;}
.reveal-stagger.is-visible > *:nth-child(2){transition-delay:.15s;}
.reveal-stagger.is-visible > *:nth-child(3){transition-delay:.25s;}
.reveal-stagger.is-visible > *:nth-child(4){transition-delay:.35s;}
.reveal-stagger.is-visible > *:nth-child(5){transition-delay:.45s;}

/* Header */
.site-header{background:#fff;position:sticky;top:0;z-index:500;border-bottom:1px solid #ececec;}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:16px;}
.mmrv-logo{display:block;width:150px;}
.mmrv-logo svg{width:100%;height:auto;display:block;}
.main-nav{display:flex;gap:34px;align-items:center;}
.main-nav > li{position:relative;}
.main-nav > li > a{font-family:var(--f-sans);font-size:14px;letter-spacing:.03em;color:#111;padding:8px 0;}
.main-nav > li > a:hover{opacity:.6;}
.nav-toggle{display:none;background:none;border:0;color:#111;}
.header-contact-btn{
  display:inline-flex;align-items:center;padding:12px 24px;border-radius:999px;
  background:#0a0a0a;color:#fff;font-family:var(--f-sans);font-size:14px;font-weight:500;
  transition:background .25s ease;
}
.header-contact-btn:hover{background:#222;}
@media (max-width:860px){ .header-contact-btn{display:none;} }
@media (max-width:860px){
  .main-nav{position:fixed;inset:0;top:0;background:#fff;flex-direction:column;justify-content:center;gap:30px;transform:translateY(-100%);transition:transform .4s var(--ease);z-index:400;}
  .main-nav.is-open{transform:translateY(0);}
  .main-nav > li > a{font-size:22px;}
  .nav-toggle{display:block;z-index:600;}
}


/* Hero */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;padding-bottom:90px;overflow:hidden;background:var(--onyx);}
.hero-media{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center 80%;}
.hero-video-mobile{display:none;}
@media (max-width:640px){
  .hero-video-mobile{
    display:block;position:absolute;inset:0;z-index:0;
    width:100%;height:100%;object-fit:cover;
  }
  .hero-media{display:none;}
}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(10,10,10,.15) 0%, rgba(10,10,10,.55) 55%, var(--onyx) 100%);}
.hero-content{position:relative;z-index:2;}
.hero-tag{font-family:var(--f-sans);font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--marble-dim);display:block;margin-bottom:16px;}
.hero-title{font-family:var(--f-serif);font-weight:400;font-size:clamp(42px, 7vw, 96px);line-height:1.02;color:var(--marble-bright);text-shadow:0 6px 36px rgba(0,0,0,.7);max-width:900px;}
.hero-title em{font-style:italic;background:linear-gradient(135deg,#fff 0%, var(--marble-soft) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.hero-sub{margin-top:20px;max-width:460px;color:var(--marble-dim);font-size:15px;}
.hero-actions{margin-top:34px;display:flex;gap:16px;flex-wrap:wrap;}

.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;font-family:var(--f-sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line-bright);color:var(--marble-bright);border-radius:999px;transition:all .25s ease;}
.btn:hover{background:var(--marble);color:#0a0a0a;border-color:var(--marble);}
.btn-solid{background:var(--marble);color:#0a0a0a;border-color:var(--marble);}
.btn-solid:hover{background:var(--marble-bright);}

.section{padding:100px 0;}
@media (max-width:768px){.section{padding:64px 0;}}

/* Why Us */
.mmrv-whyus-overlay{
  padding:200px 32px 220px;color:var(--onyx);position:relative;
}
.mmrv-whyus-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:32px;align-items:center;}
@media (max-width:980px){.mmrv-whyus-inner{grid-template-columns:1fr;}}
.mmrv-whyus-heading{grid-column:1/-1;text-align:center;margin-bottom:30px;}
.mmrv-whyus-heading .hero-tag{margin-bottom:10px;color:#8a8780;}
.mmrv-whyus-heading h2{font-size:42px;font-weight:400;color:var(--onyx);letter-spacing:.02em;}
.mmrv-whyus-tagline{color:#6b6862;font-family:var(--f-sans);font-size:14px;margin-top:12px;line-height:1.5;}
.mmrv-whyus-cards-left,.mmrv-whyus-cards-right{display:flex;flex-direction:column;gap:18px;}
.mmrv-whyus-card{background:#ffffff;border:1px solid rgba(10,10,10,.09);border-radius:14px;padding:22px 24px;box-shadow:0 10px 30px rgba(10,10,10,.07);transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;font-family:var(--f-sans);color:var(--onyx);}
.mmrv-whyus-card:hover{transform:translateY(-3px);border-color:rgba(10,10,10,.20);box-shadow:0 18px 44px rgba(10,10,10,.13);}
.mmrv-whyus-icon{width:40px;height:40px;border-radius:10px;background:var(--onyx);border:1px solid rgba(10,10,10,.12);color:var(--marble);display:grid;place-items:center;margin-bottom:12px;}
.mmrv-whyus-icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.mmrv-whyus-card h3{font-size:19px;font-weight:500;color:var(--onyx);margin:0 0 8px;}
.mmrv-whyus-card p{color:#4a4842;opacity:1;font-size:13.5px;line-height:1.55;}
.mmrv-whyus-center{text-align:center;padding:20px;}
.mmrv-whyus-center img{max-width:100%;height:auto;filter:drop-shadow(0 18px 22px rgba(10,10,10,.28));}

/* Contact + Newsletter */
/* Homepage Contact section — dark car-photo background, Name/Email/Message form */
.mmrv-contact-section{
  position:relative; padding:90px 0; overflow:hidden; background:#050505;
}
.mmrv-contact-section::before{
  content:"";position:absolute;top:0;left:0;right:0;height:140px;z-index:0;
  background:linear-gradient(180deg, rgba(20,20,20,0) 0%, #050505 100%);
}
.mmrv-contact-section::after{
  content:"";position:absolute;bottom:0;left:0;right:0;height:140px;z-index:0;
  background:linear-gradient(180deg, rgba(20,20,20,0) 0%, #050505 100%);
  transform:scaleY(-1);
}
.mmrv-contact-bg{
  position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center;
  opacity:.55;
  filter:brightness(1.35) contrast(1.1);
}
.mmrv-contact-bg::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 65% 55% at center, transparent 35%, rgba(0,0,0,.65) 100%);
}
.mmrv-contact-section .wrap{position:relative;z-index:1;}
.mmrv-contact-grid2{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
@media (max-width:768px){.mmrv-contact-grid2{grid-template-columns:1fr;}}
.mmrv-contact-section h2{color:var(--marble-bright);font-size:34px;margin-bottom:24px;}
.mmrv-contact-form{display:flex;flex-direction:column;gap:16px;max-width:480px;margin-left:auto;}
.mmrv-contact-form label{font-family:var(--f-sans);font-size:13px;font-weight:600;color:var(--marble-bright);margin-bottom:6px;display:block;}
.mmrv-contact-form input,.mmrv-contact-form textarea{
  width:100%; background:#fff; color:#000; border:0; border-radius:8px;
  padding:12px 14px; font-family:var(--f-sans); font-size:14px;
}
.mmrv-contact-form textarea{min-height:100px;resize:vertical;}
.mmrv-contact-form button{
  align-self:flex-start; background:#fff; color:#000; border-radius:999px;
  padding:12px 30px; font-weight:600; font-size:14px; margin-top:4px;
}
.mmrv-contact-note{font-family:var(--f-sans);font-size:12px;color:var(--marble-dim);margin-top:8px;height:14px;}

.mmrv-social-inline{display:flex;gap:36px;justify-content:center;margin-top:56px;flex-wrap:wrap;}
.mmrv-social-inline a{display:flex;align-items:center;gap:10px;color:var(--marble-bright);font-family:var(--f-sans);font-size:15px;}
.mmrv-social-inline svg{width:22px;height:22px;fill:none;stroke:var(--marble-bright);stroke-width:1.6;}
.mmrv-social-inline a:hover{color:var(--marble-soft);}

.mmrv-newsletter-form{display:flex;gap:10px;flex-wrap:wrap;}
.mmrv-newsletter-form input[type="email"]{flex:1;min-width:180px;background:#fff;color:#000;border-radius:999px;border:0;padding:12px 20px;font-family:var(--f-sans);font-size:14px;box-shadow:0 4px 14px rgba(0,0,0,.35);}
.mmrv-newsletter-form button{background:linear-gradient(135deg,#ffffff,var(--marble));color:#000;border-radius:999px;padding:12px 26px;font-weight:600;font-size:13px;letter-spacing:.05em;}
.mmrv-newsletter-note{font-family:var(--f-sans);font-size:11px;color:var(--marble-dim);margin-top:10px;height:14px;}

/* Footer + fixed side social icons */
/* Footer — 3-column white-bg row: contact card / logo / newsletter card */
.site-footer{padding:60px 0 32px;background:#fff;}
.mmrv-footer-row{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:stretch;margin-bottom:48px;}
@media (max-width:860px){.mmrv-footer-row{grid-template-columns:1fr;justify-items:stretch;}}
.mmrv-footer-card{
  background:#0a0a0a;border-radius:16px;padding:22px 26px;
  display:flex;flex-direction:column;justify-content:center;gap:14px;
}
.mmrv-footer-card a,.mmrv-footer-card .value{
  display:flex;align-items:center;gap:10px;color:var(--marble);font-family:var(--f-sans);font-size:14px;
}
.mmrv-footer-card svg{width:16px;height:16px;fill:none;stroke:var(--marble);stroke-width:1.8;flex-shrink:0;}
.mmrv-footer-logo{width:170px;align-self:center;}
.mmrv-footer-logo img{width:100%;height:auto;display:block;}
.mmrv-footer-newsletter{background:#0a0a0a;border-radius:16px;padding:22px 26px;display:flex;flex-direction:column;justify-content:center;}
.mmrv-footer-newsletter h3{color:var(--marble-bright);font-family:var(--f-serif);font-size:18px;margin-bottom:12px;font-weight:500;}
.mmrv-footer-newsletter form{display:flex;flex-direction:column;gap:10px;}
.mmrv-footer-newsletter input{background:#fff;color:#000;border:0;border-radius:999px;padding:10px 18px;font-family:var(--f-sans);font-size:13px;}
.mmrv-footer-newsletter button{background:#fff;color:#000;border-radius:999px;padding:10px 18px;font-weight:600;font-size:13px;}
.footer-links{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin-bottom:32px;}
.footer-links h3{font-family:var(--f-sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#999;margin-bottom:12px;font-weight:400;text-align:center;}
.footer-links ul{display:flex;flex-direction:column;gap:8px;align-items:center;}
.footer-links a{font-size:14px;color:#111;}
.footer-links a:hover{color:#666;}
.footer-bottom{border-top:1px solid #eee;padding-top:20px;display:flex;justify-content:space-between;font-family:var(--f-sans);font-size:11px;color:#888;flex-wrap:wrap;gap:10px;}

.mmrv-social-fixed{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:800;display:flex;flex-direction:column;gap:12px;}
.mmrv-social-fixed a{
  width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background: radial-gradient(circle, #e0217a 0%, #a3145a 100%);
  color:var(--marble-bright);border:1px solid rgba(224,33,122,.5);box-shadow:0 6px 18px rgba(0,0,0,.45);
  transition:all .25s ease;position:relative;
}
.mmrv-social-fixed a::before{
  content:"";position:absolute;inset:3px;border-radius:50%;z-index:1;
  background:url('../images/site/marble-texture.jpg') center/cover;
}
.mmrv-social-fixed a:hover{
  border-color:#e0217a;transform:translateY(-2px);
  box-shadow:0 0 22px rgba(224,33,122,.45), 0 10px 24px rgba(0,0,0,.5);
}
.mmrv-social-fixed a.marble-2{
  background: radial-gradient(circle, #159957 0%, #0c6b3a 100%);
  border-color: rgba(21,153,87,.5);
}
.mmrv-social-fixed a.marble-2::before{
  background:url('../images/site/marble-texture-2.jpg') center/cover;
}
.mmrv-social-fixed a.marble-2:hover{
  border-color:#159957;transform:translateY(-2px);
  box-shadow:0 0 22px rgba(21,153,87,.45), 0 10px 24px rgba(0,0,0,.5);
}
.mmrv-social-fixed a:hover svg{color:var(--marble-bright);}
.mmrv-social-fixed svg{width:20px;height:20px;fill:currentColor;position:relative;z-index:2;filter:drop-shadow(0 1px 3px rgba(0,0,0,.9));}
@media (max-width:640px){
  .mmrv-social-fixed{right:12px;top:auto;bottom:16px;transform:none;}
}

/* Car detail page */
.car-hero-media{aspect-ratio:16/8;overflow:hidden;background:var(--onyx-2);border-radius:14px;}
.car-hero-media img{width:100%;height:100%;object-fit:cover;}
.car-hero-media img.hero-contain{object-fit:contain;}
.car-hero-media img.is-small{
  object-fit:contain;padding:40px;
  background:radial-gradient(ellipse 70% 60% at 50% 55%, rgba(236,233,224,.06), transparent 70%), var(--onyx-2);
}
.car-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px;}
@media (max-width:640px){.car-gallery{grid-template-columns:repeat(2,1fr);}}
.car-gallery .g-item{aspect-ratio:4/3;overflow:hidden;border-radius:10px;}
.car-gallery .g-item img{width:100%;height:100%;object-fit:cover;}

.mmrv-premium{max-width:1040px;margin:40px auto 0;padding:32px 32px 24px;border-radius:18px;background:linear-gradient(135deg, rgba(28,28,28,.55) 0%, rgba(13,13,13,.55) 100%);border:1px solid var(--line);box-shadow:0 14px 40px rgba(0,0,0,.40);}
.mmrv-section-label{display:block;text-align:center;font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--marble-dim);margin-bottom:6px;font-family:var(--f-sans);}
.mmrv-section-title{text-align:center;font-size:28px;font-weight:400;color:var(--marble-bright);margin:0 0 30px;letter-spacing:.03em;font-family:var(--f-serif);}
.mmrv-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
@media (max-width:768px){.mmrv-specs{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.mmrv-specs{grid-template-columns:1fr;}}
.mmrv-spec{display:flex;align-items:center;gap:14px;padding:16px;background:linear-gradient(135deg, rgba(20,20,20,.85) 0%, rgba(29,29,29,.85) 100%);border-radius:12px;border:1px solid var(--line);box-shadow:0 6px 16px rgba(0,0,0,.30);transition:transform .35s ease, border-color .35s ease;}
.mmrv-spec:hover{transform:translateY(-2px);border-color:var(--line-bright);box-shadow:0 10px 24px rgba(0,0,0,.45);}
.mmrv-spec-icon{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:radial-gradient(circle at 30% 30%, rgba(236,233,224,.10), rgba(236,233,224,.02));border:1px solid var(--line);}
.mmrv-spec-icon svg{width:20px;height:20px;stroke:var(--marble);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.mmrv-spec-text{display:flex;flex-direction:column;gap:1px;font-family:var(--f-sans);}
.mmrv-spec-value{font-size:15px;font-weight:600;color:var(--marble-bright);}
.mmrv-spec-label{font-size:10px;color:var(--marble-dim);letter-spacing:.08em;text-transform:uppercase;}

.mmrv-desc-card,.mmrv-features-card{max-width:1040px;margin:16px auto 0;padding:22px 32px;border-radius:18px;background:linear-gradient(180deg, rgba(20,20,20,.92), rgba(13,13,13,.92));border:1px solid var(--line);color:var(--marble);font-family:var(--f-sans);}
.mmrv-desc-card h2,.mmrv-features-card h2{font-family:var(--f-serif);font-size:18px;font-weight:500;margin:0 0 10px;color:var(--marble-bright);}
.mmrv-desc-card p{line-height:1.6;font-size:14px;opacity:.92;}
.mmrv-features-card ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px;}
@media (max-width:640px){.mmrv-features-card ul{grid-template-columns:1fr;}}
.mmrv-features-card li{position:relative;padding-left:20px;font-size:13px;line-height:1.45;}
.mmrv-features-card li::before{content:"";position:absolute;left:0;top:6px;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle, var(--marble-bright), var(--marble-soft));box-shadow:0 0 8px rgba(236,233,224,.45);}

/* Booking form */
.mmrv-booking{
  max-width:1040px;margin:60px auto 0;border-radius:22px;overflow:hidden;
  display:grid;grid-template-columns:1fr 1fr;background:#0a0a0a;
  box-shadow:0 20px 50px rgba(0,0,0,.35);
}
@media (max-width:768px){.mmrv-booking{grid-template-columns:1fr;}}
.mmrv-booking-info{padding:44px 36px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;border-right:1px solid rgba(255,255,255,.08);}
@media (max-width:768px){.mmrv-booking-info{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);}}
.mmrv-booking-info h2{color:var(--marble-bright);font-size:22px;font-weight:500;margin-bottom:24px;line-height:1.3;}
.mmrv-booking-pill{background:#1a1a1a;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:16px 32px;text-align:center;}
.mmrv-booking-pill .name{color:var(--marble-bright);font-family:var(--f-serif);font-size:18px;font-weight:500;display:block;}
.mmrv-booking-pill .price{color:var(--marble);font-size:15px;display:block;margin-top:4px;}
.mmrv-booking-form{padding:36px 36px;display:flex;flex-direction:column;gap:16px;}
.mmrv-booking-form label{font-family:var(--f-sans);font-size:12px;font-weight:600;color:var(--marble-bright);display:block;margin-bottom:6px;}
.mmrv-booking-form input,.mmrv-booking-form select,.mmrv-booking-form textarea{
  width:100%;background:#fff;color:#000;border:0;border-radius:6px;padding:10px 12px;font-family:var(--f-sans);font-size:14px;
}
.mmrv-booking-form textarea{min-height:70px;resize:vertical;font-family:inherit;}
.mmrv-booking-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:480px){.mmrv-booking-row{grid-template-columns:1fr;}}
.mmrv-booking-form button{align-self:flex-start;background:#fff;color:#000;border-radius:999px;padding:11px 28px;font-weight:600;font-size:14px;margin-top:4px;}
.mmrv-booking-note{font-family:var(--f-sans);font-size:12px;color:var(--marble-dim);height:14px;}
.mmrv-phone-country-hint{display:block;font-family:var(--f-sans);font-size:12px;color:var(--marble-dim);margin-top:4px;min-height:14px;}

/* Homepage featured preview cards — spec-chip row style */
/* Homepage featured-cars cascade (replaces the old full-fleet preview grid,
   which duplicated the Collection page once it became one flat list). */
.mmrv-cascade{display:flex;gap:40px;align-items:flex-start;}
.mmrv-cascade-block{flex:1;display:block;text-decoration:none;}
.mmrv-cascade-block:nth-child(2){margin-top:70px;}
.mmrv-cascade-block:nth-child(3){margin-top:140px;}
.mmrv-cascade-frame{position:relative;width:100%;aspect-ratio:380/340;border-radius:10px;overflow:hidden;}
.mmrv-cascade-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.mmrv-cascade-block:hover .mmrv-cascade-frame img{transform:scale(1.05);}
.mmrv-cascade-frame::after{content:"";position:absolute;top:0;left:0;right:0;height:55%;background:linear-gradient(180deg, rgba(10,10,10,.85) 0%, transparent 100%);pointer-events:none;}
.mmrv-cascade-overlay{position:absolute;top:18px;left:20px;right:20px;z-index:2;}
.mmrv-cascade-name{font-family:var(--f-serif);font-size:22px;color:var(--marble-bright);margin-bottom:2px;}
.mmrv-cascade-price{font-family:var(--f-sans);font-size:12px;color:var(--marble-soft);letter-spacing:.03em;}
.mmrv-cascade-caption{margin-top:16px;font-family:var(--f-sans);font-size:13.5px;line-height:1.5;color:var(--marble-dim);padding:0 4px;}
.mmrv-cascade-cta{text-align:center;margin-top:90px;}
.mmrv-cascade-hook{font-family:var(--f-serif);font-style:italic;font-size:22px;line-height:1.5;color:var(--marble-bright);margin:0 0 28px;}
.mmrv-cascade-btn{
  display:inline-flex;align-items:center;gap:12px;
  border:1.5px solid var(--marble-bright);color:var(--marble-bright);
  font-family:var(--f-serif);font-style:italic;font-size:22px;
  padding:16px 34px;border-radius:999px;text-decoration:none;
  transition:background .25s ease, color .25s ease;
}
.mmrv-cascade-btn:hover{background:var(--marble-bright);color:#0a0a0a;}
.mmrv-cascade-arrow{transition:transform .25s ease;}
.mmrv-cascade-btn:hover .mmrv-cascade-arrow{transform:translateX(4px);}
@media (max-width:860px){
  .mmrv-cascade{flex-direction:column;gap:36px;}
  .mmrv-cascade-block:nth-child(2),.mmrv-cascade-block:nth-child(3){margin-top:0;}
  .mmrv-cascade-frame{aspect-ratio:4/3;}
  .mmrv-cascade-cta{margin-top:56px;}
  .mmrv-cascade-hook{font-size:18px;margin-bottom:22px;}
  .mmrv-cascade-btn{font-size:18px;padding:14px 28px;}
}



/* Fleet / category listing pages */
.mmrv-fleet-page{padding:90px 0 70px;}
.mmrv-fleet-hero{text-align:center;margin-bottom:70px;}
.mmrv-fleet-hero .hero-tag{margin-bottom:14px;}
.mmrv-fleet-hero h1{font-size:clamp(40px,6.5vw,80px);}
.mmrv-fleet-hero p{font-family:var(--f-sans);font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--marble-dim);margin-top:16px;}

.mmrv-fleet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:26px;}
.mmrv-fleetcard{display:flex;flex-direction:column;background:linear-gradient(180deg, rgba(22,22,22,.78), rgba(10,10,10,.88));border:1px solid rgba(236,233,224,.10);border-radius:16px;overflow:hidden;transition:transform .4s ease, border-color .4s ease, box-shadow .4s ease;}
.mmrv-fleetcard:hover{transform:translateY(-6px);border-color:rgba(236,233,224,.32);box-shadow:0 20px 50px rgba(0,0,0,.6);}
.mmrv-fleetcard-img{width:100%;aspect-ratio:16/10;overflow:hidden;background:radial-gradient(ellipse 80% 60% at 50% 65%, rgba(236,233,224,.08), transparent 70%), linear-gradient(180deg, rgba(28,28,28,.55), rgba(12,12,12,.55));}
.mmrv-fleetcard-img img{width:100%;height:100%;object-fit:contain;display:block;padding:16px;transition:transform .55s ease;}
.mmrv-fleetcard-img img.mmrv-fleetcard-photo{object-fit:cover;padding:0;}
.mmrv-fleetcard:hover .mmrv-fleetcard-img img{transform:scale(1.07);}
.mmrv-fleetcard-body{padding:18px 22px 22px;border-top:1px solid rgba(236,233,224,.08);display:flex;flex-direction:column;flex:1;}
.mmrv-fleetcard-name{font-family:var(--f-serif);font-size:22px;font-weight:500;letter-spacing:.04em;color:var(--marble-bright);margin:0 0 14px;flex:1;}
.mmrv-fleetcard-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;}
.mmrv-fleetcard-price{font-family:var(--f-sans);font-size:17px;font-weight:500;color:var(--marble-bright);}
.mmrv-fleetcard-per{font-size:12px;color:var(--marble-dim);margin-left:2px;}
.mmrv-fleetcard-cta{display:inline-block;padding:8px 20px;border:1px solid rgba(236,233,224,.40);border-radius:999px;font-family:var(--f-sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--marble-bright);transition:all .25s ease;}
.mmrv-fleetcard:hover .mmrv-fleetcard-cta{background:var(--marble);color:#0a0a0a;border-color:var(--marble);}

@media (max-width:768px){
  .mmrv-fleet-page{padding:96px 0 72px;}
}

/* ==========================================================================
   Legal pages (privacy policy)
   Light, text-first layout. Dark hero band to clear the fixed header,
   then cream body with onyx text.
   ========================================================================== */
.legal-hero{
  background:var(--onyx);
  padding:140px 0 60px;
  color:var(--marble);
  text-align:center;
}
.legal-hero h1{
  font-size:52px;font-weight:400;color:var(--marble-bright);
  letter-spacing:.02em;margin:0;
}
.legal-updated{
  font-family:var(--f-sans);font-size:13px;color:var(--marble-dim);
  margin-top:14px;
}
.legal-page{
  background:#f5f3ee;
  padding:70px 0 100px;
  color:var(--onyx);
}
.legal-wrap{max-width:760px;}
.legal-lede{
  font-family:var(--f-sans);font-size:16.5px;line-height:1.7;
  color:#3d3b36;padding-bottom:28px;margin:0 0 12px;
  border-bottom:1px solid rgba(10,10,10,.10);
}
.legal-page h2{
  font-family:var(--f-serif);font-size:27px;font-weight:500;
  color:var(--onyx);margin:44px 0 14px;letter-spacing:.01em;
}
.legal-page h3{
  font-family:var(--f-sans);font-size:15px;font-weight:600;
  color:var(--onyx);margin:26px 0 8px;letter-spacing:.01em;
}
.legal-page p{
  font-family:var(--f-sans);font-size:14.5px;line-height:1.75;
  color:#4a4842;margin:0 0 14px;
}
.legal-page a{
  color:var(--onyx);text-decoration:underline;
  text-underline-offset:3px;text-decoration-thickness:1px;
  text-decoration-color:rgba(10,10,10,.35);
}
.legal-page a:hover{text-decoration-color:var(--onyx);}
.legal-list{
  list-style:disc;padding-left:22px;margin:0 0 16px;
  font-family:var(--f-sans);font-size:14.5px;line-height:1.75;color:#4a4842;
}
.legal-list li{margin-bottom:7px;}
.legal-list strong{color:var(--onyx);font-weight:600;}
.legal-table{
  width:100%;border-collapse:collapse;margin:18px 0 20px;
  font-family:var(--f-sans);font-size:13.5px;
}
.legal-table th{
  text-align:left;font-weight:600;color:var(--onyx);
  padding:11px 14px;background:rgba(10,10,10,.05);
  border-bottom:1px solid rgba(10,10,10,.14);
}
.legal-table td{
  padding:12px 14px;color:#4a4842;line-height:1.6;
  border-bottom:1px solid rgba(10,10,10,.08);
  vertical-align:top;
}
.legal-table tr:last-child td{border-bottom:none;}
@media (max-width:700px){
  .legal-hero{padding:120px 0 46px;}
  .legal-hero h1{font-size:36px;}
  .legal-page{padding:50px 0 70px;}
  .legal-page h2{font-size:23px;margin:36px 0 12px;}
  .legal-table{font-size:12.5px;}
  .legal-table th,.legal-table td{padding:9px 10px;}
}

/* Identity table on the legal page uses row headers (th in first column) */
.legal-table tbody th{
  width:38%;white-space:nowrap;background:transparent;
  border-bottom:1px solid rgba(10,10,10,.08);
  font-weight:600;color:var(--onyx);padding:12px 14px;
  text-align:left;vertical-align:top;
}
.legal-table tbody tr:last-child th{border-bottom:none;}
@media (max-width:700px){
  .legal-table tbody th{width:auto;white-space:normal;}
}

/* ==========================================================================
   FAQ page — accordion, built on the same legal-page shell as privacy.html
   ========================================================================== */
.faq-wrap{max-width:820px;}
.faq-list{border-top:1px solid rgba(10,10,10,.10);}
.faq-item{border-bottom:1px solid rgba(10,10,10,.10);}
.faq-question{
  width:100%;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:none;border:none;cursor:pointer;
  padding:20px 4px;text-align:left;
  font-family:var(--f-sans);font-size:15.5px;font-weight:600;color:var(--onyx);
}
.faq-question h3{margin:0;font:inherit;color:inherit;}
.faq-question:hover{color:#2b2a26;}
.faq-icon{
  position:relative;flex-shrink:0;width:18px;height:18px;
}
.faq-icon::before,.faq-icon::after{
  content:"";position:absolute;top:50%;left:50%;
  background:var(--onyx);transition:transform .25s ease;
}
.faq-icon::before{width:12px;height:1.4px;transform:translate(-50%,-50%);}
.faq-icon::after{width:1.4px;height:12px;transform:translate(-50%,-50%);}
.faq-question[aria-expanded="true"] .faq-icon::after{transform:translate(-50%,-50%) rotate(90deg) scaleY(0);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-answer p{
  font-family:var(--f-sans);font-size:14.5px;line-height:1.7;color:#4a4842;
  padding:0 4px 20px;margin:0;
}
.faq-contact-note{
  margin-top:36px;text-align:center;
  font-family:var(--f-sans);font-size:14px;color:#6b6862;
}
.faq-contact-note a{color:var(--onyx);text-decoration:underline;text-underline-offset:3px;}
@media (max-width:700px){
  .faq-question{font-size:14.5px;padding:16px 2px;gap:12px;}
  .faq-answer p{font-size:13.5px;padding:0 2px 16px;}
}

/* ==========================================================================
   About page — single statement, styled with more presence than a standard
   legal-page paragraph since it's the only content block on the page
   ========================================================================== */
.about-wrap{max-width:700px;padding:20px 0 40px;}
.about-lede{
  font-family:var(--f-serif);font-weight:500;font-size:24px;line-height:1.55;
  color:var(--onyx);text-align:center;margin:0;
  letter-spacing:.01em;
}
@media (max-width:700px){
  .about-lede{font-size:19px;line-height:1.5;}
}

/* ==========================================================================
   Rental period + time pickers (replaces native <input type="date"> and
   plain <select> — browsers render those with an OS-level popup that CSS
   cannot restyle at all, which is what caused the white/blue mismatch).
   Desktop: panel opens inline below the trigger. Mobile: full-screen sheet.
   ========================================================================== */
.mmrv-period-row{position:relative;}
.mmrv-period-row label{font-family:var(--f-sans);font-size:12px;font-weight:600;color:var(--marble-bright);display:block;margin-bottom:6px;}
.mmrv-period-trigger-row{display:flex;gap:10px;}
button.mmrv-period-trigger{
  flex:1;background:#0a0a0a;color:var(--marble-bright);border:1px solid rgba(255,255,255,.16);
  border-radius:6px;padding:10px 12px;font-family:var(--f-sans);font-size:14px;
  display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left;
}
.mmrv-period-value.placeholder{color:var(--marble-dim);}
.mmrv-chevron{color:var(--marble-dim);font-size:12px;margin-left:8px;}
.mmrv-daycount{
  background:#0a0a0a;border:1px solid rgba(255,255,255,.10);border-radius:6px;
  padding:10px 16px;font-family:var(--f-sans);font-size:13px;color:var(--marble-dim);
  display:flex;align-items:center;justify-content:center;white-space:nowrap;min-width:80px;
}
.mmrv-daycount.active{color:var(--marble-bright);border-color:rgba(255,255,255,.16);}
.mmrv-daycount .num{font-family:var(--f-serif);font-size:16px;color:var(--marble-bright);margin-right:5px;}

.mmrv-calendar-panel{
  display:none;position:fixed;z-index:20;
  background:#111;border:1px solid rgba(255,255,255,.12);border-radius:14px;
  padding:20px;box-shadow:0 20px 50px rgba(0,0,0,.5);
}
.mmrv-calendar-panel.is-open{display:block;}
.mmrv-calendar-sheet-header{display:none;}
.mmrv-calendar-months{display:flex;gap:28px;}
.mmrv-cal-month{flex:1;min-width:0;}
.mmrv-cal-month-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.mmrv-cal-month-head .label{font-family:var(--f-serif);font-size:16px;color:var(--marble-bright);}
.mmrv-cal-nav{display:flex;gap:6px;}
.mmrv-cal-nav button{
  width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:transparent;
  color:var(--marble-bright);cursor:pointer;font-size:14px;font-family:var(--f-sans);
  display:flex;align-items:center;justify-content:center;padding:0;line-height:1;box-sizing:border-box;
}
.mmrv-cal-nav button:hover{background:rgba(255,255,255,.08);}
.mmrv-cal-dow{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:10px;color:var(--marble-dim);margin-bottom:6px;}
.mmrv-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.mmrv-cal-day{
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:6px;
  font-size:12.5px;color:var(--marble-bright);cursor:pointer;user-select:none;transition:.15s;
}
.mmrv-cal-day.muted{color:rgba(255,255,255,.15);cursor:default;}
.mmrv-cal-day.today{border:1px solid rgba(255,255,255,.25);}
.mmrv-cal-day:not(.muted):hover{background:rgba(255,255,255,.10);}
.mmrv-cal-day.in-range{background:var(--marble);color:#0a0a0a;border-radius:0;}
.mmrv-cal-day.range-start{background:var(--marble);color:#0a0a0a;border-radius:6px 0 0 6px;}
.mmrv-cal-day.range-end{background:var(--marble);color:#0a0a0a;border-radius:0 6px 6px 0;}
.mmrv-cal-day.single{background:var(--marble);color:#0a0a0a;border-radius:6px;}
.mmrv-calendar-footer{display:none;}

/* Time pickers - custom scrollable list, replaces native <select> */
.mmrv-time-field{position:relative;}
button.mmrv-time-trigger{
  width:100%;background:#fff;color:#000;border:0;border-radius:6px;padding:10px 12px;
  font-family:var(--f-sans);font-size:14px;display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;text-align:left;
}
.mmrv-time-panel{
  display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;
  background:#111;border:1px solid rgba(255,255,255,.12);border-radius:10px;
  max-height:240px;overflow-y:auto;box-shadow:0 16px 40px rgba(0,0,0,.5);
}
.mmrv-time-panel.is-open{display:block;}
.mmrv-time-option{
  padding:10px 14px;font-family:var(--f-sans);font-size:13.5px;color:var(--marble-bright);
  cursor:pointer;
}
.mmrv-time-option:hover{background:rgba(255,255,255,.08);}
.mmrv-time-option.selected{background:var(--marble);color:#0a0a0a;}

/* Mobile: calendar becomes a full-screen sheet, not an inline dropdown */
@media (max-width:640px){
  .mmrv-calendar-panel{
    position:fixed;inset:0;top:0;left:0;right:0;bottom:0;z-index:2000;
    border-radius:0;border:none;padding:0;display:none;overflow-y:auto;
  }
  .mmrv-calendar-panel.is-open{display:flex;flex-direction:column;}
  .mmrv-calendar-sheet-header{
    display:flex;justify-content:space-between;align-items:center;
    padding:18px 18px 8px;position:sticky;top:0;background:#111;z-index:2;
  }
  .mmrv-calendar-sheet-title{font-family:var(--f-serif);font-size:19px;color:var(--marble-bright);}
  .mmrv-calendar-close{
    width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;flex-shrink:0;
  }
  .mmrv-calendar-months{flex-direction:column;gap:0;padding:12px 18px 8px;}
  .mmrv-cal-day{font-size:14px;}
  .mmrv-calendar-footer{
    display:block;position:sticky;bottom:0;background:#111;padding:12px 18px 18px;
    border-top:1px solid rgba(255,255,255,.08);
  }
  button.mmrv-calendar-done{
    width:100%;background:#fff;color:#000;border:none;border-radius:999px;
    padding:13px;font-weight:600;font-size:14px;cursor:pointer;
  }
}

/* ==========================================================================
   Lightbox - click any gallery photo (or the hero) to view it full-screen,
   zoomable, with prev/next navigation.
   ========================================================================== */
.car-gallery .g-item, .car-hero-media{cursor:zoom-in;}
.mmrv-lightbox{
  display:none;position:fixed;inset:0;z-index:3000;
  background:rgba(5,5,5,.94);
}
.mmrv-lightbox.is-open{display:flex;align-items:center;justify-content:center;}
.mmrv-lightbox-img-wrap{
  max-width:92vw;max-height:88vh;overflow:hidden;position:relative;
  display:flex;align-items:center;justify-content:center;
  touch-action:none;
}
.mmrv-lightbox-img{
  max-width:92vw;max-height:88vh;object-fit:contain;
  cursor:zoom-in;transition:transform .2s ease;transform-origin:center center;
  user-select:none;-webkit-user-drag:none;
}
.mmrv-lightbox-img.is-zoomed{cursor:zoom-out;}
.mmrv-lightbox-close{
  position:absolute;top:22px;right:26px;width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.18);
  font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3001;
}
.mmrv-lightbox-close:hover{background:rgba(255,255,255,.16);}
.mmrv-lightbox-nav{
  position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;
  background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.18);
  font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3001;
}
.mmrv-lightbox-nav:hover{background:rgba(255,255,255,.16);}
.mmrv-lightbox-nav.prev{left:20px;}
.mmrv-lightbox-nav.next{right:20px;}
.mmrv-lightbox-counter{
  position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.65);font-family:var(--f-sans);font-size:13px;letter-spacing:.05em;
}
.mmrv-lightbox-hint{
  position:absolute;bottom:22px;right:26px;
  color:rgba(255,255,255,.45);font-family:var(--f-sans);font-size:12px;
}
@media (max-width:640px){
  .mmrv-lightbox-nav{width:42px;height:42px;font-size:17px;}
  .mmrv-lightbox-close{width:38px;height:38px;top:14px;right:14px;}
  .mmrv-lightbox-hint{display:none;}
}

/* Featured Brands - lives INSIDE .mmrv-fade-panel now (no separate flat
   background). It previously had its own background:#0a0a0a sitting between
   the cascade's fade-panel (ends flat at #1a1a1a) and the light panel below
   (starts at #1a1a1a) - the #0a0a0a vs #1a1a1a mismatch was the hard seam.
   Now it's just another block inside the same panel, same base colour, no
   seam possible. */
.mmrv-brands-block{padding:56px 32px 8px;text-align:center;}
.mmrv-brands-label{font-family:var(--f-serif);font-style:italic;font-size:clamp(18px,2.2vw,24px);letter-spacing:.01em;color:var(--marble);margin-bottom:38px;transition:color .25s ease;}
.mmrv-brands-row{display:flex;justify-content:center;align-items:center;gap:56px;flex-wrap:wrap;max-width:1040px;margin:0 auto;}
.mmrv-brand-item{display:flex;flex-direction:column;align-items:center;gap:10px;}
/* Fixed-height slot per logo (matches the tallest badge, Porsche at 78px).
   Without this, each item's whole column (logo+label) gets centered as one
   block, so labels drift up/down based on that item's own logo height.
   Giving every logo the same slot height means the labels always sit on
   the same line, independent of how tall any individual logo is. */
.mmrv-brand-logo{height:96px;display:flex;align-items:center;justify-content:center;}
.mmrv-brand-item img{width:auto;object-fit:contain;transition:transform .25s ease;}
/* Per-brand heights - not uniform. A wide wordmark (Audi's rings) and
   compact badges (Lambo/Mercedes/Porsche) at the same pixel height don't
   carry the same visual weight; the badges are sized up so all four read
   as similar presence in the row. Audi is left untouched by design. */
.mmrv-brand-item:nth-child(1) img{height:92px;} /* Lamborghini */
.mmrv-brand-item:nth-child(2) img{height:90px;} /* Mercedes-Benz */
.mmrv-brand-item:nth-child(3) img{height:96px;} /* Porsche */
.mmrv-brand-item:nth-child(4) img{height:44px;} /* Audi rings */
.mmrv-brand-item span{font-family:var(--f-sans);font-size:12px;color:var(--marble-dim);letter-spacing:.04em;}
.mmrv-brands-link{display:block;text-decoration:none;}
.mmrv-brands-link:hover .mmrv-brand-item img{transform:translateY(-3px);}
.mmrv-brands-link:hover .mmrv-brands-label{letter-spacing:.03em;}
@media (max-width:640px){
  .mmrv-brands-row{gap:22px;}
  .mmrv-brand-logo{height:60px;}
  .mmrv-brand-item:nth-child(1) img{height:58px;}
  .mmrv-brand-item:nth-child(2) img{height:56px;}
  .mmrv-brand-item:nth-child(3) img{height:60px;}
  .mmrv-brand-item:nth-child(4) img{height:28px;}
  .mmrv-brand-item span{font-size:10px;}
}
