/* IKI Travel — rediseño 2026 · paleta original: marino #133373 · coral #C74B4C */
@font-face{font-family:'Poppins';src:url(../font/Poppins-Bold.ttf);font-weight:700}
@font-face{font-family:'Poppins';src:url(../font/Poppins-Regular.ttf);font-weight:400}
@font-face{font-family:'Barlow';src:url(../font/Barlow-Regular.ttf);font-weight:400}
@font-face{font-family:'Barlow';src:url(../font/Barlow-Bold.ttf);font-weight:700}
:root{
  --marino:#133373;
  --marino-osc:#0C2352;
  --azul2:#445479;
  --coral:#C74B4C;
  --coral-suave:#E4807F;
  --claro:#F4F5F8;
  --blanco:#FFFFFF;
  --tinta:#1C2437;
  --niebla:#5C6579;
  --radio:16px;
  --trans:.45s cubic-bezier(.22,.8,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Barlow',sans-serif;background:var(--blanco);color:var(--tinta);line-height:1.65;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,.display{font-family:'Poppins',sans-serif;font-weight:700;line-height:1.15;color:var(--marino)}
.wrap{width:min(1180px,92%);margin:0 auto}
.eyebrow{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--coral);font-weight:700;font-family:'Poppins',sans-serif}
.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.8rem;border-radius:100px;font-weight:700;font-size:.92rem;font-family:'Poppins',sans-serif;transition:transform var(--trans),box-shadow var(--trans),background var(--trans);cursor:pointer;border:0}
.btn:focus-visible{outline:3px solid var(--coral-suave);outline-offset:3px}
.btn-coral{background:var(--coral);color:#fff}
.btn-coral:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(199,75,76,.35)}
.btn-marino{background:var(--marino);color:#fff}
.btn-marino:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(19,51,115,.3)}
.btn-ghost{border:1.5px solid rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}

