/* ═══════════════════════════════════════════════════
   TAXI ELÉCTRICO MADRID — main.css  v2.0
   Serkan Sezgin · Licencia #12837
   ═══════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}
body{font-family:var(--ff-body);background:var(--bg);color:var(--text);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:inherit;border:none;background:none;padding:0}
ul,ol{list-style:none}
input,textarea,select{font-family:inherit;font-size:inherit}
svg{display:inline-block;vertical-align:middle;flex-shrink:0}

/* ── TOKENS ── */
:root{
  --ff-display:'Cormorant Garamond',Georgia,serif;
  --ff-body:'Inter',system-ui,sans-serif;
  --ff-mono:'JetBrains Mono',monospace;

  --bg:#070707;
  --bg-2:#0D0D0D;
  --bg-3:#131313;
  --bg-4:#1A1A1A;
  --bg-5:#222222;

  --gold:#C8A96E;
  --gold-lt:#E2CC9A;
  --gold-dk:#8A6D38;
  --gold-10:rgba(200,169,110,.14);
  --gold-20:rgba(200,169,110,.20);
  --gold-06:rgba(200,169,110,.06);

  --text:#F0EAE0;
  --text-dim:#A09890;
  --text-faint:#7C766C;

  --white:#FFF;
  --red:#C41E1E;
  --green:#22C55E;
  --green-10:rgba(34,197,94,.10);

  --r-xs:4px;--r-sm:8px;--r-md:12px;--r-lg:18px;--r-xl:24px;
  --fast:160ms;--med:280ms;--slow:500ms;
  --ease:cubic-bezier(.22,.68,0,1.15);

  /* TYPE SCALE */
  --t-xs:.78rem;   /* 12.5px */
  --t-sm:.825rem;  /* 13.2px */
  --t-base:1rem;   /* 16px   */
  --t-md:1.1rem;   /* 17.6px */
  --t-lg:1.25rem;  /* 20px   */
  --t-xl:1.5rem;   /* 24px   */
  --t-2xl:2rem;    /* 32px   */
  --t-3xl:2.75rem; /* 44px   */
  --t-4xl:3.75rem; /* 60px   */
  --t-5xl:5rem;    /* 80px   */
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--gold-dk);border-radius:99px}

/* ── FOCUS ── */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px}
::selection{background:var(--gold);color:var(--bg)}

/* ── REDUCED MOTION ── */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ════════════════════════════════════════
   LAYOUT
════════════════════════════════════════ */
.wrap{max-width:1240px;margin:0 auto;padding:0 56px}
.section{padding:96px 0}
.section-sm{padding:56px 0}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}

/* ════════════════════════════════════════
   TYPOGRAPHY
════════════════════════════════════════ */
.eyebrow{
  display:flex;align-items:center;gap:12px;margin-bottom:16px;
  font-family:var(--ff-mono);font-size:var(--t-xs);
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
}
.eyebrow::before{content:'';display:block;width:24px;height:1px;background:var(--gold);flex-shrink:0}

.display{
  font-family:var(--ff-display);
  font-size:clamp(2.6rem,5.5vw,5rem);
  font-weight:400;line-height:.95;
  letter-spacing:-.02em;color:var(--white);
}
.display em{font-style:italic;color:var(--gold);font-weight:300}
.display strong{font-weight:600}

.heading{
  font-family:var(--ff-display);
  font-size:clamp(1.9rem,3.5vw,3rem);
  font-weight:400;line-height:1.08;color:var(--white);
}
.heading em{font-style:italic;color:var(--gold)}

.subheading{
  font-family:var(--ff-display);font-size:var(--t-xl);
  font-weight:400;color:var(--white);line-height:1.2;
}

.lead{font-size:var(--t-md);color:var(--text-dim);line-height:1.78;max-width:540px}
.body-sm{font-size:var(--t-sm);color:var(--text-dim);line-height:1.72}
.mono{font-family:var(--ff-mono);font-size:var(--t-xs);letter-spacing:.1em}

.rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold-dk) 25%,var(--gold-dk) 75%,transparent);border:none;opacity:.25;margin:0}
.rule-left{width:40px;height:1px;background:var(--gold);opacity:.5;margin:20px 0 28px}

/* ════════════════════════════════════════
   BUTTONS
════════════════════════════════════════ */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--ff-body);font-size:var(--t-xs);font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  padding:14px 28px;border-radius:var(--r-xs);
  transition:all var(--fast) var(--ease);white-space:nowrap;cursor:pointer;
}
.btn-primary{
  background:var(--gold);color:var(--bg);border:1.5px solid var(--gold);
}
.btn-primary:hover{background:var(--gold-lt);border-color:var(--gold-lt);transform:translateY(-1px);box-shadow:0 6px 20px rgba(200,169,110,.25)}
.btn-outline{
  background:transparent;color:var(--text);
  border:1.5px solid rgba(240,234,224,.2);
}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-1px)}
.btn-green{
  background:rgba(34,197,94,.12);color:var(--green);
  border:1.5px solid rgba(34,197,94,.3);
}
.btn-green:hover{background:rgba(34,197,94,.2);border-color:var(--green);transform:translateY(-1px)}
.btn-lg{padding:17px 36px;font-size:var(--t-sm)}
.btn-sm{padding:10px 20px}
.btn svg{width:16px;height:16px}

/* ════════════════════════════════════════
   CLOSING CTA BAND — segunda ruptura invertida
════════════════════════════════════════ */
.cta-band{padding:96px 0;border-bottom:1px solid var(--gold-20)}
.cta-band-inner{max-width:620px;margin:0 auto;text-align:center}
.cta-band .eyebrow{justify-content:center}
.cta-band .lead{max-width:480px;margin:0 auto 36px}
.cta-band-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ════════════════════════════════════════
   LIGHT ZONE (.lz) — la gran ruptura de color:
   stats + mapa + reseñas + cierre, una sola pieza continua
════════════════════════════════════════ */
.lz{background:var(--text)}
.lz .eyebrow{color:var(--gold-dk)}
.lz .eyebrow::before{background:var(--gold-dk)}
.lz .heading,.lz .display{color:var(--bg)}
.lz .heading em,.lz .display em{color:var(--gold-dk)}
.lz .lead{color:#4A443C}
.lz .rule-left{background:var(--gold-dk)}
.lz .zone-btn{background:rgba(255,255,255,.65);border-color:rgba(7,7,7,.1)}
.lz .zone-btn:hover,.lz .zone-btn.active{border-color:var(--gold-dk);background:rgba(200,169,110,.16)}
.lz .zone-name{color:var(--bg)}
.lz .zone-sub{color:#6B6259}
.lz .reviews-grid{background:rgba(7,7,7,.08)}
.lz .review-card{background:#FBF9F5;transition:transform var(--fast)}
.lz .review-card:hover{transform:translateY(-3px)}
.lz .review-text{color:#3A342C}
.lz .review-author strong{color:var(--bg)}
.lz .review-author span{color:#8A8177}
.btn-cta-dark{background:var(--bg);color:var(--text);border:1.5px solid var(--bg)}
.btn-cta-dark:hover{background:#1A1A1A;transform:translateY(-1px)}
.btn-cta-outline{background:transparent;color:var(--bg);border:1.5px solid rgba(7,7,7,.28)}
.btn-cta-outline:hover{border-color:var(--bg);transform:translateY(-1px)}

/* Botón hero con brillo ambiental sutil */
.btn-glow{position:relative}
.btn-glow::after{
  content:'';position:absolute;inset:-1px;border-radius:inherit;z-index:-1;
  background:var(--gold);opacity:0;filter:blur(14px);
  transition:opacity var(--med);
}
.btn-glow:hover::after{opacity:.55}

/* ════════════════════════════════════════
   HEADER
════════════════════════════════════════ */
#header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:76px;display:flex;align-items:center;
  transition:all var(--med);
}
#header::before{
  content:'';position:fixed;top:0;left:0;right:0;height:2px;z-index:1001;
  background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold-lt) 50%,var(--gold) 80%,transparent);
}
#header.scrolled{
  background:rgba(240,234,224,.96);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid rgba(7,7,7,.08);
  box-shadow:0 1px 30px rgba(0,0,0,.12);
}
#header.scrolled .logo-name{color:var(--bg)}
#header.scrolled .nav-link{color:#5A544C}
#header.scrolled .nav-link:hover,#header.scrolled .nav-link.active{color:var(--bg)}
#header.scrolled .nav-link::after{background:var(--gold-dk)}
#header.scrolled .header-cta{background:var(--bg);color:var(--text);border-color:var(--bg)}
#header.scrolled .header-cta:hover{background:#1A1A1A;border-color:#1A1A1A}
#header.scrolled .ham span{background:var(--bg)}
.header-inner{
  width:100%;max-width:1240px;margin:0 auto;padding:0 56px;
  display:flex;align-items:center;justify-content:space-between;gap:32px;
}

/* ── LOGO — unificado con el rombo del favicon ── */
.logo{display:flex;align-items:center;gap:13px;cursor:pointer;flex-shrink:0}
.logo-icon{
  width:44px;height:44px;flex-shrink:0;
  position:relative;
}
.logo-hex{
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  filter:drop-shadow(0 0 10px rgba(200,169,110,.25));
}
.logo-hex svg{width:100%;height:100%}
.logo-wordmark{display:flex;flex-direction:column;gap:1px}
.logo-name{font-family:var(--ff-display);font-size:1.15rem;font-weight:400;color:var(--white);letter-spacing:.02em;line-height:1;transition:color var(--fast)}
.logo-tagline{font-family:var(--ff-mono);font-size:.58rem;color:var(--gold);letter-spacing:.22em;text-transform:uppercase}

/* ── NAV ── */
.nav-center{display:flex;align-items:center;gap:32px}
.nav-link{
  font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-dim);font-weight:500;
  position:relative;padding-bottom:2px;
  transition:color var(--fast);background:none;
}
.nav-link::after{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:1px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--med) var(--ease);
}
.nav-link:hover,.nav-link.active{color:var(--white)}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}

/* ── HAMBURGER ── */
.ham{
  display:none;flex-direction:column;gap:5px;
  padding:8px;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.ham span{
  display:block;width:22px;height:1.5px;
  background:var(--gold);
  transition:all var(--med) var(--ease);transform-origin:center;
}
.ham[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg) translate(4.7px,4.7px)}
.ham[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(0)}
.ham[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg) translate(4.7px,-4.7px)}

/* ── MOBILE NAV ── */
/* ════════════════════════════════════════
   MOBILE NAV — estilo original + entrada elegante
════════════════════════════════════════ */
.mob-nav-overlay{
  position:fixed;inset:0;z-index:1100;
  background:rgba(7,7,7,.98);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:0;padding:80px 24px 40px;
  opacity:0;pointer-events:none;
  transition:opacity .38s cubic-bezier(.4,0,.2,1);
}
.mob-nav-overlay.open{opacity:1;pointer-events:all}

