/* ===== Capa «Apple + Hosteate»: tipografía limpia, aire, azul y marino ===== */
:root{--display:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",sans-serif;
 --cream:#f5f5f7;--sand:#e8e8ed;--ink:#1d1d1f;--ink-2:#6e6e73;--line:#d2d2d7;--terra:#0071e3;--terra-d:#0058b9;--sea:#0b1f3a;--sea-2:#2997ff;--gold:#f5a623;--d0:1.5s}
html.ya{--d0:.05s}
body{font-family:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",sans-serif;letter-spacing:-.011em;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--display);font-weight:700}
h1{letter-spacing:-.045em!important}
h2{letter-spacing:-.035em!important}
h3{letter-spacing:-.02em}
/* los subrayados en cursiva pasan a texto con degradado, como en Apple */
h1 em,.hero h1 em{font-style:normal!important;font-weight:700;background:linear-gradient(90deg,#0071e3,#7a5cff 55%,#e3427d);-webkit-background-clip:text;background-clip:text;color:transparent!important;text-shadow:none!important;padding-bottom:.06em}
.hero h1 em{background:linear-gradient(90deg,#7cc4ff,#c6a8ff 60%,#ffb3c7);-webkit-background-clip:text;background-clip:text}
.n-hero h1 em{background:linear-gradient(90deg,#ffd27a,#ffb0a0);-webkit-background-clip:text;background-clip:text}
.k-hero h1 em{background:linear-gradient(90deg,#ff6a3d,#ff9f1c);-webkit-background-clip:text;background-clip:text}
.f-hero h1 em{background:linear-gradient(90deg,#16a37f,#0b7a8f);-webkit-background-clip:text;background-clip:text}
.d-hero h1 em{background:linear-gradient(90deg,#ff7a45,#e3427d);-webkit-background-clip:text;background-clip:text}
.k-hero h1 em svg{display:none}
.logo{font-family:var(--display)!important;font-weight:700!important;letter-spacing:-.03em}
/* botones píldora azul, con el hover de Hosteate */
.btn{border-radius:980px!important;font-weight:600;letter-spacing:-.01em;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1),background .2s!important}
.btn:hover{transform:translateY(-2px)!important;box-shadow:0 6px 20px rgba(0,113,227,.3)}
.btn:active{transform:scale(.98)!important}
.btn.ghost{background:#fff!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--line)!important}
.btn.ghost:hover{box-shadow:inset 0 0 0 1px var(--ink),0 6px 20px rgba(0,0,0,.08)!important}
.lnk,body.night .lnk{color:#0071e3!important;text-decoration:none!important;font-weight:600}
body.night .lnk{color:#6cb4ff!important}
.lnk:hover{text-decoration:underline!important}
.eyebrow{letter-spacing:.08em!important;font-weight:600}
/* cabecera de cristal fija */
.nav{position:fixed!important;transition:background .35s,box-shadow .35s,height .35s}
.nav.solid{background:rgba(251,251,253,.78)!important;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:0 1px 0 rgba(0,0,0,.08)}
.nav.solid .logo,.nav.solid .nav-links,.nav.solid .nav-links a{color:#1d1d1f!important}
.nav.solid .lang{border-color:var(--line)!important}
.nav.solid .lang a.on,.nav.solid .lang button.on{background:#1d1d1f!important;color:#fff!important}
body.night .nav.solid{background:rgba(11,18,32,.78)!important;box-shadow:0 1px 0 rgba(255,255,255,.08)}
body.night .nav.solid .logo,body.night .nav.solid .nav-links,body.night .nav.solid .nav-links a{color:#fff!important}
body.night .nav.solid .lang a.on{background:#fff!important;color:#000!important}
.nav-links a{font-size:14px;font-weight:500;letter-spacing:-.01em;transition:opacity .2s}
.nav-links a:hover{opacity:.65}
.d-bar{top:72px!important}
/* tarjetas: hover de Hosteate */
.card,.k-card,.n-card,.f-ticket,.w-card,.gcard,.inl,.d-opt{transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s cubic-bezier(.22,1,.36,1)!important}
.card:hover,.k-card:hover,.w-card:hover,.gcard:hover,.inl:hover{transform:translateY(-5px)!important;box-shadow:0 18px 38px rgba(0,0,0,.12)!important}
.price,.k-price,.d-total b,.f-stat b,.w-big,.n-hour b,.time{font-family:var(--display);letter-spacing:-.03em}
.rate b{border-radius:7px!important}
/* barra de progreso de lectura */
.prog{position:fixed;left:0;top:0;height:3px;width:0;z-index:60;background:linear-gradient(90deg,#0071e3,#7a5cff,#e3427d);pointer-events:none}
/* ===== Cortina de entrada (una vez por visita) ===== */
.intro{position:fixed;inset:0;z-index:9999;background:#0b1f3a;display:grid;place-items:center;animation:introUp .9s cubic-bezier(.76,0,.24,1) var(--d0) forwards}
html.ya .intro{display:none}
@keyframes introUp{to{transform:translateY(-100%);visibility:hidden}}
.intro-c{display:flex;flex-direction:column;align-items:center;gap:18px}
.intro-w{display:flex;align-items:center;gap:2px;font-family:var(--display);font-weight:700;font-size:clamp(46px,8vw,76px);letter-spacing:-.04em;color:#fff}
.intro-w i{width:.62em;height:.62em;border-radius:50%;margin-right:.22em;background:conic-gradient(#0071e3 0 25%,#f5a623 0 50%,#2997ff 0 75%,#fff 0);animation:spinIn 1s cubic-bezier(.2,.8,.2,1) both}
@keyframes spinIn{from{transform:rotate(-180deg) scale(.4);opacity:.01}}
.intro-w b{display:inline-block;animation:letra .7s cubic-bezier(.2,.8,.2,1) both}
.intro-w b:nth-of-type(1){animation-delay:.15s}.intro-w b:nth-of-type(2){animation-delay:.22s}.intro-w b:nth-of-type(3){animation-delay:.29s}.intro-w b:nth-of-type(4){animation-delay:.36s}.intro-w b:nth-of-type(5){animation-delay:.43s}
@keyframes letra{from{opacity:.01;transform:translateY(.45em)}}
.intro-l{width:180px;height:3px;border-radius:3px;background:rgba(255,255,255,.15);overflow:hidden}
.intro-l::after{content:"";display:block;height:100%;width:100%;background:linear-gradient(90deg,#2997ff,#7a5cff,#e3427d);transform-origin:left;animation:linea 1.1s cubic-bezier(.65,0,.35,1) .2s both}
@keyframes linea{from{transform:scaleX(0)}}
.intro-s{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55);animation:letra .8s .5s both}
/* el contenido de la portada entra escalonado tras la cortina */
@keyframes entra{from{opacity:.01;translate:0 26px}}
@keyframes entraZoom{from{opacity:.01;transform:scale(1.12)}}
:is(.hero,.p-hero,.k-hero,.n-hero,.f-hero,.d-hero) :is(.eyebrow,.crumbs){animation:entra .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d0)}
:is(.hero,.p-hero,.k-hero,.n-hero,.f-hero,.d-hero) h1{animation:entra 1s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--d0) + .08s)}
:is(.hero,.p-hero,.k-hero,.n-hero,.f-hero,.d-hero) :is(.lead,p.lead){animation:entra 1s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--d0) + .18s)}
:is(.search,.trust,.k-toc,.n-hl,.n-hours,.f-stats,.d-arcw){animation:entra 1s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--d0) + .3s)}
:is(.k-collage,.f-zero){animation:entra 1.2s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--d0) + .2s)}
.w-hbox{animation:entra 1s cubic-bezier(.2,.8,.2,1) both!important;animation-delay:calc(var(--d0) + .1s)!important}
:is(.hero,.p-hero) > img,.w-half img{animation:entraZoom 2.2s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--d0) - .3s)}
/* al bajar: aparece suave */
.rv{opacity:.01;translate:0 34px;transition:opacity .9s cubic-bezier(.2,.8,.2,1),translate .9s cubic-bezier(.2,.8,.2,1);transition-delay:var(--rd,0s)}
.rv.visto{opacity:1;translate:0 0}
main,footer,.k-main,.n-main,.f-main{overflow-x:clip}
@media (prefers-reduced-motion:reduce){.intro{display:none}.rv{opacity:1;translate:none;transition:none}:is(.hero,.p-hero,.k-hero,.n-hero,.f-hero,.d-hero) *,.w-hbox,.w-half img{animation:none!important}}
/* el subtítulo de color hereda el espaciado del título grande: lo recalculo a su tamaño */
h1 em,h1 em *{letter-spacing:-.025em!important;word-spacing:.04em}
/* contraste del texto sobre la foto clara de la portada */
.hero::after{background:linear-gradient(180deg,rgba(6,20,40,.55) 0%,rgba(6,20,40,.35) 30%,rgba(6,20,40,.55) 60%,rgba(6,20,40,.82) 100%)!important}
.hero h1,.hero .lead{text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero h1 em{background:linear-gradient(90deg,#8fd0ff,#d2b8ff 60%,#ffc2d4)!important;-webkit-background-clip:text!important;background-clip:text!important;filter:drop-shadow(0 2px 14px rgba(0,0,0,.35))}
@media (max-width:560px){.hero::after{background:linear-gradient(180deg,rgba(6,20,40,.6),rgba(6,20,40,.62) 40%,rgba(6,20,40,.88))!important}}