/* ── Nav ── */
.nav{position:fixed;inset:0 0 auto;z-index:80;padding:.9rem 0;transition:background .4s,box-shadow .4s}
.nav:not(.solid)::before{content:"";position:absolute;inset:0;bottom:auto;height:140px;background:linear-gradient(180deg,rgba(8,22,52,.55),transparent);z-index:-1;pointer-events:none}
.nav.solid{background:rgba(12,35,82,.96);backdrop-filter:blur(10px);box-shadow:0 8px 28px rgba(0,0,0,.28)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.nav-logo img{height:54px;width:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.45))}
.nav-links{display:flex;gap:1.7rem;align-items:center;font-size:.9rem;font-weight:600;color:#fff}
.nav-links a{opacity:.88;transition:opacity .2s,color .2s;white-space:nowrap}
.nav-links a:hover,.nav-links a:focus-visible{opacity:1;color:var(--coral-suave)}
.nav-links .btn{padding:.6rem 1.3rem;font-size:.82rem}
.ham{display:none;background:none;border:0;color:#fff;font-size:1.7rem;cursor:pointer}
.menu-m{display:none;position:fixed;inset:0;background:var(--marino-osc);z-index:79;padding:6.5rem 8% 3rem;flex-direction:column;gap:1.4rem;font-size:1.15rem;font-weight:600;color:#fff}
.menu-m.open{display:flex}
@media(max-width:1020px){.nav-links{display:none}.ham{display:block}}

/* ── Hero ── */
.hero{position:relative;min-height:86svh;display:grid;place-items:center;isolation:isolate;padding:8.5rem 0 5.5rem;color:#fff;text-align:center}
.hero.full{min-height:100svh}
.hero-bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transform:scale(1.06);animation:heroZoom 12s ease-out forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(12,35,82,.62),rgba(12,35,82,.45) 45%,rgba(12,35,82,.78))}
.hero .eyebrow{color:var(--coral-suave);display:block;margin-bottom:1.2rem}
.hero h1{color:#fff;font-size:clamp(2.3rem,5.8vw,4.3rem);letter-spacing:-.01em}
.hero h1 .line{display:block;overflow:hidden}
.hero h1 .line span{display:inline-block;transform:translateY(112%);animation:rise .9s cubic-bezier(.2,.75,.25,1) forwards}
.hero h1 .line:nth-child(2) span{animation-delay:.15s;color:var(--coral-suave)}
@keyframes rise{to{transform:translateY(0)}}
.hero p{margin:1.5rem auto 2.3rem;max-width:560px;color:rgba(255,255,255,.85);font-size:1.1rem;opacity:0;animation:fade .8s .5s forwards}
.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;opacity:0;animation:fade .8s .7s forwards}
@keyframes fade{to{opacity:1}}
.chips{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:2rem;opacity:0;animation:fade .8s .9s forwards}
.chip{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;font-family:'Poppins',sans-serif;padding:.5rem 1.05rem;border-radius:100px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(4px)}

/* firma: ruta de vuelo */
.route{position:absolute;left:50%;bottom:4.5rem;transform:translateX(-50%);width:min(700px,88%);z-index:1;pointer-events:none}
.route path{fill:none;stroke:var(--coral-suave);stroke-width:2;stroke-dasharray:7 9;stroke-dashoffset:1200;animation:draw 4s 1s ease-out forwards}
.route circle{fill:#fff;opacity:0;animation:fade .5s forwards}
.route circle:nth-of-type(1){animation-delay:1.6s}
.route circle:nth-of-type(2){animation-delay:2.7s}
.route circle:nth-of-type(3){animation-delay:3.9s}
.route text{fill:rgba(255,255,255,.85);font:700 .58rem 'Poppins',sans-serif;letter-spacing:.2em;text-transform:uppercase;opacity:0;animation:fade .5s forwards}
.route text:nth-of-type(1){animation-delay:1.8s}
.route text:nth-of-type(2){animation-delay:2.9s}
.route text:nth-of-type(3){animation-delay:4.1s}
@keyframes draw{to{stroke-dashoffset:0}}

/* ── Secciones ── */
section{padding:6rem 0}
section.tight{padding:4rem 0}
.sec-head{max-width:640px;margin-bottom:3.2rem}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head h2{font-size:clamp(1.8rem,3.4vw,2.7rem);margin-top:.8rem}
.sec-head p{color:var(--niebla);margin-top:1rem}
.claro{background:var(--claro)}
.marino-bg{background:linear-gradient(125deg,var(--marino-osc),var(--marino));color:#fff}
.marino-bg h2,.marino-bg h3{color:#fff}
.marino-bg p{color:rgba(255,255,255,.82)}

.rv{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s ease}
.rv.on{opacity:1;transform:none}

/* stats */
.stats{display:flex;justify-content:center;gap:4.5rem;padding:3.2rem 0;flex-wrap:wrap}
.stat{text-align:center}
.stat .display{font-size:2.7rem;color:var(--coral)}
.stat small{color:var(--niebla);letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;font-weight:700}

/* why cards */
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.2rem}
.card{background:#fff;border:1px solid #E5E8F0;border-radius:var(--radio);padding:2rem 1.7rem;transition:transform var(--trans),box-shadow var(--trans),border-color var(--trans)}
.card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(19,51,115,.12);border-color:rgba(199,75,76,.45)}
.card .ic{width:52px;height:52px;border-radius:14px;background:rgba(199,75,76,.1);display:grid;place-items:center;font-size:1.4rem;margin-bottom:1.1rem;color:var(--coral)}
.card h3{font-size:1.02rem;margin-bottom:.5rem}
.card p{font-size:.92rem;color:var(--niebla)}

/* tour cards */
.tour-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.6rem}
.tour{position:relative;border-radius:var(--radio);overflow:hidden;min-height:470px;display:flex;align-items:flex-end;isolation:isolate;color:#fff}
.tour img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s ease}
.tour:hover img{transform:scale(1.07)}
.tour::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(185deg,rgba(12,35,82,.05) 30%,rgba(12,35,82,.93) 90%)}
.tour-body{padding:2rem;width:100%}
.tour .chips{justify-content:flex-start;margin:0 0 .9rem;opacity:1;animation:none}
.tour .chip{background:rgba(199,75,76,.25);border-color:rgba(228,128,127,.7)}
.tour h3{color:#fff;font-size:1.65rem;margin-bottom:.4rem}
.tour p{color:rgba(255,255,255,.85);font-size:.92rem;margin-bottom:1.2rem}
.tour .go{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-family:'Poppins',sans-serif;color:var(--coral-suave);transition:gap .3s}
.tour:hover .go{gap:.95rem}

/* detalle tour */
.det{display:grid;grid-template-columns:1.05fr .95fr;gap:3.5rem;align-items:start}
@media(max-width:880px){.det{grid-template-columns:1fr}}
.det img.foto{border-radius:var(--radio);width:100%;aspect-ratio:4/3.4;object-fit:cover;position:sticky;top:6.5rem}
.lista{list-style:none;display:grid;gap:.65rem;margin:1.2rem 0 2rem}
.lista li{padding-left:1.7rem;position:relative;color:var(--tinta)}
.lista li::before{content:"✔";position:absolute;left:0;color:var(--coral);font-weight:700}
.lista.no li::before{content:"✕";color:var(--niebla)}
.pills{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0 2rem}
.pill{background:var(--claro);border:1px solid #E0E4EE;color:var(--marino);font-weight:700;font-family:'Poppins',sans-serif;font-size:.78rem;padding:.5rem 1.1rem;border-radius:100px}
.precio-box{background:linear-gradient(125deg,var(--marino-osc),var(--marino));color:#fff;border-radius:var(--radio);padding:2.2rem;display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;margin-top:2.5rem}
.precio-box .display{color:#fff;font-size:1.9rem}
.precio-box small{color:rgba(255,255,255,.75);display:block;letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:700}
.descarga{background:#fff;border:1.5px dashed var(--coral-suave);border-radius:var(--radio);padding:1.6rem 1.8rem;display:flex;gap:1.2rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:2rem}
.descarga strong{font-family:'Poppins',sans-serif;color:var(--marino)}
.terminos{font-size:.9rem;color:var(--niebla);columns:2;column-gap:3rem}
.terminos li{margin-bottom:.7rem;break-inside:avoid;list-style:none;padding-left:1.3rem;position:relative}
.terminos li::before{content:"•";position:absolute;left:0;color:var(--coral)}
@media(max-width:760px){.terminos{columns:1}}

/* academics band */
.band{display:grid;grid-template-columns:1.05fr .95fr;gap:3.5rem;align-items:center}
.band img{border-radius:var(--radio);aspect-ratio:4/3;object-fit:cover;width:100%}
@media(max-width:860px){.band{grid-template-columns:1fr}}

/* contacto */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}
form.persona{display:grid;gap:1rem}
form.persona input,form.persona textarea{background:#fff;border:1.5px solid #DDE2ED;border-radius:12px;padding:1rem 1.2rem;color:var(--tinta);font:inherit;transition:border-color .3s;width:100%}
form.persona input:focus,form.persona textarea:focus{outline:none;border-color:var(--coral)}
::placeholder{color:#9AA2B5}
.form-msg{font-weight:700;font-family:'Poppins',sans-serif;display:none}
.form-msg.ok{display:block;color:#1E7B4F}
.form-msg.err{display:block;color:var(--coral)}
.dato{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:flex-start}
.dato .ic{width:44px;height:44px;flex:none;border-radius:12px;background:rgba(19,51,115,.08);display:grid;place-items:center;color:var(--marino);font-size:1.1rem}
.dato small{display:block;letter-spacing:.15em;text-transform:uppercase;font-size:.66rem;color:var(--niebla);font-weight:700}
.dato a:hover{color:var(--coral)}
.mapa{border:0;width:100%;height:280px;border-radius:var(--radio);margin-top:1rem}

/* footer */
footer{background:var(--marino-osc);color:rgba(255,255,255,.8);padding:4rem 0 2rem;font-size:.9rem}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.14)}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr}}
.foot-grid h4{font-family:'Poppins',sans-serif;color:#fff;margin-bottom:1rem;font-size:1rem}
.foot-grid a{display:block;margin-bottom:.55rem;transition:color .2s}
.foot-grid a:hover{color:var(--coral-suave)}
.foot-logo{height:52px;width:auto;margin-bottom:1rem}
.socials{display:flex;gap:.8rem;margin-top:1rem}
.socials a{width:42px;height:42px;border-radius:50%;background:var(--coral);display:grid;place-items:center;color:#fff;margin:0}
.socials a:hover{background:var(--coral-suave);color:#fff}
.foot-low{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.6rem;font-size:.82rem;color:rgba(255,255,255,.55)}

/* whatsapp float */
.wa{position:fixed;right:1.3rem;bottom:1.3rem;z-index:90;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 12px 30px rgba(0,0,0,.35);transition:transform var(--trans)}
.wa:hover{transform:scale(1.1)}
.wa svg{width:30px;height:30px;fill:#fff}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}
  .hero h1 .line span{transform:none}
  .hero p,.hero-cta,.chips,.route path,.route circle,.route text{opacity:1;stroke-dashoffset:0}
  .rv{opacity:1;transform:none}
}


/* ═══ HOME/PÁGINAS CINEMÁTICAS (compartido) ═══ */
/* ═══════════════════════════════════════════════════════════
   HOME CINEMÁTICO — "El Pasaporte" · overrides y piezas propias
   ═══════════════════════════════════════════════════════════ */
:root{--gutter:clamp(1.2rem,5vw,5rem)}

/* cursor personalizado (solo punteros finos) */
@media(hover:hover) and (pointer:fine){
  body{cursor:none}
  .cursor{position:fixed;top:0;left:0;width:10px;height:10px;border-radius:50%;background:var(--coral);z-index:9999;pointer-events:none;transform:translate(-50%,-50%);transition:width .3s,height .3s,background .3s,opacity .3s;mix-blend-mode:difference}
  .cursor-ring{position:fixed;top:0;left:0;width:42px;height:42px;border:1.5px solid rgba(255,255,255,.6);border-radius:50%;z-index:9998;pointer-events:none;transform:translate(-50%,-50%);transition:width .35s cubic-bezier(.22,.8,.3,1),height .35s cubic-bezier(.22,.8,.3,1),opacity .3s,border-color .3s}
  .cursor.hovering{width:0;height:0}
  .cursor-ring.hovering{width:74px;height:74px;border-color:var(--coral);background:rgba(199,75,76,.08)}
  a,button,.dest-card{cursor:none}
}

/* progreso de scroll */
.scroll-bar{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--coral),var(--coral-suave));z-index:200;transition:width .1s linear}

/* preloader */
.pre{position:fixed;inset:0;z-index:1000;background:var(--marino-osc);display:grid;place-items:center;transition:opacity .8s,visibility .8s}
.pre.done{opacity:0;visibility:hidden}
.pre-in{text-align:center;color:#fff}
.pre-stamp{font-family:'Poppins',sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;border:2px solid var(--coral-suave);color:var(--coral-suave);padding:.7rem 1.4rem;border-radius:8px;transform:rotate(-8deg);display:inline-block;opacity:0;animation:stampIn .6s .1s forwards}
@keyframes stampIn{0%{opacity:0;transform:rotate(-8deg) scale(1.8)}60%{opacity:1}100%{opacity:1;transform:rotate(-8deg) scale(1)}}
.pre-bar{width:180px;height:2px;background:rgba(255,255,255,.15);margin:1.6rem auto 0;overflow:hidden;border-radius:2px}
.pre-bar span{display:block;height:100%;width:0;background:var(--coral);animation:load 1.3s .3s ease-out forwards}
@keyframes load{to{width:100%}}

/* ─── HERO cinemático ─── */
.cine{position:relative;height:100svh;overflow:hidden;isolation:isolate}
.cine-layer{position:absolute;inset:-8% -4%;background-size:cover;background-position:center;will-change:transform}
.cine-l1{z-index:-4;animation:kb 20s ease-out infinite alternate}
.cine-l2{z-index:-3;background:radial-gradient(130% 90% at 50% 25%,transparent 45%,rgba(12,35,82,.22) 78%,rgba(12,35,82,.55))}
.cine-grain{position:absolute;inset:0;z-index:-2;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes kb{from{transform:scale(1) translate(0,0)}to{transform:scale(1.14) translate(-2%,-2%)}}
.cine::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(12,35,82,.30) 0%,rgba(12,35,82,.10) 28%,rgba(12,35,82,.12) 55%,rgba(12,35,82,.72) 100%)}

.cine-in{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;padding:5rem var(--gutter) 0;color:#fff;z-index:2}
.cine-kicker{display:flex;align-items:center;gap:1rem;font-family:'Poppins',sans-serif;font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--coral-suave);font-weight:700;margin-bottom:1.5rem;opacity:0;animation:fade .8s .3s forwards}
.cine-kicker::before{content:"";width:46px;height:1px;background:var(--coral-suave)}
.cine h1{font-size:clamp(2.8rem,9vw,8rem);line-height:.94;color:#fff;font-weight:700;letter-spacing:-.02em;max-width:14ch;text-shadow:0 10px 50px rgba(0,0,0,.3)}
.cine h1 .w{display:inline-block;overflow:hidden;vertical-align:top}
.cine h1 .w span{display:inline-block;transform:translateY(105%);animation:wordUp 1s cubic-bezier(.16,1,.3,1) forwards}
.cine h1 .accent span{color:var(--coral-suave);font-style:italic;font-family:'Poppins',sans-serif}
@keyframes wordUp{to{transform:translateY(0)}}
.cine-sub{margin-top:2rem;max-width:44ch;font-size:clamp(1rem,1.5vw,1.2rem);color:rgba(255,255,255,.85);opacity:0;animation:fade 1s 1.1s forwards}
.cine-cta{margin-top:2.5rem;display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:fade 1s 1.3s forwards}
.btn-xl{padding:1.1rem 2.4rem;font-size:1rem}
.btn-liquid{position:relative;overflow:hidden;background:var(--coral);color:#fff;z-index:1}
.btn-liquid::before{content:"";position:absolute;inset:0;background:var(--marino);border-radius:100px;transform:scale(0);transform-origin:center;transition:transform .5s cubic-bezier(.22,.8,.3,1);z-index:-1}
.btn-liquid:hover::before{transform:scale(1.6)}
.btn-liquid:hover{transform:translateY(-2px)}

/* ruta de vuelo sobre el hero */
.cine-route{position:absolute;left:0;right:0;bottom:14%;width:100%;height:120px;z-index:1;pointer-events:none;opacity:.9}
.cine-route path{fill:none;stroke:var(--coral-suave);stroke-width:2;stroke-dasharray:6 8;stroke-dashoffset:1400;animation:draw 4.5s 1.6s ease-out forwards}
.cine-route .plane{fill:#fff;opacity:0;animation:fade .4s 2s forwards}
.cine-route circle{fill:#fff}
.cine-route .pt{opacity:0;animation:pop .5s forwards}
.cine-route .pt:nth-of-type(1){animation-delay:2.1s}
.cine-route .pt:nth-of-type(2){animation-delay:3s}
.cine-route .pt:nth-of-type(3){animation-delay:4s}
@keyframes pop{0%{opacity:0;transform:scale(0)}70%{transform:scale(1.6)}100%{opacity:1;transform:scale(1)}}
@keyframes draw{to{stroke-dashoffset:0}}
.cine-route text{fill:#fff;font:700 .6rem 'Poppins',sans-serif;letter-spacing:.18em;text-transform:uppercase;opacity:0;animation:fade .5s forwards}
.cine-route text:nth-of-type(1){animation-delay:2.3s}.cine-route text:nth-of-type(2){animation-delay:3.2s}.cine-route text:nth-of-type(3){animation-delay:4.2s}

.scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.7);font:700 .62rem 'Poppins',sans-serif;letter-spacing:.28em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:.6rem;opacity:0;animation:fade 1s 2s forwards}
.scroll-hint .line{width:1px;height:38px;background:linear-gradient(rgba(255,255,255,.7),transparent);position:relative;overflow:hidden}
.scroll-hint .line::after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--coral-suave);animation:trickle 1.8s ease-in-out infinite}
@keyframes trickle{to{top:100%}}

/* ─── marquee ─── */
.marquee{background:var(--coral);color:#fff;padding:1.1rem 0;overflow:hidden;white-space:nowrap;border-top:1px solid rgba(255,255,255,.15)}
.marquee-track{display:inline-block;animation:scrollx 26s linear infinite;font-family:'Poppins',sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:.05em;text-transform:uppercase}
.marquee-track span{margin:0 1.4rem;opacity:.55}
.marquee-track b{margin:0 1.4rem;font-weight:700}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes scrollx{to{transform:translateX(-50%)}}

/* ─── intro / manifiesto ─── */
.manifesto{padding:clamp(5rem,12vh,10rem) var(--gutter);background:var(--blanco)}
.manifesto-in{max-width:1000px}
.manifesto p{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(1.6rem,3.6vw,3.1rem);line-height:1.28;color:var(--marino);letter-spacing:-.01em}
.manifesto .reveal-word{opacity:.30;transition:opacity .5s;display:inline-block}
.manifesto .reveal-word.lit{opacity:1}
.manifesto .reveal-word.coral{color:var(--coral)}

/* ─── stats banda ─── */
.statband{background:var(--marino-osc);color:#fff;padding:4.5rem var(--gutter);display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2.5rem;text-align:center}
.statband .num{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(2.8rem,5vw,4.2rem);color:#fff;line-height:1}
.statband .num b{color:var(--coral-suave)}
.statband small{display:block;margin-top:.7rem;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;color:rgba(255,255,255,.6);font-weight:700}

/* ─── DESTINOS scrollytelling ─── */
.destinos-cine{padding:clamp(4rem,9vh,8rem) 0;background:var(--blanco)}
.dc-head{padding:0 var(--gutter);margin-bottom:3.5rem;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}
.dc-head h2{font-size:clamp(2rem,5vw,3.6rem);color:var(--marino)}
.dc-head p{color:var(--niebla);max-width:34ch}
.dc-rail{display:flex;gap:1.5rem;padding:0 var(--gutter) 1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--coral) transparent}
.dc-rail::-webkit-scrollbar{height:6px}
.dc-rail::-webkit-scrollbar-thumb{background:var(--coral);border-radius:3px}
.dest-card{position:relative;flex:0 0 min(78vw,420px);height:min(70vh,560px);border-radius:20px;overflow:hidden;scroll-snap-align:center;isolation:isolate;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:2.2rem;text-decoration:none}
.dest-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s cubic-bezier(.22,.8,.3,1)}
.dest-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(12,35,82,0) 35%,rgba(12,35,82,.55) 65%,rgba(8,22,52,.95))}
.dest-card:hover img{transform:scale(1.08)}
.dest-num{position:absolute;top:1.8rem;left:2.2rem;font-family:'Poppins',sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.2em;color:rgba(255,255,255,.65)}
.dest-tag{position:absolute;top:1.7rem;right:2.2rem;font:700 .62rem 'Poppins',sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:.45rem .9rem;border-radius:100px;background:rgba(199,75,76,.28);border:1px solid rgba(228,128,127,.7);backdrop-filter:blur(4px)}
.dest-card h3{font-family:'Poppins',sans-serif;font-size:2.1rem;color:#fff;margin-bottom:.3rem}
.dest-meta{font-size:.86rem;color:rgba(255,255,255,.8);margin-bottom:1rem}
.dest-go{display:inline-flex;align-items:center;gap:.5rem;font-family:'Poppins',sans-serif;font-weight:700;font-size:.9rem;color:#fff;transform:translateY(8px);opacity:0;transition:transform .4s,opacity .4s,gap .3s}
.dest-card:hover .dest-go{transform:translateY(0);opacity:1;gap:.9rem}
.dc-hint{padding:0 var(--gutter);margin-top:1rem;color:var(--niebla);font-size:.82rem;display:flex;align-items:center;gap:.6rem}

/* ─── split academics ─── */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:88vh}
@media(max-width:900px){.split{grid-template-columns:1fr}}
.split-img{position:relative;overflow:hidden;min-height:340px}
.split-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split-txt{background:linear-gradient(150deg,var(--marino),var(--marino-osc));color:#fff;display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,6rem)}
.split-txt .eyebrow{color:var(--coral-suave)}
.split-txt h2{color:#fff;font-size:clamp(2rem,4vw,3.2rem);margin:1rem 0 1.4rem}
.split-txt p{color:rgba(255,255,255,.82);margin-bottom:1rem}
.split-flags{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.5rem 0 2.2rem}
.split-flags span{font:700 .72rem 'Poppins',sans-serif;letter-spacing:.1em;padding:.5rem 1.1rem;border-radius:100px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06)}

/* ─── franja CTA final ─── */
.cta-final{position:relative;padding:clamp(5rem,12vh,9rem) var(--gutter);text-align:center;color:#fff;overflow:hidden;isolation:isolate}
.cta-final img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cta-final::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(12,35,82,.82),rgba(8,22,52,.9))}
.cta-final h2{color:#fff;font-size:clamp(2.2rem,6vw,4.5rem);max-width:16ch;margin:0 auto 1.5rem;line-height:1.05}
.cta-final p{color:rgba(255,255,255,.8);max-width:46ch;margin:0 auto 2.5rem;font-size:1.1rem}

/* reveal genérico */
.up{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.up.on{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}
  .cine h1 .w span{transform:none}
  .cine-kicker,.cine-sub,.cine-cta,.scroll-hint,.cine-route path,.cine-route .pt,.cine-route text,.cine-route .plane{opacity:1;stroke-dashoffset:0}
  .up{opacity:1;transform:none}
  body{cursor:auto}
}

/* ═══ Hero cinemático en páginas interiores (más corto que el home) ═══ */
.cine.cine-inner{height:72svh;min-height:440px}
.cine.cine-inner h1{font-size:clamp(2.4rem,6.5vw,5rem)}
.cine.cine-inner .cine-in{justify-content:flex-end;padding-bottom:5rem}
@media(max-width:700px){.cine.cine-inner{height:64svh}}

/* ═══════════════════════════════════════════════════════════
   CAPA "APPLE" · 2026 — más aire, tipografía protagonista,
   movimiento disciplinado. Menos es más.
   ═══════════════════════════════════════════════════════════ */

/* — Tipografía más fina y con mejor tracking, estilo Apple — */
:root{
  --ease-apple:cubic-bezier(.28,.11,.32,1);
  --maxw:1120px;
}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:-.011em}
h1,h2,h3,.display{letter-spacing:-.025em;font-weight:700}
.eyebrow{letter-spacing:.02em;font-weight:600;font-size:.8rem;text-transform:none}

/* — Quitar el grain y el ruido visual del hero — */
.cine-grain{display:none!important}

/* — Cursor: desactivarlo, Apple no usa cursores custom (limpio) — */
@media(hover:hover) and (pointer:fine){
  body{cursor:auto!important}
  a,button,.dest-card{cursor:pointer!important}
}
.cursor,.cursor-ring{display:none!important}

/* — Preloader más limpio y rápido — */
.pre{background:#fff}
.pre-stamp{border:0;color:var(--marino);transform:none;letter-spacing:.05em;font-size:1.1rem;animation:appleFade .5s forwards}
.pre-bar{background:rgba(19,51,115,.12)}
.pre-bar span{background:var(--marino)}
@keyframes appleFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* — Barra de scroll más delgada y discreta — */
.scroll-bar{height:2px;background:var(--marino)}

/* — HERO estilo Apple: título gigante centrado, mucho aire — */
.cine{height:100svh}
.cine-in{align-items:center;text-align:center;justify-content:center;padding-top:0}
.cine .cine-kicker{justify-content:center}
.cine .cine-kicker::before{display:none}
.cine h1{font-size:clamp(3rem,8.5vw,7rem);letter-spacing:-.03em;max-width:none;line-height:1.02;font-weight:700}
.cine .accent span{font-style:normal}
.cine-sub{margin-left:auto;margin-right:auto;font-size:clamp(1.15rem,1.8vw,1.5rem);font-weight:400;color:rgba(255,255,255,.92);max-width:38ch}
.cine-cta{justify-content:center}

/* Botones estilo Apple: pill nítido, azul, hover sutil */
.btn{letter-spacing:-.01em;font-weight:500;transition:transform .3s var(--ease-apple),background .3s,opacity .3s}
.btn-liquid{background:var(--marino)}
.btn-liquid::before{display:none}
.btn-liquid:hover{background:#0d2a63;transform:none;opacity:.95}
.btn-coral{transition:opacity .3s,transform .3s var(--ease-apple)}
.btn-coral:hover{transform:none;opacity:.9;box-shadow:none}
.btn-ghost{backdrop-filter:blur(10px);background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.5)}
.btn-ghost:hover{background:rgba(255,255,255,.22)}

/* Link-style CTA azul con flecha (muy Apple) */
.apple-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--marino);font-weight:500;font-size:1.05rem;transition:gap .3s var(--ease-apple)}
.apple-link::after{content:"›";font-size:1.3em;line-height:1;transition:transform .3s var(--ease-apple)}
.apple-link:hover::after{transform:translateX(3px)}

/* — Secciones con MUCHO más aire — */
section{padding:clamp(6rem,13vh,11rem) 0}
.sec-head h2{font-size:clamp(2.2rem,4.5vw,3.6rem);letter-spacing:-.03em}
.sec-head p{font-size:1.2rem;color:#6b7280}

/* — Manifiesto → statement gigante centrado tipo Apple — */
.manifesto{padding:clamp(7rem,16vh,13rem) var(--gutter);text-align:center}
.manifesto-in{max-width:900px;margin:0 auto}
.manifesto p{font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.18;letter-spacing:-.03em;font-weight:600}
.manifesto .reveal-word{opacity:.22}
.manifesto .reveal-word.coral{color:var(--coral)}

/* — Stats: más grandes, más limpias — */
.statband{background:#fff;color:var(--tinta);padding:clamp(4rem,9vh,7rem) var(--gutter);border-top:1px solid #eceef2;border-bottom:1px solid #eceef2}
.statband .num{color:var(--marino);font-size:clamp(3rem,6vw,5rem);letter-spacing:-.04em}
.statband .num b{color:var(--marino)}
.statband small{color:#8a92a3}

/* — Tarjetas de destino: bordes más redondeados, sombra suave Apple — */
.dest-card{border-radius:28px}
.dest-card::after{background:linear-gradient(180deg,rgba(10,25,60,0) 40%,rgba(10,25,60,.5) 70%,rgba(8,20,48,.92))}
.dest-card h3{font-size:2rem;letter-spacing:-.03em}
.destinos-cine .dc-head h2{font-size:clamp(2.4rem,5vw,4rem)}

/* Tarjetas "por qué": estilo tile Apple, fondo gris muy claro, sin borde duro */
.claro{background:#f5f5f7}
.card{background:#fff;border:0;border-radius:22px;box-shadow:0 2px 20px rgba(0,0,0,.04);padding:2.4rem 2rem}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(19,51,115,.10)}
.card .ic{background:rgba(19,51,115,.07);border-radius:16px}
.card h3{font-size:1.15rem;letter-spacing:-.02em}
.card p{color:#6b7280}

/* — Split academics: más aire y tipografía grande — */
.split-txt h2{font-size:clamp(2.2rem,4vw,3.4rem);letter-spacing:-.03em}
.split-txt p{font-size:1.15rem}

/* — CTA final: título gigante, estilo keynote — */
.cta-final h2{font-size:clamp(2.6rem,6.5vw,5rem);letter-spacing:-.035em;line-height:1.02}
.cta-final p{font-size:1.25rem}

/* — Nav más translúcido y aireado, estilo Apple (frosted) — */
.nav.solid{background:rgba(255,255,255,.72);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.nav.solid .nav-links{color:var(--tinta)}
.nav.solid .nav-links a{opacity:.8}
.nav.solid .nav-links a:hover{opacity:1;color:var(--marino)}
.nav.solid .nav-links .btn-coral{color:#fff}
.nav.solid .ham{color:var(--tinta)}
.nav.solid .nav-logo img{filter:none}

/* Reveal Apple: fade + subida sutil, easing propio */
.up,.rv{transition:opacity 1s var(--ease-apple),transform 1s var(--ease-apple)}
.up{transform:translateY(30px)}

/* — Marquee: hacerla más sutil, delgada, tipo ticker premium — */
.marquee{background:#fff;color:var(--marino);border-top:1px solid #eceef2;border-bottom:1px solid #eceef2;padding:1.4rem 0}
.marquee-track{font-weight:600;font-size:1.4rem;letter-spacing:-.02em}
.marquee-track span{color:var(--coral);opacity:1;margin:0 1.6rem}
.marquee-track b{color:var(--marino);font-weight:600}

/* — Hero interior: un poco más de altura y aire — */
.cine.cine-inner{height:78svh}
.cine.cine-inner .cine-in{justify-content:center;padding-bottom:0}
.cine.cine-inner h1{font-size:clamp(2.8rem,7vw,5.5rem)}

/* Scroll-hint más discreto */
.scroll-hint{font-size:.58rem;opacity:.55!important}

/* Ocultar la ruta de vuelo en el home (era mucho ruido); dejamos hero limpio */
.cine-route{opacity:.35}

/* — Refinamiento entrada hero: fade suave y unificado (más Apple que palabras escalonadas) — */
.cine h1 .w span{animation:appleHero 1.1s var(--ease-apple) forwards}
@keyframes appleHero{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.cine h1 .w{overflow:visible}

/* ═══════════════════════════════════════════════════════════
   SHOWCASE ESTILO APPLE · páginas de viaje — recorrido visual
   ═══════════════════════════════════════════════════════════ */

/* Momento full-bleed: imagen a pantalla completa con frase encima */
.show-full{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;isolation:isolate;color:#fff;padding:6rem var(--gutter)}
.show-full > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;will-change:transform}
.show-full::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,20,48,.45),rgba(8,20,48,.25) 40%,rgba(8,20,48,.55))}
.show-full.dark::after{background:linear-gradient(180deg,rgba(8,20,48,.55),rgba(8,20,48,.4) 40%,rgba(8,20,48,.7))}
.show-full-in{max-width:900px}
.show-full .kick{display:block;font-family:'Poppins',sans-serif;font-weight:600;font-size:.85rem;letter-spacing:.05em;color:var(--coral-suave);margin-bottom:1.2rem}
.show-full h2{color:#fff;font-size:clamp(2.4rem,6vw,4.8rem);letter-spacing:-.035em;line-height:1.04;margin:0}
.show-full p{color:rgba(255,255,255,.9);font-size:clamp(1.15rem,1.8vw,1.5rem);margin-top:1.5rem;max-width:40ch;margin-inline:auto;font-weight:400}

/* Momento claro centrado (statement sobre fondo blanco) */
.show-statement{padding:clamp(7rem,16vh,13rem) var(--gutter);text-align:center;background:#fff}
.show-statement .kick{display:block;font-family:'Poppins',sans-serif;font-weight:600;font-size:.85rem;color:var(--coral);margin-bottom:1.4rem}
.show-statement h2{font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.035em;line-height:1.1;max-width:16ch;margin:0 auto}
.show-statement p{font-size:1.3rem;color:#6b7280;max-width:52ch;margin:1.8rem auto 0}

/* Sección alterna: imagen + texto (50/50), sticky feeling */
.show-duo{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:90svh;background:#f5f5f7}
.show-duo.flip .show-duo-img{order:2}
.show-duo-img{position:relative;height:100%;min-height:60svh;overflow:hidden}
.show-duo-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.show-duo-txt{padding:clamp(3rem,7vw,7rem)}
.show-duo-txt .kick{font-family:'Poppins',sans-serif;font-weight:600;font-size:.82rem;color:var(--coral);letter-spacing:.02em}
.show-duo-txt h3{font-size:clamp(1.9rem,3.6vw,3rem);letter-spacing:-.03em;margin:.9rem 0 1.2rem;line-height:1.08}
.show-duo-txt p{font-size:1.18rem;color:#5c6579;line-height:1.6}
@media(max-width:900px){.show-duo{grid-template-columns:1fr}.show-duo.flip .show-duo-img{order:0}.show-duo-img{min-height:56svh}}

/* Galería de ciudades: scroll horizontal tipo Apple con tarjetas */
.show-cities{padding:clamp(5rem,11vh,9rem) 0;background:#fff}
.show-cities .sc-head{padding:0 var(--gutter);max-width:var(--maxw);margin:0 auto 3rem}
.show-cities .sc-head .kick{font-family:'Poppins',sans-serif;font-weight:600;color:var(--coral);font-size:.85rem;display:block;margin-bottom:1rem}
.show-cities .sc-head h2{font-size:clamp(2rem,4.5vw,3.4rem);letter-spacing:-.03em}
.sc-rail{display:flex;gap:1.4rem;overflow-x:auto;padding:0 var(--gutter) 1.5rem;scroll-snap-type:x mandatory;scrollbar-width:none}
.sc-rail::-webkit-scrollbar{display:none}
.sc-city{position:relative;flex:0 0 min(70vw,340px);height:460px;border-radius:24px;overflow:hidden;scroll-snap-align:start;isolation:isolate;color:#fff;display:flex;align-items:flex-end;padding:1.8rem;text-decoration:none}
.sc-city img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s var(--ease-apple)}
.sc-city::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,20,48,0) 45%,rgba(8,20,48,.85))}
.sc-city:hover img{transform:scale(1.06)}
.sc-city h4{font-family:'Poppins',sans-serif;font-size:1.5rem;color:#fff;letter-spacing:-.02em}
.sc-city span{font-size:.9rem;color:rgba(255,255,255,.8)}

/* Franja de "incluye" reimaginada: iconos grandes sobre fondo oscuro */
.show-includes{padding:clamp(5rem,11vh,9rem) var(--gutter);background:linear-gradient(160deg,var(--marino),var(--marino-osc));color:#fff}
.show-includes-in{max-width:var(--maxw);margin:0 auto}
.show-includes .kick{font-family:'Poppins',sans-serif;font-weight:600;color:var(--coral-suave);font-size:.85rem;display:block;margin-bottom:1rem}
.show-includes h2{color:#fff;font-size:clamp(2rem,4.5vw,3.4rem);letter-spacing:-.03em;margin-bottom:3rem;max-width:18ch}
.inc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2.5rem 2rem}
.inc-item{display:flex;gap:1rem;align-items:flex-start}
.inc-item .dot{flex:none;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:1.3rem}
.inc-item h4{font-family:'Poppins',sans-serif;font-size:1.05rem;font-weight:600;color:#fff;margin-bottom:.2rem;letter-spacing:-.01em}
.inc-item p{font-size:.95rem;color:rgba(255,255,255,.65);line-height:1.5}
.inc-note{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.55);font-size:.92rem}
.inc-note b{color:rgba(255,255,255,.85);font-weight:600}

/* CTA de reserva showcase: precio grande + botón */
.show-book{position:relative;padding:clamp(6rem,13vh,10rem) var(--gutter);text-align:center;color:#fff;overflow:hidden;isolation:isolate}
.show-book img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.show-book::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(8,20,48,.78),rgba(8,20,48,.88))}
.show-book .kick{font-family:'Poppins',sans-serif;font-weight:600;color:var(--coral-suave);font-size:.85rem;display:block;margin-bottom:1.2rem}
.show-book h2{color:#fff;font-size:clamp(2.4rem,5.5vw,4.4rem);letter-spacing:-.035em;line-height:1.04;margin-bottom:1rem}
.show-book .price{font-family:'Poppins',sans-serif;font-size:1.3rem;color:rgba(255,255,255,.9);margin-bottom:2.4rem}
.show-book .price b{color:#fff}
.show-book-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* Parallax leve para imágenes full-bleed del showcase */
@media(prefers-reduced-motion:no-preference){
  .show-full > img[data-par]{transform:scale(1.12)}
}

/* Términos plegables tipo Apple (acordeón limpio) */
.show-terms{max-width:820px;margin:0 auto;padding:clamp(4rem,9vh,7rem) var(--gutter)}
.show-terms h2{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.02em;margin-bottom:2rem;text-align:center}
.term-row{border-top:1px solid #e6e8ee;padding:1.3rem 0;color:#5c6579;font-size:1rem;line-height:1.55;display:flex;gap:1rem}
.term-row::before{content:"—";color:var(--coral);flex:none}
.term-row:last-child{border-bottom:1px solid #e6e8ee}

/* ═══════════════════════════════════════════════════════════
   FIX 1 · CONTRASTE — texto legible sobre imagen
   ═══════════════════════════════════════════════════════════ */
/* Capa de refuerzo detrás del texto del hero (viñeta central + base más oscura) */
.cine::after{background:
  radial-gradient(120% 90% at 50% 45%, rgba(8,20,48,.55) 0%, rgba(8,20,48,.30) 40%, transparent 75%),
  linear-gradient(180deg, rgba(8,20,48,.42) 0%, rgba(8,20,48,.20) 25%, rgba(8,20,48,.34) 55%, rgba(8,20,48,.82) 100%)!important}
/* Sombra de texto para separar del fondo */
.cine h1{text-shadow:0 4px 40px rgba(0,0,0,.45),0 2px 10px rgba(0,0,0,.35)}
.cine-sub{text-shadow:0 2px 20px rgba(0,0,0,.5)}
.cine-kicker{text-shadow:0 2px 14px rgba(0,0,0,.4)}
/* Hero interior (showcase): mismo tratamiento reforzado */
.cine.cine-inner::after{background:
  radial-gradient(110% 80% at 50% 50%, rgba(8,20,48,.55) 0%, rgba(8,20,48,.32) 45%, transparent 78%),
  linear-gradient(180deg, rgba(8,20,48,.5), rgba(8,20,48,.3) 45%, rgba(8,20,48,.75))!important}
/* Momentos full-bleed del showcase: más contraste bajo el texto */
.show-full::after{background:
  radial-gradient(120% 90% at 50% 45%, rgba(8,20,48,.5) 0%, rgba(8,20,48,.28) 45%, transparent 78%),
  linear-gradient(180deg, rgba(8,20,48,.5), rgba(8,20,48,.28) 40%, rgba(8,20,48,.6))!important}
.show-full h2{text-shadow:0 4px 40px rgba(0,0,0,.45),0 2px 10px rgba(0,0,0,.35)}
.show-full p,.show-full .kick{text-shadow:0 2px 18px rgba(0,0,0,.5)}

/* ═══ FIX 2 · Carruseles: cursor grab, flechas, hint de scroll ═══ */
.dc-rail,.sc-rail{cursor:grab;scroll-behavior:smooth}
.dc-rail:active,.sc-rail:active{cursor:grabbing}
.dc-rail a,.sc-city{user-select:none}
.dc-rail img,.sc-city img{pointer-events:none}

/* barra visible sutil para dc-rail (indica que hay más) */
.dc-rail{scrollbar-width:thin}

.rail-nav{display:flex;gap:.6rem;justify-content:flex-end;padding:1.4rem var(--gutter) 0;max-width:none}
.rail-btn{width:52px;height:52px;border-radius:50%;border:1px solid #d7dbe4;background:#fff;color:var(--marino);font-size:1.6rem;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .3s var(--ease-apple),border-color .3s,transform .3s var(--ease-apple),opacity .3s;font-family:'Poppins',sans-serif;padding-bottom:3px}
.rail-btn:hover{background:var(--marino);color:#fff;border-color:var(--marino);transform:scale(1.05)}
.rail-btn.off{opacity:.3;pointer-events:none}
/* en secciones oscuras (show-cities está en blanco, dc-rail en index está en blanco) las flechas van bien en claro */

/* animación sutil del hint "desliza" para invitar */
.dc-hint{animation:nudge 2.2s ease-in-out infinite}
@keyframes nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
@media(prefers-reduced-motion:reduce){.dc-hint{animation:none}}

/* ═══════════════════════════════════════════════════════════
   FIX 3 · SHOWCASE VIVO — animaciones al hacer scroll
   ═══════════════════════════════════════════════════════════ */

/* Estado inicial de cada bloque animable (se activa con .in vía JS) */
.anim{opacity:0;transform:translateY(48px);transition:opacity 1.1s var(--ease-apple),transform 1.1s var(--ease-apple)}
.anim.in{opacity:1;transform:none}
/* retrasos escalonados para hijos */
.anim-d1{transition-delay:.08s}
.anim-d2{transition-delay:.16s}
.anim-d3{transition-delay:.24s}

/* Statement: el texto sube y aparece */
.show-statement .kick,.show-statement h2,.show-statement p{opacity:0;transform:translateY(40px);transition:opacity 1.1s var(--ease-apple),transform 1.1s var(--ease-apple)}
.show-statement.in .kick{opacity:1;transform:none;transition-delay:0s}
.show-statement.in h2{opacity:1;transform:none;transition-delay:.1s}
.show-statement.in p{opacity:1;transform:none;transition-delay:.22s}

/* Duo: imagen entra desde su lado, texto sube */
.show-duo-img{clip-path:inset(0 0 0 0);overflow:hidden}
.show-duo-img img{transform:scale(1.15);transition:transform 1.6s var(--ease-apple)}
.show-duo.in .show-duo-img img{transform:scale(1)}
.show-duo-txt .kick,.show-duo-txt h3,.show-duo-txt p{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease-apple),transform 1s var(--ease-apple)}
.show-duo.in .show-duo-txt .kick{opacity:1;transform:none;transition-delay:.15s}
.show-duo.in .show-duo-txt h3{opacity:1;transform:none;transition-delay:.28s}
.show-duo.in .show-duo-txt p{opacity:1;transform:none;transition-delay:.4s}

/* Full-bleed: texto entra y la imagen hace parallax (via JS con data-par) */
.show-full .show-full-in{opacity:0;transform:translateY(40px) scale(.98);transition:opacity 1.2s var(--ease-apple),transform 1.2s var(--ease-apple)}
.show-full.in .show-full-in{opacity:1;transform:none}
.show-full > img{will-change:transform}

/* Includes: los items entran en cascada */
.inc-item{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease-apple),transform .9s var(--ease-apple)}
.show-includes.in .inc-item{opacity:1;transform:none}
.show-includes.in .inc-item:nth-child(1){transition-delay:.05s}
.show-includes.in .inc-item:nth-child(2){transition-delay:.12s}
.show-includes.in .inc-item:nth-child(3){transition-delay:.19s}
.show-includes.in .inc-item:nth-child(4){transition-delay:.26s}
.show-includes.in .inc-item:nth-child(5){transition-delay:.33s}
.show-includes.in .inc-item:nth-child(6){transition-delay:.4s}
.show-includes.in .inc-item:nth-child(7){transition-delay:.47s}
.show-includes.in .inc-item:nth-child(8){transition-delay:.54s}
.show-includes .kick,.show-includes h2{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease-apple),transform 1s var(--ease-apple)}
.show-includes.in .kick{opacity:1;transform:none}
.show-includes.in h2{opacity:1;transform:none;transition-delay:.1s}

/* Ciudades: las tarjetas entran en cascada */
.sc-city{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease-apple),transform 1s var(--ease-apple)}
.show-cities.in .sc-city{opacity:1;transform:none}
.show-cities.in .sc-city:nth-child(1){transition-delay:.05s}
.show-cities.in .sc-city:nth-child(2){transition-delay:.13s}
.show-cities.in .sc-city:nth-child(3){transition-delay:.21s}
.show-cities.in .sc-city:nth-child(4){transition-delay:.29s}
.show-cities.in .sc-city:nth-child(5){transition-delay:.37s}
.show-cities .sc-head{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease-apple),transform 1s var(--ease-apple)}
.show-cities.in .sc-head{opacity:1;transform:none}

/* Book CTA: sube y escala levemente */
.show-book .kick,.show-book h2,.show-book .price,.show-book-cta{opacity:0;transform:translateY(36px);transition:opacity 1.1s var(--ease-apple),transform 1.1s var(--ease-apple)}
.show-book.in .kick{opacity:1;transform:none}
.show-book.in h2{opacity:1;transform:none;transition-delay:.12s}
.show-book.in .price{opacity:1;transform:none;transition-delay:.24s}
.show-book.in .show-book-cta{opacity:1;transform:none;transition-delay:.36s}
.show-book > img{will-change:transform}

/* Términos entran uno a uno */
.term-row{opacity:0;transform:translateX(-20px);transition:opacity .8s var(--ease-apple),transform .8s var(--ease-apple)}
.show-terms.in .term-row{opacity:1;transform:none}
.show-terms.in .term-row:nth-child(2){transition-delay:.06s}
.show-terms.in .term-row:nth-child(3){transition-delay:.12s}
.show-terms.in .term-row:nth-child(4){transition-delay:.18s}
.show-terms.in .term-row:nth-child(5){transition-delay:.24s}
.show-terms.in .term-row:nth-child(6){transition-delay:.3s}
.show-terms h2{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease-apple),transform 1s var(--ease-apple)}
.show-terms.in h2{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  .anim,.show-statement .kick,.show-statement h2,.show-statement p,
  .show-duo-img img,.show-duo-txt .kick,.show-duo-txt h3,.show-duo-txt p,
  .show-full .show-full-in,.inc-item,.show-includes .kick,.show-includes h2,
  .sc-city,.show-cities .sc-head,.show-book .kick,.show-book h2,.show-book .price,
  .show-book-cta,.term-row,.show-terms h2{opacity:1!important;transform:none!important}
}

/* ═══════════════════════════════════════════════════════════
   MODAL DE CONTACTO — mismos campos, mismo envío a wrap.php
   ═══════════════════════════════════════════════════════════ */
.modal-ov{position:fixed;inset:0;z-index:200;background:rgba(8,20,48,.55);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;visibility:hidden;transition:opacity .4s var(--ease-apple),visibility .4s}
.modal-ov.open{opacity:1;visibility:visible}
.modal{background:#fff;border-radius:24px;max-width:540px;width:100%;padding:2.6rem;box-shadow:0 40px 90px rgba(8,20,48,.4);transform:translateY(24px) scale(.98);transition:transform .5s var(--ease-apple);max-height:92vh;overflow-y:auto}
.modal-ov.open .modal{transform:none}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.4rem}
.modal-head .kick{font-family:'Poppins',sans-serif;font-weight:600;color:var(--coral);font-size:.8rem}
.modal h3{font-size:1.7rem;letter-spacing:-.02em;margin:.3rem 0 0}
.modal .sub{color:#6b7280;margin:.5rem 0 1.6rem;font-size:1rem}
.modal-x{flex:none;width:38px;height:38px;border-radius:50%;border:0;background:#f0f1f4;color:var(--tinta);font-size:1.3rem;cursor:pointer;line-height:1;transition:background .3s,transform .3s}
.modal-x:hover{background:#e2e4ea;transform:rotate(90deg)}
.modal form{display:grid;gap:1rem}
.modal input,.modal textarea{background:#fff;border:1.5px solid #dde2ed;border-radius:12px;padding:1rem 1.2rem;color:var(--tinta);font:inherit;transition:border-color .3s;width:100%}
.modal input:focus,.modal textarea:focus{outline:none;border-color:var(--coral)}
.modal .row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:520px){.modal .row2{grid-template-columns:1fr}.modal{padding:1.8rem}}
.modal .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}
.modal .form-msg{font-weight:600;font-family:'Poppins',sans-serif;font-size:.95rem;min-height:1.2em}
.modal .form-msg.ok{color:#1E7B4F}
.modal .form-msg.err{color:var(--coral)}
.modal button[type=submit]{width:100%;justify-content:center}
body.modal-lock{overflow:hidden}

/* ═══ Detalle de sub-programas (Francia: Antibes Essential por edad) + bloque de puntos ═══ */
.show-programs{padding:clamp(4rem,9vh,7rem) 0;background:#f5f5f7}
.show-programs .sp-head{max-width:var(--maxw);margin:0 auto 3rem;padding:0 var(--gutter)}
.show-programs .sp-head .kick{font-family:'Poppins',sans-serif;font-weight:600;color:var(--coral);font-size:.85rem;display:block;margin-bottom:1rem}
.show-programs .sp-head h2{font-size:clamp(2rem,4.5vw,3.2rem);letter-spacing:-.03em}
.sp-grid{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
@media(max-width:820px){.sp-grid{grid-template-columns:1fr}}
.sp-card{background:#fff;border-radius:22px;padding:2.4rem;box-shadow:0 2px 20px rgba(0,0,0,.04)}
.sp-card .age{display:inline-block;font-family:'Poppins',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.08em;color:var(--coral);background:rgba(199,75,76,.1);padding:.45rem 1rem;border-radius:100px;margin-bottom:1.1rem}
.sp-card h3{font-size:1.5rem;letter-spacing:-.02em;margin-bottom:1.2rem;color:var(--marino)}
.sp-card ul{list-style:none;display:grid;gap:.7rem}
.sp-card li{padding-left:1.6rem;position:relative;color:#5c6579;font-size:1rem;line-height:1.5}
.sp-card li::before{content:"✓";position:absolute;left:0;color:var(--coral);font-weight:700}
.sp-card .price{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid #eceef2;font-family:'Poppins',sans-serif;font-weight:600;color:var(--marino)}

/* Bloque de puntos destacados (Irlanda/Inglaterra: "Descubre lo fascinante") */
.show-points{padding:clamp(4rem,9vh,7rem) var(--gutter);background:#fff}
.show-points-in{max-width:920px;margin:0 auto}
.show-points .kick{font-family:'Poppins',sans-serif;font-weight:600;color:var(--coral);font-size:.85rem;display:block;margin-bottom:1rem}
.show-points h2{font-size:clamp(1.9rem,4vw,2.8rem);letter-spacing:-.03em;margin-bottom:1.6rem}
.show-points .lead{font-size:1.2rem;color:#5c6579;line-height:1.7;margin-bottom:2rem}
.show-points ul{list-style:none;display:grid;gap:1rem}
.show-points li{padding-left:2rem;position:relative;font-size:1.1rem;color:#3a4256;line-height:1.6}
.show-points li::before{content:"✦";position:absolute;left:0;color:var(--coral)}

/* ═══ Botón de Mercado Pago (nativo, colores oficiales) ═══ */
.mp-pay{display:inline-block;margin:0}
.mp-btn{display:inline-flex;align-items:center;gap:.7rem;background:#00b1ea;color:#fff;border:0;border-radius:100px;padding:1.1rem 2.2rem;font-family:'Poppins',sans-serif;font-weight:600;font-size:1rem;letter-spacing:-.01em;cursor:pointer;transition:transform .3s var(--ease-apple),background .3s,box-shadow .3s}
.mp-btn:hover{background:#009ee3;transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,158,227,.4)}
.mp-btn svg{flex:none}
.mp-btn:focus-visible{outline:3px solid #80d8f5;outline-offset:3px}
.show-book-cta{align-items:center}
