/* DROV brand foundations. All application color values resolve to these tokens. */
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/Inter-Latin.woff2') format('woff2')}
@font-face{font-family:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url('../fonts/Sora-Latin.woff2') format('woff2')}
:root{
  --brand-black:#000000;--brand-ink:#0B0B0C;--brand-graphite:#151517;--brand-line:#26262A;
  --brand-yellow:#FFD21F;--brand-amber:#F5A300;--brand-gold-light:#FFE55C;
  --brand-gold-gradient:linear-gradient(135deg,var(--brand-gold-light) 0%,var(--brand-yellow) 40%,var(--brand-amber) 100%);
  --brand-yellow-tint:#FFF8DB;--brand-white:#FFFFFF;--brand-muted:#A1A1AA;
  --brand-muted-on-dark:#A1A1AA;--brand-muted-on-light:#52525B;
  --brand-success:#137A42;--brand-danger:#B42318;
  --brand-black-rgb:0,0,0;--brand-ink-rgb:11,11,12;--brand-graphite-rgb:21,21,23;--brand-line-rgb:38,38,42;
  --brand-yellow-rgb:255,210,31;--brand-amber-rgb:245,163,0;--brand-yellow-tint-rgb:255,248,219;
  --brand-white-rgb:255,255,255;--brand-muted-rgb:161,161,170;--brand-muted-on-light-rgb:82,82,91;
  --brand-success-rgb:19,122,66;--brand-danger-rgb:180,35,24;
  --font-body:Inter,Arial,sans-serif;--font-heading:Sora,Inter,Arial,sans-serif;
  --ink:var(--brand-ink);--ink2:var(--brand-graphite);--white:var(--brand-white);
  --cyan:var(--brand-yellow);--cyan2:var(--brand-yellow);--muted:var(--brand-muted);--line:var(--brand-line);
  --brand-glow:0 8px 28px rgba(var(--brand-yellow-rgb),.22);
  color-scheme:dark;
}
html{background:var(--brand-black)}
body{font-family:var(--font-body);background:var(--brand-ink);color:var(--brand-white)}
button,input,select,textarea{font-family:var(--font-body);accent-color:var(--brand-yellow)}
h1,h2,h3,h4,h5,h6,h1 em,h2 em,.v3-service-content strong,.v3-service-stack strong{font-family:var(--font-heading)}
h1,h2,h3,h1 em,h2 em{font-weight:700}
h1 em,h2 em{font-style:normal}
::selection{background:var(--brand-yellow);color:var(--brand-black)}
*{scrollbar-width:thin;scrollbar-color:var(--brand-yellow) var(--brand-graphite)}
::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--brand-graphite)}::-webkit-scrollbar-thumb{background:var(--brand-yellow);border-radius:20px}
:is(a,button,summary,input,select,textarea):focus-visible,.v3-inner :is(a,button,summary,input,select,textarea):focus-visible{outline:2px solid var(--brand-yellow);outline-offset:4px}
.skip-link{background:var(--brand-yellow);color:var(--brand-black)}
.v3-overline,.eyebrow,.v3-kicker{letter-spacing:.25em}
.v3-kicker{text-wrap:balance}
.v3-overline,.eyebrow{color:var(--brand-yellow);position:relative}
.v3-overline::after{position:absolute;left:0;bottom:-9px;width:34px;height:6px;content:"";background:repeating-linear-gradient(0deg,var(--brand-yellow) 0 1px,transparent 1px 2.5px);opacity:.85}

/* Brand replacements retain the existing navigation containers and geometry. */
.v3-header{background:rgba(var(--brand-black-rgb),.5);border-color:rgba(var(--brand-white-rgb),.14)}
.v3-brand img{width:184px;height:58px;object-fit:contain;object-position:left center}
.v3-brand{flex-shrink:0}
.v3-nav a{position:relative;color:var(--brand-white)}
.v3-nav a::after{position:absolute;content:"";left:0;right:0;bottom:-7px;height:2px;background:var(--brand-yellow);transform:scaleX(0);transform-origin:left;transition:transform .24s ease}
.v3-nav a:hover::after,.v3-nav a:focus-visible::after,.v3-nav a[aria-current="page"]::after{transform:scaleX(1)}
.v3-nav a[aria-current="page"]{border-bottom-color:transparent;color:var(--brand-yellow)}
.v3-mobile-nav{background:var(--brand-black)}
.v3-mobile-nav a{border-color:var(--brand-line)}
.v3-mobile-nav a:hover,.v3-mobile-nav a[aria-current="page"]{color:var(--brand-yellow);background:rgba(var(--brand-yellow-rgb),.05)}