/* Línea dorada superior decorativa */
.mob-nav-overlay::before{
  content:'';position:absolute;top:0;left:10%;right:10%;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold) 70%,transparent);
  opacity:0;transform:scaleX(.4);
  transition:opacity .5s .15s ease,transform .5s .15s cubic-bezier(.4,0,.2,1);
}
.mob-nav-overlay.open::before{opacity:.4;transform:scaleX(1)}

/* Cierre */
.mob-nav-close{
  position:absolute;top:20px;right:20px;z-index:1101;
  width:40px;height:40px;border-radius:50%;
  background:rgba(200,169,110,.06);border:1px solid rgba(200,169,110,.15);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-faint);cursor:pointer;
  opacity:0;transform:rotate(-90deg);
  transition:background var(--fast),color var(--fast),opacity .3s .2s ease,transform .4s .2s cubic-bezier(.4,0,.2,1);
}
.mob-nav-overlay.open .mob-nav-close{opacity:1;transform:rotate(0deg)}
.mob-nav-close:hover{background:rgba(200,169,110,.12);color:var(--gold)}

/* Logo */
.mob-nav-logo{
  position:absolute;top:22px;left:24px;
  display:flex;align-items:center;gap:10px;cursor:pointer;
  opacity:0;transform:translateY(-8px);
  transition:opacity .3s .1s ease,transform .3s .1s ease;
}
.mob-nav-overlay.open .mob-nav-logo{opacity:1;transform:translateY(0)}
.mob-nav-brand{font-family:var(--ff-display);font-size:.95rem;color:var(--text-dim);letter-spacing:.02em}

/* Links centrados como antes */
.mob-nav-links{
  display:flex;flex-direction:column;
  align-items:center;gap:4px;width:100%;
}
.mnl{
  display:block;width:100%;text-align:center;
  padding:10px 0;background:none;border:none;cursor:pointer;
  text-decoration:none;
  opacity:0;transform:translateY(18px);
  /* cada item tiene su propio delay — se aplica via nth-child */
  transition:opacity .45s ease,transform .45s cubic-bezier(.4,0,.2,1);
}
.mob-nav-overlay.open .mnl{opacity:1;transform:translateY(0)}
/* Delays escalonados para cada link */
.mob-nav-overlay.open .mnl:nth-child(1){transition-delay:.08s}
.mob-nav-overlay.open .mnl:nth-child(2){transition-delay:.14s}
.mob-nav-overlay.open .mnl:nth-child(3){transition-delay:.20s}
.mob-nav-overlay.open .mnl:nth-child(4){transition-delay:.26s}
.mob-nav-overlay.open .mnl:nth-child(5){transition-delay:.32s}
.mob-nav-overlay.open .mnl:nth-child(6){transition-delay:.38s}

/* Ocultar num — solo texto serif grande igual que antes */
.mnl-num{display:none}
.mnl-text{
  font-family:var(--ff-display);font-size:clamp(2rem,8vw,2.8rem);
  font-weight:400;color:var(--text-dim);
  transition:color .18s,letter-spacing .18s;
  display:block;
}
.mnl:hover .mnl-text,.mnl:focus .mnl-text{color:var(--gold);letter-spacing:.04em}
.mnl svg{display:none}

/* Línea divisoria y bloque inferior */
.mob-nav-deco{
  width:40px;height:1px;background:var(--gold-20);margin:16px auto 20px;
  opacity:0;
  transition:opacity .4s .35s ease;
}
.mob-nav-overlay.open .mob-nav-deco{opacity:1}

.mob-nav-bottom{
  display:flex;flex-direction:column;align-items:center;gap:12px;
  width:100%;max-width:280px;
  opacity:0;transform:translateY(12px);
  transition:opacity .4s .42s ease,transform .4s .42s cubic-bezier(.4,0,.2,1);
}
.mob-nav-overlay.open .mob-nav-bottom{opacity:1;transform:translateY(0)}

.mob-nav-reservar{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:var(--gold);color:var(--bg);
  font-family:var(--ff-mono);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:14px 32px;border-radius:6px;border:none;cursor:pointer;
  width:100%;transition:background var(--fast);
  text-decoration:none;
}
.mob-nav-reservar:hover{background:var(--gold-lt)}

.mob-nav-contact-row{display:flex;gap:10px;width:100%}
.mob-nav-tel,.mob-nav-wa{
  flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
  font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.06em;
  padding:11px;border-radius:6px;text-decoration:none;
  transition:background var(--fast);
}
.mob-nav-tel{background:rgba(200,169,110,.08);color:var(--gold);border:1px solid var(--gold-20)}
.mob-nav-tel:hover{background:rgba(200,169,110,.15)}
.mob-nav-wa{background:rgba(37,211,102,.1);color:#25D366;border:1px solid rgba(37,211,102,.22)}
.mob-nav-wa:hover{background:rgba(37,211,102,.18)}

/* ════════════════════════════════════════
   HERO
════════════════════════════════════════ */
.hero{
  min-height:100vh;display:grid;grid-template-rows:1fr auto;
  position:relative;overflow:hidden;padding-top:76px;
  background:var(--bg);
}
/* Imagen de fondo del hero */
.hero-bg{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center 40%;
  opacity:.6;
}
#heroCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.hero-overlay{
  position:absolute;inset:0;z-index:2;
  background:
    radial-gradient(ellipse 60% 70% at 68% 45%,rgba(200,169,110,.08) 0%,transparent 62%),
    radial-gradient(ellipse 35% 55% at 12% 85%,rgba(200,169,110,.04) 0%,transparent 55%),
    linear-gradient(180deg,rgba(7,7,7,.35) 0%,rgba(7,7,7,.1) 40%,rgba(7,7,7,.72) 100%),
    linear-gradient(90deg,rgba(7,7,7,.6) 0%,rgba(7,7,7,.1) 60%,rgba(7,7,7,.0) 100%);
}
.hero-content{
  position:relative;z-index:3;
  display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center;
  max-width:1240px;margin:0 auto;width:100%;
  padding:80px 56px 60px;
}
.hero-left{display:flex;flex-direction:column}
.hero-overline{
  display:flex;align-items:center;gap:14px;margin-bottom:24px;
}
.hero-overline-line{width:32px;height:1px;background:var(--gold);flex-shrink:0}
.hero-overline span{font-family:var(--ff-mono);font-size:var(--t-xs);color:var(--gold);letter-spacing:.15em;text-transform:uppercase}
.hero-title{
  font-family:var(--ff-display);
  font-size:clamp(3.5rem,7.5vw,7.2rem);
  font-weight:400;line-height:.92;
  letter-spacing:-.025em;color:var(--white);
  margin-bottom:28px;
}
.hero-title .italic{font-style:italic;color:var(--gold)}
.hero-title .ghost{
  color:var(--gold);
  opacity:.72;
  display:block;
}
.hero-desc{font-size:var(--t-lg);color:var(--text-dim);line-height:1.7;max-width:420px;margin-bottom:36px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:44px}
.hero-badges{display:flex;flex-wrap:wrap;gap:20px}
.hero-badge{
  display:flex;align-items:center;gap:8px;
  font-family:var(--ff-mono);font-size:var(--t-xs);
  color:var(--text-faint);letter-spacing:.07em;
}
.hero-badge svg{color:var(--gold);width:14px;height:14px;stroke-width:2.1}

/* Hero right — car image card */
.hero-right{position:relative}
.hero-car-card{
  background:rgba(13,13,13,.7);
  border:1px solid var(--gold-10);
  border-radius:var(--r-xl);
  overflow:hidden;
  backdrop-filter:blur(8px);
}
.hero-car-img{
  width:100%;height:auto;display:block;
}
.hero-car-footer{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--gold-10);
}
.hcf-stat{
  background:var(--bg-2);padding:18px 12px;text-align:center;
}
.hcf-num{font-family:var(--ff-display);font-size:1.8rem;font-weight:400;color:var(--gold);line-height:1}
.hcf-lbl{font-family:var(--ff-mono);font-size:.58rem;letter-spacing:.14em;color:var(--text-faint);text-transform:uppercase;margin-top:5px}
.hero-ev-pill{
  position:absolute;top:16px;right:16px;
  display:flex;align-items:center;gap:7px;
  background:rgba(7,7,7,.85);border:1px solid rgba(34,197,94,.35);
  border-radius:99px;padding:7px 14px;
  font-family:var(--ff-mono);font-size:var(--t-xs);color:var(--green);
  letter-spacing:.06em;
}
.hero-ev-pill-dot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}

.hero-scroll{
  position:relative;z-index:2;
  display:flex;align-items:center;gap:14px;
  padding:20px 56px;max-width:1240px;margin:0 auto;width:100%;
}
.hero-scroll-line{width:36px;height:1px;background:var(--gold);opacity:.4}
.hero-scroll-txt{font-family:var(--ff-mono);font-size:var(--t-xs);color:var(--text-faint);letter-spacing:.14em;text-transform:uppercase}

/* ════════════════════════════════════════
   TRUST BAR
════════════════════════════════════════ */
.trust-bar{background:var(--text);border-top:1px solid var(--gold-20);border-bottom:1px solid var(--gold-20)}
.trust-inner{
  display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;gap:0;
}
.trust-item{
  display:flex;align-items:center;gap:9px;
  padding:16px 28px;
  font-family:var(--ff-mono);font-size:var(--t-xs);
  color:#4A443C;letter-spacing:.06em;font-weight:500;
  border-right:1px solid rgba(7,7,7,.1);
}
.trust-item:last-child{border-right:none}
.trust-item svg{color:var(--gold-dk);width:15px;height:15px;stroke-width:2.1}

/* ════════════════════════════════════════
   SERVICE CARDS
════════════════════════════════════════ */
.svc-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:2px;background:var(--gold-10);
}
.svc-card{
  background:var(--bg-2);padding:36px 32px;
  position:relative;overflow:hidden;cursor:default;
  transition:background var(--fast);
  display:flex;flex-direction:column;
}
.svc-card::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--gold-06),transparent 60%);
  opacity:0;transition:opacity var(--med);
  pointer-events:none;z-index:0;
}
.svc-card:hover{background:var(--bg-3)}
.svc-card:hover::after{opacity:1}
.svc-num{
  font-family:var(--ff-mono);font-size:var(--t-xs);
  color:var(--text-faint);letter-spacing:.15em;margin-bottom:20px;display:block;
}
.svc-icon-wrap{
  width:48px;height:48px;display:flex;align-items:center;justify-content:center;
  background:var(--gold-10);border:1px solid var(--gold-20);
  clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);
  margin-bottom:18px;color:var(--gold);
}
.svc-icon-wrap svg{width:20px;height:20px;stroke-width:2.1}
.svc-title{font-family:var(--ff-display);font-size:1.3rem;font-weight:400;color:var(--white);margin-bottom:11px;line-height:1.2}
.svc-link{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--ff-mono);font-size:.72rem;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold);background:none;border:none;padding:0;cursor:pointer;
  transition:gap var(--fast),color var(--fast);
  margin-top:auto;padding-top:20px;
  position:relative;z-index:1;
}
.svc-link svg{flex-shrink:0;transition:transform var(--fast)}
.svc-link:hover{gap:10px;color:var(--gold-lt)}
.svc-link:hover svg{transform:translateX(2px)}
.svc-link:hover svg{transform:translateX(2px)}

