
:root{
  --papel:#F2F7FE;        --papel-alto:#FFFFFF;
  --tinta:#0D141A;        --tinta-media:#46536B;   --tinta-tenue:#7C89A0;
  --banda:#0B2A3E;        --banda-honda:#05192A;
  --banda-tinta:#EEF6FB;  --banda-tenue:#8FB0C4;
  --azul:#0A6F9F;         --azul-hondo:#04587C;    --azul-lavado:#E3F0F8;
  --celeste:#5BC6EC;
  --boton-arriba:#0C7DB0; --boton-abajo:#0A6F9F;   --boton-texto:#FFFFFF;
  --boton-sombra:rgba(10,111,159,.45);
  --oro:#EAC353;          --oro-hondo:#8A6B0E;
  --alerta:#C0503F;
  --linea:#DCE6F5;        --linea-fuerte:#BBCFE7;
  --sombra:0 1px 2px rgba(20,30,56,.05), 0 10px 28px -16px rgba(20,30,56,.20);
  --sombra-alta:0 2px 4px rgba(20,30,56,.05), 0 26px 60px -28px rgba(20,30,56,.38);
  --radio:18px;
  --display:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --dato:"Geist Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --cifra:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --curva:cubic-bezier(.22,.7,.3,1);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --papel:#080D15;      --papel-alto:#111A28;
    --tinta:#EAF1FA;      --tinta-media:#A8B8CE;   --tinta-tenue:#7C8CA5;
    --banda:#07202F;      --banda-honda:#03121D;
    --banda-tinta:#EEF6FB; --banda-tenue:#86A6BA;
    --azul:#5FC0EC;       --azul-hondo:#8FD2F2;    --azul-lavado:#0E2434;
    --boton-arriba:#6CC8F0; --boton-abajo:#3FAEDF; --boton-texto:#05192A;
    --boton-sombra:rgba(95,192,236,.35);
    --oro:#EAC353;        --oro-hondo:#F0D98A;
    --alerta:#E2836F;
    --linea:#1E2B42;      --linea-fuerte:#2C3D5C;
    --sombra:0 1px 2px rgba(0,0,0,.5), 0 12px 30px -18px rgba(0,0,0,.8);
    --sombra-alta:0 2px 6px rgba(0,0,0,.5), 0 28px 64px -30px rgba(0,0,0,.9);
  }
}
:root[data-theme="dark"]{
  --papel:#080D15;        --papel-alto:#111A28;
  --tinta:#EAF1FA;        --tinta-media:#A8B8CE;   --tinta-tenue:#7C8CA5;
  --banda:#07202F;        --banda-honda:#03121D;
  --banda-tinta:#EEF6FB;  --banda-tenue:#86A6BA;
  --azul:#5FC0EC;         --azul-hondo:#8FD2F2;    --azul-lavado:#0E2434;
  --boton-arriba:#6CC8F0; --boton-abajo:#3FAEDF;   --boton-texto:#05192A;
  --boton-sombra:rgba(95,192,236,.35);
  --oro:#EAC353;          --oro-hondo:#F0D98A;
  --alerta:#E2836F;
  --linea:#1E2B42;        --linea-fuerte:#2C3D5C;
  --sombra:0 1px 2px rgba(0,0,0,.5), 0 12px 30px -18px rgba(0,0,0,.8);
  --sombra-alta:0 2px 6px rgba(0,0,0,.5), 0 28px 64px -30px rgba(0,0,0,.9);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; text-size-adjust:100%}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--papel); color:var(--tinta);
  font-family:var(--display); font-size:17px; line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,p,a,li,button,input,blockquote,cite,figcaption{font-family:var(--display)}
h1,h2,h3,h4{text-wrap:balance; margin:0; line-height:1.12; letter-spacing:-.03em}
p{margin:0}
a{color:inherit}
img{max-width:100%}
:focus-visible{outline:2.5px solid var(--azul); outline-offset:3px; border-radius:6px}

