/* Tripzi · base compartida por todas las páginas. El sistema está en .design/system.json */

@font-face{font-family:"Sofia Sans Extra Condensed";font-style:normal;font-weight:1 1000;font-display:swap;src:url(/assets/fonts/sofia-sans-extra-condensed-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Sofia Sans Extra Condensed";font-style:normal;font-weight:1 1000;font-display:swap;src:url(/assets/fonts/sofia-sans-extra-condensed-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/fonts/figtree-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/fonts/figtree-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --agua:#E8F6F5;
  --agua-honda:#D3EEEC;
  --tinta:#0C3A40;
  --turquesa:#68C6C8;
  --turquesa-hondo:#157C85;
  --sol:#FFC53D;
  --coral:#FF7A5C;
  --blanco:#FBFEFE;

  --e0:4px; --e1:8px; --e15:12px; --e2:16px; --e3:24px; --e4:40px; --e5:64px; --e6:96px; --e7:144px;

  --r-escena:36px;
  --r-tarjeta:20px;
  --r-pastilla:999px;
  --sombra:0 24px 60px -24px rgba(12,58,64,.35);
  --sombra-honda:0 18px 44px -20px rgb(0 0 0 / .5);
  --suave:cubic-bezier(.22,1,.36,1);

  --display:"Sofia Sans Extra Condensed","Arial Narrow",Impact,sans-serif;
  --texto:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;

  --t-display:clamp(2.5rem,13.6vw,5rem);
  --t-titulo:clamp(2.5rem,1.5rem + 4.4vw,5.5rem);
  --t-rotulo:clamp(1.375rem,1.1rem + .9vw,2rem);
  --t-entrada:clamp(1.0625rem,1rem + .35vw,1.3125rem);
  --t-cuerpo:1.0625rem;
  --t-chico:.875rem;

  --foco:var(--tinta);
}
@media (min-width:720px){
  :root{--t-display:clamp(5rem,10.4vw,10.5rem)}
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--agua);color:var(--tinta);font:400 var(--t-cuerpo)/1.55 var(--texto);-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
p{margin:0}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--foco);outline-offset:3px}

.solo-lector{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.salto{position:fixed;left:var(--e2);top:var(--e2);z-index:60;padding:var(--e15) var(--e2);border-radius:var(--r-pastilla);background:var(--sol);color:var(--tinta);font-weight:700;transform:translateY(-200%)}
.salto:focus{transform:none}

/* ---------- Botones y enlaces ---------- */

.boton{
  --b-fondo:var(--sol); --b-texto:var(--tinta); --b-punto:var(--tinta); --b-punto-texto:var(--blanco);
  position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:var(--e2);
  min-height:56px;padding:var(--e1) var(--e1) var(--e1) var(--e3);border-radius:var(--r-pastilla);
  border:0;cursor:pointer;background:var(--b-fondo);color:var(--b-texto);font:700 var(--t-cuerpo)/1.15 var(--texto);text-decoration:none;
  transition:color .35s ease-out,background-color 0s;
}
.boton::before{content:"";position:absolute;z-index:-1;right:var(--e1);top:50%;width:40px;height:40px;margin-top:-20px;border-radius:50%;background:var(--b-punto);transition:transform .65s var(--suave)}
.boton__flecha{position:relative;flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--b-punto);color:var(--b-punto-texto);transition:background-color .35s ease-out,color .35s ease-out,transform .55s var(--suave)}
.boton__flecha svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.boton:hover,.boton:focus-visible{color:var(--b-punto-texto);background-color:var(--b-punto);transition:color .35s ease-out,background-color 0s .5s}
.boton:hover::before,.boton:focus-visible::before{transform:scale(22)}
.boton:hover .boton__flecha,.boton:focus-visible .boton__flecha{background:var(--b-fondo);color:var(--b-texto);transform:rotate(-45deg)}
.boton:active{transform:scale(.98)}
.boton--tinta{--b-fondo:var(--tinta); --b-texto:var(--blanco); --b-punto:var(--blanco); --b-punto-texto:var(--tinta)}
.boton--chico{flex:none;min-height:44px;gap:var(--e15);padding-left:var(--e2);font-size:var(--t-chico);white-space:nowrap}
.boton--chico::before,.boton--chico .boton__flecha{width:28px;height:28px}
.boton--chico::before{margin-top:-14px}
.boton--chico .boton__flecha svg{width:14px;height:14px}

