/* Archivo principal de estilos para Tours Medallo extraído de index.html */
:root{
  --negro:#0B1B1A;
  --gris:#6b7280;
  --borde:#eaeaea;
  --container:1180px;
  --neon1:#A8C81E;
  --neon2:#c8ff76;
  --glow:0 0 10px rgba(168,200,30,.45), 0 0 28px rgba(200,255,118,.35);
  --card-w-min:360px;
  --card-w-max:460px;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:#fff;color:var(--negro);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial}
html{scroll-behavior:smooth}
a{color:inherit;text-decoration:none}
.container{max-width:var(--container);margin:0 auto;padding:0 16px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* NAV */
.nav{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--borde)}
.nav-inner{height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{width:34px}
.brand span{font-weight:700;letter-spacing:.2px;white-space:nowrap}
.links{display:flex;align-items:center;gap:18px}
.links a,.links button.link{font-weight:300;color:#111827cc;background:none;border:0;padding:6px 0;cursor:pointer}
.links a:hover,.links button.link:hover{color:#111}
.btn{
  --borderW:1.25px;
  --padY:.72em;
  --padX:1.05em;
  display:inline-block;
  padding:var(--padY) var(--padX);
  border-radius:12px;
  font-weight:800;
  border:var(--borderW) solid transparent;
  background:linear-gradient(#fff,#fff) padding-box, linear-gradient(90deg,var(--neon1),var(--neon2)) border-box;
  color:#0b1b1a;
  transition:transform .16s, box-shadow .16s, background .16s, opacity .16s;
}
.btn:hover{transform:translateY(-1px); box-shadow:var(--glow)}
.btn.ghost{background:linear-gradient(transparent,transparent) padding-box, linear-gradient(90deg,var(--neon1),var(--neon2)) border-box}
.btn.ghost:hover{background:linear-gradient(#fcfffb,#fcfffb) padding-box, linear-gradient(90deg,var(--neon1),var(--neon2)) border-box}
.btn--wide{--padX:1.6em}
@media (min-width:720px){.btn--wide{--padX:2.1em}}
.lang{display:inline-flex;align-items:center;gap:8px;padding:.45em .7em;border-radius:20px;border:1px solid var(--borde);background:#fff;font-weight:700}
.burger{display:none;width:40px;height:40px;border:1px solid var(--borde);border-radius:10px;background:#fff;align-items:center;justify-content:center}
.burger span,.burger::before,.burger::after{content:"";display:block;width:18px;height:2px;background:#111;transition:.2s}
.burger::before{transform:translateY(-6px)}
.burger::after{transform:translateY(6px)}
.panel{display:none;border-bottom:1px solid var(--borde);background:#fff}
.panel.open{display:block}
.panel-inner{padding:12px 16px;display:grid;gap:10px}
.panel a{padding:8px 0;font-weight:700;color:#111827cc}
@media (max-width:920px){.links{display:none}.burger{display:flex}.brand span{display:none}}

/* HERO */
.hero{position:relative;min-height:calc(100svh - 64px);display:grid;place-items:center;padding:clamp(16px,5vw,56px);text-align:center;background-image:url('../img/bg1.png');background-size:cover;background-position:center;background-repeat:no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:rgba(11,27,26,0.4);z-index:1}
.hero > *{position:relative;z-index:2}
.headline{margin:0;font-weight:900;line-height:.98;letter-spacing:-.01em;font-size:clamp(38px,9vw,130px);color:#ffffff}
.line{display:block;white-space:nowrap}
.underline{position:relative;display:inline-block}
.underline::after{content:"";position:absolute;left:4%;right:4%;bottom:-0.14em;height:.18em;background:linear-gradient(90deg,var(--neon1),var(--neon2)); background-size:200% 100%;border-radius:4px;transform-origin:left center;transform:scaleX(0);animation:underline .9s .25s cubic-bezier(.2,.8,.2,1) both, shimmer 3.5s 1.2s linear infinite}
@keyframes underline{to{transform:scaleX(1)}}
@keyframes shimmer{to{background-position-x:-200%}}
.w{display:inline-block;opacity:0;filter:blur(10px);transform:translateY(-8px) scale(1.03);animation:focusIn .72s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0)*80ms)}
@keyframes focusIn{0%{opacity:0;filter:blur(10px);transform:translateY(-8px) scale(1.03)}60%{opacity:1;filter:blur(2px);transform:translateY(1px) scale(.995)}100%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}
.mor{display:inline-flex;gap:.02em;margin-left:.06em}
/* Carro en héroe */
.hero-car-container{ position:absolute; bottom:5px; left:0; width:100%; height:200px; pointer-events:none; overflow:visible; z-index:10; }
.hero-car{ position:absolute; bottom:0; left:100%; width:280px; height:auto; filter:drop-shadow(0 8px 16px rgba(0,0,0,0.25)); transition:transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); z-index:10; }
.hero-car img{ width:100%; height:auto; transform:scaleX(1); /* Imagen normal - carro mirando hacia la derecha */ }
/* Efecto de humo */
.car-smoke{ position:absolute; bottom:60px; right:-50px; width:100px; height:50px; opacity:0.6; }
@keyframes smokeFloat{
  0%{ transform:translateY(0) scale(0.5); opacity:0.8; }
  50%{ transform:translateY(-15px) scale(1); opacity:0.6; }
  100%{ transform:translateY(-25px) scale(1.5); opacity:0; }
}
.mor i{display:inline-block;font-style:normal;transform-origin:bottom center;animation:float 2s cubic-bezier(.25,.9,.25,1) infinite}
.mor i:nth-child(2){animation-delay:.12s}
.mor i:nth-child(3){animation-delay:.24s}
@keyframes float{0%,100%{transform:translateY(0) scale(1)}30%{transform:translateY(-9%) scale(1.06)}60%{transform:translateY(4%) scale(.985)}}
.actions{margin-top:clamp(18px,3.5vw,42px);display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(18px,3.8vw,48px)}
.tagline{margin-top:14px;font-size:clamp(12px,2vw,14px);color:#ffffff;opacity:.85;letter-spacing:.02em}

/* ...continúa el resto del CSS... */
