:root{--papel:#fafafa;--hundido:#f0f1f3;--tinta:#0a0b0d;
--suave:#626873;--linea:#dfe1e5;--acento:#0047ff;--oscuro:#0a0b0d;
--radio:4px;--ancho:1240px;--lado:2.5rem;--aire:7rem;
--curva:cubic-bezier(.32,.72,0,1)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--papel);color:var(--tinta);
font:400 17px/1.6 Geist,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%} a{color:inherit}
:focus-visible{outline:2px solid var(--acento);outline-offset:3px}
h1,h2{margin:0;font-family:'Archivo',system-ui,sans-serif;font-weight:600;
font-stretch:112%;letter-spacing:-.035em;line-height:1.07}
h1{font-size:clamp(2.1rem,4.8vw,3.7rem)}
h2{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.12}
.cejilla{margin:0 0 1rem;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--suave)}
.bajada{margin:1.4rem 0 0;max-width:44ch;color:var(--suave)}
.acciones{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.2rem}
.boton{display:inline-block;padding:.85rem 1.5rem;border-radius:var(--radio);
font-size:14px;font-weight:500;text-decoration:none;
transition:transform .1s ease-out,background-color .2s var(--curva)}
.boton:active{transform:scale(.97)}
.b1{background:var(--acento);color:#fff;border:1px solid var(--acento)}
.b2{background:transparent;color:currentColor;border:1px solid currentColor;opacity:.7}
.b2:hover{opacity:1}
.aviso{margin:0;padding:.7rem 1rem;background:var(--tinta);color:var(--papel);
font-size:12px;text-align:center} .aviso a{color:var(--papel);text-decoration:underline}
.barra{position:sticky;top:0;z-index:20;background:var(--papel);
border-bottom:1px solid var(--linea)}
.barra__i{max-width:var(--ancho);margin:0 auto;padding:.75rem var(--lado);
display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.marca{font-family:'Archivo';font-weight:600;font-size:1.1rem;letter-spacing:-.02em}
.tel-barra{font-size:14px;font-weight:500}

.hero--tipo{max-width:var(--ancho);margin:0 auto;padding:var(--aire) var(--lado);
  min-height:80svh;display:flex;flex-direction:column;justify-content:center}
.hero--tipo h1{font-size:clamp(2.4rem,7.4vw,6rem)}
.hero--tipo .bajada{max-width:38ch}
.regla{margin-top:var(--aire);height:2px;background:var(--linea)}
.regla i{display:block;height:100%;background:var(--acento);transform-origin:left;
  animation:trazar 1.1s var(--curva) .3s both}
@keyframes trazar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.datos{border-bottom:1px solid var(--linea);background:var(--hundido)}
.datos__i{max-width:var(--ancho);margin:0 auto;padding:1.2rem var(--lado);
display:flex;flex-wrap:wrap;gap:2.5rem;font-size:14px;color:var(--suave)}
.datos__i p{margin:0} .datos__i strong{color:var(--tinta)}
.sec{max-width:var(--ancho);margin:0 auto;padding:var(--aire) var(--lado)}
.hundida{background:var(--hundido)}
.p{margin:1rem 0 2.4rem;max-width:56ch;color:var(--suave)}
.lista{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea)}
.fila{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;
padding:1.3rem 0;border-bottom:1px solid var(--linea)}
.fila b{font-weight:500} .fila span{display:block;margin-top:4px;font-size:14px;color:var(--suave)}
.precio{margin:0;font-family:ui-monospace,monospace;font-size:1.05rem;white-space:nowrap}
.ej{display:inline-block;margin-left:6px;padding:1px 6px;border:1px solid var(--linea);
border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave)}
.foto-sec{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radio);margin-top:1.5rem}
.fotos-par{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.6rem}
.fotos-par .foto-sec{margin-top:0}
@media(max-width:700px){.fotos-par{grid-template-columns:1fr}}
.horario-tabla{width:100%;border-collapse:collapse;margin-top:1.4rem;font-size:14px}
.horario-tabla th,.horario-tabla td{padding:.75rem .6rem;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top}
.horario-tabla th{font-weight:500;color:var(--suave);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.horario-tabla td:first-child{font-weight:500;white-space:nowrap}
.clase-chip{display:inline-block;margin:0 .4rem .4rem 0;padding:.3rem .65rem;border:1px solid var(--linea);
border-radius:999px;font-size:12px;white-space:nowrap}
.clase-chip b{font-family:ui-monospace,monospace;font-weight:500;margin-right:.35rem}
.planes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin-top:1.6rem}
.plan{border:1px solid var(--linea);border-radius:var(--radio);padding:1.5rem;display:flex;flex-direction:column;background:var(--papel)}
.plan--full{border-color:var(--acento);box-shadow:inset 0 0 0 1px var(--acento)}
.plan h4{margin:0 0 .4rem;font-size:1.1rem;font-weight:600}
.precio-plan{margin:0 0 1.2rem;font-family:ui-monospace,monospace;font-size:1.3rem}
.precio-plan span{display:block;font-family:Geist;font-size:12px;color:var(--suave);font-weight:400;margin-top:.2rem}
.plan ul{list-style:none;margin:0;padding:0}
.plan li{display:flex;gap:.5rem;padding:.55rem 0;border-top:1px solid var(--linea);font-size:13.5px;line-height:1.4}
.plan li:first-child{border-top:none}
.plan li.no{color:var(--suave)}
.cancelacion{margin-top:1.6rem;padding:1.2rem 1.4rem;border:1px solid var(--linea);border-radius:var(--radio);
background:var(--hundido);font-size:14px;line-height:1.6}
.cancelacion strong{display:block;margin-bottom:.3rem;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--suave)}
.p--suelto{margin-top:1.4rem}
.chip{display:inline-block;margin:0 .5rem .5rem 0;padding:.45rem .85rem;border:1px solid var(--linea);
border-radius:999px;font-size:13px}
.amenidades{margin-top:1.6rem}
.bio{line-height:1.9;margin-top:1.4rem}
.cierre{background:var(--oscuro);color:#fff}
.cierre .p{color:#c3c9d2} .cierre .b2{color:#fff}
.pie{max-width:var(--ancho);margin:0 auto;padding:2.2rem var(--lado);font-size:12px;color:var(--suave)}
.flota{position:fixed;right:18px;bottom:18px;z-index:30;padding:.8rem 1.15rem;
border-radius:999px;background:#12a150;color:#fff;font-size:14px;font-weight:500;
text-decoration:none;box-shadow:0 10px 26px rgba(8,9,12,.22)}
@media(max-width:880px){:root{--lado:1.4rem;--aire:3.5rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01ms!important}}