.enlace{display:inline-flex;align-items:center;gap:var(--e1);padding-block:var(--e0);font-weight:600;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 2px no-repeat;transition:background-size .45s var(--suave)}
.enlace:hover{background-size:0 2px;background-position:100% 100%}
.enlace svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s var(--suave)}
.enlace:hover svg{transform:translate(3px,-3px)}

.antetitulo{display:inline-flex;align-items:center;gap:var(--e1);padding:var(--e0) var(--e15) var(--e0) var(--e1);border-radius:var(--r-pastilla);background:rgb(251 254 254 / .18);font:600 var(--t-chico)/1.4 var(--texto)}
.antetitulo__punto{width:10px;height:10px;border-radius:50%;background:var(--turquesa)}
.antetitulo--tinta{background:rgb(12 58 64 / .1)}
.antetitulo--tinta .antetitulo__punto{background:var(--tinta)}

.entrada{font:500 var(--t-entrada)/1.45 var(--texto);max-width:34ch;text-wrap:pretty}
.entrada strong{font-weight:800}
.titulo{margin:0;font:900 var(--t-titulo)/.92 var(--display);text-transform:uppercase;text-wrap:balance}

/* ---------- Barra ---------- */

.barra{position:fixed;inset:0 0 auto 0;z-index:40;padding:var(--e2) var(--e2) 0;pointer-events:none;--foco:var(--sol)}
.barra__dentro{
  pointer-events:auto;position:relative;display:flex;align-items:center;gap:var(--e15);
  max-width:1680px;margin-inline:auto;padding:var(--e1) var(--e1) var(--e1) var(--e2);border-radius:var(--r-pastilla);
  color:var(--blanco);background-color:rgb(12 58 64 / 0);
  transition:max-width .8s var(--suave),background-color .4s ease-out,box-shadow .4s ease-out;
}
.barra--compacta .barra__dentro,.barra--abierta .barra__dentro{background-color:var(--tinta);box-shadow:var(--sombra-honda)}
.barra--compacta .barra__dentro{max-width:1060px}
.barra__logo{flex:none;display:block}
.barra__logo img{width:auto;height:44px;transform-origin:left center;transition:transform .6s var(--suave)}
.barra--compacta .barra__logo img{transform:scale(.74)}
.barra__nav{display:none}
.barra__nav a{display:inline-flex;align-items:center;gap:var(--e0);padding:var(--e1) var(--e2);border-radius:var(--r-pastilla);font:600 var(--t-chico)/1.4 var(--texto);text-decoration:none;white-space:nowrap;transition:background-color .25s ease-out}
.barra__nav a:hover,.barra__nav a[aria-current]{background-color:rgb(251 254 254 / .16)}
.barra__nav svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.barra .boton--chico{margin-left:auto}
.barra__menu{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgb(251 254 254 / .16);cursor:pointer}
.barra__menu svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;transition:transform .45s var(--suave)}
.barra__menu[aria-expanded="true"] svg{transform:rotate(90deg)}
.barra--abierta .barra__nav{position:absolute;inset:calc(100% + var(--e1)) 0 auto 0;display:grid;gap:var(--e0);padding:var(--e2);border-radius:var(--r-tarjeta);background:var(--tinta);box-shadow:var(--sombra-honda)}
.barra--abierta .barra__nav a{padding:var(--e15) var(--e2);font-size:var(--t-cuerpo)}
/* Menú abierto: nunca más alto que la pantalla (la barra es fija); en celular horizontal, en dos columnas. */
.barra--abierta .barra__nav{max-height:calc(100svh - 112px);overflow-y:auto;overscroll-behavior:contain}
@media (max-height:540px) and (max-width:1119px){
  .barra--abierta .barra__nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e0) var(--e1);padding:var(--e15)}
  .barra--abierta .barra__nav a{padding:var(--e1) var(--e15)}
}

@media (max-width:359px){
  .barra{padding-inline:var(--e1)}
  .barra__dentro{gap:var(--e1);padding-left:var(--e15)}
  .barra__logo img{height:36px}
}
@media (min-width:720px){
  .barra{padding:var(--e3) var(--e3) 0}
  .barra__dentro{gap:var(--e2);padding-left:var(--e3)}
}
@media (min-width:1120px){
  .barra__menu{display:none}
  .barra__nav{display:flex;gap:var(--e0);margin-inline:auto}
  .barra .boton--chico{margin-left:0}
  .barra__logo img{transform:scale(1.18)}
  .barra--compacta .barra__logo img{transform:scale(.82)}
  .barra__logo{margin-right:var(--e2)}
}