.env{width:min(1160px,calc(100% - 48px)); margin-inline:auto}
.seccion{padding:clamp(58px,7vw,108px) 0}

.surge{transition:opacity .62s var(--curva), transform .62s var(--curva)}
.surge.espera{opacity:0; transform:translateY(18px)}
.escalonado > .surge:nth-child(2){transition-delay:.09s}
.escalonado > .surge:nth-child(3){transition-delay:.18s}
.escalonado > .surge:nth-child(4){transition-delay:.27s}

.barra{position:sticky; top:0; z-index:30; padding:0; transition:padding .35s var(--curva)}
.barra::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:color-mix(in srgb,var(--papel) 82%,transparent);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  transition:opacity .3s;
}
.barra.posada{padding:8px 0}
.barra.posada::before{opacity:0}
.barra-fila{
  display:flex; align-items:center; gap:20px; height:76px; margin-top:0;
  width:min(1200px,calc(100% - 32px)); padding:0; border:1px solid transparent; border-radius:999px;
  transition:height .35s var(--curva), padding .35s var(--curva), margin .35s var(--curva), width .35s var(--curva), background .35s, border-color .35s, box-shadow .35s;
}
.barra.posada .barra-fila{
  height:60px; margin-top:0; padding:0 8px 0 20px; width:min(1216px,calc(100% - 16px));
  background:color-mix(in srgb,var(--papel-alto) 84%,transparent);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border-color:var(--linea); box-shadow:var(--sombra-alta);
}
.marca{display:flex; align-items:center; flex:none; text-decoration:none}
.marca img{height:32px; width:auto; display:block; transition:height .35s var(--curva)}
.barra.posada .marca img{height:27px}
.menu{display:none; position:relative; gap:6px; margin-left:6px}
@media (min-width:1240px){.menu{display:flex}}
.menu a{
  position:relative; z-index:1; white-space:nowrap; text-decoration:none;
  font-size:14px; font-weight:500; color:var(--tinta-media);
  padding:8px 15px; border-radius:999px; transition:color .2s;
}
.menu a:hover,.menu a[aria-current="page"]{color:var(--tinta)}
.menu a[aria-current="page"]{font-weight:600}
.menu-pista{
  position:absolute; top:0; left:0; height:100%; width:0; border-radius:999px;
  background:var(--azul-lavado); opacity:0; pointer-events:none;
  transition:left .32s var(--curva), width .32s var(--curva), opacity .2s;
}
.menu-pista.viva{opacity:1}
.barra-acciones{display:flex; align-items:center; gap:8px; flex:none; margin-left:auto}
.barra-sep{width:1px; height:22px; background:var(--linea-fuerte); margin:0 8px; display:none}
@media (min-width:1240px){.barra-sep{display:block}}
.barra-acciones .solo-ancho{display:none}
@media (min-width:1240px){.barra-acciones .solo-ancho{display:inline-flex}}
.idiomas{display:flex; flex-direction:column; align-items:stretch; gap:3px; padding:3px; border:1px solid var(--linea); border-radius:10px; background:var(--papel-alto); margin-left:4px}
.idioma{
  display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:4px 5px; border-radius:7px; text-decoration:none;
  font-family:var(--dato); font-size:11.5px; font-weight:600; letter-spacing:.06em; color:var(--tinta-tenue);
  transition:background .18s, color .18s, transform .18s var(--curva);
}
.idioma svg{width:20px; height:14px; border-radius:2.5px; box-shadow:0 0 0 1px rgba(20,30,56,.14); flex:none; display:block}
.idioma:hover{color:var(--tinta); transform:translateY(-1px)}
.idioma[aria-current="true"]{background:var(--azul-lavado); color:var(--tinta)}
@media (max-width:1239px){
  .barra-acciones .idiomas{flex-direction:row; border-radius:999px; gap:2px}
  .barra-acciones .idioma{padding:11px 8px; border-radius:999px}
  .pais-btn{min-height:40px}
}
.barra-acciones .idioma span{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.idiomas-plegado{flex-direction:row; align-self:flex-start; margin:14px 0 0; padding:4px; border-radius:999px}
.idiomas-plegado .idioma{font-family:inherit; font-size:14px; letter-spacing:0; font-weight:600; padding:7px 12px; border-bottom:0; border-radius:999px}
.panel-movil .idiomas-plegado a{border-bottom:0; padding:7px 12px; animation:none}
.burger{
  display:inline-grid; place-items:center; width:42px; height:42px; border-radius:999px; cursor:pointer;
  border:1.5px solid var(--linea-fuerte); background:var(--papel-alto); color:var(--tinta);
  transition:border-color .18s, background .18s;
}
.burger:hover{border-color:var(--azul)}
.burger[aria-expanded="true"]{background:var(--azul-lavado); border-color:var(--azul)}
@media (min-width:1240px){.burger{display:none}}
.panel-movil{
  border-top:1px solid var(--linea); background:var(--papel-alto);
  box-shadow:0 24px 40px -24px rgba(20,30,56,.35);
}
.barra.posada .panel-movil{
  margin:8px auto 0; width:min(1216px,calc(100% - 16px)); border-radius:18px; border:1px solid var(--linea);
}
.panel-movil nav{display:flex; flex-direction:column; padding:10px 0 14px}
.panel-movil a{
  text-decoration:none; font-size:16px; font-weight:600; color:var(--tinta);
  padding:13px 4px; border-bottom:1px solid var(--linea); transition:color .18s;
  animation:barra-sube .38s var(--curva) both;
}
.panel-movil a:nth-child(2){animation-delay:.04s} .panel-movil a:nth-child(3){animation-delay:.08s}
.panel-movil a:nth-child(4){animation-delay:.12s} .panel-movil a:nth-child(5){animation-delay:.16s}
.panel-movil a:nth-child(6){animation-delay:.20s} .panel-movil a:nth-child(7){animation-delay:.24s}
@keyframes barra-sube{from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none}}
.panel-movil a:hover{color:var(--azul)}
.panel-movil .entrar{color:var(--azul); border-bottom:none}
.panel-movil .boton{margin-top:14px; justify-content:center; border-bottom:none}
@media (max-width:639px){
  .pais-btn span{display:none}
  .pais-btn{padding:8px 9px}
  .barra-acciones > .boton-lleno{display:none}
  .barra-fila{gap:12px}
}
@media (max-width:359px){.barra-acciones .idiomas{display:none}}