.v3-button,.v3-header-book,.button-primary,.v3-inner .button-primary{background:var(--brand-gold-gradient);color:var(--brand-black);border-color:var(--brand-yellow);border-radius:999px;transition:transform .25s ease,box-shadow .25s ease,opacity .2s ease}
.v3-button:hover,.v3-header-book:hover,.button-primary:hover,.v3-inner .button-primary:hover{background:var(--brand-gold-gradient);color:var(--brand-black);box-shadow:var(--brand-glow);transform:translateY(-2px)}
.v3-button:active,.v3-header-book:active,.button-primary:active,.v3-inner .button-primary:active{transform:translateY(0) scale(.985)}
.button-secondary,.button-outline,.v3-inner .button-outline{border-radius:999px;background:transparent;border-color:rgba(var(--brand-white-rgb),.65);color:var(--brand-white)}
.button-secondary:hover,.button-outline:hover,.v3-inner .button-outline:hover{border-color:var(--brand-yellow);background:rgba(var(--brand-yellow-rgb),.07)}
button:disabled,.button-primary:disabled{box-shadow:none;transform:none;opacity:.5;cursor:not-allowed}
.v3-text-link,.v3-inner .inner-hero-actions .text-link{color:var(--brand-white);border-color:rgba(var(--brand-white-rgb),.6)}
.v3-text-link:hover,.v3-inner .inner-hero-actions .text-link:hover{color:var(--brand-yellow);border-color:var(--brand-yellow)}

