
@font-face{font-family:Nu;src:url(/assets/fonts/nunito.woff2) format("woff2");font-weight:200 1000;font-display:swap}
:root{--cielo:#eef6fb;--cielo2:#d8ebf6;--hondo:#0b3a5b;--tinta:#0a2236;--azul:#009ee0;--lima:#b1c900;--gris:#557086}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--cielo);color:var(--tinta);font-family:Nu,system-ui,sans-serif;font-weight:500;overflow-x:clip;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
.w{width:min(1240px,90vw);margin:0 auto}
.k{font-weight:900;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--azul)}
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;font-size:17px;padding:16px 28px;border-radius:999px;background:var(--hondo);color:#fff;transition:transform .25s,background .25s}
.btn:hover{transform:translateY(-2px);background:var(--azul)}
.btn.claro{background:#fff;color:var(--hondo)}
.btn.claro:hover{background:var(--lima);color:var(--tinta)}

.cab{position:fixed;inset:0 0 auto;z-index:60;display:flex;justify-content:space-between;align-items:center;padding:18px 4vw;transition:background .4s,box-shadow .4s}
.cab.solida{background:rgba(238,246,251,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(11,58,91,.08)}
.cab img{height:40px;width:auto}
.cab nav{display:flex;gap:28px;font-weight:900;font-size:15px}
.cab nav a{text-decoration:none;color:var(--hondo)}
.cab:not(.solida) nav a{color:#fff}
.cab .btn{padding:11px 20px;font-size:15px}
@media(max-width:860px){.cab nav{display:none}.cab img{height:32px}}

/* Portada: las nubes se apartan */
.port{position:relative;height:170vh}
.port .fijo{position:sticky;top:0;height:100svh;overflow:hidden;color:#fff}
.port .fondo{position:absolute;inset:0;transform:scale(calc(1.12 - var(--p,0)*.12))}
.port .fondo img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.port .fijo::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(11,34,54,.35),rgba(11,34,54,0) 26%),linear-gradient(30deg,rgba(8,26,42,.82) 0%,rgba(8,26,42,.45) 38%,rgba(8,26,42,0) 66%);pointer-events:none}
.nube{position:absolute;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.98),rgba(255,255,255,.85) 45%,rgba(255,255,255,0));filter:blur(6px);z-index:2;will-change:transform;pointer-events:none}
.port .txt{position:absolute;inset:auto 5vw 9vh;z-index:4;padding-top:12vh;text-align:left;opacity:var(--t,0);transform:translateY(calc((1 - var(--t,0))*24px))}
.port .etiq{display:inline-block;margin-bottom:16px;color:#fff;background:rgba(11,34,54,.55);padding:8px 14px;border-radius:999px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.port .acc2{display:flex;gap:12px;flex-wrap:wrap}
.port h1{font-weight:900;font-size:clamp(46px,7.6vw,128px);letter-spacing:-.045em;line-height:.9;max-width:13ch;text-shadow:0 6px 50px rgba(11,34,54,.35)}
.port .bajo{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-top:4vh}
.port p{font-size:clamp(17px,1.5vw,22px);max-width:36ch;line-height:1.45;text-shadow:0 2px 20px rgba(11,34,54,.5)}
.port .pista{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:4;color:var(--hondo);font-weight:900;font-size:clamp(18px,1.6vw,24px);letter-spacing:.02em;opacity:calc(1 - var(--p,0)*4);text-align:center}
.port .pista small{display:block;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--gris);margin-top:8px}