.boton{
  display:inline-flex; align-items:center; gap:9px;
  font-weight:600; font-size:15px; letter-spacing:-.01em;
  text-decoration:none; border:none; cursor:pointer; white-space:nowrap;
  padding:12px 22px; border-radius:11px;
  transition:transform .18s var(--curva), box-shadow .18s var(--curva), background .18s, color .18s, border-color .18s;
}
.boton svg{transition:transform .18s var(--curva)}
.boton:hover svg{transform:translateX(3px)}
.boton-lleno{background:linear-gradient(180deg, var(--boton-arriba) 0%, var(--boton-abajo) 100%); color:var(--boton-texto); box-shadow:0 2px 8px -2px var(--boton-sombra)}
.boton-lleno:hover{background:linear-gradient(180deg, var(--boton-abajo) 0%, var(--azul-hondo) 100%); transform:translateY(-2px); box-shadow:0 14px 28px -12px var(--boton-sombra)}
.boton-linea{background:var(--papel-alto); color:var(--tinta); border:1.5px solid var(--linea-fuerte)}
.boton-linea:hover{border-color:var(--azul); color:var(--azul); transform:translateY(-2px); box-shadow:var(--sombra)}
.boton-fantasma{padding:12px 4px; color:var(--tinta-media); background:none}
.boton-fantasma:hover{color:var(--azul)}
.boton-grande{padding:16px 30px; font-size:16.5px}