.v3-hero{background:var(--brand-black)}
.v3-hero h1 em{color:var(--brand-yellow);background:var(--brand-gold-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.v3-hero-image::after{background:linear-gradient(90deg,rgba(var(--brand-black-rgb),.93),rgba(var(--brand-black-rgb),.7) 38%,rgba(var(--brand-black-rgb),.18) 75%),linear-gradient(0deg,rgba(var(--brand-ink-rgb),.85),transparent 38%)}
.v3-hero-lines{background:radial-gradient(ellipse at 80% 38%,rgba(var(--brand-yellow-rgb),.055),transparent 48%)}
.v3-hero-lines::before{position:absolute;right:6%;top:28%;width:120px;height:38px;background:repeating-linear-gradient(0deg,var(--brand-yellow) 0 3px,transparent 3px 15px);border-radius:10px;content:"";opacity:.12;animation:drov-speed-in .65s ease both}
@keyframes drov-speed-in{from{opacity:0;transform:translateX(-24px)}to{opacity:.12;transform:translateX(0)}}
.v3-inner .inner-hero h1,.v3-inner .utility-hero h1{background:linear-gradient(110deg,var(--brand-white) 18%,var(--brand-white) 56%,var(--brand-yellow) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.v3-inner .inner-hero .eyebrow::before,.v3-inner .utility-hero .eyebrow::before{height:7px;background:repeating-linear-gradient(0deg,var(--brand-yellow) 0 1px,transparent 1px 3px)}
.v3-route-dock{background:rgba(var(--brand-graphite-rgb),.96);border-color:var(--brand-line)}
.v3-inner .journey-nav{background:linear-gradient(90deg,var(--brand-ink),var(--brand-graphite),var(--brand-ink))}
.v3-intro,.v3-services,.v3-stories{background:var(--brand-white);color:var(--brand-ink);--brand-muted:var(--brand-muted-on-light);--muted:var(--brand-muted-on-light);color-scheme:light}
.v3-intro .v3-overline,.v3-services .v3-overline,.v3-stories .v3-overline{color:var(--brand-ink)}
.v3-intro-lead em,.v3-intro-item .icon,.v3-quote{color:var(--brand-ink)}
.v3-intro-item{border-color:rgba(var(--brand-ink-rgb),.18)}
.v3-intro-item p{color:var(--brand-muted-on-light)}
.v3-booking,.v3-fleet,.v3-faq{background:radial-gradient(ellipse at 100% 0,rgba(var(--brand-yellow-rgb),.025),transparent 45%),var(--brand-ink)}
.v3-fleet-card{background:linear-gradient(145deg,var(--brand-graphite),var(--brand-ink));border-color:var(--brand-line)}
.v3-fleet-card:hover,.v3-story-grid blockquote:hover,.v3-service-main:hover,.v3-service-stack a:hover{border-color:var(--brand-yellow);box-shadow:0 8px 25px rgba(var(--brand-yellow-rgb),.12)}
.v3-service-content>span:not(.v3-service-action){color:var(--brand-white)}
.v3-story-grid blockquote{background:var(--brand-white);border-color:rgba(var(--brand-ink-rgb),.15)}
.v3-feedback a{color:var(--brand-ink);text-decoration:underline;text-decoration-color:var(--brand-yellow);text-underline-offset:6px}
.v3-final-cta{background:radial-gradient(ellipse at 90% 25%,rgba(var(--brand-yellow-rgb),.09),transparent 45%),var(--brand-black);border-color:var(--brand-line)}
.v3-final-cta em{color:var(--brand-yellow)}

/* Light sections remain in their original positions; only their finish changes. */
.v3-inner :is(.page-section-light,.contact-section,.driver-section){background:var(--brand-white);color:var(--brand-ink);--brand-muted:var(--brand-muted-on-light);--muted:var(--brand-muted-on-light);color-scheme:light}
.v3-inner :is(.page-section-light,.contact-section,.driver-section) :is(h2,h3,h4,.eyebrow,.page-heading,.editorial-copy,.contact-intro,.driver-intro){color:var(--brand-ink)}
.v3-inner :is(.page-section-light,.contact-section,.driver-section) :is(.page-heading>p:last-child,.editorial-copy>p,.contact-intro>p:not(.eyebrow),.driver-intro>p:not(.eyebrow),.steps-grid p,.value-card p){color:var(--brand-muted-on-light)}
.v3-inner .page-section-light :is(.value-card,.value-card:first-child,.vehicle-showcase-card){background:var(--brand-yellow-tint);color:var(--brand-ink);border-color:rgba(var(--brand-ink-rgb),.14)}
.v3-inner .page-section-light .value-card:hover{background:var(--brand-yellow-tint);box-shadow:inset 0 0 0 1px var(--brand-yellow),0 8px 25px rgba(var(--brand-yellow-rgb),.14)}
.v3-inner .page-section-light :is(.value-number,.value-icon,.steps-grid span,.vehicle-showcase-copy h3){color:var(--brand-ink);border-color:var(--brand-amber)}
.v3-inner :is(.page-section-light,.contact-section,.driver-section) :is(.text-link,.contact-methods a){color:var(--brand-ink);border-bottom-color:var(--brand-yellow)}
.v3-inner :is(.page-section-light,.contact-section,.driver-section) a:hover{color:var(--brand-ink)}
.v3-inner .page-section-light .editorial-media{background:var(--brand-yellow-tint)}
.v3-inner .page-section-light .vehicle-showcase-image{background:var(--brand-white)}
.v3-inner .page-section-light .vehicle-showcase-copy p{color:var(--brand-muted-on-light)}
.v3-inner .utility-form-panel{background:linear-gradient(145deg,var(--brand-graphite),var(--brand-ink));color:var(--brand-white);--brand-muted:var(--brand-muted-on-dark);--muted:var(--brand-muted-on-dark);color-scheme:dark;border-color:var(--brand-line)}
.v3-inner .utility-form-panel h2,.v3-inner .utility-form-panel h3{color:var(--brand-white)}
.v3-inner :is(.contact-section,.driver-section) .utility-form-panel :is(h2,h3){color:var(--brand-white)}
.v3-inner .utility-form-panel a{color:var(--brand-yellow)}
.v3-inner :is(.contact-section,.driver-section) .utility-form-panel a:hover{color:var(--brand-white)}
.v3-inner .utility-form-panel p{color:var(--brand-muted)}
.v3-inner .contact-methods .icon,.v3-inner .driver-steps span{color:var(--brand-ink)}
.v3-inner :is(.contact-section,.page-section-light) :is(.contact-methods,.contact-rows) .icon{color:var(--brand-ink)}
.v3-inner :is(.contact-section,.page-section-light) :is(.contact-methods small,.contact-rows small),.v3-inner .driver-section .driver-steps p{color:var(--brand-muted-on-light)}
.v3-inner .legal-section a,.v3-inner .legal-contact a{color:var(--brand-yellow);text-decoration-color:var(--brand-yellow)}
.v3-inner .contact-faq{background:var(--brand-ink)}
.v3-inner .utility-hero-legal>img{filter:saturate(.82)}
.v3-inner .marque-item img{filter:drop-shadow(0 0 8px rgba(var(--brand-white-rgb),.12))}
.v3-inner .marque-item img[src$="/audi.svg"]{filter:brightness(0) invert(1) drop-shadow(0 0 8px rgba(var(--brand-white-rgb),.12))}

/* Photo cards remain dark surfaces even when their enclosing section is light. */
.v3-inner .destination-row{color:var(--brand-white);--brand-muted:var(--brand-muted-on-dark);color-scheme:dark}
.v3-inner .destination-row .destination-copy :is(h3,p,.text-link){color:var(--brand-white);text-shadow:0 2px 10px rgba(var(--brand-black-rgb),.45)}
.v3-inner .destination-row .destination-copy .text-link{border-bottom-color:var(--brand-yellow)}
.v3-inner .destination-row .destination-copy .text-link:hover{color:var(--brand-yellow)}
.page-tours .destination-row::after{background:linear-gradient(0deg,rgba(var(--brand-black-rgb),.96),rgba(var(--brand-black-rgb),.68) 60%,rgba(var(--brand-black-rgb),.18))}

/* Form and map colors are presentation-only; booking requests stay identical. */
.field input,.field select,.field textarea,.v3-inner .form-field input,.v3-inner .form-field textarea,.v3-inner .form-field select{border-color:rgba(var(--brand-white-rgb),.35)}
input::placeholder,textarea::placeholder{color:var(--brand-muted);opacity:1}
.field-grid>*{min-width:0}
.field :is(input,select,textarea),.form-field :is(input,select,textarea){min-width:0;max-width:100%}
.field input:focus,.field select:focus,.v3-inner .form-field input:focus,.v3-inner .form-field textarea:focus,.v3-inner .form-field select:focus{border-color:var(--brand-yellow);box-shadow:0 0 0 2px rgba(var(--brand-yellow-rgb),.2)}
.form-field input:user-invalid,.form-field textarea:user-invalid{border-color:var(--brand-danger)}
.booking-map,.map-fallback{color-scheme:light}
.booking-map .leaflet-tile,.map-fallback img{filter:grayscale(1) sepia(.14)}
.booking-map .leaflet-control-attribution{background:rgba(var(--brand-white-rgb),.9);color:var(--brand-ink)}
.booking-map .leaflet-control-attribution a{color:var(--brand-ink);text-decoration:underline;text-decoration-color:var(--brand-amber)}
.suggestions{color-scheme:light}
.suggestions li:hover,.suggestions li[aria-selected="true"]{background:var(--brand-yellow-tint);color:var(--brand-ink)}
.v3-footer{position:relative;background:var(--brand-black);color:var(--brand-white);border-top:1px solid var(--brand-line)}
.v3-footer::before{content:"";position:absolute;top:-2px;left:40px;width:70px;height:7px;background:repeating-linear-gradient(0deg,var(--brand-yellow) 0 1px,transparent 1px 3px)}
.v3-footer-brand a img{width:174px;height:112px;object-fit:contain;object-position:left center}
.v3-footer-main p,.v3-footer-bottom{color:var(--brand-muted)}
.v3-footer-main a{color:var(--brand-white)}
.v3-footer-main a:hover,.v3-footer-bottom a:hover{color:var(--brand-yellow)}

/* GSAP owns transforms/opacity; the fallback uses the same lightweight reveal. */
.motion-ready [data-motion="waiting"]{filter:none;transform:translate3d(0,24px,0);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.75,.25,1)}
.motion-ready [data-motion="visible"]{filter:none}
.gsap-ready [data-motion="waiting"]{transition:none}
.v3-inner .inner-hero-photo,.v3-inner .utility-hero>img{animation-duration:.7s}
.v3-hero-image img{animation:none}
@keyframes drov-hero-foot-in{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}
.v3-hero-bottom{animation-name:drov-hero-foot-in}
@media(max-width:1280px){.v3-hero h1 em{white-space:normal}}
@media(max-width:900px){.v3-brand img{width:174px;height:52px}}
@media(max-width:700px){.page-tours .destination-list{grid-template-columns:1fr}}
/* Keep the existing four footer columns; allow their tracks to shrink at tablet widths. */
@media(min-width:621px) and (max-width:900px){.v3-footer-main{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)) minmax(0,1.3fr)}.v3-footer-main>div{min-width:0}}
@media(max-width:620px){
  .v3-hero-image::after{background:linear-gradient(90deg,rgba(var(--brand-black-rgb),.84),rgba(var(--brand-black-rgb),.26)),linear-gradient(0deg,rgba(var(--brand-black-rgb),.82),transparent 60%)}
  .v3-footer::before{left:16px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-delay:0ms!important}
  .v3-hero-lines::before{animation:none}
  .motion-ready [data-motion="waiting"]{opacity:1;visibility:visible;transform:none;filter:none}
}