/* Ventanilla */
.vent{position:relative;height:240vh;background:var(--cielo)}
.vent .fijo{position:sticky;top:0;height:100svh;display:grid;place-items:center;overflow:hidden}
.vent .marco{position:relative;width:calc(min(360px,62vw) + var(--v,0)*(100vw - min(360px,62vw)));height:calc(min(520px,64svh) + var(--v,0)*(100svh - min(520px,64svh)));border-radius:calc(180px*(1 - var(--v,0)));overflow:hidden;box-shadow:0 0 0 calc(18px*(1 - var(--v,0))) #fff,0 40px 80px rgba(11,58,91,.25)}
.vent .marco img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(calc(1.25 - var(--v,0)*.25))}
.vent .marco::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(6,22,36,.8),rgba(6,22,36,0) 55%);opacity:var(--v,0)}
.vent .persiana{position:absolute;inset:0 0 auto;height:calc((1 - var(--a,0))*100%);background:linear-gradient(180deg,#f4f8fb,#dfe9f0);box-shadow:inset 0 -6px 12px rgba(0,0,0,.08);z-index:2}
.vent .persiana::after{content:"";position:absolute;left:50%;bottom:14px;width:40px;height:6px;border-radius:6px;background:#b7c7d3;transform:translateX(-50%)}
.vent .lado{position:absolute;z-index:3;max-width:min(420px,40vw);opacity:calc(1 - var(--v,0)*2.4)}
.vent .lado.i{left:5vw;top:50%;transform:translateY(-50%)}
.vent .lado.d{right:5vw;top:50%;transform:translateY(-50%);text-align:right}
.vent .lado h2{font-weight:900;font-size:clamp(34px,4.2vw,66px);letter-spacing:-.035em;line-height:.95;margin-top:10px}
.vent .lado p{font-size:18px;line-height:1.5;color:var(--gris);margin-top:14px}
.vent .final{position:absolute;inset:auto 5vw 10vh;z-index:3;color:#fff;opacity:calc(var(--v,0)*2 - 1);max-width:780px}
.vent .final h2{font-weight:900;font-size:clamp(40px,6vw,100px);letter-spacing:-.04em;line-height:.9;text-shadow:0 6px 40px rgba(0,0,0,.4)}
.vent .final p{margin-top:14px;font-size:19px;max-width:44ch;text-shadow:0 2px 20px rgba(0,0,0,.55)}
@media(max-width:860px){.vent .lado{position:absolute;max-width:none;left:6vw;right:6vw;text-align:left}.vent .lado.i{top:13vh;transform:none}.vent .lado.d{top:auto;bottom:6vh;transform:none;text-align:left}.vent .lado h2{font-size:32px}.vent .lado p{font-size:16px}.vent .marco{height:calc(46svh + var(--v,0)*54svh)}}

/* Capas de cielo */
.capas{padding:16vh 0 0}
.capas .top{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;padding-bottom:6vh}
.capas h2{font-weight:900;font-size:clamp(40px,5.4vw,86px);letter-spacing:-.04em;line-height:.92;max-width:12ch;margin-top:12px}
.capas .top p{max-width:34ch;color:var(--gris);font-size:18px;line-height:1.5}
.capa{position:relative;color:#fff;overflow:hidden}
.capa .in{display:grid;grid-template-columns:auto 1fr auto;gap:5vw;align-items:center;padding:7vh 5vw;position:relative;z-index:2}
.capa:nth-of-type(1){background:#7cc4e8}.capa:nth-of-type(2){background:#3fa3d6}.capa:nth-of-type(3){background:#1979b3}.capa:nth-of-type(4){background:#0b3a5b}
.capa .min{font-weight:900;font-size:clamp(64px,9vw,150px);letter-spacing:-.05em;line-height:.85}
.capa .min small{display:block;font-size:14px;letter-spacing:.2em;text-transform:uppercase;opacity:.8;margin-top:8px}
.capa h3{font-weight:900;font-size:clamp(30px,3.2vw,48px);letter-spacing:-.03em}
.capa h3 .pop{font-size:13px;letter-spacing:.14em;text-transform:uppercase;background:#fff;color:var(--hondo);padding:5px 10px;border-radius:999px;vertical-align:middle;margin-left:10px}
.capa p{margin-top:10px;font-size:18px;line-height:1.5;max-width:46ch;opacity:.95}
.capa details{margin-top:12px;font-size:15px}
.capa summary{cursor:pointer;font-weight:900;list-style:none;opacity:.9}
.capa summary::before{content:"+ "}
.capa details[open] summary::before{content:"– "}
.capa details p{font-size:15px;margin-top:6px}
.capa .pr{text-align:right}
.capa .pr b{display:block;font-weight:900;font-size:clamp(40px,4vw,60px);letter-spacing:-.03em;line-height:1}
.capa .pr span{display:block;font-size:14px;opacity:.85;margin:6px 0 16px}
.capa .foto{position:absolute;right:0;top:0;bottom:0;width:38%;opacity:.0;transition:opacity .6s;pointer-events:none}
.capa .foto img{width:100%;height:100%;object-fit:cover;mask-image:linear-gradient(90deg,transparent,#000 60%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%)}
@media(hover:hover){.capa:hover .foto{opacity:.35}}
@media(max-width:860px){.capa .in{grid-template-columns:1fr;gap:14px}.capa .pr{text-align:left}}

/* Despegue */
.desp{position:relative;height:360vh;background:linear-gradient(180deg,var(--cielo),#e2f0f8)}
.desp .fijo{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:4vw;padding:96px 5vw 4vh;overflow:hidden}
.desp h2{font-weight:900;font-size:clamp(38px,4.6vw,74px);letter-spacing:-.04em;line-height:.95;margin-top:12px;color:var(--hondo)}
.desp .fases{position:relative;margin-top:4vh;min-height:150px}
.desp .fase{position:absolute;inset:0 0 auto;opacity:0;transform:translateY(16px);transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.2,1)}
.desp .fase.on{opacity:1;transform:none}
.desp .fase b{display:block;font-size:14px;font-weight:900;color:var(--azul);letter-spacing:.14em;text-transform:uppercase}
.desp .fase p{font-size:clamp(20px,1.8vw,27px);line-height:1.3;margin-top:8px;font-weight:700;color:var(--tinta)}
.desp .pista{height:6px;border-radius:6px;background:rgba(11,58,91,.12);margin-top:3vh;overflow:hidden}
.desp .pista i{display:block;height:100%;width:calc(var(--p,0)*100%);background:var(--azul)}
.desp .escena{border-radius:30px;box-shadow:0 40px 80px rgba(11,58,91,.22);overflow:hidden;line-height:0}
.desp svg{width:100%;height:auto;max-height:74vh;display:block}
@media(max-width:860px){.desp .fijo{grid-template-columns:1fr;align-content:start;gap:2vh;padding-top:90px}.desp .fases{min-height:118px;margin-top:2vh}.desp svg{max-height:46vh}}

/* Elige tu vuelo */
.elige{padding:16vh 0 12vh}
.elige .top{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.elige h2{font-weight:900;font-size:clamp(40px,5.4vw,86px);letter-spacing:-.04em;line-height:.92;max-width:11ch;margin-top:12px}
.elige .top p{max-width:36ch;color:var(--gris);font-size:18px;line-height:1.5}
.panel{display:grid;grid-template-columns:1fr 1.1fr;gap:4vw;margin-top:7vh;align-items:stretch}
.mando{background:#fff;border-radius:28px;padding:36px;box-shadow:0 30px 60px rgba(11,58,91,.1);display:flex;flex-direction:column}
.mando label{font-weight:900;font-size:15px;color:var(--gris)}
.mando output{display:block;font-weight:900;font-size:clamp(70px,8vw,128px);letter-spacing:-.05em;line-height:1;margin:10px 0 6px;color:var(--hondo)}
.mando output small{font-size:.32em;letter-spacing:0;color:var(--gris)}
input[type=range]{width:100%;appearance:none;-webkit-appearance:none;height:14px;border-radius:14px;background:linear-gradient(90deg,var(--azul) var(--v,20%),#e3edf3 var(--v,20%));outline:none;margin:18px 0 10px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:40px;height:40px;border-radius:50%;background:var(--hondo);border:6px solid #fff;box-shadow:0 6px 18px rgba(0,0,0,.25);cursor:grab}
input[type=range]::-moz-range-thumb{width:30px;height:30px;border-radius:50%;background:var(--hondo);border:6px solid #fff;cursor:grab}
input[type=range]:focus-visible{outline:3px solid var(--lima);outline-offset:6px}
.marcas{display:flex;justify-content:space-between;font-size:13px;color:var(--gris);font-weight:900}
.teide{margin-top:auto;padding-top:30px;display:flex;align-items:center;gap:14px;font-weight:900;cursor:pointer;color:var(--hondo)}
.teide input{width:24px;height:24px;accent-color:var(--hondo)}
.ficha{position:relative;border-radius:28px;overflow:hidden;min-height:520px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;background:var(--hondo)}
.ficha img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s}
.ficha img.on{opacity:1}
.ficha::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,22,36,.9) 8%,rgba(6,22,36,.1) 60%)}
.ficha .info{position:relative;z-index:2;padding:32px}
.ficha h3{font-weight:900;font-size:clamp(40px,4vw,64px);letter-spacing:-.035em;line-height:1}
.ficha .pop{display:inline-block;font-size:13px;background:#fff;color:var(--hondo);padding:5px 10px;border-radius:999px;vertical-align:middle;margin-left:8px;letter-spacing:.1em;text-transform:uppercase}
.ficha p{margin-top:10px;font-size:17px;line-height:1.45;max-width:42ch;opacity:.92}
.ficha .pie{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-top:22px}
.ficha .pr b{font-size:46px;font-weight:900;letter-spacing:-.03em;line-height:1}
.ficha .pr s{opacity:.7;margin-left:8px}
.ficha .pr small{display:block;opacity:.75;font-size:13px}
.ficha .btn{background:#fff;color:var(--hondo)}
.ficha .btn:hover{background:var(--lima);color:var(--tinta)}
@media(max-width:860px){.panel{grid-template-columns:1fr}.ficha{min-height:460px}}
.billetes{padding:6vh 0 16vh}
.billetes h2{font-weight:900;font-size:clamp(32px,3.6vw,54px);letter-spacing:-.035em;line-height:1}
.rail{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:5vh}
.bill{position:relative;background:#fff;border-radius:22px;padding:24px 22px 22px;box-shadow:0 18px 40px rgba(11,58,91,.08)}
.bill::before,.bill::after{content:"";position:absolute;top:62%;width:26px;height:26px;border-radius:50%;background:var(--cielo)}
.bill::before{left:-13px}.bill::after{right:-13px}
.bill .n{display:flex;justify-content:space-between;align-items:center}
.bill .n b{font-size:28px;font-weight:900;letter-spacing:-.02em;color:var(--hondo)}
.bill .n span{font-size:12px;font-weight:900;letter-spacing:.14em;color:var(--azul)}
.bill dl{display:grid;gap:12px;margin-top:18px;font-size:15px}
.bill dt{font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.bill dd{font-weight:700;line-height:1.3}
.bill .corte{border-top:2px dashed rgba(11,58,91,.15);margin:22px -22px 0;padding:18px 22px 0;display:flex;justify-content:space-between;align-items:center}
.bill .corte b{font-size:30px;font-weight:900;letter-spacing:-.02em;color:var(--hondo)}
.bill .corte a{font-weight:900;font-size:15px;text-decoration:none;background:var(--hondo);color:#fff;padding:10px 16px;border-radius:999px}
.bill .corte a:hover{background:var(--azul)}
@media(max-width:1000px){.rail{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px}.bill{scroll-snap-align:start}}

/* Por qué */
.porque{background:var(--hondo);color:#fff;padding:16vh 0}
.porque .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:start}
.porque .k{color:#7fd0f5}
.porque h2{font-weight:900;font-size:clamp(38px,4.8vw,76px);letter-spacing:-.04em;line-height:.94;margin-top:12px}
.porque ul{list-style:none;display:grid;gap:26px}
.porque li{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:baseline;font-size:19px;line-height:1.45;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.14)}
.porque li b{font-weight:900;font-size:44px;letter-spacing:-.03em;color:var(--lima);line-height:1}
@media(max-width:860px){.porque .grid{grid-template-columns:1fr}.porque li{grid-template-columns:84px 1fr}.porque li b{font-size:34px}}

/* Galería */
.gal{padding:16vh 0}
.gal h2{font-weight:900;font-size:clamp(36px,4.6vw,70px);letter-spacing:-.04em;line-height:.95;max-width:14ch}
.gal .rej{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:9vw;gap:14px;margin-top:6vh}
.gal figure{position:relative;overflow:hidden;border-radius:22px}
.gal figure img{width:100%;height:100%;object-fit:cover;transform:translateY(var(--y,0px)) scale(1.12)}
.gal figure:nth-child(1){grid-column:1/6;grid-row:span 4}
.gal figure:nth-child(2){grid-column:6/10;grid-row:span 3}
.gal figure:nth-child(3){grid-column:10/13;grid-row:span 4}
.gal figure:nth-child(4){grid-column:6/10;grid-row:span 3}
.gal figure:nth-child(5){grid-column:1/6;grid-row:span 3}
.gal figure:nth-child(6){grid-column:10/13;grid-row:span 2}
.gal figcaption{position:absolute;left:14px;bottom:12px;color:#fff;font-weight:900;font-size:14px;text-shadow:0 2px 12px rgba(0,0,0,.6)}
@media(max-width:860px){.gal .rej{grid-template-columns:1fr 1fr;grid-auto-rows:42vw}.gal figure:nth-child(n){grid-column:auto;grid-row:span 1}.gal figure:nth-child(1){grid-column:1/3;grid-row:span 1}}

/* Reseñas */
.res{background:#fff;padding:16vh 0}
.res .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:start}
.res .nota{font-weight:900;font-size:clamp(110px,15vw,240px);letter-spacing:-.06em;line-height:.8;color:var(--azul)}
.res .nota+p{font-size:20px;color:var(--gris);margin-top:14px}
.res .lista{display:grid;gap:30px}
.res blockquote{font-weight:900;font-size:clamp(22px,2.2vw,32px);letter-spacing:-.02em;line-height:1.2}
.res cite{display:block;margin-top:10px;font-style:normal;font-weight:500;font-size:16px;color:var(--gris)}
@media(max-width:860px){.res .grid{grid-template-columns:1fr}}

/* Dudas */
.dudas{padding:16vh 0}
.dudas .grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw}
.dudas h2{font-weight:900;font-size:clamp(36px,4.6vw,70px);letter-spacing:-.04em;line-height:.95}
.dudas details{border-bottom:1px solid rgba(11,58,91,.15)}
.dudas summary{list-style:none;cursor:pointer;padding:24px 0;font-weight:900;font-size:22px;display:flex;justify-content:space-between;gap:20px}
.dudas summary::after{content:"+";color:var(--azul);font-size:30px;line-height:.8;transition:transform .3s}
.dudas details[open] summary::after{transform:rotate(45deg)}
.dudas p{padding:0 0 24px;font-size:18px;line-height:1.6;color:var(--gris);max-width:56ch}
@media(max-width:860px){.dudas .grid{grid-template-columns:1fr}}

/* Cierre */
.cierre{position:relative;min-height:100svh;color:#fff;display:grid;align-items:end;overflow:hidden}
.cierre>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cierre::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,34,54,.85),rgba(11,34,54,.1) 60%)}
.cierre .w{position:relative;padding:14vh 0 10vh}
.cierre h2{font-weight:900;font-size:clamp(48px,8vw,140px);letter-spacing:-.05em;line-height:.88;max-width:11ch}
.cierre .acc{display:flex;gap:14px;flex-wrap:wrap;margin-top:5vh}
.datos{background:var(--hondo);color:#fff;padding:8vh 0 10vh}
.datos .cont{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;font-size:16px;line-height:1.55}
.datos b{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#7fd0f5;margin-bottom:6px}
.datos a{text-decoration:none}
.mapa{margin-top:6vh;border-radius:24px;overflow:hidden;height:300px;background:rgba(255,255,255,.07);display:grid;place-items:center;text-align:center}
.mapa button{font:900 16px Nu,system-ui;border:0;cursor:pointer;background:#fff;color:var(--hondo);padding:14px 24px;border-radius:999px}
.mapa p{margin-top:10px;font-size:14px;opacity:.7}
.mapa iframe{width:100%;height:100%;border:0}
.datos .reg{margin-top:5vh;font-size:14px;opacity:.65}
@media(max-width:860px){.datos .cont{grid-template-columns:1fr 1fr}}
footer{padding:24px 4vw 36px;font-size:14px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;background:#072a42;color:rgba(255,255,255,.7)}
footer a{text-decoration:none;margin-right:16px}

.sube{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.sube.ver{opacity:1;transform:none}

.fab{position:fixed;right:22px;bottom:22px;z-index:65;width:62px;height:62px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 12px 30px rgba(0,0,0,.45);transition:transform .3s}
.fab:hover{transform:scale(1.08)}
.fab:before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;animation:pu 2.4s infinite}
@keyframes pu{to{transform:scale(1.6);opacity:0}}
.fab svg{width:32px;height:32px;fill:#fff}
@media (prefers-reduced-motion:reduce){.fab:before{animation:none}.sube{opacity:1;transform:none;transition:none}}

/* ===== Comunes de la web completa ===== */
.cab .der{display:flex;align-items:center;gap:14px}
.idi{position:relative}
.idi summary{list-style:none;cursor:pointer;font-weight:900;font-size:14px;letter-spacing:.08em;padding:9px 12px;border-radius:999px;color:var(--hondo);background:rgba(255,255,255,.75)}
.idi summary::-webkit-details-marker{display:none}
.cab:not(.solida) .idi summary{background:rgba(255,255,255,.2);color:#fff}
.idi[open] summary{background:#fff;color:var(--hondo)}
.idi ul{list-style:none;position:absolute;right:0;top:calc(100% + 8px);background:#fff;border-radius:16px;padding:8px;box-shadow:0 20px 40px rgba(11,58,91,.18);min-width:160px}
.idi a{display:block;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:700;color:var(--hondo)}
.idi a:hover,.idi a[aria-current]{background:var(--cielo)}
.burger{display:none;border:0;background:var(--hondo);color:#fff;font:900 14px Nu,system-ui;padding:11px 16px;border-radius:999px;cursor:pointer}
.cab nav a[aria-current]{color:var(--azul)}
.cab:not(.solida) nav a[aria-current]{color:#fff;text-decoration:underline;text-underline-offset:6px}
.movil{position:fixed;inset:0;z-index:80;background:var(--hondo);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:10vh 8vw;gap:6px;opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}
.movil.on{opacity:1;visibility:visible;transition:opacity .35s}
.movil a{color:#fff;text-decoration:none;font-weight:900;font-size:clamp(32px,9vw,46px);letter-spacing:-.03em;line-height:1.25}
.movil .peq{display:flex;gap:16px;margin-top:4vh;font-size:16px;font-weight:700}
.movil .peq a{font-size:16px;opacity:.8}
.movil .x{position:absolute;top:20px;right:20px;border:0;background:#fff;color:var(--hondo);font:900 14px Nu,system-ui;padding:11px 16px;border-radius:999px;cursor:pointer}
body.menu-on{overflow:hidden}
body.menu-on .fab{display:none}
@media(max-width:860px){.burger{display:inline-block}.cab .der .btn,.cab .idi{display:none}}

/* Portada de página interior */
.pport{position:relative;min-height:78svh;display:grid;align-items:end;color:#fff;overflow:hidden}
.pport>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:pz 2.2s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes pz{to{transform:none}}
.pport::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,34,54,.4),rgba(11,34,54,0) 30%),linear-gradient(25deg,rgba(8,26,42,.85) 0%,rgba(8,26,42,.4) 45%,rgba(8,26,42,0) 70%)}
.pport .w{position:relative;z-index:2;padding:22vh 0 9vh}
.pport .etiq{display:inline-block;color:#fff;background:rgba(11,34,54,.55);padding:8px 14px;border-radius:999px;font-weight:900;font-size:13px;letter-spacing:.2em;text-transform:uppercase;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pport h1{font-weight:900;font-size:clamp(42px,6.4vw,104px);letter-spacing:-.045em;line-height:.92;max-width:15ch;margin-top:16px}
.pport p{margin-top:20px;font-size:clamp(17px,1.5vw,22px);line-height:1.45;max-width:44ch}
@media (prefers-reduced-motion:reduce){.pport>img{animation:none;transform:none}}

/* Vuelos en detalle */
.vdet{padding:14vh 0 6vh}
.vd{display:grid;grid-template-columns:1.1fr 1fr;gap:5vw;align-items:center;padding:7vh 0;border-bottom:1px solid rgba(11,58,91,.12)}
.vd:nth-child(even) .vd-img{order:2}
.vd-img{position:relative;border-radius:30px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 40px 80px rgba(11,58,91,.18)}
.vd-img img{width:100%;height:100%;object-fit:cover}
.vd-img .min{position:absolute;left:20px;bottom:18px;color:#fff;font-weight:900;font-size:clamp(46px,5vw,80px);letter-spacing:-.05em;line-height:.85;text-shadow:0 4px 30px rgba(0,0,0,.45)}
.vd-img .min small{display:block;font-size:13px;letter-spacing:.22em;text-transform:uppercase;margin-top:6px}
.vd h2{font-weight:900;font-size:clamp(40px,4.6vw,72px);letter-spacing:-.04em;line-height:.95;color:var(--hondo)}
.vd h2 .pop{font-size:13px;letter-spacing:.14em;text-transform:uppercase;background:var(--azul);color:#fff;padding:6px 12px;border-radius:999px;vertical-align:middle;margin-left:10px}
.vd .largo{margin-top:16px;font-size:18px;line-height:1.6;color:var(--gris);max-width:52ch}
.vd dl{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.vd dt{font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--azul)}
.vd dd{font-weight:700;margin-top:4px;line-height:1.35}
.vd .ojo{margin-top:22px;padding:16px 18px;border-radius:16px;background:#fff;font-size:16px;line-height:1.5;box-shadow:0 10px 30px rgba(11,58,91,.06)}
.vd .pie{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:28px}
.vd .pr b{display:block;font-weight:900;font-size:clamp(46px,4.4vw,68px);letter-spacing:-.04em;line-height:1;color:var(--hondo)}
.vd .pr span{display:block;font-size:14px;color:var(--gris);margin-top:6px}
.vd .acc{display:flex;gap:10px;flex-wrap:wrap}
.btn.borde{background:transparent;color:var(--hondo);box-shadow:inset 0 0 0 2px var(--hondo)}
.btn.borde:hover{background:var(--hondo);color:#fff}
.regalo{margin-top:14px;font-size:14px;color:var(--gris)}
@media(max-width:900px){.vd{grid-template-columns:1fr}.vd:nth-child(even) .vd-img{order:0}.vd dl{grid-template-columns:1fr 1fr}}

.listas{padding:8vh 0 14vh}
.listas .grid{display:grid;grid-template-columns:1fr 1fr;gap:4vw}
.listas article{background:#fff;border-radius:28px;padding:40px;box-shadow:0 30px 60px rgba(11,58,91,.08)}
.listas h2{font-weight:900;font-size:clamp(30px,3vw,46px);letter-spacing:-.035em;line-height:1;color:var(--hondo)}
.listas ul{list-style:none;margin-top:24px;display:grid;gap:14px}
.listas li{display:flex;gap:14px;font-size:18px;line-height:1.45}
.listas li::before{content:"";flex:none;width:12px;height:12px;border-radius:50%;background:var(--lima);margin-top:7px}
@media(max-width:860px){.listas .grid{grid-template-columns:1fr}.listas article{padding:28px}}

/* Pasos */
.pasos{padding:14vh 0}
.pasos .grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw}
.pasos .pegada{position:sticky;top:12vh;height:76vh;border-radius:30px;overflow:hidden;box-shadow:0 40px 80px rgba(11,58,91,.2)}
.pasos .pegada img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .8s,transform 1.4s cubic-bezier(.2,.7,.2,1)}
.pasos .pegada img.on{opacity:1;transform:none}
.pasos .num{position:absolute;left:26px;bottom:14px;font-weight:900;font-size:130px;line-height:1;color:#fff;text-shadow:0 6px 40px rgba(0,0,0,.4)}
.paso{min-height:60vh;display:flex;flex-direction:column;justify-content:center;opacity:.3;transition:opacity .6s}
.paso.on{opacity:1}
.paso small{font-weight:900;color:var(--azul);font-size:14px;letter-spacing:.2em}
.paso h2{font-weight:900;font-size:clamp(32px,3.6vw,56px);letter-spacing:-.035em;line-height:1;margin-top:8px;color:var(--hondo)}
.paso p{margin-top:14px;font-size:19px;line-height:1.55;color:var(--gris);max-width:40ch}
.paso .mov{display:none}
@media(max-width:860px){.pasos .grid{grid-template-columns:1fr}.pasos .pegada{display:none}.paso{min-height:auto;padding:22px 0;opacity:1}.paso .mov{display:block;border-radius:22px;margin-bottom:16px;aspect-ratio:4/3;object-fit:cover;width:100%}}

/* Nosotros */
.cita{padding:16vh 0}
.cita .grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}
.cita .img{border-radius:30px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 40px 80px rgba(11,58,91,.18)}
.cita .img img{width:100%;height:100%;object-fit:cover}
.cita blockquote{font-weight:900;font-size:clamp(26px,2.8vw,42px);letter-spacing:-.025em;line-height:1.15;color:var(--hondo)}
.cita cite{display:block;margin-top:24px;font-style:normal;font-weight:900;font-size:18px}
.cita cite span{display:block;font-weight:500;color:var(--gris)}
.cifras{background:var(--hondo);color:#fff;padding:12vh 0}
.cifras .fila{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.cifras b{display:block;font-weight:900;font-size:clamp(46px,5.6vw,92px);letter-spacing:-.05em;line-height:1;color:var(--lima)}
.cifras span{display:block;margin-top:8px;font-size:17px;opacity:.85}
.cifras .fuente{margin-top:5vh;font-size:14px;opacity:.6}
@media(max-width:860px){.cita .grid{grid-template-columns:1fr}.cifras .fila{grid-template-columns:1fr 1fr;gap:30px}}
.dos{padding:14vh 0}
.dos .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.dos figure{border-radius:24px;overflow:hidden;aspect-ratio:3/4}
.dos figure img{width:100%;height:100%;object-fit:cover}
@media(max-width:860px){.dos .grid{grid-template-columns:1fr 1fr}.dos figure:last-child{grid-column:1/3;aspect-ratio:16/10}}

/* Contacto */
.contacto{padding:12vh 0}
.contacto .grid{display:grid;grid-template-columns:1fr 1.1fr;gap:5vw;align-items:start}
.tarjetas{display:grid;gap:14px}
.tarjeta{display:block;background:#fff;border-radius:22px;padding:24px 26px;text-decoration:none;box-shadow:0 18px 40px rgba(11,58,91,.07);transition:transform .25s}
a.tarjeta:hover{transform:translateY(-3px)}
.tarjeta b{display:block;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--azul)}
.tarjeta span{display:block;margin-top:6px;font-weight:900;font-size:22px;color:var(--hondo);line-height:1.25}
.tarjeta small{display:block;margin-top:4px;color:var(--gris);font-size:15px}
.aviso{margin-top:6px;font-size:16px;line-height:1.5;color:var(--gris)}
.form{background:#fff;border-radius:28px;padding:36px;box-shadow:0 30px 60px rgba(11,58,91,.1)}
.form h2{font-weight:900;font-size:clamp(30px,3vw,44px);letter-spacing:-.035em;color:var(--hondo)}
.form>p{margin-top:8px;color:var(--gris);line-height:1.5}
.form .campos{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.form label{display:block;font-weight:900;font-size:14px;color:var(--hondo)}
.form .ancho{grid-column:1/3}
.form input,.form select,.form textarea{display:block;width:100%;margin-top:6px;font:600 17px Nu,system-ui;color:var(--tinta);background:var(--cielo);border:2px solid transparent;border-radius:14px;padding:13px 14px;outline:none}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--azul);background:#fff}
.form textarea{min-height:110px;resize:vertical}
.form .acc{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.form button{font:900 16px Nu,system-ui;border:0;cursor:pointer}
@media(max-width:860px){.contacto .grid{grid-template-columns:1fr}.form{padding:26px}.form .campos{grid-template-columns:1fr}.form .ancho{grid-column:auto}}
.contacto .mapa{background:#dfeaf1}
.contacto .mapa button{background:var(--hondo);color:#fff}
.contacto .mapa p{color:var(--gris);opacity:1}

/* Legales */
.legal{padding:16vh 0 12vh}
.legal .w{max-width:820px}
.legal h1{font-weight:900;font-size:clamp(36px,4.6vw,64px);letter-spacing:-.04em;line-height:1;color:var(--hondo)}
.legal h2{font-weight:900;font-size:24px;margin-top:40px;color:var(--hondo)}
.legal p,.legal li{font-size:17px;line-height:1.7;color:#2a465c;margin-top:12px}
.legal ul{padding-left:20px}
.pend{background:#fff3c4;padding:1px 6px;border-radius:6px}

/* Pie */
.pie-web{background:#072a42;color:rgba(255,255,255,.78);padding:10vh 0 4vh}
.pie-web .grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px}
.pie-web img{height:44px;width:auto}
.pie-web p{margin-top:16px;font-size:15px;line-height:1.6;max-width:34ch}
.pie-web b{display:block;color:#fff;font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:12px}
.pie-web a{display:block;text-decoration:none;padding:4px 0;font-weight:700}
.pie-web a:hover{color:var(--lima)}
.pie-web .bajo{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:8vh;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:13px}
.pie-web .bajo a{display:inline;margin-right:16px;font-weight:500}
@media(max-width:860px){.pie-web .grid{grid-template-columns:1fr 1fr}.pie-web .grid>div:first-child{grid-column:1/3}}
.e404{min-height:100svh;display:grid;place-items:center;text-align:center;position:relative;color:#fff;overflow:hidden}
.e404>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.e404::before{content:"";position:absolute;inset:0;background:rgba(8,26,42,.55);z-index:1}
.e404 div{position:relative;z-index:2;padding:6vw}
.e404 h1{font-weight:900;font-size:clamp(40px,6vw,90px);letter-spacing:-.04em;line-height:.95}
.e404 .lan{margin-top:20px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.e404 .lan a{color:#fff}
.video{padding:14vh 0 4vh}
.video h2{font-weight:900;font-size:clamp(34px,4.4vw,64px);letter-spacing:-.04em;line-height:.95;color:var(--tinta);margin-bottom:5vh}
.marco-v{position:relative;aspect-ratio:16/9;border-radius:28px;overflow:hidden;background:var(--hondo);box-shadow:0 30px 80px -30px rgba(11,58,91,.45)}
.marco-v img,.marco-v iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.marco-v::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,34,54,0) 40%,rgba(11,34,54,.6));pointer-events:none}
.marco-v.on::after{display:none}
.marco-v button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:flex;align-items:center;gap:12px;background:#fff;color:var(--tinta);border:0;border-radius:999px;padding:14px 26px 14px 14px;font:inherit;font-weight:900;font-size:17px;cursor:pointer;box-shadow:0 14px 40px rgba(0,0,0,.25);transition:transform .25s}
.marco-v button:hover{transform:translate(-50%,-50%) scale(1.05)}
.marco-v .play{width:44px;height:44px;border-radius:50%;background:var(--azul);position:relative}
.marco-v .play::before{content:"";position:absolute;left:17px;top:13px;border-left:14px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent}
.marco-v small{position:absolute;left:0;right:0;bottom:14px;z-index:2;text-align:center;color:#fff;font-size:13px;opacity:.85}