/* ════════════════════════════════════════
   MAP
════════════════════════════════════════ */
.map-layout{display:grid;grid-template-columns:380px 1fr;gap:48px;align-items:stretch}
#map{
  height:100%;min-height:600px;border-radius:var(--r-lg);
  border:1px solid rgba(7,7,7,.12);overflow:hidden;
  box-shadow:0 20px 50px rgba(7,7,7,.1);
  position:relative;z-index:0;
}
/* Leaflet: limitar z-index de controles para que no superen el header */
.leaflet-top,.leaflet-bottom,.leaflet-control-container{z-index:10!important}
.leaflet-pane{z-index:4!important}
.leaflet-tile-pane{z-index:2!important}
.leaflet-overlay-pane{z-index:4!important}
.leaflet-shadow-pane{z-index:5!important}
.leaflet-marker-pane{z-index:6!important}
.leaflet-tooltip-pane{z-index:7!important}
.leaflet-popup-pane{z-index:8!important}
.leaflet-map-pane canvas{z-index:1!important}
.leaflet-map-pane svg{z-index:2!important}
.map-zones{display:flex;flex-direction:column;gap:8px;margin-top:24px}
.zone-btn{
  display:flex;align-items:center;gap:13px;
  background:var(--bg-3);border:1px solid var(--gold-10);
  border-radius:var(--r-sm);padding:13px 16px;
  cursor:pointer;transition:all var(--fast);text-align:left;
}
.zone-btn:hover,.zone-btn.active{border-color:var(--gold);background:var(--gold-06)}
.zone-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.zone-name{font-size:var(--t-sm);color:var(--text);font-weight:500;display:block;margin-bottom:2px}
.zone-sub{font-size:var(--t-xs);color:var(--text-faint)}

/* ════════════════════════════════════════
   REVIEWS
════════════════════════════════════════ */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--gold-10)}
.review-card{background:var(--bg-2);padding:32px 28px}
.review-stars{display:flex;gap:3px;color:var(--gold);margin-bottom:16px}
.review-stars svg{width:16px;height:16px}
.review-text{
  font-family:var(--ff-display);font-size:1.1rem;font-weight:300;font-style:italic;
  color:var(--text-dim);line-height:1.7;margin-bottom:20px;
}
.review-author strong{font-size:var(--t-sm);color:var(--white);font-weight:500}
.review-author span{font-family:var(--ff-mono);font-size:var(--t-xs);color:var(--text-faint);display:block;margin-top:2px;letter-spacing:.06em}

/* ════════════════════════════════════════
   ABOUT
════════════════════════════════════════ */
.about-layout{display:grid;grid-template-columns:300px 1fr;gap:72px;align-items:start}
.about-card{
  background:var(--bg-2);border:1px solid var(--gold-10);border-radius:var(--r-lg);overflow:hidden;position:sticky;top:100px;
}
.about-avatar-wrap{background:var(--bg-3);padding:0 0 20px;text-align:center;border-bottom:1px solid var(--gold-10)}
.about-photo-wrap{
  width:100%;overflow:hidden;
  border-bottom:1px solid var(--gold-10);
  margin-bottom:16px;
}
.about-photo{
  width:100%;height:260px;
  object-fit:cover;object-position:center 18%;
  display:block;
  filter:brightness(.97) contrast(1.02);
}
/* Legacy avatar (fallback si se usa en otro sitio) */
.about-avatar{
  width:88px;height:88px;border-radius:50%;
  background:var(--gold-10);border:2px solid var(--gold-20);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;color:var(--gold);
}
.about-name{font-family:var(--ff-display);font-size:1.2rem;font-weight:400;color:var(--white);margin-bottom:4px}
.about-role{font-family:var(--ff-mono);font-size:var(--t-xs);color:var(--gold);letter-spacing:.12em}
.about-details{padding:20px 22px;display:flex;flex-direction:column;gap:0}
.about-detail-row{padding:12px 0;border-bottom:1px solid var(--gold-10);display:flex;flex-direction:column;gap:3px}
.about-detail-row:last-child{border-bottom:none}
.about-detail-lbl{font-family:var(--ff-mono);font-size:var(--t-xs);color:var(--text-faint);letter-spacing:.1em}
.about-detail-val{font-size:var(--t-sm);color:var(--gold)}
.about-content p{font-size:var(--t-md);color:var(--text-dim);line-height:1.8;margin-bottom:20px}
.values-list{margin-top:40px;display:flex;flex-direction:column;gap:0}
.value-item{display:flex;gap:20px;padding:22px 0;border-bottom:1px solid var(--gold-10)}
.value-num{font-family:var(--ff-mono);font-size:var(--t-xl);color:var(--gold);opacity:.3;flex-shrink:0;width:32px;line-height:1}
.value-body h4{font-size:var(--t-base);color:var(--white);font-weight:500;margin-bottom:6px}
.value-body p{font-size:var(--t-sm);color:var(--text-dim);line-height:1.65}

/* ── CAR PHOTOS — armonizar tonos fríos de estudio con la paleta dorada/oscura ── */
.car-photo{
  filter:brightness(.97) contrast(1.03) saturate(1.04);
  transition:transform .5s var(--ease);
}
.fleet-mini-card:hover .car-photo{transform:scale(1.045)}

/* ── Google Review button ── */
.review-google-btn{
  display:inline-flex;align-items:center;gap:10px;
  background:transparent;
  color:var(--bg) !important;
  border:1.5px solid rgba(7,7,7,.3) !important;
}
.review-google-btn:hover{
  background:var(--bg) !important;
  color:var(--text) !important;
  border-color:var(--bg) !important;
  transform:translateY(-1px);
}
.review-cta-note{font-size:.7rem;color:var(--text-faint);font-family:var(--ff-mono);letter-spacing:.08em;margin-top:10px}

/* ── Service detail card CTA ── */
.svc-detail-cta{
  display:inline-flex;align-items:center;gap:7px;margin-top:20px;
  background:transparent;border:1px solid var(--gold-20);border-radius:var(--r-sm);
  color:var(--gold);font-family:var(--ff-mono);font-size:.72rem;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;padding:10px 18px;cursor:pointer;
  transition:background var(--fast),border-color var(--fast),color var(--fast);
}
.svc-detail-cta:hover{background:var(--gold);color:var(--bg);border-color:var(--gold)}

/* ── Scroll-to-top button ── */
.scroll-top-btn{
  position:fixed;bottom:32px;left:24px;z-index:900;
  width:46px;height:46px;border-radius:50%;
  background:var(--gold);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:var(--bg);
  box-shadow:0 4px 20px rgba(200,169,110,.35);
  opacity:0;transform:translateY(10px);pointer-events:none;
  transition:opacity .22s var(--ease),transform .22s var(--ease);
}
.scroll-top-btn.visible{opacity:1;transform:translateY(0);pointer-events:auto}
.scroll-top-btn:hover{background:var(--gold-lt);transform:translateY(-2px)}

/* ── Blog thumb dark (no SVG) ── */
/* ── Taxi Libre — footer decoration ── */
.taxi-libre{
  display:flex;align-items:center;gap:8px;
  opacity:.7;transition:opacity var(--fast);cursor:default;
}
.taxi-libre:hover{opacity:1}
.taxi-libre-car{color:rgba(240,234,224,.35)}
.taxi-libre-car svg{display:block;transition:transform .4s ease}
.taxi-libre:hover .taxi-libre-car svg{transform:translateX(4px)}
.taxi-libre-sign{
  display:flex;align-items:center;gap:5px;
  background:rgba(22,163,74,.12);border:1px solid rgba(22,163,74,.28);
  border-radius:4px;padding:3px 8px;
}
.taxi-libre-dot{
  width:6px;height:6px;border-radius:50%;background:#22C55E;flex-shrink:0;
  animation:taxiblink 1.8s ease-in-out infinite;
}
@keyframes taxiblink{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.35;transform:scale(.8)}
}
.taxi-libre-sign span{
  font-family:var(--ff-mono);font-size:.58rem;letter-spacing:.16em;
  color:#22C55E;font-weight:600;
}

/* ── Language switcher ── */
.header-actions{display:flex;align-items:center;gap:12px}
.lang-btn{
  display:flex;align-items:center;gap:5px;
  background:rgba(200,169,110,.08);border:1px solid var(--gold-20);
  border-radius:var(--r-xs);padding:6px 10px;cursor:pointer;
  font-family:var(--ff-mono);font-size:.68rem;font-weight:600;letter-spacing:.1em;
  color:var(--gold);transition:background var(--fast),border-color var(--fast);
  white-space:nowrap;
}
.lang-btn:hover{background:rgba(200,169,110,.16);border-color:var(--gold)}
.lang-flag{font-size:.88rem;line-height:1}

.bc-thumb--dark{background:var(--bg-3);border-bottom:1px solid var(--gold-10)}

/* ── Blog card: read-more label y cursor ── */
.blog-card{cursor:pointer}
.bc-read-more{
  display:inline-flex;align-items:center;gap:5px;margin-top:12px;
  font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold);
  transition:gap var(--fast);
}
.blog-card:hover .bc-read-more{gap:9px}