.moneda-nota{margin-top:18px; font-size:13.5px; color:var(--tinta-tenue); min-height:1.4em}
.moneda-nota:empty{margin-top:0; min-height:0}
html.iva-pendiente [data-iva]{visibility:hidden}
html.sin-iva [data-iva]{display:none !important}

.pais{position:relative}
@media (max-width:639px){.barra-acciones{position:relative} .pais{position:static}}
.pais-btn{
  display:inline-flex; align-items:center; gap:7px; cursor:pointer;
  font-family:inherit; font-size:14px; font-weight:600; letter-spacing:-.01em;
  color:var(--tinta-media); background:transparent; border:1.5px solid transparent;
  border-radius:999px; padding:8px 12px; transition:color .18s, border-color .18s, background .18s;
}
.pais-btn:hover,.pais-btn[aria-expanded="true"]{color:var(--tinta); border-color:var(--linea-fuerte); background:var(--papel-alto)}
.pais-menu{
  position:absolute; right:0; top:calc(100% + 8px); z-index:40; min-width:250px;
  list-style:none; margin:0; padding:6px;
  background:var(--papel-alto); border:1px solid var(--linea); border-radius:14px;
  box-shadow:var(--sombra-alta);
}
.pais-menu li{display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:10px 12px; border-radius:9px; cursor:pointer; font-size:14.5px; color:var(--tinta)}
.pais-menu li:hover,.pais-menu li:focus-visible{background:var(--azul-lavado); outline:none}
.pais-menu li[aria-selected="true"]{font-weight:700}
.pais-moneda{font-family:var(--dato); font-size:12px; color:var(--tinta-tenue); margin-left:6px}
.pais-estado{
  flex:none; font-family:var(--dato); font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  padding:3px 8px; border-radius:999px; border:1px solid var(--linea); color:var(--tinta-tenue);
}
.pais-estado.abierto{color:var(--azul); border-color:var(--linea-fuerte); background:var(--azul-lavado)}