/* ---------- Líneas de titular que entran ---------- */

.linea{display:block;overflow:hidden;padding-block:.05em;margin-block:-.05em}
.linea > span{display:block}
.linea--sol{color:var(--sol)}
.js .linea > span{transform:translateY(110%)}
.js.listo .linea > span{transform:none;transition:transform 1.1s var(--suave);transition-delay:calc(var(--i) * 100ms + 120ms)}

/* ---------- Cierre ---------- */

.cierre{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:var(--e4);margin:0 var(--e1) var(--e1);padding:var(--e5) var(--e3) 0;border-radius:var(--r-escena);background:var(--tinta);color:var(--blanco);--foco:var(--sol)}
.cierre .boton{--b-punto:var(--blanco); --b-punto-texto:var(--tinta)}
.cierre__llamada{display:grid;gap:var(--e3);justify-items:start}
.cierre__tarjeta{display:grid;gap:var(--e2);justify-items:start;align-content:start;padding:var(--e3);border-radius:var(--r-escena);background:var(--blanco);color:var(--tinta);--foco:var(--tinta)}
.cierre__logo{width:132px}
.cierre__datos{font:500 var(--t-chico)/1.5 var(--texto);font-style:normal}
.cierre__datos b{display:block;font:800 1.375rem/1.1 var(--display);text-transform:uppercase}
/* RNT (14-oct-2026): su propio renglón, separado de la dirección por una raya, con el enlace a la consulta de Sectur. */
.cierre__rnt{justify-self:stretch;max-width:100%;padding-top:var(--e2);border-top:1px solid rgb(12 58 64 / .18);font:500 var(--t-chico)/1.5 var(--texto);overflow-wrap:break-word}
.cierre__rnt b{font-weight:700}
.cierre__rnt a{text-underline-offset:3px}
/* «Tripzi en Google Maps» (14-oct-2026): debajo del RNT, en el mismo bloque. Solo el enlace a la ficha: sin opiniones, calificación ni estrellas. */
.cierre__google{margin-top:calc(-1 * var(--e1));font:600 var(--t-chico)/1.5 var(--texto);overflow-wrap:break-word}
.cierre__google a{text-underline-offset:3px}
.cierre__enlaces{display:flex;flex-wrap:wrap;gap:var(--e1) var(--e3);align-items:center;font:600 var(--t-chico)/1.4 var(--texto)}
.cierre__enlaces{position:relative;z-index:1}
.cierre__enlaces a{text-underline-offset:4px}
.cierre__enlaces span{opacity:.5}
.cierre__marca{margin:0 calc(-1 * var(--e3)) -.13em;font:900 clamp(7rem,33vw,31rem)/.78 var(--display);letter-spacing:-.01em;text-transform:uppercase;text-align:center;white-space:nowrap;color:var(--turquesa);user-select:none;-webkit-user-select:none;pointer-events:none}
.js [data-revela] .cierre__marca{translate:0 34%;opacity:0}
.js [data-revela].visto .cierre__marca{translate:0 0;opacity:1;transition:translate 1.4s var(--suave) .1s,opacity .8s ease-out .1s}
@media (max-width:899px){
  .cierre__enlaces{gap:var(--e15) var(--e2)}
  .cierre__enlaces span{flex-basis:100%;height:0;overflow:hidden}
}
@media (min-width:900px){
  .cierre{grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:start;padding:var(--e6) var(--e5) 0;padding-inline:max(var(--e5),calc((100% - 1240px) / 2))}
  .cierre__enlaces,.cierre__marca{grid-column:1 / -1}
}

.aviso{position:fixed;left:50%;bottom:var(--e3);z-index:50;max-width:calc(100vw - 2 * var(--e2));padding:var(--e15) var(--e3);border-radius:var(--r-pastilla);background:var(--tinta);color:var(--blanco);font:600 var(--t-chico)/1.4 var(--texto);box-shadow:var(--sombra-honda);translate:-50% 24px;opacity:0;pointer-events:none;transition:opacity .3s ease-out,translate .5s var(--suave)}
.aviso--visible{opacity:1;translate:-50% 0}

/* ---------- Menos movimiento ---------- */

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-delay:0ms !important;transition-duration:.01ms !important;transition-delay:0ms !important}
}