/* ── Article reader ── */
.article-back-btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-faint);background:none;border:none;cursor:pointer;
  margin-bottom:36px;padding:0;transition:color var(--fast);
}
.article-back-btn:hover{color:var(--gold)}
.article-meta-top{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.article-date{font-family:var(--ff-mono);font-size:var(--t-xs);color:var(--text-faint);letter-spacing:.08em}
.article-title{
  font-family:var(--ff-display);font-size:clamp(1.8rem,4vw,2.8rem);
  font-weight:400;color:var(--white);line-height:1.15;margin-bottom:24px;
}
.article-divider{height:1px;background:var(--gold-10);margin-bottom:32px}
.article-body{color:var(--text-dim);font-size:var(--t-base);line-height:1.82}
.article-body p{margin-bottom:20px}
.article-body h3{
  font-family:var(--ff-display);font-size:1.25rem;font-weight:400;
  color:var(--white);margin:32px 0 14px;
}
.article-body ul{padding-left:20px;margin-bottom:20px}
.article-body li{margin-bottom:8px}
.article-body strong{color:var(--text);font-weight:600}
.article-cta-block{
  margin-top:56px;padding:32px 36px;
  background:var(--bg-2);border:1px solid var(--gold-10);border-radius:var(--r-lg);
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.article-cta-text{font-family:var(--ff-display);font-size:1.2rem;color:var(--white);font-weight:400}

/* ── Vehicle Picker ── */
.vehicle-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:4px}
.vp-btn{
  background:var(--bg-3);border:1.5px solid var(--gold-10);border-radius:var(--r-md);
  padding:14px 12px;text-align:left;cursor:pointer;transition:all var(--fast);
  display:flex;flex-direction:column;gap:3px;
}
.vp-btn:hover{border-color:var(--gold-20);background:var(--bg-4)}
.vp-btn.active{border-color:var(--gold);background:rgba(200,169,110,.08)}
/* ════════════════════════════════════════
   TICKER BAND — banda animada SEO izquierda→derecha
════════════════════════════════════════ */
.ticker-band{
  overflow:hidden;white-space:nowrap;
  background:var(--bg-2);
  border-top:1px solid var(--gold-10);
  border-bottom:1px solid var(--gold-10);
  padding:18px 0;
  user-select:none;
}
.ticker-track{
  display:inline-flex;align-items:center;gap:0;
  animation:ticker 42s linear infinite;
  will-change:transform;
}
.ticker-track:hover{animation-play-state:paused}
@keyframes ticker{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
.ticker-item{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--ff-display);font-size:1.05rem;font-style:italic;letter-spacing:.03em;
  color:var(--text);padding:0 28px;white-space:nowrap;
}
.ticker-item svg{color:var(--gold);flex-shrink:0;font-style:normal}
.ticker-sep{color:var(--gold);font-family:var(--ff-mono);font-size:.75rem;opacity:.55;flex-shrink:0}

.vp-icon{color:var(--gold);display:block;margin-bottom:8px}
.vp-icon svg{width:32px;height:32px}
.vp-icon svg{width:20px;height:20px}
.vp-name{font-family:var(--ff-display);font-size:.92rem;color:var(--white);font-weight:400}
.vp-sub{font-family:var(--ff-mono);font-size:.62rem;color:var(--text-faint);letter-spacing:.08em}
.vp-btn.active .vp-name{color:var(--gold-lt)}

/* ── Cookie Banner ── */
.cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:1050;
  background:rgba(8,8,8,.97);border-top:1px solid var(--gold-10);
  backdrop-filter:blur(20px);padding:20px 32px;
}
.cookie-inner{
  max-width:1240px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.cookie-text{font-size:var(--t-sm);color:var(--text-dim);line-height:1.6;max-width:660px}
.cookie-btns{display:flex;gap:10px;flex-shrink:0}

/* ── Footer legal links ── */
.footer-legal-link{
  background:none;border:none;cursor:pointer;padding:0;
  font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.1em;
  color:var(--text-faint);text-decoration:none;
  transition:color var(--fast);
}
.footer-legal-link:hover{color:var(--gold)}

/* ════════════════════════════════════════
   FLEET ALT GRID — Lexus + Mercedes
════════════════════════════════════════ */
.fleet-card-img-wrap{position:relative;overflow:hidden}
.fleet-card-img{
  width:100%;height:auto;display:block;
  border-bottom:1px solid var(--gold-10);
  object-fit:cover;object-position:center 55%;
}
.fleet-card-badge{
  position:absolute;bottom:18px;left:18px;z-index:2;
  display:inline-flex;align-items:center;
  font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);background:rgba(8,8,8,.82);border:1px solid var(--gold-20);
  border-radius:99px;padding:6px 16px;
  backdrop-filter:blur(8px);
}
.fleet-alt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.fleet-alt-grid--3{grid-template-columns:repeat(3,1fr)}
.fleet-alt-card{
  background:var(--bg-2);border:1px solid var(--gold-10);border-radius:var(--r-lg);
  overflow:hidden;transition:border-color var(--fast),transform var(--fast);
}
.fleet-alt-card:hover{border-color:var(--gold-20);transform:translateY(-3px)}
.fleet-alt-img{position:relative;overflow:hidden;aspect-ratio:16/10}
.fleet-alt-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.fleet-alt-card:hover .fleet-alt-img img{transform:scale(1.06)}

/* Overlay diferente para cada coche */
.fleet-alt-overlay{
  position:absolute;inset:0;
  /* Default: sin overlay visible */
  transition:opacity .4s ease;
}
/* Lexus (1er card) — brillo dorado sutil desde abajo-izquierda */
.fleet-alt-card:nth-child(1) .fleet-alt-overlay{
  background:
    linear-gradient(135deg, rgba(200,169,110,.18) 0%, transparent 55%),
    linear-gradient(0deg, rgba(7,7,7,.6) 0%, transparent 50%);
}
.fleet-alt-card:nth-child(1):hover .fleet-alt-overlay{
  background:
    linear-gradient(135deg, rgba(200,169,110,.28) 0%, transparent 55%),
    linear-gradient(0deg, rgba(7,7,7,.4) 0%, transparent 50%);
}
/* Mercedes Clase E (2o card) — viñeta desde los bordes */
.fleet-alt-card:nth-child(2) .fleet-alt-overlay{
  background:
    radial-gradient(ellipse at center, transparent 35%, rgba(7,7,7,.55) 100%),
    linear-gradient(0deg, rgba(7,7,7,.5) 0%, transparent 45%);
}
.fleet-alt-card:nth-child(2):hover .fleet-alt-overlay{
  background:
    radial-gradient(ellipse at center, transparent 40%, rgba(7,7,7,.35) 100%),
    linear-gradient(0deg, rgba(7,7,7,.3) 0%, transparent 45%);
}
/* V-Class (3er card) — sweep lateral izquierda */
.fleet-alt-card:nth-child(3) .fleet-alt-overlay{
  background:
    linear-gradient(90deg, rgba(7,7,7,.5) 0%, transparent 60%),
    linear-gradient(0deg, rgba(7,7,7,.55) 0%, transparent 50%);
}
.fleet-alt-card:nth-child(3):hover .fleet-alt-overlay{
  background:
    linear-gradient(90deg, rgba(7,7,7,.28) 0%, transparent 60%),
    linear-gradient(0deg, rgba(7,7,7,.3) 0%, transparent 50%);
}
.fleet-alt-badge-wrap{position:absolute;top:14px;left:14px;z-index:2}
.fleet-alt-body{padding:24px 28px}
.fleet-alt-brand{font-family:var(--ff-mono);font-size:.65rem;color:var(--text-faint);letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px}
.fleet-alt-model{font-family:var(--ff-display);font-size:1.6rem;font-weight:400;color:var(--white);margin:0 0 12px}
.fleet-alt-desc{font-size:var(--t-sm);color:var(--text-dim);line-height:1.72;margin-bottom:16px}
.fleet-alt-specs{display:flex;gap:14px;font-size:var(--t-xs);color:var(--text-dim);font-family:var(--ff-mono);flex-wrap:wrap}
.fleet-alt-specs strong{
  display:inline-block;
  color:var(--white);font-weight:500;
  background:var(--bg-4);border:1px solid var(--gold-20);
  border-radius:4px;padding:3px 10px;font-size:.65rem;letter-spacing:.08em;
}

/* ════════════════════════════════════════
   SERVICE DETAIL GRID — página Servicios completa
════════════════════════════════════════ */
.svc-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.svc-detail-card{
  background:var(--bg-3);border:1px solid var(--gold-10);border-radius:var(--r-lg);
  padding:32px;transition:border-color var(--fast),transform var(--fast);
}
.svc-detail-card:hover{border-color:var(--gold-20);transform:translateY(-2px)}
.svc-detail-text{font-size:var(--t-sm);color:var(--text-dim);line-height:1.75;margin:14px 0 18px}
.svc-tags{display:flex;flex-wrap:wrap;gap:8px}
.svc-tags span{
  font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.06em;
  color:var(--gold);background:var(--gold-10);border:1px solid var(--gold-20);
  border-radius:99px;padding:5px 12px;
}

/* ════════════════════════════════════════
   FLEET — MINI GRID (3 vehicles)
════════════════════════════════════════ */
.fleet-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fleet-mini-card{
  background:var(--bg-2);border:1px solid var(--gold-10);border-radius:var(--r-lg);
  overflow:hidden;transition:border-color var(--fast),transform var(--fast);
}
.fleet-mini-card:hover{border-color:var(--gold-20);transform:translateY(-2px)}
.fleet-mini-img{
  aspect-ratio:16/10;position:relative;overflow:hidden;
  border-bottom:1px solid var(--gold-10);background:var(--bg-3);
}
.fleet-mini-img img{width:100%;height:100%;object-fit:cover;display:block}
.fleet-mini-plate{
  position:absolute;top:14px;left:14px;z-index:1;
  font-family:var(--ff-mono);font-size:.62rem;letter-spacing:.16em;
  color:var(--gold);background:rgba(7,7,7,.75);border:1px solid var(--gold-20);
  border-radius:99px;padding:5px 11px;
}
.fleet-mini-mark{position:absolute;bottom:12px;right:12px;width:22px;height:22px;z-index:1;filter:drop-shadow(0 1px 4px rgba(0,0,0,.6))}
.fleet-mini-body{padding:20px 22px}
.fleet-mini-name{font-family:var(--ff-mono);font-size:var(--t-xs);color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.fleet-mini-model{font-family:var(--ff-display);font-size:1.15rem;color:var(--white);font-weight:400;margin-bottom:10px}
.fleet-mini-specs{display:flex;gap:7px;font-size:var(--t-xs);color:var(--text-faint);font-family:var(--ff-mono)}

/* ════════════════════════════════════════
   FLEET
════════════════════════════════════════ */
.fleet-card{
  background:var(--bg-2);border:1px solid var(--gold-10);border-radius:var(--r-xl);
  overflow:hidden;margin-bottom:48px;
}
.fleet-card-img{width:100%;height:auto;display:block;border-bottom:1px solid var(--gold-10);object-fit:cover;object-position:center 78%}
.fleet-card-body{padding:40px}
.fleet-card-body .grid-2{gap:48px}
.fleet-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--gold-10);border-radius:var(--r-sm);overflow:hidden;margin:24px 0}
.spec-cell{background:var(--bg-3);padding:18px 12px;text-align:center}
.spec-val{font-family:var(--ff-display);font-size:2rem;font-weight:400;color:var(--gold);line-height:1}
.spec-key{font-family:var(--ff-mono);font-size:.6rem;color:var(--text-faint);letter-spacing:.14em;text-transform:uppercase;margin-top:4px}
.fleet-badge{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--ff-mono);font-size:var(--t-xs);
  padding:7px 13px;border-radius:99px;letter-spacing:.07em;
}
.fleet-badge-ev{background:var(--green-10);color:var(--green);border:1px solid rgba(34,197,94,.25)}
.fleet-badge-gold{background:var(--gold-10);color:var(--gold);border:1px solid var(--gold-20)}
.amenities{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.amenity{
  background:var(--bg-3);border:1px solid var(--gold-10);
  border-radius:var(--r-sm);padding:18px 12px;
  display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;
  transition:border-color var(--fast);
}
.amenity:hover{border-color:var(--gold-20)}
.amenity svg{width:22px;height:22px;color:var(--gold);stroke-width:2}
.amenity span{font-size:var(--t-xs);color:var(--text-dim);line-height:1.4}

/* ════════════════════════════════════════
   AIRPORT / SERVICES
════════════════════════════════════════ */
.airport-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.feature-list{display:flex;flex-direction:column;gap:0}
.feature-item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--gold-10)}
.feature-item:last-child{border-bottom:none}
.feature-icon{
  width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:var(--gold-10);border:1px solid var(--gold-20);border-radius:var(--r-sm);color:var(--gold);
}
.feature-icon svg{width:20px;height:20px;stroke-width:2}
.feature-body strong{display:block;font-size:var(--t-base);color:var(--white);font-weight:500;margin-bottom:4px}
.feature-body span{font-size:var(--t-sm);color:var(--text-dim);line-height:1.65}
.terminal-card{
  background:var(--bg-3);border:1px solid var(--gold-10);border-radius:var(--r-lg);overflow:hidden;
}
.terminal-head{background:var(--bg-4);padding:20px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--gold-10)}
.terminal-name{font-family:var(--ff-mono);font-size:var(--t-sm);color:var(--white);letter-spacing:.12em}
.terminal-badge-live{font-family:var(--ff-mono);font-size:var(--t-xs);color:var(--green);letter-spacing:.08em;display:flex;align-items:center;gap:6px}
.terminal-badge-live span:first-child{width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}
.terminal-row{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid var(--gold-10)}
.terminal-row:last-child{border-bottom:none}
.t-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex-shrink:0}
.t-dot.green{background:var(--green)}
.t-label{flex:1}
.t-label strong{display:block;font-size:var(--t-sm);color:var(--text);font-weight:500}
.t-label small{font-size:var(--t-xs);color:var(--text-faint)}
.t-code{font-family:var(--ff-mono);font-size:var(--t-sm);color:var(--gold);letter-spacing:.05em}
.distances{margin-top:16px;background:var(--bg-4);border:1px solid var(--gold-10);border-radius:var(--r-md);overflow:hidden}
.dist-head{padding:12px 18px;background:var(--bg-5);font-family:var(--ff-mono);font-size:var(--t-xs);color:var(--text-faint);letter-spacing:.14em}
.dist-row{display:flex;justify-content:space-between;align-items:center;padding:11px 18px;border-top:1px solid var(--gold-10);font-size:var(--t-sm);color:var(--text-dim)}
.dist-time{font-family:var(--ff-mono);font-size:var(--t-xs);color:var(--gold)}