.pais-aviso{background:var(--banda); color:var(--banda-tinta)}
.pais-aviso-fila{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; padding:14px 0}
.pais-aviso-texto{font-size:14.5px; line-height:1.45}
.pais-aviso-texto b{color:#fff}
.pais-espera{display:flex; gap:8px; flex-wrap:wrap}
.pais-espera input{
  font-family:inherit; font-size:14px; padding:10px 14px; min-width:230px;
  color:var(--tinta); background:var(--papel-alto); border:1.5px solid transparent; border-radius:10px;
}
.pais-espera input:focus-visible{outline:none; border-color:var(--celeste)}
.pais-espera .boton{padding:10px 18px; font-size:14px}
.pais-gracias{font-size:14.5px; font-weight:600; color:var(--celeste)}
.oculto{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}

.titulo-seccion{font-size:clamp(28px,3.5vw,42px); font-weight:800; max-width:19ch}
.entradilla{margin-top:18px; font-size:17.5px; color:var(--tinta-media); max-width:62ch}
.capacidades{display:grid; gap:18px; margin-top:46px}
@media (min-width:680px){.capacidades{grid-template-columns:1fr 1fr}}
.capacidad{
  background:var(--papel-alto); border:1px solid var(--linea); border-radius:var(--radio);
  padding:30px 28px 32px;
  transition:transform .24s var(--curva), box-shadow .24s var(--curva), border-color .24s;
}
.capacidad:hover{transform:translateY(-4px); box-shadow:var(--sombra-alta); border-color:var(--linea-fuerte)}
.capacidad-icono{
  width:52px; height:52px; border-radius:14px; background:var(--azul-lavado);
  display:grid; place-items:center; margin-bottom:20px; transition:background .24s;
}
.capacidad:hover .capacidad-icono{background:color-mix(in srgb,var(--azul) 16%,var(--azul-lavado))}
.capacidad-icono svg{width:30px; height:30px; display:block; overflow:visible}
.dibujo{fill:none; stroke:var(--azul); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round}
.dibujo-lleno{fill:var(--oro); stroke:none}
.dibujo-tenue{fill:none; stroke:var(--celeste); stroke-width:1.8; stroke-linecap:round}
.ic-mando{transition:transform .5s var(--curva)}
.capacidad:hover .ic-mando{transform:translateX(7px)}
.ic-barra{transition:transform .5s var(--curva); transform-origin:50% 100%; transform-box:fill-box}
.capacidad:hover .ic-barra-1{transform:scaleY(.55)} .capacidad:hover .ic-barra-2{transform:scaleY(1.35)} .capacidad:hover .ic-barra-3{transform:scaleY(1.8)}
.ic-flecha{transition:transform .45s var(--curva)}
.capacidad:hover .ic-flecha{transform:translateX(3px)}
.ic-eslabon{transition:fill .3s var(--curva)}
.capacidad:hover .ic-eslabon-1{fill:var(--azul); transition-delay:.0s}
.capacidad:hover .ic-eslabon-2{fill:var(--azul); transition-delay:.12s}
.capacidad:hover .ic-eslabon-3{fill:var(--azul); transition-delay:.24s}
.ic-rama{transition:transform .5s var(--curva)}
.capacidad:hover .ic-rama{transform:translateY(-3px)}
.capacidad h3{font-size:19.5px; font-weight:700; margin-bottom:10px}
.capacidad p{font-size:15.5px; color:var(--tinta-media); line-height:1.64}

.cierre{
  position:relative; overflow:hidden; text-align:center;
  background:radial-gradient(70% 90% at 50% 0%, color-mix(in srgb,var(--celeste) 20%,transparent) 0%, transparent 62%), var(--papel-alto);
  border:1px solid var(--linea); border-radius:var(--radio); box-shadow:var(--sombra); padding:clamp(38px,5vw,64px);
}
.cierre h2{font-size:clamp(28px,3.5vw,40px); font-weight:800}
.cierre p{margin:18px auto 0; font-size:17px; color:var(--tinta-media); max-width:52ch}
.cierre-acciones{display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:32px}
.cierre-nota{margin-top:22px; font-size:14px; color:var(--tinta-tenue)}
.cierre-nota a{color:var(--azul); text-decoration:none; font-weight:600}
.cierre-nota a:hover{text-decoration:underline}

.pie{border-top:1px solid var(--linea); padding:48px 0 44px; font-size:14.5px; margin-top:clamp(40px,6vw,88px)}
.pie-rejilla{display:grid; gap:32px}
@media (min-width:760px){.pie-rejilla{grid-template-columns:1.4fr 1fr 1fr}}
.pie h4{font-family:var(--dato); font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:var(--tinta-tenue); font-weight:500; margin-bottom:15px}
.pie ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px}
.pie a{color:var(--tinta-media); text-decoration:none; transition:color .2s}
.pie a:hover{color:var(--azul)}
.pie .pie-correo{display:flex; flex-wrap:wrap; align-items:baseline; column-gap:10px; row-gap:1px}
.pie .pie-correo span{min-width:4.6em; color:var(--tinta-tenue); font-size:13px}
.pie .pie-redes{flex-direction:row; flex-wrap:wrap; gap:10px; margin-top:20px}
.pie-redes a{
  display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%;
  border:1.5px solid var(--linea-fuerte); background:var(--papel-alto); color:var(--tinta-media);
  transition:border-color .18s var(--curva), color .18s var(--curva), transform .18s var(--curva);
}
.pie-redes a:hover{border-color:var(--azul); color:var(--azul); transform:translateY(-2px)}
.pie-redes svg{width:17px; height:17px}
.pie-legal{margin-top:38px; padding-top:24px; border-top:1px solid var(--linea); color:var(--tinta-tenue); font-size:13px; display:flex; flex-wrap:wrap; gap:8px 20px}


@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .surge.espera{opacity:1; transform:none}
  *{transition-duration:.01ms !important; animation-duration:.01ms !important}
}
