@font-face{
  font-family:'Archivo';
  src:url('fonts/archivo-var-latin.woff2') format('woff2-variations'),
      url('fonts/archivo-var-latin.woff2') format('woff2');
  font-weight:400 700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Archivo Black';
  src:url('fonts/archivo-black-latin.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap;
}

:root{
  --ink:        #0B0B0A;
  --ink-soft:   #1B1A17;
  --bone:       #F3EFE7;
  --white:      #FFFFFF;
  --border:     #DCD5C7;
  --border-dk:  rgba(243,239,231,.18);
  --text:       #0E0E0C;
  --text-muted: #4A463E;
  --text-dim:   #726C60;
  --clay:       #E8501E;
  --clay-ink:   #AE3410;
  --hivis:      #F5C433;
  --wa:         #25D366;
  --wa-ink:     #062811;

  --w:    1220px;
  --gut:  clamp(16px, 3vw, 32px);
  --sec:  clamp(56px, 7vw, 104px);

  --f:    'Archivo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --f-d:  'Archivo Black', 'Archivo', Impact, -apple-system, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }

body{
  margin:0; background:var(--bone); color:var(--text);
  font-family:var(--f); font-size:17px; line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

img,video{max-width:100%; height:auto; display:block}

h1,h2,h3,h4{
  margin:0; font-family:var(--f-d); font-weight:400;
  text-transform:uppercase; letter-spacing:-.02em; line-height:.95;
  text-wrap:balance;
}
p{margin:0; text-wrap:pretty}

figure,figcaption,blockquote{margin:0}
ul,ol{margin:0; padding:0; list-style:none}
a{color:inherit}

.wrap{max-width:var(--w); margin:0 auto; padding-inline:var(--gut)}
.wrap--narrow{max-width:900px; margin:0 auto; padding-inline:var(--gut)}

.sec{padding:var(--sec) 0; background:var(--bone)}
.sec--alt{background:var(--bone)}
.sec__h{font-size:clamp(32px,4.4vw,54px)}
.sec__sub{margin-top:14px; max-width:60ch; color:var(--text-muted); font-size:clamp(16px,1.5vw,19px)}

.eyebrow{
  font-family:var(--f); font-size:12px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--clay-ink);
  margin:0 0 12px;
}

.skip{position:absolute; left:-9999px}
.skip:focus{left:16px; top:16px; z-index:100; background:var(--ink); color:#fff; padding:12px 18px}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:16px 26px; border:0; cursor:pointer;
  font-family:var(--f); font-size:16px; font-weight:700; line-height:1.15;
  text-decoration:none; min-height:48px; text-align:center;
  transition:background-color .18s ease, color .18s ease;
}
.btn--lg{padding:18px 30px; font-size:17px}
.btn--wa{background:var(--wa); color:var(--wa-ink)}
.btn--wa:hover{background:#1FBF5B}
.btn--dark{background:var(--ink); color:var(--bone)}
.btn--dark:hover{background:var(--clay-ink); color:#fff}
.btn--clay{background:var(--clay); color:var(--ink)}
.btn--clay:hover{background:#FF6A2C}
.btn--ghost{background:transparent; color:var(--bone); border:1px solid var(--border-dk)}
.btn--ghost:hover{background:rgba(243,239,231,.08)}

.lnk{
  display:inline-flex; align-items:center; gap:7px; min-height:48px;
  font-weight:600; font-size:16px; color:var(--clay-ink); text-decoration:none;
}
.lnk:hover{text-decoration:underline}

.bar{
  position:sticky; top:0; z-index:50;
  background:rgba(11,11,10,.94); backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(243,239,231,.10);
}
.bar__in{display:flex; align-items:center; gap:18px; min-height:68px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--bone); margin-right:auto; min-width:0}
.brand__logo{
  width:40px; height:40px; object-fit:cover; flex:none;
  clip-path:polygon(12% 0, 100% 0, 88% 100%, 0 100%);
}
.brand__txt{font-family:var(--f-d); text-transform:uppercase; font-size:17px; line-height:1; white-space:nowrap}
.brand__txt b{color:var(--clay); font-weight:400}
.bar__nav{display:flex; gap:22px}
.bar__nav a{
  font-size:13px; font-weight:600; color:rgba(243,239,231,.78);
  text-decoration:none; text-transform:uppercase; letter-spacing:.08em;
}
.bar__nav a:hover{color:var(--clay)}
.bar__tel{color:var(--bone); font-weight:700; font-size:15px; text-decoration:none; white-space:nowrap}
.bar__cta{padding:12px 20px; min-height:44px; font-size:14px}
@media (max-width:980px){
  .bar__nav, .bar__tel{display:none}
  .bar__in{min-height:60px}
}

.hero{
  position:relative; isolation:isolate;
  background:var(--ink) url('img/hero-fondo-sm.jpg') center/cover no-repeat;
  color:var(--bone);
  padding:clamp(56px,8vw,112px) 0 clamp(40px,5vw,64px);
}
@media (min-width:760px){ .hero{background-image:url('img/hero-fondo.jpg')} }
.hero::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(100deg,
    rgba(11,11,10,.94) 0%, rgba(11,11,10,.86) 42%,
    rgba(11,11,10,.35) 72%, rgba(11,11,10,.55) 100%);
}
.hero__in{max-width:var(--w); margin:0 auto; padding-inline:var(--gut); min-width:0}
.hero .eyebrow{color:var(--clay)}
.hero__h1{max-width:760px}
.hero__claim{display:block; font-size:clamp(44px,7.4vw,92px)}
.hero__claim em{font-style:normal; color:var(--clay)}
.lede{margin-top:22px; max-width:56ch; font-size:clamp(16px,1.6vw,19px); color:rgba(243,239,231,.86)}
.hero__cta{display:flex; flex-wrap:wrap; gap:14px; margin-top:32px}

.hero .lnk, .close .lnk{color:var(--hivis)}
.hero__note{margin-top:18px; font-size:14px; color:rgba(243,239,231,.62)}
.hero__note b{color:var(--bone); font-weight:700}
.hero__media{max-width:var(--w); margin:clamp(28px,4vw,44px) auto 0; padding-inline:var(--gut); min-width:0}

.hero__gancho{display:flex; flex-wrap:wrap; gap:12px; margin-top:28px}
.gancho__precio{
  display:flex; align-items:baseline; gap:9px;
  padding:13px 18px; background:var(--hivis); color:var(--ink); text-decoration:none;
}
.gancho__precio:hover{background:#FFD65A}
.gancho__desde{font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase}
.gancho__precio b{font-family:var(--f-d); font-size:21px; letter-spacing:-.02em}
.gancho__unidad{font-size:12px; font-weight:600}
.gancho__chip{
  display:flex; align-items:center; gap:10px; padding:11px 16px;
  background:rgba(243,239,231,.10); border:1px solid var(--border-dk);
  color:var(--bone); text-decoration:none;
}
.gancho__chip:hover{background:rgba(243,239,231,.18)}
.gancho__flag{
  font-style:normal; font-size:11px; font-weight:700; letter-spacing:.1em;
  background:var(--clay); color:var(--ink); padding:4px 8px;
}
.gancho__txt{display:flex; flex-direction:column; line-height:1.25}
.gancho__l1{font-size:14px; font-weight:700}
.gancho__l2{font-size:12px; color:rgba(243,239,231,.7)}

.slider, .slider--video{position:relative; overflow:hidden; background:var(--ink)}
.slider--video{display:grid; place-items:center}
.hero__video{width:100%; height:auto}
.hero__img{width:100%; height:100%; object-fit:cover}

.slider{aspect-ratio:16/9}
.slider .slide{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .9s ease;
}
.slider .slide.is-on{opacity:1}
@media (prefers-reduced-motion:reduce){ .slider .slide{transition:none} }

.slider__dots{position:absolute; left:0; right:0; bottom:14px; z-index:2; display:flex; gap:10px; justify-content:center}

.dot{
  width:44px; height:44px; background:transparent; border:0; padding:0; cursor:pointer;
  display:grid; place-items:center;
}
.dot::after{
  content:''; width:9px; height:9px; background:rgba(255,255,255,.45);
  transition:background-color .2s ease, transform .2s ease;
}
.dot:hover::after{background:rgba(255,255,255,.85)}
.dot.is-on::after{background:var(--clay); transform:scale(1.3)}

@media (min-width:980px){
  .hero{padding:clamp(88px,10vw,160px) max(var(--gut), calc((100% - var(--w)) / 2))}
}

.ruta-video{margin-top:34px; background:var(--ink); overflow:hidden}
.ruta__video{width:100%; height:auto; aspect-ratio:1152/650; object-fit:cover; display:block}
.reels{margin-top:16px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-width:640px; margin-left:auto; margin-right:auto}
.reel__video{width:100%; height:auto; aspect-ratio:476/846; object-fit:cover; display:block; background:var(--ink)}

.seals{background:var(--ink); border-top:1px solid rgba(243,239,231,.10); padding:24px 0}
.seals__list{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px 28px;
  max-width:var(--w); margin:0 auto; padding-inline:var(--gut);
}
.seals__list li{
  display:flex; gap:10px; align-items:flex-start;
  font-size:14px; font-weight:600; color:rgba(243,239,231,.84);
}
.seals__list li::before{content:"✓"; color:var(--clay); font-weight:700; flex:none}

.ticker{background:var(--clay); color:var(--ink); overflow:hidden; padding:13px 0}
.ticker__in{display:flex; width:max-content; animation:corre 26s linear infinite}
.ticker span{
  font-family:var(--f-d); text-transform:uppercase; font-size:15px;
  padding-inline:26px; white-space:nowrap;
}
@keyframes corre{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
@media (prefers-reduced-motion:reduce){ .ticker__in{animation:none} }

.picks{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:22px; margin-top:40px}
.pick{display:flex; flex-direction:column; background:var(--white); border:1px solid var(--border); min-width:0}
.pick__img{width:100%; aspect-ratio:4/3; object-fit:cover}
.pick__tag{
  align-self:flex-start; margin:16px 0 0 16px; background:var(--clay); color:var(--ink);
  font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:5px 10px;
}
.pick h3{font-size:clamp(22px,2.4vw,30px); margin:16px 24px 10px}
.pick__for{margin:0 24px; color:var(--text-muted); font-size:16px}
.pick__list{margin:18px 24px 0; display:grid; gap:9px}
.pick__list li{display:flex; gap:10px; font-size:15px; color:var(--text-muted)}
.pick__list li::before{content:"—"; color:var(--clay-ink); flex:none}
.pick__foot{
  margin:auto 24px 24px; padding-top:22px;
  display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between;
}
.pick__from{font-size:12px; color:var(--text-dim); font-weight:700; letter-spacing:.08em; text-transform:uppercase}
.pick__from b{display:block; font-family:var(--f-d); font-size:26px; color:var(--text); letter-spacing:-.02em; text-transform:none}

.band{background:var(--ink); color:var(--bone); padding:var(--sec) 0}
.band__in{display:grid; gap:clamp(28px,4vw,52px); align-items:center}
@media (min-width:900px){ .band__in{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)} }
.band .eyebrow{color:var(--hivis)}
.band h2{font-size:clamp(32px,4.4vw,54px)}
.band__p{margin-top:18px; font-size:18px; color:rgba(243,239,231,.74); max-width:46ch}
.band__list{margin-top:26px; display:grid}
.band__list li{
  display:flex; gap:12px; padding:13px 0; font-size:16px; color:rgba(243,239,231,.86);
  border-top:1px solid var(--border-dk);
}
.band__list li:last-child{border-bottom:1px solid var(--border-dk)}
.band__list li::before{content:"—"; color:var(--clay); flex:none}
.band__cta{margin-top:30px; display:flex; flex-wrap:wrap; gap:14px; align-items:center}
.band__cta .btn{white-space:normal}
.band__cta .lnk{color:var(--bone)}
.band__txt{min-width:0}
.band__media img{width:100%; aspect-ratio:16/9; object-fit:cover}

.equipo{text-align:center}
.equipo__img{width:100%; margin-top:32px; object-fit:cover}
.equipo__p{margin-top:22px; color:var(--text-muted); font-size:17px}

#tarifas{background:var(--ink-soft); color:var(--bone)}
#tarifas .sec__h{color:var(--bone)}
#tarifas .sec__sub{color:rgba(243,239,231,.7)}
.tabs-row{margin-top:34px}
.tabs{display:inline-flex; border:1px solid var(--border-dk)}
.tab{
  appearance:none; background:transparent; border:0; cursor:pointer;
  padding:14px 26px; min-height:48px;
  font-family:var(--f); font-size:13px; font-weight:700;
  text-transform:uppercase; letter-spacing:.08em; color:rgba(243,239,231,.7);
}
.tab.is-on{background:var(--clay); color:var(--ink)}
.panel{margin-top:26px}
.panel.is-hidden{display:none}
.panel__lede{color:rgba(243,239,231,.74); max-width:60ch; margin-bottom:22px}

.rutas{display:grid}
.ruta{border-top:1px solid var(--border-dk); min-width:0}
.ruta:last-child{border-bottom:1px solid var(--border-dk)}
.ruta summary{
  display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) 28px;
  gap:16px; align-items:center; cursor:pointer; padding:20px 0; list-style:none;
}
.ruta summary::-webkit-details-marker{display:none}

.ruta summary::after{
  content:"+"; font-family:var(--f-d); font-size:24px; line-height:1;
  color:var(--clay); justify-self:end; transition:rotate .25s ease;
}
.ruta[open] summary::after{rotate:45deg}
@media (prefers-reduced-motion:reduce){ .ruta summary::after{transition:none} }
.ruta__t{
  display:flex; flex-wrap:wrap; gap:12px; align-items:center; min-width:0;
  font-family:var(--f-d); text-transform:uppercase; font-size:clamp(17px,2vw,24px); letter-spacing:-.02em;
}
.ruta__flag{
  font-style:normal; font-family:var(--f); font-size:11px; font-weight:700;
  letter-spacing:.1em; background:var(--clay); color:var(--ink); padding:4px 9px;
}
.ruta__p{
  font-family:var(--f-d); font-size:clamp(18px,2.1vw,26px);
  color:var(--hivis); text-align:right; letter-spacing:-.02em;
}
.ruta__body{padding:0 0 24px}
.ruta__lbl{font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--text-dim)}
.ruta__hits{margin-top:12px; display:grid; gap:8px}
.ruta__hits li{display:flex; gap:10px; font-size:15px; color:rgba(243,239,231,.8)}
.ruta__hits li::before{content:"—"; color:var(--clay); flex:none}
.ruta__lunch{margin-top:14px; font-size:15px; color:var(--hivis)}
.ruta__cta{margin-top:20px; white-space:normal}
.fine{margin-top:26px; display:grid; gap:9px}
.fine li{font-size:14px; color:rgba(243,239,231,.6)}
.fine b{color:rgba(243,239,231,.85)}
.rzr__aclara{
  margin:22px 0; padding:18px 20px;
  background:rgba(245,196,51,.08); border-left:3px solid var(--hivis);
  font-size:15px; color:rgba(243,239,231,.84);
}

.paq{background:var(--clay); color:var(--ink); padding:clamp(24px,3.4vw,34px); margin-bottom:24px; min-width:0}
.paq__gancho{font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin:0 0 8px}
.paq__h{font-size:clamp(24px,3vw,34px); margin-bottom:8px}
.paq__sub{margin-bottom:20px; font-size:16px; color:var(--ink)}
.paq__lista{display:grid; gap:9px; margin-bottom:24px}
.paq__lista li{display:flex; gap:10px; font-size:15px; font-weight:500}
.paq__lista li::before{content:"—"; flex:none}
.paq__pie{display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between}
.paq__precio{display:flex; flex-direction:column}
.paq__precio b{font-family:var(--f-d); font-size:clamp(28px,3.6vw,38px); letter-spacing:-.02em; line-height:1}
.paq__precio span{font-size:13px; font-weight:600}
.paq__cta{white-space:normal; background:var(--ink); color:var(--bone)}
.paq__cta:hover{background:#000}

.gal{display:grid; grid-template-columns:minmax(0,1fr); gap:16px; margin-top:38px}
@media (min-width:760px){ .gal{grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px} }

.gal__item{margin:0; overflow:hidden}
.gal__item img{
  width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; display:block;
  background:var(--border);
}

.how{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:22px; margin-top:40px}
.how li{background:var(--white); border:1px solid var(--border); padding:28px; min-width:0}
.how__n{font-family:var(--f-d); font-size:44px; color:var(--clay); line-height:1; display:block; margin-bottom:14px}
.how h3{font-size:20px; margin-bottom:10px}
.how p{color:var(--text-muted); font-size:15px}
.mid-cta{margin-top:36px}

.lejos__grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; margin-top:34px}
.lejos__grid div{border-top:2px solid var(--clay); padding-top:14px; min-width:0}
.lejos__grid b{display:block; font-family:var(--f-d); font-size:28px; letter-spacing:-.02em}
.lejos__grid span{font-size:12px; color:var(--text-dim); font-weight:700; text-transform:uppercase; letter-spacing:.08em}
.lejos__p{margin-top:26px; color:var(--text-muted); max-width:62ch}

.faq{display:grid; margin-top:10px}
.faq details{border-top:1px solid var(--border)}
.faq details:last-child{border-bottom:1px solid var(--border)}
.faq summary{
  display:flex; justify-content:space-between; align-items:center; gap:18px;
  cursor:pointer; padding:22px 0; list-style:none;
  font-family:var(--f-d); text-transform:uppercase; font-size:clamp(16px,1.8vw,21px); letter-spacing:-.02em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; font-family:var(--f-d); font-size:26px; color:var(--clay-ink); flex:none; line-height:1}
.faq details[open] summary::after{content:"−"}
.faq p{padding:0 0 24px; color:var(--text-muted); max-width:70ch}

.faq-grid{display:grid; gap:clamp(24px,4vw,56px); margin-top:20px}
@media (min-width:900px){
  .faq-grid{grid-template-columns:minmax(0,.62fr) minmax(0,1fr); align-items:start}
  .faq-grid__side{position:sticky; top:96px}
}

.sec--cross{background:var(--ink); color:var(--bone)}
.cross{text-align:center}
.cross .eyebrow{color:var(--clay)}
.cross h2{font-size:clamp(28px,3.4vw,42px)}
.cross p{margin:16px auto 26px; max-width:52ch; color:rgba(243,239,231,.74)}

.close{
  position:relative; isolation:isolate; text-align:center;
  background:var(--ink) url('img/hero-mirador.jpg') center/cover no-repeat;
  color:var(--bone); padding:clamp(72px,9vw,128px) 0;
}
.close::before{content:''; position:absolute; inset:0; z-index:-1; background:rgba(11,11,10,.72)}
.close h2{font-size:clamp(32px,5vw,64px); max-width:18ch; margin-inline:auto}
.close p{margin-top:18px; color:rgba(243,239,231,.78)}
.close .btn{margin-top:30px}
.close__tel{margin-top:20px; font-size:15px}
.close__tel a{color:var(--hivis); font-weight:700}
.close__meet{margin-top:14px; font-size:14px; color:rgba(243,239,231,.6)}

.foot{background:var(--ink); color:rgba(243,239,231,.72); padding:36px 0 96px; font-size:14px}
.foot__in{display:flex; flex-wrap:wrap; gap:14px 26px; align-items:center; justify-content:space-between}
.foot b{color:var(--bone); font-family:var(--f-d); text-transform:uppercase; letter-spacing:-.01em; font-weight:400}
.foot__links{display:flex; flex-wrap:wrap; gap:18px}
.foot__links a{color:var(--bone); text-decoration:none; font-weight:600}
.foot__links a:hover{color:var(--clay)}
.foot__fine{flex-basis:100%; color:rgba(243,239,231,.60); font-size:12.5px; line-height:1.5}

.fab{
  position:fixed; z-index:60; right:18px; bottom:96px;
  display:inline-flex; align-items:center; gap:10px;
  background:var(--wa); color:var(--wa-ink); padding:15px 20px;
  font-weight:700; font-size:15px; text-decoration:none;
  box-shadow:0 6px 22px rgba(0,0,0,.28);
}
.fab:hover{background:#1FBF5B}
@media (max-width:420px){ .fab{left:16px; right:16px; justify-content:center; bottom:82px} }

.cookies{
  position:fixed; z-index:80; left:12px; right:12px; bottom:12px;
  max-width:var(--w); margin:0 auto;
  display:flex; align-items:center; gap:18px; flex-wrap:wrap;
  background:var(--white); color:var(--text);
  border:1px solid var(--border); padding:18px 20px;
  box-shadow:0 10px 34px rgba(0,0,0,.20);
}
.cookies__txt{margin:0; flex:1 1 320px; font-size:15px; color:var(--text-muted)}
.cookies__link{color:var(--clay-ink); font-weight:600}
.cookies__acc{display:flex; gap:10px; flex:0 0 auto}
.cookies__btn{padding:13px 22px; font-size:15px; min-height:46px}
.btn--ghost.cookies__btn{color:var(--text); border-color:var(--border)}
.btn--ghost.cookies__btn:hover{background:var(--bone)}

body.con-cookies .fab{bottom:calc(96px + var(--alto-banner, 150px) + 12px)}

.legal{padding:48px 0 80px}
.legal h1{font-size:clamp(30px,4.6vw,48px); margin-bottom:10px}
.legal h2{font-size:20px; margin:34px 0 10px}
.legal p, .legal li{color:var(--text-muted); font-size:17px}
.legal ul{margin-left:20px; list-style:disc}
.legal a{color:var(--clay-ink)}
.legal__fecha{color:var(--text-dim); font-size:15px}
.legal__volver{display:inline-block; margin-top:38px; color:var(--clay-ink); font-weight:600; text-decoration:none}

.dev{
  position:fixed; z-index:70; right:14px; bottom:14px; width:min(370px,calc(100vw - 28px));
  background:#fff; border:2px solid #d93025; padding:16px; font-size:13px;
  max-height:70vh; overflow:auto;
}
.dev h4{margin:0 0 10px; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#d93025}
.dev ol{list-style:decimal; padding-left:20px; display:grid; gap:7px}

:where(a,button,summary,[tabindex]):focus-visible{
  outline:3px solid var(--clay); outline-offset:3px;
}

.paq__cta, .ruta__cta, .band__cta .btn{white-space:normal}