/* ════════════════════════════════════════
   STATS BAR
════════════════════════════════════════ */
/* Inverted (light) — the one deliberate break from black, for rhythm */
.stats-bar{border-top:1px solid var(--gold-20)}
.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(7,7,7,.08)}
.stat-cell{background:var(--text);padding:36px 24px;text-align:center}
.stat-num{font-family:var(--ff-display);font-size:2.8rem;font-weight:400;color:var(--bg);line-height:1}
.stat-lbl{font-family:var(--ff-mono);font-size:var(--t-xs);color:#6B6259;letter-spacing:.14em;text-transform:uppercase;margin-top:6px}

/* ════════════════════════════════════════
   BLOG
════════════════════════════════════════ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.blog-card{
  background:var(--bg-2);border:1px solid var(--gold-10);border-radius:var(--r-lg);
  overflow:hidden;transition:all var(--fast);display:flex;flex-direction:column;
}
.blog-card:hover{border-color:var(--gold-20);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.4)}
.bc-thumb{
  height:186px;background:var(--bg-4);
  display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid var(--gold-10);position:relative;overflow:hidden;
}
.bc-thumb svg{width:48px;height:48px;color:var(--gold);opacity:.35}
.bc-body{padding:22px;flex:1;display:flex;flex-direction:column}
.bc-cat{font-family:var(--ff-mono);font-size:var(--t-xs);color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px}
.bc-title{font-family:var(--ff-display);font-size:1.15rem;font-weight:400;color:var(--white);line-height:1.35;margin-bottom:10px}
.bc-excerpt{font-size:var(--t-sm);color:var(--text-dim);line-height:1.65;flex:1;margin-bottom:14px}
.bc-meta{display:flex;justify-content:space-between;font-family:var(--ff-mono);font-size:var(--t-xs);color:var(--text-faint);margin-top:auto}

/* ════════════════════════════════════════
   FORMS
════════════════════════════════════════ */
.form-card{background:var(--bg-2);border:1px solid var(--gold-10);border-radius:var(--r-lg);overflow:hidden}
.form-head{background:var(--gold);padding:18px 26px;display:flex;align-items:center;gap:12px}
.form-head-title{font-family:var(--ff-display);font-size:1.05rem;font-weight:400;color:var(--bg)}
.form-head-badge{font-family:var(--ff-mono);font-size:var(--t-xs);color:rgba(7,7,7,.6);letter-spacing:.08em;margin-left:auto}
.form-body{padding:28px}
.fg{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.fg label{font-family:var(--ff-mono);font-size:var(--t-xs);color:var(--text-faint);letter-spacing:.1em;text-transform:uppercase}
.fg input,.fg select,.fg textarea{
  background:var(--bg-3);border:1px solid rgba(200,169,110,.15);
  border-radius:var(--r-xs);color:var(--text);
  font-size:var(--t-sm);padding:12px 15px;width:100%;
  transition:border-color var(--fast),background var(--fast);
  -webkit-appearance:none;
}
.fg input::placeholder,.fg textarea::placeholder{color:var(--text-faint)}
.fg input:focus,.fg select:focus,.fg textarea:focus{
  outline:none;border-color:var(--gold);background:rgba(200,169,110,.04);
}
.fg select option{background:var(--bg-3);color:var(--text)}
.fg textarea{resize:vertical;min-height:110px;line-height:1.6}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-sep{height:1px;background:var(--gold-10);margin:16px 0}
.btn-submit{
  width:100%;padding:15px;margin-top:6px;
  background:var(--gold);color:var(--bg);
  font-family:var(--ff-body);font-size:var(--t-xs);font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  border-radius:var(--r-xs);
  display:flex;align-items:center;justify-content:center;gap:9px;
  transition:all var(--fast);cursor:pointer;border:none;
}
.btn-submit:hover{background:var(--gold-lt);transform:translateY(-1px)}
.btn-submit:disabled{opacity:.5;pointer-events:none}
.btn-submit svg{width:16px;height:16px}
.field-error{border-color:rgba(196,30,30,.5)!important}
.form-success{display:none;text-align:center;padding:40px 24px}
.success-ico{color:var(--green);margin:0 auto 14px;display:flex;justify-content:center}
.success-ico svg{width:44px;height:44px}
.success-title{font-family:var(--ff-display);font-size:1.6rem;font-weight:400;color:var(--white);margin-bottom:8px}
.success-body{font-size:var(--t-sm);color:var(--text-dim);line-height:1.7}

/* ════════════════════════════════════════
   CONTACT
════════════════════════════════════════ */
.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:72px}
.c-cards{display:flex;flex-direction:column;gap:10px;margin-top:28px}
.c-card{
  display:flex;align-items:center;gap:15px;
  background:var(--bg-2);border:1px solid var(--gold-10);
  border-radius:var(--r-md);padding:16px 18px;
  transition:border-color var(--fast);
}
.c-card:hover{border-color:var(--gold-20)}
.c-icon{
  width:42px;height:42px;flex-shrink:0;
  background:var(--gold-10);border:1px solid var(--gold-20);
  border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;
  color:var(--gold);
}
.c-icon svg{width:19px;height:19px;stroke-width:2}
.c-info strong{display:block;font-size:var(--t-sm);color:var(--text);font-weight:500;margin-bottom:2px}
.c-info span,.c-info a{font-size:var(--t-md);color:var(--gold)}
.c-info small{font-size:var(--t-xs);color:var(--text-faint);display:block;margin-top:1px}
.wa-cta{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:rgba(34,197,94,.08);border:1.5px solid rgba(34,197,94,.25);
  border-radius:var(--r-md);padding:16px;
  font-size:var(--t-base);font-weight:500;color:var(--green);
  transition:all var(--fast);
}
.wa-cta:hover{background:rgba(34,197,94,.15);border-color:rgba(34,197,94,.45);transform:translateY(-2px)}
.wa-cta svg{width:22px;height:22px}

/* ════════════════════════════════════════
   PAGE HERO (inner pages)
════════════════════════════════════════ */
.page-hero{
  padding:140px 0 72px;position:relative;overflow:hidden;
  background:var(--bg);
}
.page-hero-bg{
  position:absolute;inset:0;z-index:0;
  background-image:linear-gradient(180deg,rgba(7,7,7,.6) 0%,rgba(7,7,7,.75) 60%,rgba(7,7,7,.92) 100%),url('/assets/images/tesla-model-y-real.jpg');
  background-size:cover;background-position:center 38%;
  filter:brightness(.96) contrast(1.04) saturate(1.03);
  animation:pageHeroPan 24s ease-in-out infinite alternate;
}
@keyframes pageHeroPan{from{transform:scale(1.02) translateX(0)}to{transform:scale(1.12) translateX(-1.5%)}}
.page-hero-glow{
  position:absolute;inset:0;z-index:1;
  background:radial-gradient(ellipse 60% 100% at 50% 0%,rgba(200,169,110,.08) 0%,transparent 65%);
  pointer-events:none;
}
.page-hero .wrap{position:relative;z-index:2}

/* ════════════════════════════════════════
   FOOTER
════════════════════════════════════════ */
#footer{background:var(--bg-2);border-top:1px solid var(--gold-10)}
.footer-main{padding:64px 0 48px}
.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:56px}
.footer-logo{display:flex;align-items:center;gap:12px;cursor:pointer;margin-bottom:18px}
.footer-tagline{font-family:var(--ff-display);font-style:italic;font-size:1.05rem;color:var(--text-dim);margin-bottom:12px;line-height:1.55}
.footer-about{font-size:var(--t-sm);color:var(--text-faint);line-height:1.75}
.footer-social{display:flex;gap:8px;margin-top:20px}
.social-btn{
  width:38px;height:38px;border-radius:var(--r-sm);
  background:var(--bg-3);border:1px solid var(--gold-10);
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);transition:all var(--fast);
}
.social-btn svg{width:17px;height:17px}
.social-btn:hover{background:var(--gold-10);border-color:var(--gold-20);transform:translateY(-2px)}
.f-col h4{font-family:var(--ff-mono);font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.f-col ul{display:flex;flex-direction:column;gap:10px}
.f-col li button,.f-col li a{
  font-size:var(--t-sm);color:var(--text-faint);
  transition:color var(--fast);background:none;text-align:left;
}
.f-col li button:hover,.f-col li a:hover{color:var(--gold)}
.footer-bottom{
  border-top:1px solid var(--gold-10);padding:20px 0;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;
}
.footer-copy{font-size:var(--t-xs);color:var(--text-faint)}
.footer-legal{display:flex;gap:18px}
.footer-legal button{font-size:var(--t-xs);color:var(--text-faint);transition:color var(--fast);background:none}
.footer-legal button:hover{color:var(--gold)}

/* ════════════════════════════════════════
   FLOAT ELEMENTS
════════════════════════════════════════ */
.float-wa{
  position:fixed;bottom:32px;right:24px;z-index:800;
  width:56px;height:56px;border-radius:50%;background:#25D366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 24px rgba(0,0,0,.4),0 0 0 3px rgba(37,211,102,.15);
  color:#fff;transition:transform var(--fast);
}
.float-wa svg{width:27px;height:27px}
.float-wa:hover{transform:scale(1.08)}

.toast{
  position:fixed;bottom:96px;right:24px;z-index:2000;
  background:var(--bg-3);border:1px solid var(--gold-20);
  border-radius:var(--r-md);padding:14px 18px;
  display:flex;align-items:center;gap:13px;min-width:270px;max-width:340px;
  transform:translateX(calc(100% + 40px));
  transition:transform var(--med) var(--ease);
  box-shadow:0 8px 40px rgba(0,0,0,.5);
}
.toast.show{transform:translateX(0)}
.toast-icon svg{width:22px;height:22px}
.toast-icon.ok svg{color:var(--green)}
.toast-icon.err svg{color:var(--red)}
.toast-icon.warn svg{color:var(--gold)}
.toast-title{font-size:var(--t-sm);color:var(--white);font-weight:500;display:block}
.toast-msg{font-size:var(--t-xs);color:var(--text-dim)}

/* ════════════════════════════════════════
   SCROLL REVEAL
════════════════════════════════════════ */
.sr{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}
.sr.in{opacity:1;transform:none}
.sr-d1{transition-delay:.1s}.sr-d2{transition-delay:.2s}.sr-d3{transition-delay:.3s}

/* ════════════════════════════════════════
   PAGES (SPA)
════════════════════════════════════════ */
.page{display:none}
.page.active{display:block;animation:pgIn .3s ease}
@keyframes pgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ════════════════════════════════════════
   LEAFLET DARK
════════════════════════════════════════ */
.leaflet-container{background:#EAE6DE}
.leaflet-popup-content-wrapper{
  background:#FBF9F5;color:var(--bg);
  border:1px solid rgba(7,7,7,.1);border-radius:var(--r-md);
  box-shadow:0 8px 32px rgba(7,7,7,.18);
}
.leaflet-popup-tip{background:#FBF9F5}
.leaflet-popup-content{font-family:var(--ff-body);font-size:var(--t-sm);line-height:1.6;padding:6px 2px}
.leaflet-popup-close-button{color:#8A8177!important}

/* ════════════════════════════════════════
   RESPONSIVE — TABLET 1024px
════════════════════════════════════════ */
@media(max-width:1024px){
  .wrap{padding:0 32px}
  .header-inner{padding:0 32px}
  .hero-content{grid-template-columns:1fr;padding:56px 32px 40px;gap:36px}
  .hero-right{max-width:560px;margin:0 auto;width:100%}
  .hero-scroll{padding:20px 32px}
  .grid-2,.airport-layout,.contact-layout,.about-layout{grid-template-columns:1fr;gap:36px}
  .map-layout{grid-template-columns:1fr;gap:32px}
  #map{height:360px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .svc-grid,.reviews-grid,.blog-grid{grid-template-columns:repeat(2,1fr)}
  .fleet-card-body .grid-2{grid-template-columns:1fr;gap:28px}
  .fleet-mini-grid{grid-template-columns:1fr 1fr;gap:16px}
  .about-card{position:static}
  .trust-item{padding:14px 18px}
  .amenities{grid-template-columns:repeat(3,1fr)}
}

/* ════════════════════════════════════════
   RESPONSIVE — MOBILE 768px
════════════════════════════════════════ */
@media(max-width:768px){
  :root{--t-base:.975rem}

  .wrap{padding:0 20px}
  .header-inner{padding:0 20px;height:64px}
  #header{height:64px}
  .hero{padding-top:64px}
  .hero-content{padding:44px 20px 32px}
  .hero-scroll{padding:16px 20px;display:none}
  .hero-title{font-size:clamp(2.8rem,11vw,4.2rem)}
  .hero-desc{font-size:var(--t-base)}
  .hero-btns .btn-lg{padding:15px 24px;font-size:var(--t-xs)}
  .hero-badges{gap:14px}
  .hero-right{display:none}  /* hide car card on mobile — hero is text-focused */
  .hero-car-card-mobile{display:block!important}

  .nav-center,.header-cta{display:none}
  .ham{display:flex}
  /* Selector idioma siempre visible en móvil, más compacto */
  .lang-btn{padding:5px 8px;font-size:.62rem;gap:4px}
  .lang-flag{font-size:.8rem}

  .section{padding:60px 0}
  .section-sm{padding:40px 0}

  .display{font-size:clamp(2.2rem,9vw,3rem)}
  .heading{font-size:clamp(1.7rem,7vw,2.2rem)}
  .lead{font-size:var(--t-base)}

  .svc-grid,.reviews-grid,.blog-grid{grid-template-columns:1fr}
  .svc-detail-grid{grid-template-columns:1fr}
  .fleet-alt-grid,.fleet-alt-grid--3{grid-template-columns:1fr}
  .grid-4,.stats-inner{grid-template-columns:repeat(2,1fr)}
  .fleet-specs{grid-template-columns:repeat(2,1fr)}
  .fleet-mini-grid{grid-template-columns:1fr}
  .amenities{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr}
  .frow{grid-template-columns:1fr}

  .trust-inner{flex-direction:column;gap:0}
  .trust-item{width:100%;justify-content:center;border-right:none;border-bottom:1px solid rgba(7,7,7,.1)}
  .trust-item:last-child{border-bottom:none}

  .about-layout{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center;gap:12px}
  .footer-legal{justify-content:center}

  /* Mobile hero car — small inline version */
  .hero-car-card-mobile{
    background:var(--bg-2);border:1px solid var(--gold-10);
    border-radius:var(--r-lg);overflow:hidden;margin-top:28px;
  }
  .hero-car-card-mobile img{width:100%;height:auto}
  .hero-car-card-mobile .hcf-mobile{
    display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--gold-10);
  }
  .hcf-mobile .hcf-stat{background:var(--bg-2);padding:14px 10px}
  .hcf-mobile .hcf-num{font-size:1.4rem}

  .page-hero{padding:104px 0 52px}

  .float-wa{bottom:20px;right:16px;width:50px;height:50px}
  .float-wa svg{width:24px;height:24px}
  .toast{min-width:unset;max-width:calc(100vw - 32px);right:16px;bottom:84px}

  .map-zones{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .zone-sub{display:none}

  /* Mobile bottom CTA bar */
  .mobile-cta-bar{
    display:flex!important;position:fixed;bottom:0;left:0;right:0;z-index:700;
    background:rgba(7,7,7,.96);border-top:1px solid var(--gold-10);
    backdrop-filter:blur(16px);
    padding:12px 16px;gap:10px;
    padding-bottom:calc(12px + env(safe-area-inset-bottom));
  }
  .mobile-cta-bar .btn{flex:1;justify-content:center;padding:14px 10px;font-size:.72rem}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  /* WA flotante en móvil: por encima de la barra CTA + safe area */
  .float-wa{
    bottom:calc(80px + env(safe-area-inset-bottom));
    right:16px;
    width:50px;height:50px;
  }
  /* scroll-to-top en móvil: mismo nivel que el WA */
  .scroll-top-btn{
    bottom:calc(80px + env(safe-area-inset-bottom));
    left:16px;
  }
}

/* Desktop: hide mobile-only elements */
.hero-car-card-mobile{display:none}
.mobile-cta-bar{display:none}

@media print{
  .float-wa,.toast,#header,.ham,.mob-nav,.mobile-cta-bar{display:none!important}
}

/* ════════════════════════════════════════
   QUIZ FORM — formulario por pasos
════════════════════════════════════════ */
.quiz-wrap{
  position:relative;
  min-height:calc(100vh - 76px);
  display:flex;flex-direction:column;
  background:var(--bg);
  overflow:hidden;
}

/* Barra de progreso */
.quiz-progress-bar{
  position:fixed;top:76px;left:0;right:0;height:3px;
  background:rgba(200,169,110,.12);z-index:100;
}
.quiz-progress-fill{
  height:100%;background:linear-gradient(90deg,var(--gold-dk),var(--gold),var(--gold-lt));
  transition:width .45s cubic-bezier(.4,0,.2,1);width:14.2%;
  box-shadow:0 0 12px rgba(200,169,110,.5);
}
.quiz-progress-label{
  position:fixed;top:82px;right:24px;
  font-family:var(--ff-mono);font-size:.62rem;letter-spacing:.12em;
  color:var(--text-faint);z-index:100;
}

/* Botón atrás */
.quiz-back-btn{
  position:fixed;top:88px;left:20px;z-index:101;
  display:flex;align-items:center;gap:5px;
  font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.08em;
  color:var(--text-faint);background:none;border:none;cursor:pointer;
  padding:8px 12px;border-radius:var(--r-sm);
  transition:color var(--fast),background var(--fast);
}
.quiz-back-btn:hover{color:var(--gold);background:var(--gold-10)}

/* Pasos */
.quiz-step{
  display:none;
  min-height:calc(100vh - 76px);
  align-items:center;justify-content:center;
  animation:quizIn .38s cubic-bezier(.4,0,.2,1) both;
}
.quiz-step.active{display:flex}
@keyframes quizIn{
  from{opacity:0;transform:translateX(32px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes quizOut{
  from{opacity:1;transform:translateX(0)}
  to{opacity:0;transform:translateX(-32px)}
}
.quiz-step.leaving{
  display:flex;animation:quizOut .25s cubic-bezier(.4,0,.2,1) both;
}

.quiz-step-inner{
  width:100%;max-width:860px;
  padding:80px 40px 60px;
  margin:0 auto;
}
.quiz-step-inner--narrow{max-width:560px}
.quiz-step-inner--center{text-align:center;display:flex;flex-direction:column;align-items:center}

/* Tipografía */
.quiz-eyebrow{
  font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);margin-bottom:16px;
}
.quiz-title{
  font-family:var(--ff-display);font-size:clamp(2rem,5vw,3rem);
  font-weight:400;color:var(--white);line-height:1.15;margin-bottom:12px;
}
.quiz-sub{
  font-size:var(--t-base);color:var(--text-dim);
  line-height:1.65;margin-bottom:36px;max-width:540px;
}

/* Grid de opciones */
.quiz-options-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  margin-bottom:12px;
}
.quiz-options-grid--3{grid-template-columns:repeat(4,1fr)}
.qopt{
  display:flex;flex-direction:column;align-items:flex-start;
  background:var(--bg-2);border:1.5px solid var(--gold-10);
  border-radius:var(--r-md);padding:22px 20px;cursor:pointer;
  transition:border-color var(--fast),background var(--fast),transform var(--fast);
  text-align:left;
}
.qopt:hover{border-color:var(--gold-20);background:var(--bg-3);transform:translateY(-2px)}
.qopt.selected{border-color:var(--gold);background:rgba(200,169,110,.1)}
.qopt--wide{grid-column:span 4}
.qopt-icon{font-size:1.8rem;margin-bottom:10px;display:block;line-height:1}
.qopt-label{
  font-family:var(--ff-display);font-size:1.05rem;font-weight:400;
  color:var(--white);margin-bottom:4px;line-height:1.2;
}
.qopt.selected .qopt-label{color:var(--gold-lt)}
.qopt-sub{
  font-family:var(--ff-mono);font-size:.62rem;letter-spacing:.06em;
  color:var(--text-faint);
}

/* Pasajeros */
.quiz-pax-row{
  display:flex;gap:14px;flex-wrap:wrap;
  justify-content:center;margin-bottom:12px;
}
.qpax{
  display:flex;flex-direction:column;align-items:center;
  width:96px;height:96px;
  background:var(--bg-2);border:1.5px solid var(--gold-10);
  border-radius:var(--r-md);cursor:pointer;
  transition:border-color var(--fast),background var(--fast),transform var(--fast);
}
.qpax:hover{border-color:var(--gold-20);transform:scale(1.04)}
.qpax.selected{border-color:var(--gold);background:rgba(200,169,110,.1)}
.qpax-num{
  font-family:var(--ff-display);font-size:2rem;font-weight:400;
  color:var(--white);line-height:1;margin-top:18px;
}
.qpax.selected .qpax-num{color:var(--gold)}

/* ── Equipaje: contadores +/- ── */
.luggage-block{
  background:var(--bg-2);border:1px solid var(--gold-10);
  border-radius:var(--r-md);padding:18px 20px;
}
.luggage-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 0;border-bottom:1px solid var(--gold-10);
}
.luggage-row:last-child{border-bottom:none}
.luggage-lbl{font-size:var(--t-sm);color:var(--text-dim)}
.stepper{display:flex;align-items:center;gap:14px}
.stepper-btn{
  width:32px;height:32px;border-radius:50%;flex-shrink:0;
  background:rgba(200,169,110,.1);border:1px solid var(--gold-20);
  color:var(--gold);font-size:1.1rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background var(--fast),border-color var(--fast);
}
.stepper-btn:hover{background:rgba(200,169,110,.2);border-color:var(--gold)}
.stepper-btn:active{transform:scale(.92)}
.stepper-val{
  font-family:var(--ff-display);font-size:1.1rem;color:var(--white);
  min-width:20px;text-align:center;
}
.qpax-label{font-family:var(--ff-mono);font-size:.6rem;color:var(--text-faint);letter-spacing:.08em;margin-top:4px}

/* Campos de texto */
.quiz-fields{display:flex;flex-direction:column;gap:20px;margin-bottom:28px}
.qfield{display:flex;flex-direction:column;gap:8px}
.qfield-label{
  display:flex;align-items:center;gap:8px;
  font-size:.82rem;color:var(--text-dim);letter-spacing:.04em;
}
.qfield-icon{font-size:1rem}
.qfield-input{
  background:var(--bg-2);border:1.5px solid rgba(200,169,110,.15);
  border-radius:var(--r-md);padding:16px 18px;
  font-family:var(--ff-body);font-size:var(--t-base);color:var(--white);
  transition:border-color var(--fast),background var(--fast);
  width:100%;
}
.qfield-input:focus{
  outline:none;border-color:var(--gold);
  background:var(--bg-3);
}
.qfield-input::placeholder{color:var(--text-faint)}
.qfield-input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(.5) sepia(1) saturate(3) hue-rotate(10deg)}
.qfield-textarea{resize:none;min-height:100px;line-height:1.6}

/* Botones de avance */
.quiz-next-btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--gold);color:var(--bg);
  font-family:var(--ff-mono);font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:16px 32px;border-radius:var(--r-sm);border:none;cursor:pointer;
  transition:background var(--fast),transform var(--fast);
}
.quiz-next-btn:hover{background:var(--gold-lt);transform:translateX(3px)}

/* Botón enviar */
.quiz-submit-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;background:var(--gold);color:var(--bg);
  font-family:var(--ff-mono);font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:18px;border-radius:var(--r-sm);border:none;cursor:pointer;
  transition:background var(--fast),transform var(--fast);
  margin-bottom:14px;
}
.quiz-submit-btn:hover{background:var(--gold-lt);transform:translateY(-2px)}
.quiz-submit-btn:disabled{opacity:.5;pointer-events:none}
.quiz-legal{font-size:.72rem;color:var(--text-faint);text-align:center;line-height:1.6}

/* Resumen */
.quiz-summary{
  background:var(--bg-2);border:1px solid var(--gold-10);
  border-radius:var(--r-md);padding:18px 20px;
  margin-bottom:24px;display:grid;
  grid-template-columns:1fr 1fr;gap:10px;
}
.quiz-summary:empty{display:none}
.qs-item{display:flex;flex-direction:column;gap:2px}
.qs-key{font-family:var(--ff-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}
.qs-val{font-size:.88rem;color:var(--white)}

/* Pantalla de gracias */
.quiz-thanks-icon{
  width:80px;height:80px;border-radius:50%;
  background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);
  display:flex;align-items:center;justify-content:center;
  color:#22C55E;margin-bottom:24px;
}

/* Estrellas */
.quiz-stars-block{
  background:var(--bg-2);border:1px solid var(--gold-10);
  border-radius:var(--r-lg);padding:28px 32px;
  margin:28px 0;width:100%;text-align:center;
}
.quiz-stars-label{
  font-size:var(--t-sm);color:var(--text-dim);margin-bottom:18px;line-height:1.6;
}
.quiz-stars{
  display:flex;justify-content:center;gap:8px;margin-bottom:16px;
}
.qstar{
  font-size:2.4rem;color:rgba(200,169,110,.25);background:none;border:none;
  cursor:pointer;transition:color .15s,transform .15s;line-height:1;padding:0;
}
.qstar:hover,.qstar.lit{color:var(--gold);transform:scale(1.15)}
.quiz-stars-msg{
  font-family:var(--ff-display);font-size:1.1rem;font-style:italic;
  color:var(--gold);min-height:28px;transition:opacity .3s;
}
.quiz-google-btn{
  display:inline-flex;align-items:center;gap:8px;margin-top:16px;
  background:#fff;color:#3C4043;font-size:.82rem;font-weight:600;
  padding:11px 22px;border-radius:6px;text-decoration:none;
  transition:opacity var(--fast);
}
.quiz-google-btn:hover{opacity:.9}

/* Botón reiniciar */
.quiz-restart-btn{
  margin-top:12px;background:transparent;
  border:1px solid var(--gold-20);color:var(--gold);
  font-family:var(--ff-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;
  padding:11px 24px;border-radius:var(--r-sm);cursor:pointer;
  transition:background var(--fast);
}
.quiz-restart-btn:hover{background:var(--gold-10)}

/* Responsive */
@media(max-width:768px){
  /* Ajuste de grid de opciones */
  .quiz-options-grid{grid-template-columns:1fr 1fr;gap:10px}
  .quiz-options-grid--3{grid-template-columns:1fr 1fr;gap:10px}
  .qopt--wide{grid-column:span 2}

  /* Padding inner reducido */
  .quiz-step-inner{padding:52px 20px 40px}
  .quiz-step-inner--narrow{max-width:100%;padding:52px 20px 40px}

  /* Tipografía */
  .quiz-title{font-size:clamp(1.7rem,7vw,2.4rem);margin-bottom:10px}
  .quiz-sub{font-size:.88rem;margin-bottom:24px}

  /* Opciones más compactas */
  .qopt{padding:16px 14px}
  .qopt-icon{font-size:1.5rem;margin-bottom:8px}
  .qopt-label{font-size:.92rem}
  .qopt-sub{font-size:.58rem}

  /* Campos */
  .quiz-fields{gap:14px;margin-bottom:20px}
  .qfield-input{padding:13px 14px;font-size:.93rem}

  /* Pasajeros */
  .quiz-pax-row{gap:10px}
  .qpax{width:64px;height:64px}
  .qpax-num{font-size:1.5rem;margin-top:14px}

  /* Resumen */
  .quiz-summary{grid-template-columns:1fr 1fr;gap:8px;padding:14px 16px}
  
  /* Botones */
  .quiz-next-btn,.quiz-submit-btn{padding:14px 24px;font-size:.78rem}

  /* Gracias */
  .quiz-stars-block{padding:20px 16px}
  .qstar{font-size:2rem}

  /* Barra de progreso — bajarla un poco en móvil */
  .quiz-progress-bar{top:60px}
  .quiz-progress-label{top:66px;font-size:.58rem;right:16px}
  .quiz-back-btn{top:72px;left:10px;font-size:.65rem;padding:6px 8px}
}
@media(max-width:480px){
  .quiz-options-grid,.quiz-options-grid--3{grid-template-columns:1fr;gap:8px}
  .qopt--wide{grid-column:span 1}
  .quiz-step-inner{padding:88px 16px 36px}
  .quiz-step-inner--narrow{padding:88px 16px 36px}
  .quiz-title{font-size:clamp(1.6rem,8vw,2rem)}
  .quiz-pax-row{gap:8px}
  .qpax{width:60px;height:60px}
  .qpax-num{font-size:1.4rem;margin-top:12px}
  .qpax-label{font-size:.55rem}
  .quiz-summary{grid-template-columns:1fr}
  .quiz-stars{gap:6px}
  .qstar{font-size:1.8rem}
  .quiz-restart-btn{width:100%;text-align:center}
  .quiz-legal{font-size:.68rem}
}
@media(max-width:600px){
  /* El header mide 64px en móvil (no 76px como en escritorio) — sin este
     ajuste el quiz calculaba mal su altura y el contenido quedaba pegado
     al header/logotipo. También se da más aire arriba a propósito. */
  .quiz-wrap{min-height:calc(100vh - 64px)}
  .quiz-step{min-height:calc(100vh - 64px);align-items:flex-start}
  .quiz-progress-bar{top:64px}
  .quiz-progress-label{top:72px}
  .quiz-step-inner{padding-top:108px}
  .quiz-step-inner--narrow{padding-top:108px}
}

/* ════════════════════════════════════════
   HERO SLIDER — fullscreen elegante
════════════════════════════════════════ */
.hero-slider{
  position:relative;
  width:100%;height:100vh;min-height:600px;
  overflow:hidden;background:var(--bg);
  padding-top:76px; /* header height */
}

/* Track */
.hs-track{
  position:absolute;inset:0;
  /* no flex aquí — los slides se posicionan absolute */
}

/* Slides */
.hs-slide{
  position:absolute;inset:0;
  opacity:0;pointer-events:none;
  transition:opacity .9s cubic-bezier(.4,0,.2,1);
  display:flex;align-items:center;
}
.hs-slide.active{
  opacity:1;pointer-events:all;
  z-index:2;
}
.hs-slide.leaving{
  opacity:0;z-index:1;
}

/* Media — video / imagen de fondo */
.hs-media{
  position:absolute;inset:0;overflow:hidden;z-index:0;
}
.hs-video,.hs-img{
  width:100%;height:100%;
  object-fit:cover;object-position:center 55%;
  display:block;
}
.hs-video{will-change:transform}

/* Overlays según el slide */
.hs-slide-overlay{
  position:absolute;inset:0;
}
.hs-slide-overlay--dark{
  background:
    linear-gradient(105deg, rgba(7,7,7,.85) 0%, rgba(7,7,7,.55) 50%, rgba(7,7,7,.3) 100%),
    linear-gradient(180deg, rgba(7,7,7,.3) 0%, transparent 40%, rgba(7,7,7,.7) 100%);
}
.hs-slide-overlay--gold{
  background:
    linear-gradient(105deg, rgba(7,7,7,.9) 0%, rgba(8,5,2,.6) 50%, rgba(7,7,7,.2) 100%),
    linear-gradient(180deg, rgba(7,7,7,.2) 0%, transparent 50%, rgba(7,7,7,.8) 100%);
}
.hs-slide-overlay--warm{
  background:
    linear-gradient(255deg, rgba(7,7,7,.88) 0%, rgba(7,7,7,.55) 50%, rgba(7,7,7,.25) 100%),
    linear-gradient(180deg, rgba(7,7,7,.2) 0%, transparent 50%, rgba(7,7,7,.8) 100%);
}

/* Contenido del slide */
.hs-content{
  position:relative;z-index:3;
  max-width:1240px;width:100%;
  margin:0 auto;padding:0 80px;
  padding-top:20px;
}
.hs-content--right{
  text-align:right;
  display:flex;flex-direction:column;align-items:flex-end;
}

/* Eyebrow */
.hs-eyebrow{
  font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);
  opacity:0;transform:translateY(16px);
  transition:opacity .7s .2s ease, transform .7s .2s ease;
  margin-bottom:18px;
}
.hs-slide.active .hs-eyebrow{opacity:1;transform:translateY(0)}

/* Título H1 */
.hs-title{
  font-family:var(--ff-display);
  font-size:clamp(3rem, 7.5vw, 6.5rem);
  font-weight:400;color:var(--white);
  line-height:1.05;margin-bottom:20px;
  opacity:0;transform:translateY(24px);
  transition:opacity .75s .35s ease, transform .75s .35s cubic-bezier(.25,.46,.45,.94);
}
.hs-title em{font-style:italic;color:var(--gold)}
.hs-slide.active .hs-title{opacity:1;transform:translateY(0)}

/* Descripción */
.hs-desc{
  font-size:var(--t-base);color:var(--text-dim);line-height:1.72;
  max-width:480px;margin-bottom:32px;
  opacity:0;transform:translateY(20px);
  transition:opacity .7s .5s ease, transform .7s .5s ease;
}
.hs-slide.active .hs-desc{opacity:1;transform:translateY(0)}

/* Botones */
.hs-btns{
  display:flex;gap:14px;flex-wrap:wrap;align-items:center;
  opacity:0;transform:translateY(16px);
  transition:opacity .65s .65s ease, transform .65s .65s ease;
}
.hs-slide.active .hs-btns{opacity:1;transform:translateY(0)}

/* Hero badges (slide 1) */
.hs-slide.active .hero-badges{
  opacity:0;animation:hsFadeUp .6s .8s ease both;
}
@keyframes hsFadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* ── FLECHAS ── */
.hs-arrow{
  position:absolute;top:50%;z-index:10;
  transform:translateY(-50%);
  width:52px;height:52px;border-radius:50%;
  background:rgba(8,8,8,.55);backdrop-filter:blur(12px);
  border:1px solid rgba(200,169,110,.2);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-dim);cursor:pointer;
  transition:background var(--fast),border-color var(--fast),color var(--fast),transform var(--fast);
}
.hs-arrow:hover{
  background:var(--gold);color:var(--bg);
  border-color:var(--gold);
}
.hs-arrow--prev{left:32px}
.hs-arrow--prev:hover{transform:translateY(-50%) translateX(-2px)}
.hs-arrow--next{right:32px}
.hs-arrow--next:hover{transform:translateY(-50%) translateX(2px)}

/* ── DOTS ── */
.hs-dots{
  position:absolute;bottom:48px;left:50%;z-index:10;
  transform:translateX(-50%);
  display:flex;gap:10px;align-items:center;
}
.hs-dot{
  width:8px;height:8px;border-radius:50%;
  background:rgba(240,234,224,.3);border:none;cursor:pointer;
  transition:background var(--fast),transform var(--fast),width .3s var(--ease);
  padding:0;
}
.hs-dot.active{
  background:var(--gold);width:28px;border-radius:4px;
}
.hs-dot:hover:not(.active){background:rgba(240,234,224,.6)}

/* ── COUNTER ── */
.hs-counter{
  position:absolute;bottom:44px;right:40px;z-index:10;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  font-family:var(--ff-mono);
}
#hsCurrentNum{
  font-size:1.6rem;font-weight:400;color:var(--white);line-height:1;
  transition:opacity .3s;
}
.hs-counter-sep{
  width:1px;height:24px;background:var(--gold-20);
}
.hs-counter-total{
  font-size:.72rem;color:var(--text-faint);letter-spacing:.08em;
}

/* ── SCROLL HINT ── */
.hs-scroll-hint{
  position:absolute;bottom:40px;left:40px;z-index:10;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-family:var(--ff-mono);font-size:.62rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--text-faint);
}
.hs-scroll-line{
  width:1px;height:40px;background:linear-gradient(to bottom,var(--gold),transparent);
  animation:scrollPulse 2s ease-in-out infinite;
}
@keyframes scrollPulse{
  0%,100%{opacity:.4;transform:scaleY(.8)}
  50%{opacity:1;transform:scaleY(1)}
}

/* ── BARRA DE PROGRESO AUTOMÁTICA ── */
.hs-progress-line{
  position:absolute;bottom:0;left:0;z-index:11;
  height:2px;background:var(--gold);
  width:0%;
  transition:none;
  box-shadow:0 0 8px rgba(200,169,110,.6);
}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .hs-content{padding:0 60px}
  .hs-arrow--prev{left:16px}
  .hs-arrow--next{right:16px}
  .hs-arrow{width:44px;height:44px}
  .hs-counter{display:none}
  .hs-scroll-hint{display:none}
}
@media(max-width:600px){
  .hero-slider{height:100svh}
  .hs-content,.hs-content--right{padding:0 24px;align-items:flex-start;text-align:left}
  .hs-title{font-size:clamp(2.2rem,10vw,3.2rem)}
  .hs-dots{bottom:28px}
  .hs-arrow{display:none}
}

/* ════════════════════════════════════════
   HERO SLIDER 2 — 2 slides, texto izquierda
════════════════════════════════════════ */
.hero-slider-2{
  position:relative;overflow:hidden;
  min-height:100vh;display:flex;flex-direction:column;
  padding-top:76px;background:var(--bg);
}
.hs2-track{position:absolute;inset:0;top:76px}
.hs2-slide{
  position:absolute;inset:0;
  display:flex;flex-direction:column;
  opacity:0;pointer-events:none;
  transition:opacity .85s cubic-bezier(.4,0,.2,1);
}
.hs2-slide.active{opacity:1;pointer-events:all;z-index:2}
.hs2-bg{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center 40%;
}
.hs2-overlay{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(105deg, rgba(7,7,7,.88) 0%, rgba(7,7,7,.55) 52%, rgba(7,7,7,.25) 100%),
    linear-gradient(180deg, rgba(7,7,7,.25) 0%, transparent 35%, rgba(7,7,7,.7) 100%);
}
.hs2-overlay--warm{
  background:
    linear-gradient(105deg, rgba(7,7,7,.9) 0%, rgba(10,6,2,.6) 52%, rgba(7,7,7,.2) 100%),
    linear-gradient(180deg, rgba(7,7,7,.2) 0%, transparent 35%, rgba(7,7,7,.75) 100%);
}
.hs2-content{
  position:relative;z-index:3;flex:1;
  display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center;
  max-width:1240px;margin:0 auto;width:100%;
  padding:60px 56px 40px;
}
.hs2-left{
  display:flex;flex-direction:column;
  opacity:0;transform:translateX(-24px);
  transition:opacity .7s .15s ease, transform .7s .15s ease;
}
.hs2-slide.active .hs2-left{opacity:1;transform:translateX(0)}
.hs2-right{
  opacity:0;transform:translateX(24px);
  transition:opacity .7s .3s ease, transform .7s .3s ease;
}
.hs2-slide.active .hs2-right{opacity:1;transform:translateX(0)}

/* El slider usa .hero-content como grid igual que hs2-content */
.hs2-slide .hero-content{
  position:relative;z-index:3;flex:1;
  opacity:0;transform:translateX(-16px);
  transition:opacity .7s .15s ease, transform .7s .15s ease;
  padding-top:20px;padding-bottom:20px;
}
.hs2-slide.active .hero-content{opacity:1;transform:translateX(0)}
.hs2-slide .hero-right{
  opacity:0;transform:translateX(24px);
  transition:opacity .7s .3s ease, transform .7s .3s ease;
}
.hs2-slide.active .hero-right{opacity:1;transform:translateX(0)}

/* Dots del slider */
.hs2-dots{
  position:absolute;left:56px;bottom:90px;z-index:10;
  display:flex;gap:10px;align-items:center;
}
.hs2-dot{
  width:8px;height:8px;border-radius:50%;
  background:rgba(240,234,224,.3);border:none;cursor:pointer;
  transition:background .3s,width .3s,border-radius .3s;padding:0;
}
.hs2-dot.active{background:var(--gold);width:28px;border-radius:4px}
.hs2-dot:hover:not(.active){background:rgba(240,234,224,.6)}

/* Barra de progreso automática */
.hs2-progress{
  position:absolute;bottom:76px;left:0;z-index:11;
  height:2px;background:var(--gold);width:0%;
  box-shadow:0 0 8px rgba(200,169,110,.5);
}

/* Ajustar el hero-scroll para que esté encima del slider */
.hero-slider-2 .hero-scroll{
  position:absolute;bottom:24px;left:56px;z-index:12;padding:0;
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;
}

/* Línea vertical antes del "Descubre el servicio" */
.hero-slider-2 .hero-scroll::before{
  content:'';display:block;
  width:1px;height:36px;
  background:linear-gradient(to bottom, transparent, var(--gold));
  margin-bottom:4px;animation:scrollPulseV 1.8s ease-in-out infinite;
}
@keyframes scrollPulseV{
  0%,100%{opacity:.3;transform:scaleY(.8);transform-origin:top}
  50%{opacity:.8;transform:scaleY(1)}
}
.hero-slider-2 .hero-scroll-arrow{display:none}

@media(max-width:1024px){
  .hs2-content{padding:40px 32px 36px;gap:32px}
  .hs2-dots{left:32px}
  .hero-slider-2 .hero-scroll{left:32px}
}
@media(max-width:768px){
  .hs2-content{grid-template-columns:1fr;padding:32px 20px 120px}
  .hs2-right{display:none}
  .hero-slider-2{min-height:100svh}
  .hs2-dots{left:20px;bottom:72px}
  .hero-slider-2 .hero-scroll{left:20px;bottom:20px}
}
