/* Costa Rica 2027 · versión K · limpia, con video real de fondo. Base heredada de la J.
   Firma: el nombre del país entre el cielo y el volcán; los 7 viajes como pósters que se apilan. */
:root{
  --selva:#0E2A21; --noche:#081A14; --hoja:#178A52; --hoja-2:#0F6E40; --sol:#FFC83D; --sol-2:#FFAE00;
  --papel:#fff; --menta:#F3F6F2; --tinta:#10231D; --gris:#566860; --linea:#D9E4DC;
  --e:cubic-bezier(.16,1,.3,1); --r:24px;
  --f-s:'Instrument Serif',Georgia,serif; --f:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:74px}
body{margin:0;font-family:var(--f);font-weight:500;font-size:16px;line-height:1.55;color:var(--tinta);background:var(--papel);-webkit-font-smoothing:antialiased;overflow-x:hidden}
@supports(overflow:clip){body{overflow-x:clip}}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin:0;padding:0}
ul,ol{list-style:none}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--sol);outline-offset:3px;border-radius:6px}
::selection{background:var(--sol);color:var(--selva)}

/* ---------- títulos de sección ---------- */
.t{font-weight:800;font-size:clamp(32px,8.6vw,68px);line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
.t em,.mani-t em,.hero-h em{font-family:var(--f-s);font-style:italic;font-weight:400;letter-spacing:-.01em}
.t em{color:var(--hoja)}
.lead{font-size:clamp(16px,4.2vw,19px);color:var(--gris);max-width:46ch;margin-top:14px}
.cab{margin-bottom:28px}
.nota{font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.62);max-width:86ch;margin-top:26px}
.nota.clara{color:var(--gris)}

/* ---------- botones (nunca planos) ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:14px 22px;border-radius:999px;font:700 15.5px/1 var(--f);letter-spacing:-.005em;text-decoration:none;white-space:nowrap;cursor:pointer;border:0;transition:transform .16s ease-out;-webkit-tap-highlight-color:transparent}
.btn svg{width:20px;height:20px;flex:none}
.btn:active{transform:translateY(2px) scale(.985)}
.btn-sol{color:#3A2A00;background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,0) 46%),linear-gradient(135deg,#FFD96A,var(--sol-2));box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -3px 0 rgba(160,100,0,.28),0 3px 0 #B67E00,0 12px 26px rgba(255,174,0,.34)}
.btn-wa{color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 44%),linear-gradient(135deg,#27C767 20%,#0F7A38 90%);text-shadow:0 1px 1px rgba(4,60,24,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.32),inset 0 -3px 0 rgba(5,60,25,.3),0 3px 0 #0A5A27,0 12px 26px rgba(20,150,70,.34)}
.btn.chico{min-height:42px;padding:10px 16px;font-size:14px}
.btn.chico svg{width:18px;height:18px}
.btn.grande{min-height:60px;padding:18px 30px;font-size:17.5px}
.btn.ancho{width:100%}
@media(hover:hover){.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(2px) scale(.985)}}

/* ---------- barra ---------- */
.barra{position:fixed;z-index:50;top:0;left:0;right:0;height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px;transition:background-color .3s ease,box-shadow .3s ease}
.barra .logo img{width:132px;height:auto;filter:brightness(0) invert(1);transition:filter .3s ease}
.barra.solida{background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 rgba(10,47,37,.08),0 8px 30px rgba(10,47,37,.08)}
.barra.solida .logo img{filter:none}
.nav{display:none}
@media(min-width:900px){
  .barra{height:68px;padding:0 28px}
  .nav{display:flex;gap:28px;font-weight:600;font-size:14.5px;color:#fff}
  .nav a{text-decoration:none;opacity:.92;padding:8px 0}
  .nav a:hover{opacity:1;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
  .barra.solida .nav{color:var(--selva)}
}

/* ---------- 6. pagos ---------- */
.pagos{background:var(--selva);color:#fff;padding:76px 0}
.pagos .t em{color:var(--sol)}.pagos .lead{color:rgba(255,255,255,.76)}
.pagos-g{display:grid;gap:30px}
.pagos-l{display:grid;gap:12px;margin-top:24px}
.pagos-l li{display:flex;gap:10px;font-size:15px;font-weight:600;line-height:1.4}
.pagos-l svg{flex:none;width:19px;height:19px;color:var(--sol);margin-top:1px}
.calc{background:#fff;color:var(--tinta);border-radius:var(--r);padding:22px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.calc label{display:block;font-size:13px;font-weight:700;color:var(--gris)}
.sel-w{position:relative;margin-top:8px}
.sel-w::after{content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;border-right:2.5px solid var(--selva);border-bottom:2.5px solid var(--selva);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.calc select{width:100%;appearance:none;-webkit-appearance:none;font:700 16px/1.2 var(--f);color:var(--selva);padding:16px 44px 16px 16px;border-radius:14px;border:2px solid var(--linea);background:var(--menta);cursor:pointer}
.calc-n{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 18px}
.calc-n>div{padding:14px;border-radius:16px;background:var(--menta)}
.calc-n .mes{background:var(--selva);color:#fff}
.calc-n small{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.calc-n b{display:block;font-family:var(--f);font-weight:800;letter-spacing:-.03em;font-size:clamp(30px,9vw,44px);line-height:1.05;letter-spacing:.01em;margin-top:4px;font-variant-numeric:tabular-nums}
.calc-n .mes b{color:var(--sol)}
.calc-n span{display:block;font-size:11px;font-weight:600;line-height:1.35;opacity:.75;margin-top:4px}
@media(min-width:900px){.pagos{padding:130px 0}.pagos-g{grid-template-columns:1fr minmax(0,470px);gap:80px;align-items:center}.calc{padding:32px}.pagos-l li{font-size:17px}}

/* ---------- 8. preguntas ---------- */
.faq{background:var(--menta);padding:76px 0 70px}
.faq-l{display:grid;gap:10px}
.faq details{background:#fff;border-radius:18px;box-shadow:0 1px 0 rgba(10,47,37,.06)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 18px;font-weight:700;font-size:16px;line-height:1.3;color:var(--selva)}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;position:relative;width:30px;height:30px;border-radius:50%;background:var(--menta);transition:transform .35s var(--e),background-color .2s ease}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2.4px;border-radius:2px;background:var(--selva);transform:translate(-50%,-50%)}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] summary i{transform:rotate(45deg);background:var(--sol)}
.faq details p{padding:0 18px 20px;font-size:15px;color:var(--gris);max-width:68ch}
@media(min-width:900px){.faq{padding:130px 0 120px}.faq-g{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:80px;align-items:start}.faq .cab{position:sticky;top:110px}.faq .t{font-size:clamp(36px,4vw,54px)}.faq summary{padding:22px 24px;font-size:18px}.faq details p{padding:0 24px 24px;font-size:16px}}

/* ---------- pie y barra fija ---------- */
.pie{background:var(--noche);color:rgba(255,255,255,.7);padding:34px 0 calc(96px + env(safe-area-inset-bottom));font-size:12.5px;line-height:1.5}
.pie .wrap{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.pie img{width:140px;height:auto;filter:brightness(0) invert(1);opacity:.9}
.fija{position:fixed;z-index:40;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 9px 9px 18px;border-radius:999px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 14px 40px rgba(5,27,21,.3),inset 0 0 0 1px rgba(10,47,37,.08);transform:translateY(140%);transition:transform .5s var(--e)}
.fija.ver{transform:none}
.fija p{line-height:1.1}
.fija small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.fija b{font-family:var(--f);font-weight:800;letter-spacing:-.03em;font-size:22px;letter-spacing:.01em;color:var(--selva)}
.fija .btn{min-height:46px;padding:12px 18px;font-size:14.5px}
@media(min-width:900px){.fija{display:none}.pie{padding-bottom:40px}.pie .wrap{flex-direction:row;align-items:center;justify-content:space-between}}

/* ---------- apariciones ---------- */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .9s var(--e);transition-delay:var(--d,0ms)}
.js .rv.in{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv,.js .hero .titulo .l,.js .hero .hero-c>*,.js .fi,.js .mani-t .w{opacity:1!important;transform:none!important;transition:none!important}
  .js .hero .capa.fondo img,.carta-f img,.js .tesela.rv img{transform:none!important;transition:none!important}
  .js .tesela.rv{clip-path:none!important}
  .cinta-r,.pv-r{animation:none}
}

/* =====================================================================
   Páginas de viaje
   ===================================================================== */
.btn-vidrio{color:#fff;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.btn-linea{color:var(--selva);background:#fff;box-shadow:inset 0 0 0 2px var(--selva),0 3px 0 var(--selva)}
.vhero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--noche);color:#fff}
.vhero-f{position:absolute;inset:0;will-change:transform;transform-origin:50% 40%}
.vhero-f img{width:100%;height:100%;object-fit:cover}
.js .vhero-f img{transform:scale(1.12)}
.js .vhero.listo .vhero-f img{transform:none;transition:transform 2.4s var(--e)}
.vhero-f::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,27,21,.5) 0%,rgba(5,27,21,.08) 16%,rgba(5,27,21,.5) 34%,rgba(5,27,21,.82) 58%,rgba(5,27,21,.97) 100%)}
.vhero-c{position:relative;padding-top:90px;padding-bottom:calc(22px + env(safe-area-inset-bottom))}
.js .vhero-c>*{opacity:0;transform:translateY(20px)}
.js .vhero.listo .vhero-c>*{opacity:1;transform:none;transition:opacity .8s ease,transform .9s var(--e)}
.js .vhero.listo .vhero-c>*:nth-child(2){transition-delay:.1s}.js .vhero.listo .vhero-c>*:nth-child(3){transition-delay:.18s}.js .vhero.listo .vhero-c>*:nth-child(4){transition-delay:.26s}.js .vhero.listo .vhero-c>*:nth-child(5){transition-delay:.34s}.js .vhero.listo .vhero-c>*:nth-child(6){transition-delay:.42s}
.volver{display:inline-flex;vertical-align:middle;margin-right:6px;align-items:center;gap:7px;padding:8px 13px 8px 10px;border-radius:999px;font-size:13px;font-weight:700;text-decoration:none;background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.volver svg{width:16px;height:16px;transform:rotate(180deg)}
.vhero .seg{display:inline-block;vertical-align:middle}
.vhero h1{font-family:var(--f-s);font-weight:400;font-size:clamp(44px,13vw,108px);line-height:.94;letter-spacing:-.018em;margin-top:12px;text-wrap:balance;max-width:14ch}
.vhero-m{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sol);margin-top:14px}
.vhero-t{font-size:clamp(16px,4.4vw,21px);line-height:1.35;color:rgba(255,255,255,.9);margin-top:8px;max-width:34ch}
.vhero-p{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.22);display:grid;gap:13px}
.vhero .hero-btns .btn{flex:1 1 auto;padding:14px 16px}
.vhero .hero-btns .btn-wa span{display:inline}.vhero .hero-btns .btn-wa{width:auto;flex:1.5 1 auto}
.niveles{display:flex;gap:8px}
.niveles a{display:flex;flex-direction:column;gap:2px;padding:9px 14px;border-radius:14px;text-decoration:none;line-height:1.1;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.niveles a.on{background:rgba(255,200,61,.16);box-shadow:inset 0 0 0 1.5px var(--sol)}
.niveles small{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.niveles b{font-family:var(--f);font-weight:800;letter-spacing:-.03em;font-size:20px;letter-spacing:.02em}
@media(min-width:900px){
  .vhero-c{padding-bottom:54px}
  .vhero-f::after{background:linear-gradient(180deg,rgba(5,27,21,.5) 0%,rgba(5,27,21,0) 20%,rgba(5,27,21,.2) 45%,rgba(5,27,21,.9) 100%),linear-gradient(90deg,rgba(5,27,21,.82) 0%,rgba(5,27,21,.55) 38%,rgba(5,27,21,0) 72%)}
  .vhero-p{grid-template-columns:auto auto 1fr;align-items:end;gap:34px}
  .vhero .hero-btns{justify-content:flex-end}.vhero .hero-btns .btn{flex:none}
}
/* resumen */
.vres{padding:34px 0 70px}
.datos{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--linea);border-radius:20px;overflow:hidden;box-shadow:0 0 0 1px var(--linea)}
.datos>div{background:#fff;padding:14px 16px}
.datos small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--gris)}
.datos b{display:block;font-size:15px;font-weight:700;line-height:1.3;color:var(--selva);margin-top:3px}
.recorrido{display:flex;align-items:center;gap:0;overflow-x:auto;margin:22px -20px 0;padding:6px 20px;scrollbar-width:none;white-space:nowrap}
.recorrido::-webkit-scrollbar{display:none}
.pt{flex:none;display:inline-flex;align-items:center;font-size:13.5px;font-weight:700;color:var(--selva);padding:9px 14px;border-radius:999px;background:var(--menta)}
.pt.av{background:var(--selva);color:var(--sol);font-family:var(--f);font-weight:800;letter-spacing:-.03em;letter-spacing:.06em;font-size:14px}
.pt+.pt{margin-left:30px;position:relative}
.pt+.pt::before{content:"";position:absolute;left:-26px;top:50%;width:22px;border-top:2px dashed #9DB8A8}
.vres-g{display:grid;gap:28px;margin-top:54px}
.porque{display:grid;gap:12px;margin-top:22px}
.porque li{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:20px;background:var(--menta)}
.porque li>span{flex:none;font-family:var(--f);font-weight:800;font-size:34px;line-height:.9;color:var(--hoja)}
.porque p{font-size:15.5px;font-weight:600;line-height:1.42;color:var(--selva)}
.quien{padding:24px 22px;border-radius:var(--r);background:var(--selva);color:#fff;align-self:start}
.quien small{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sol)}
.quien p{margin-top:8px;font-size:15.5px;color:rgba(255,255,255,.86)}
.quien .frase{font-family:var(--f-s);font-size:25px;line-height:1.18;color:#fff;margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.2)}
@media(min-width:900px){.vres{padding:54px 0 120px}.datos{grid-template-columns:repeat(6,1fr)}.datos>div{padding:20px}.recorrido{margin:26px 0 0;padding:6px 0}.vres-g{grid-template-columns:1.25fr .75fr;gap:60px;margin-top:90px;align-items:start}.porque p{font-size:17px}.quien{padding:34px 32px;position:sticky;top:100px}.quien .frase{font-size:30px}}
/* día por día */
.vdias{background:var(--menta);padding:70px 0}
.dias{display:grid;gap:18px}
.dia{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.dia-n{position:sticky;top:78px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--selva);color:var(--sol);box-shadow:0 8px 18px -6px rgba(10,47,37,.5)}
.dia-n b{font-family:var(--f);font-weight:800;letter-spacing:-.03em;font-size:19px;letter-spacing:.02em}
.dia-c{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 20px 40px -28px rgba(10,47,37,.45)}
.dia-f{aspect-ratio:16/9;overflow:hidden;background:var(--menta)}
.dia-f img{width:100%;height:100%;object-fit:cover;transform:scale(1.14);transition:transform 1.5s var(--e)}
.dia.in .dia-f img{transform:none}
.dia-x{padding:16px 18px 18px}
.dia-x small{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--hoja-2)}
.dia-x h3{font-family:var(--f-s);font-weight:400;font-size:27px;line-height:1.08;color:var(--selva);margin-top:5px}
.dtx{font-size:15px;color:var(--gris);margin-top:9px}
.dmas{font:700 14px/1 var(--f);color:var(--hoja-2);background:none;border:0;padding:6px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}
.meta span{font-size:12px;font-weight:700;padding:6px 10px;border-radius:999px;background:var(--menta);color:var(--selva)}
.meta .incl{background:var(--sol);color:#3A2A00}
.meta .libre{background:#E6EEF8;color:#1F3F6B}
.meta .noche{background:var(--selva);color:#fff}
@media(min-width:900px){.vdias{padding:130px 0}.dias{gap:26px;max-width:980px}.dia{gap:26px}.dia-n{width:60px;height:60px;top:100px}.dia-n b{font-size:25px}.dia-c{display:grid;grid-template-columns:42% 1fr}.dia-f{aspect-ratio:auto;min-height:260px}.dia-x{padding:28px 32px}.dia-x h3{font-size:34px}.dtx{font-size:16px}}
/* hoteles */
.vhot{background:var(--selva);color:#fff;padding:70px 0}
.vhot .t em{color:var(--sol)}.vhot .lead{color:rgba(255,255,255,.76);max-width:60ch}
.nivel{margin-top:26px}
.nivel h3{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-family:var(--f-s);font-weight:400;font-size:32px;line-height:1}
.nivel h3 .cp{font-family:var(--f);font-size:13px;font-weight:700;padding:6px 11px;border-radius:999px;background:var(--sol);color:#3A2A00}
.hot-cards{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:14px -20px 0;padding:2px 20px 14px;scrollbar-width:none}
.hot-cards::-webkit-scrollbar{display:none}
.hc{position:relative;flex:none;width:78%;max-width:340px;scroll-snap-align:center;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);padding-bottom:16px;display:flex;flex-direction:column}
.hc img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover}
.hc small{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sol);padding:14px 16px 0}
.hc b{font-size:16.5px;font-weight:700;line-height:1.25;padding:4px 16px 0}
.hc span{font-size:13px;color:rgba(255,255,255,.72);padding:3px 16px 0}
.hc .ilus{position:absolute;top:10px;left:10px;font-style:normal;font-size:10px;font-weight:600;padding:5px 8px;border-radius:999px;background:rgba(3,18,13,.66);color:rgba(255,255,255,.9)}
@media(min-width:900px){.vhot{padding:130px 0}.nivel{margin-top:44px}.nivel h3{font-size:40px}.hot-cards{margin:20px 0 0;padding:0;overflow:visible;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.hc{width:auto;max-width:none}}
/* incluye */
.vinc{padding:70px 0}
.vinc-g{display:grid;gap:16px}
.lista{padding:22px;border-radius:var(--r);background:var(--menta)}
.lista.no-w{background:#F6F4EF}
.vinc h3{font-size:19px;font-weight:800;color:var(--selva)}
.si,.no2{display:grid;gap:10px;margin-top:14px}
.si li,.no2 li{position:relative;padding-left:30px;font-size:15px;line-height:1.45}
.si li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--hoja) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/13px no-repeat}
.no2 li{color:var(--gris)}
.no2 li::before{content:"";position:absolute;left:3px;top:10px;width:13px;height:2.5px;border-radius:2px;background:#B3ADA0}
.opc-w{margin-top:34px}
.opc{margin-top:12px;border-top:1px solid var(--linea)}
.opc li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid var(--linea);font-size:15px}
.opc li[hidden]{display:none}
.opc b{flex:none;font-size:14px;font-weight:800;color:var(--selva);text-align:right}
.opc-mas{margin-top:16px;min-height:46px;font-size:14.5px}
.opc-no{margin-top:10px;color:var(--gris);font-size:15px}
.notas{margin-top:26px;background:var(--menta);border-radius:18px}
.notas summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;font-weight:700;font-size:16px;color:var(--selva)}
.notas summary::-webkit-details-marker{display:none}
.notas summary i{flex:none;position:relative;width:30px;height:30px;border-radius:50%;background:#fff;transition:transform .35s var(--e)}
.notas summary i::before,.notas summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2.4px;border-radius:2px;background:var(--selva);transform:translate(-50%,-50%)}
.notas summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.notas[open] summary i{transform:rotate(45deg)}
.notas ul{padding:0 18px 20px 36px;list-style:disc;display:grid;gap:7px;font-size:14px;color:var(--gris)}
@media(min-width:900px){.vinc{padding:130px 0}.vinc-g{grid-template-columns:1.2fr .8fr;gap:22px}.lista{padding:34px}.opc-w{margin-top:60px;max-width:860px}}
.vpago .calc label{font-size:15px;color:var(--selva)}
.vpago .calc-n{margin-top:14px}
.vpago .doble{font-size:12.5px;font-weight:600;color:var(--gris);text-align:center;margin-top:14px}
.pagos-l b{font-weight:800}
/* otros */
.votros{padding:70px 0 40px}
.otros-g{display:grid;gap:14px}
.otro{position:relative;display:block;height:230px;border-radius:var(--r);overflow:hidden;color:#fff;text-decoration:none;background:var(--noche)}
.otro img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--e)}
.otro::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,18,13,0) 30%,rgba(3,18,13,.88) 100%)}
.otro div{position:absolute;z-index:1;left:18px;right:18px;bottom:16px}
.otro small{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sol)}
.otro b{display:block;font-family:var(--f-s);font-weight:400;font-size:29px;line-height:1.04;margin-top:3px}
.otro span{display:block;font-size:13px;font-weight:600;opacity:.86;margin-top:5px}
.js .otro.rv{opacity:1}
.leyendas{margin-top:40px;font-size:12px;line-height:1.55;color:var(--gris);display:grid;gap:8px;max-width:96ch}
@media(min-width:900px){.votros{padding:120px 0 60px}.otros-g{grid-template-columns:1fr 1fr;gap:20px}.otro{height:340px}.otro b{font-size:40px}}
@media(hover:hover){.otro:hover img{transform:scale(1.06)}}

/* =====================================================================
   K · portada minimalista con video. Un objetivo: WhatsApp.
   ===================================================================== */
.est{display:flex;gap:2px;color:#F5A800}.est svg{width:16px;height:16px}
.seg{display:inline-block;padding:8px 13px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em;background:rgba(255,255,255,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.26)}
.hero-precio{display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:12px;line-height:1}
.hero-precio small{grid-column:1/-1;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sol);margin-bottom:4px}
.hero-precio b{font-weight:800;font-size:40px;letter-spacing:-.03em}
.hero-precio span{font-size:13px;font-weight:600;line-height:1.3;opacity:.92;padding-bottom:3px}
.hero-btns{display:flex;gap:10px}
.btn{min-height:54px}
.btn.chico{min-height:44px}

/* --- portada --- */
.k-hero{position:relative;height:100vh;height:100svh;min-height:560px;display:flex;align-items:flex-end;color:#fff;background:var(--selva);overflow:hidden}
.k-video{position:absolute;inset:0;will-change:transform;transform-origin:50% 30%}
.k-video img,.k-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0%}
.k-video video{opacity:0;transition:opacity 1.4s ease}
.k-video.vivo video{opacity:1}
.k-video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,26,20,.46) 0%,rgba(8,26,20,0) 16%,rgba(8,26,20,0) 34%,rgba(8,26,20,.72) 62%,rgba(8,26,20,.95) 100%)}
.k-hero-c{position:relative;width:100%;max-width:1200px;margin:0 auto;padding:0 20px calc(16px + env(safe-area-inset-bottom));animation:kin .8s cubic-bezier(.16,1,.3,1) both}
@keyframes kin{from{opacity:.001;transform:translateY(14px)}to{opacity:1;transform:none}}
.k-ceja{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.k-hero h1{font-family:var(--f-s);font-weight:400;font-size:clamp(72px,21vw,176px);line-height:.92;letter-spacing:-.02em;margin-top:4px}
.k-sub{font-size:clamp(16px,4.4vw,22px);font-weight:600;line-height:1.35;margin-top:8px;max-width:30ch}
.k-desde{font-size:13.5px;font-weight:500;line-height:1.45;margin-top:8px;max-width:36ch}
.k-desde b{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0 2px}
.k-acc{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr);gap:7px}
.k-acc .btn{width:100%;padding-inline:14px;font-size:16.5px}
.k-apoyo{font-size:12.5px;line-height:1.4;text-align:center;opacity:.92}
.k-fila{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}
.k-ver{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-weight:700;font-size:15px;color:#fff;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1.5px}
.k-ver svg{width:17px;height:17px;transform:rotate(90deg)}
.k-ver.claro svg{transform:none}
.k-fe{display:flex;align-items:center;gap:6px;white-space:nowrap;min-height:44px;font-size:13px;font-weight:600;color:#fff;text-decoration:none}
.k-fe svg{width:14px;height:14px;color:#F5A800}
@media(max-height:620px) and (max-width:799px){.k-hero h1{font-size:18vw}.k-sub{margin-top:4px}}
@media(max-width:350px){.k-fe span{font-size:12px}.k-ver{font-size:14px}}
@media(min-width:800px){
  .k-video::after{background:linear-gradient(180deg,rgba(8,26,20,.42) 0%,rgba(8,26,20,0) 18%,rgba(8,26,20,0) 40%,rgba(8,26,20,.6) 72%,rgba(8,26,20,.92) 100%),linear-gradient(90deg,rgba(8,26,20,.55) 0%,rgba(8,26,20,0) 60%)}
  .k-hero{min-height:620px}
  .k-hero-c{padding:0 48px 44px;max-width:1296px}
  .k-ceja{font-size:13px;letter-spacing:.14em}
  .k-acc{display:flex;align-items:center;gap:18px;margin-top:22px}
  .k-acc .btn{width:auto;padding-inline:30px;font-size:17.5px}
  .k-apoyo{text-align:left;font-size:14px}
  .k-fila{justify-content:flex-start;gap:34px;margin-top:10px}
  .k-fe{font-size:14px}
  .k-desde{font-size:15px;max-width:none}.k-desde b{font-size:28px}
  .barra .logo img{width:168px}
}

/* --- confianza, pegada a la portada --- */
.k-conf{background:#fff;border-bottom:1px solid var(--linea)}
.k-conf ul{display:grid;grid-template-columns:1fr 1fr}
.k-conf li{padding:20px 6px 18px;text-align:center;border-top:1px solid var(--linea)}
.k-conf li:nth-child(-n+2){border-top:0}
.k-conf li:nth-child(odd){border-right:1px solid var(--linea)}
.k-conf b{display:block;font-family:var(--f-s);font-weight:400;font-size:38px;line-height:1;color:var(--selva)}
.k-conf span{display:block;font-size:13px;font-weight:600;color:var(--gris);margin-top:6px;line-height:1.3}
@media(min-width:800px){.k-conf ul{grid-template-columns:repeat(4,1fr)}.k-conf li{border-top:0;padding:30px 10px 28px;border-right:1px solid var(--linea)}.k-conf li:last-child{border-right:0}.k-conf b{font-size:48px}.k-conf span{font-size:14px}}

/* --- secciones --- */
.k-sec{padding:68px 0}
.k-suave{background:var(--menta)}
.k-oscuro{background:var(--selva);color:#fff}
.k-cab{margin-bottom:30px}
.k-t{font-family:var(--f-s);font-weight:400;font-size:clamp(40px,10.5vw,76px);line-height:1;letter-spacing:-.015em;color:var(--selva);text-wrap:balance}
.k-t em{font-style:italic;color:var(--hoja)}
.k-oscuro .k-t,.k-cierre .k-t{color:#fff}.k-oscuro .k-t em,.k-cierre .k-t em{color:#9FE0BB}
.k-lead{font-size:17px;line-height:1.5;color:var(--gris);margin-top:14px;max-width:46ch}
.k-oscuro .k-lead{color:rgba(255,255,255,.78)}
.k-nota{font-size:13px;line-height:1.55;color:var(--gris);max-width:90ch;margin-top:26px}
.k-cta-b{margin-top:22px;display:grid;gap:8px;justify-items:start}
.k-cta-b .btn{width:100%}
.k-cta-b small{font-size:13px;color:var(--gris);line-height:1.4}
.k-oscuro .k-cta-b small{color:rgba(255,255,255,.75)}
.k-cta-b.centro{justify-items:center;text-align:center;margin-top:34px}
@media(min-width:900px){.k-sec{padding:120px 0}.k-cab{margin-bottom:48px}.k-dos{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.k-dos .k-cab{position:sticky;top:110px;margin-bottom:0}.k-cta-b .btn{width:auto}.k-lead{font-size:19px}}

/* --- los 7 viajes --- */
.k-grid{display:grid;gap:20px}
.k-card{display:flex;flex-direction:column;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 0 0 1px var(--linea),0 18px 40px -30px rgba(14,42,33,.4)}
.k-card-f{position:relative;display:block;aspect-ratio:16/11;overflow:hidden;background:var(--menta)}
.k-card-f img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--e)}
.k-dias{position:absolute;top:12px;left:12px;padding:7px 12px;border-radius:999px;background:#fff;color:var(--selva);font-size:13px;font-weight:700}
.k-card-c{padding:18px 18px 16px;display:flex;flex-direction:column;flex:1}
.k-seg{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--hoja-2)}
.k-card h3{font-family:var(--f-s);font-weight:400;font-size:30px;line-height:1.04;color:var(--selva);margin-top:6px;text-wrap:balance}
.k-card h3 a{text-decoration:none}
.k-ruta{font-size:14px;color:var(--gris);margin-top:8px;line-height:1.45}
.k-dif{display:flex;gap:8px;align-items:flex-start;margin-top:12px;font-size:14px;font-weight:600;line-height:1.4;color:var(--tinta)}
.k-dif svg{flex:none;width:17px;height:17px;margin-top:2px;color:var(--hoja)}
.k-precio{margin-top:auto;padding-top:16px;line-height:1.1}
.k-precio small{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
.k-precio b{display:block;font-size:30px;font-weight:800;letter-spacing:-.03em;color:var(--selva);margin-top:2px}
.k-precio span{display:block;font-size:13px;color:var(--gris);margin-top:3px;line-height:1.35}
.k-card-a{display:grid;gap:2px;margin-top:14px}
.k-card-a .btn{width:100%;min-height:50px;font-size:15px}
.k-mas{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;font-size:14.5px;font-weight:700;color:var(--selva);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1.5px}
.k-mas svg{width:16px;height:16px}
.k-medida{background:var(--selva);color:#fff;justify-content:center}
.k-medida .k-seg{color:#9FE0BB}.k-medida h3{color:#fff}.k-medida .k-ruta{color:rgba(255,255,255,.8);margin-bottom:18px}
.k-medida .btn{width:100%}
@media(min-width:700px){.k-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.k-grid{grid-template-columns:repeat(4,1fr);gap:18px}.k-card-f{aspect-ratio:4/3}.k-card h3{font-size:27px}}
@media(hover:hover){.k-card:hover .k-card-f img{transform:scale(1.05)}}

/* --- cómo funciona --- */
.k-pasos{display:grid;gap:14px}
.k-pasos li{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px var(--linea)}
.k-pasos li>span{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--selva);color:#fff;font-family:var(--f-s);font-size:26px;line-height:1}
.k-pasos b{display:block;font-size:18px;font-weight:700;color:var(--selva);line-height:1.25}
.k-pasos p{font-size:15px;color:var(--gris);margin-top:5px}

/* --- incluye --- */
.k-inc{display:grid;gap:22px}
.k-inc li{display:flex;gap:14px;align-items:flex-start}
.k-ico{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--menta);color:var(--hoja-2)}
.k-ico svg{width:23px;height:23px}
.k-inc b{display:block;font-size:17px;font-weight:700;color:var(--selva);line-height:1.25}
.k-inc p{font-size:15px;color:var(--gris);margin-top:4px}
.k-nova{margin-top:34px;padding-top:22px;border-top:1px solid var(--linea)}
.k-nova b{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
.k-nova ul{display:grid;gap:8px;margin-top:10px}
.k-nova li{position:relative;padding-left:22px;font-size:15px;color:var(--gris)}
.k-nova li::before{content:"";position:absolute;left:0;top:11px;width:12px;height:2px;background:#B3ADA0;border-radius:2px}
.k-tira{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px 6px;margin-top:40px;scrollbar-width:none}
.k-tira::-webkit-scrollbar{display:none}
.k-te{position:relative;flex:none;width:58vw;max-width:270px;aspect-ratio:4/5;border-radius:18px;overflow:hidden;scroll-snap-align:center;background:var(--menta)}
.k-te img{width:100%;height:100%;object-fit:cover}
.k-te figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;color:#fff;font-size:13px;font-weight:700;background:linear-gradient(180deg,rgba(8,26,20,0),rgba(8,26,20,.8))}
@media(min-width:900px){.k-inc{grid-template-columns:1fr 1fr;gap:34px 60px}.k-inc b{font-size:19px}.k-inc p{font-size:16px}.k-tira{max-width:1200px;margin:64px auto 0;padding:0 20px;overflow:visible;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.k-te{width:auto;max-width:none}}

/* --- viaja seguro + opiniones --- */
.k-seguro{display:grid}
.k-seguro li{padding:20px 0;border-top:1px solid rgba(255,255,255,.18)}
.k-seguro b{display:block;font-size:18px;font-weight:700;line-height:1.25}
.k-seguro p{font-size:15px;line-height:1.55;color:rgba(255,255,255,.78);margin-top:6px}
.k-ops-h{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;margin-top:44px;padding-top:30px;border-top:1px solid rgba(255,255,255,.18)}
.k-cal{display:flex;align-items:center;gap:14px}
.k-cal b{font-family:var(--f-s);font-weight:400;font-size:72px;line-height:.9}
.k-cal>span{font-size:14px;font-weight:600;line-height:1.35;color:rgba(255,255,255,.85)}
.k-cal .est{margin-bottom:4px}
.k-aviso{font-size:14px;line-height:1.55;color:rgba(255,255,255,.75);margin-top:14px;max-width:72ch}
.k-ops{display:grid;gap:12px;margin-top:22px}
.k-op{padding:20px;border-radius:20px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);display:flex;flex-direction:column;gap:12px}
.k-op p{font-family:var(--f-s);font-size:21px;line-height:1.3}
.k-op footer{margin-top:auto;font-size:13px;color:rgba(255,255,255,.7);line-height:1.4}
.k-op footer b{display:block;color:#fff;font-size:14px}
.k-doble{font-size:14px;font-weight:600;color:var(--gris);margin-top:18px}
@media(min-width:900px){.k-seguro{grid-template-columns:1fr 1fr;column-gap:60px}.k-ops{grid-template-columns:repeat(3,1fr);gap:16px}.k-cal b{font-size:96px}}

/* --- preguntas (usa .faq heredado) --- */
.faq .k-cab{margin-bottom:26px}
@media(min-width:900px){.faq .k-cab{position:sticky;top:110px}.faq .k-t{font-size:clamp(40px,4.2vw,60px)}}

/* --- cierre --- */
.k-cierre{position:relative;min-height:84vh;min-height:84svh;display:flex;align-items:center;overflow:hidden;color:#fff;background:var(--noche);text-align:center}
.k-cierre-f{position:absolute;inset:0}
.k-cierre-f img{width:100%;height:100%;object-fit:cover}
.k-cierre-f::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,26,20,.55),rgba(8,26,20,.82))}
.k-cierre-c{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:70px;padding-bottom:120px}
.k-cierre .k-t{font-size:clamp(56px,15vw,120px)}
.k-cierre-c>p{font-size:17px;line-height:1.5;max-width:36ch;margin-top:14px;color:rgba(255,255,255,.9)}
.k-cierre .btn{margin-top:24px}
.k-cierre .k-hor{font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.82);max-width:44ch;margin-top:18px}
@media(min-width:900px){.k-cierre-c>p{font-size:20px}}

/* --- contacto siempre a la mano --- */
.fija small{font-size:11.5px}.fija b{font-size:20px}
.k-flota{display:none}
@media(max-width:899px){.con-fija .barra .btn{opacity:0;pointer-events:none}.barra .btn{transition:opacity .3s ease}}
@media(min-width:900px){.k-flota{position:fixed;z-index:40;right:26px;bottom:26px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#27C767 20%,#0F7A38 90%);box-shadow:0 3px 0 #0A5A27,0 16px 34px rgba(20,150,70,.4);transform:scale(.6);opacity:0;pointer-events:none;transition:transform .4s var(--e),opacity .3s ease}.k-flota svg{width:30px;height:30px}.k-flota.ver{transform:none;opacity:1;pointer-events:auto}}

/* --- páginas de viaje: ajustes K --- */
.vhero h1{font-size:clamp(46px,13vw,108px)}
.vhero .k-apoyo{text-align:left;font-size:13px;margin-top:-4px}
.vhero-p>div[hidden]{display:none}
.volver{min-height:44px}
.dmas{min-height:44px}
.dia-f{position:relative}
.dia-f .ilus,.hc .ilus{position:absolute;top:10px;left:10px;font-style:normal;font-size:12px;font-weight:600;padding:5px 9px;border-radius:999px;background:rgba(8,26,20,.7);color:#fff}
.k-vseg{padding:64px 0}
.k-conf-v{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px;margin-bottom:26px}
.k-conf-v b{display:block;font-family:var(--f-s);font-weight:400;font-size:38px;line-height:1}
.k-conf-v span{display:block;font-size:13px;color:rgba(255,255,255,.78);margin-top:4px}
.vpago .doble{line-height:1.5}
@media(min-width:900px){.k-conf-v{grid-template-columns:repeat(4,1fr);margin-bottom:40px}.k-conf-v b{font-size:52px}.k-vseg{padding:110px 0}}
@media(prefers-reduced-motion:reduce){.k-hero-c{animation:none}.k-video video{display:none}}

/* ajustes de ancho en celular */
.btn{max-width:100%}
@media(max-width:799px){
  .btn.grande{padding-inline:14px;font-size:16.5px}
  .k-cta-b{grid-template-columns:minmax(0,1fr)}
  .k-fila{flex-wrap:wrap;justify-content:center;gap:0 14px}
  .k-ver{font-size:14px;white-space:nowrap}
  .k-fe{font-size:12.5px}
  .fija{padding-left:16px}
  .fija b{font-size:18px;white-space:nowrap;display:block}
  .fija .btn{padding:12px 14px;font-size:14.5px}
}

/* páginas de viaje: nada se sale del ancho */
.calc-n{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.calc-n b{font-size:clamp(24px,7.2vw,40px)}
.pagos-g>*{min-width:0}
.vhero .hero-btns{flex-wrap:wrap}
.vhero .hero-btns .btn{min-width:0;padding-inline:14px}


/* =====================================================================
   M · páginas de viaje en blanco y tinta, con la letra Geist
   ===================================================================== */
:root{--selva:#0B0F0D;--noche:#070A08;--hoja:#1B7A4B;--hoja-2:#1B6B45;--sol:#D5DAD6;--sol-2:#C3C9C4;--papel:#fff;--menta:#F6F7F5;--tinta:#0B0F0D;--gris:#636965;--linea:#E6E8E5;
  --f-s:'Geist',system-ui,-apple-system,'Helvetica Neue',sans-serif;--f:'Geist',system-ui,-apple-system,'Helvetica Neue',sans-serif;--m:'Geist Mono',ui-monospace,Menlo,monospace;--r:18px}
body{font-weight:400}
::selection{background:#0B0F0D;color:#fff}
.t,.k-t{font-family:var(--f);font-weight:300;font-size:clamp(34px,9vw,68px);line-height:.98;letter-spacing:-.05em;color:var(--tinta)}
.t em,.k-t em{font-family:var(--f);font-style:normal;font-weight:300;letter-spacing:-.05em;color:#8A908C}
.k-oscuro .k-t,.pagos .t,.vhot .t{color:#fff}
.k-oscuro .k-t em,.pagos .t em,.vhot .t em{color:rgba(255,255,255,.55)}
.btn{font-weight:600;letter-spacing:-.005em}
.nav{font-weight:500}
.vhero h1{font-family:var(--f);font-weight:300;font-size:clamp(42px,12vw,104px);line-height:.96;letter-spacing:-.05em}
.vhero-m{font-family:var(--m);font-weight:400;font-size:12px;letter-spacing:.06em;color:rgba(255,255,255,.82)}
.hero-precio small{font-family:var(--m);font-weight:400;color:rgba(255,255,255,.82)}
.hero-precio b{font-weight:400;letter-spacing:-.05em}
.niveles a.on{background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1.5px #fff}
.niveles b{font-weight:500;letter-spacing:-.03em}
.niveles small,.datos small,.calc-n small,.fija small,.k-seg{font-family:var(--m);font-weight:400;letter-spacing:.06em}
.datos b,.pt{font-weight:500}
.pt.av{color:#fff;font-family:var(--m);font-weight:400}
.porque li>span{font-family:var(--m);font-weight:400;font-size:13px;line-height:1.9;color:var(--gris)}
.porque p{font-weight:400}
.quien small{font-family:var(--m);font-weight:400;color:rgba(255,255,255,.72)}
.quien .frase{font-family:var(--f);font-weight:300;letter-spacing:-.03em}
.dia-n{background:var(--tinta);color:#fff;box-shadow:none}
.dia-n b{font-family:var(--m);font-weight:400;font-size:14px;letter-spacing:0}
.dia-x small{font-family:var(--m);font-weight:400;color:var(--gris)}
.dia-x h3{font-family:var(--f);font-weight:400;font-size:24px;letter-spacing:-.035em}
.dia-c{box-shadow:0 0 0 1px var(--linea)}
.meta span{font-weight:500}
.meta .incl{background:#E4F1E9;color:#12512F}
.nivel h3{font-family:var(--f);font-weight:300;letter-spacing:-.045em}
.nivel h3 .cp{background:#fff;color:var(--tinta);font-weight:500}
.hc small{font-family:var(--m);font-weight:400;color:rgba(255,255,255,.72)}
.hc b{font-weight:500}
.vinc h3{font-weight:500;letter-spacing:-.02em}
.si li::before{background-color:var(--hoja)}
.calc-n b{font-weight:400;letter-spacing:-.05em}
.calc-n .mes b{color:#fff}
.calc select,.calc label{font-weight:500}
.pagos-l svg{color:#fff}.pagos-l li{font-weight:400}.pagos-l b{font-weight:600}
.otro b{font-family:var(--f);font-weight:300;letter-spacing:-.045em}
.otro small{font-family:var(--m);font-weight:400;color:rgba(255,255,255,.82)}
.k-conf-v b{font-family:var(--f);font-weight:300;letter-spacing:-.05em}
.k-seguro b{font-weight:500}
.faq summary{font-weight:500}
.faq details{box-shadow:0 0 0 1px var(--linea)}
.faq details[open] summary i{background:var(--tinta)}
.faq details[open] summary i::before,.faq details[open] summary i::after{background:#fff}
.fija b{font-weight:500;letter-spacing:-.03em}
.dmas{font-weight:500}
.volver,.seg{font-weight:500}
.opc b{font-weight:500}
.notas summary{font-weight:500}
.k-mas,.k-ver{font-weight:500}
@media(min-width:900px){.dia-x h3{font-size:30px}}


/* =====================================================================
   N · portada con el estilo de las páginas de itinerario
   ===================================================================== */
main>section{background:#fff}
main>*{position:relative;z-index:1}
.k-hero{position:sticky;top:0;z-index:0;transform-origin:50% 45%;will-change:transform}
.k-hero-c{padding-bottom:calc(46px + env(safe-area-inset-bottom))}
.k-ceja{font-family:var(--m);font-weight:400;font-size:12px;letter-spacing:.06em}
.k-hero h1{font-family:var(--f);font-weight:300;font-size:clamp(60px,17.6vw,176px);line-height:.94;letter-spacing:-.06em;margin-top:8px}
.k-sub{font-weight:400}
.k-desde b{font-weight:500;letter-spacing:-.03em}
.k-ver,.k-fe,.k-mas{font-weight:500}
@media(max-height:620px) and (max-width:799px){.k-hero h1{font-size:15.5vw}}
@media(min-width:800px){.k-hero-c{padding-bottom:74px}.k-hero h1{font-size:clamp(110px,13vw,200px)}.k-ceja{font-size:13px}}

/* confianza: primera hoja que sube sobre el video */
.k-conf{margin-top:-28px;border-radius:28px 28px 0 0;border-bottom:1px solid var(--linea)}
.k-conf b{font-family:var(--f);font-weight:300;letter-spacing:-.05em;color:var(--tinta)}
.k-conf span{font-weight:400}

/* los siete viajes: fotos grandes, sin cajas */
.k-grid{gap:46px}
.k-card{background:none;border-radius:0;box-shadow:none;overflow:visible}
.k-card-f{aspect-ratio:1/1;border-radius:22px}
.js .k-card.rv .k-card-f{clip-path:inset(7% 7% 7% 7% round 22px);transition:clip-path 1.2s var(--e)}
.js .k-card.rv.in .k-card-f{clip-path:inset(0 0 0 0 round 22px)}
.js .k-card.rv .k-card-f img{transform:scale(1.2);transition:transform 1.7s var(--e)}
.js .k-card.rv.in .k-card-f img{transform:none}
.k-dias{top:14px;left:14px;font-family:var(--m);font-weight:400;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta)}
.k-card-c{padding:16px 2px 4px}
.k-seg{color:var(--gris)}
.k-card h3{font-family:var(--f);font-weight:400;font-size:30px;line-height:1.04;letter-spacing:-.045em;color:var(--tinta)}
.k-ruta{font-size:15px}
.k-dif{font-weight:400}
.k-precio small{font-family:var(--m);font-weight:400;letter-spacing:.06em}
.k-precio b{font-weight:400;font-size:34px;letter-spacing:-.05em;color:var(--tinta)}
.k-medida{background:var(--tinta);border-radius:22px;overflow:hidden}
.k-medida .k-card-c{padding:28px 22px}
.k-medida .k-seg{color:rgba(255,255,255,.72)}
.k-medida h3{color:#fff}
@media(min-width:700px){.k-grid{gap:54px 24px}}
@media(min-width:1100px){.k-grid{grid-template-columns:repeat(3,1fr);gap:70px 30px}.k-card-f{aspect-ratio:4/4.4}.k-card h3{font-size:30px}}

/* resto de la portada */
.k-pasos li{box-shadow:0 0 0 1px var(--linea);border-radius:18px}
.k-pasos li>span{width:40px;height:40px;font-family:var(--m);font-size:14px;background:var(--tinta);color:#fff}
.k-pasos b,.k-inc b{font-weight:500;letter-spacing:-.02em}
.k-ico{background:var(--menta);color:var(--tinta)}
.k-nova b{font-family:var(--m);font-weight:400}
.k-te{border-radius:18px}
.k-te figcaption{font-weight:500}
.k-cal b{font-family:var(--f);font-weight:300;letter-spacing:-.06em}
.k-op{border-radius:18px}
.k-op p{font-family:var(--f);font-size:16px;line-height:1.5}
.k-op footer b{font-weight:500}
.k-cierre .k-t{color:#fff;font-size:clamp(56px,16vw,150px)}
.k-cierre .k-t em{color:rgba(255,255,255,.6)}
@media(prefers-reduced-motion:reduce){.k-hero{position:relative}.js .k-card.rv .k-card-f{clip-path:none}.js .k-card.rv .k-card-f img{transform:none}}

/* video real del lugar en la portada de cada viaje: entra encima de la foto cuando ya está reproduciendo */
.vhero-f video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease}
.vhero-f.vivo video{opacity:1}
@media(prefers-reduced-motion:reduce){.vhero-f video{display:none}}

/* portada con foto real del Arenal (sin video): entra con un acercamiento lento y luego respira */
.k-hero .k-video img{object-position:50% 30%;animation:kentra 2.8s cubic-bezier(.16,1,.3,1) both,krespira 26s ease-in-out 2.8s infinite alternate}
@keyframes kentra{from{transform:scale(1.16)}to{transform:scale(1)}}
@keyframes krespira{from{transform:scale(1)}to{transform:scale(1.07)}}
.k-hero .k-video::after{background:linear-gradient(180deg,rgba(8,20,16,.3) 0%,rgba(8,20,16,0) 18%,rgba(8,20,16,0) 36%,rgba(8,20,16,.4) 60%,rgba(8,20,16,.74) 100%)}
.k-hero-c{text-shadow:0 1px 18px rgba(8,20,16,.45)}.k-hero-c .btn{text-shadow:0 1px 1px rgba(4,60,24,.45)}
@media(min-width:800px){.k-hero .k-video img{object-position:50% 80%}.k-hero .k-video::after{background:linear-gradient(180deg,rgba(8,20,16,.36) 0%,rgba(8,20,16,0) 20%,rgba(8,20,16,0) 40%,rgba(8,20,16,.4) 74%,rgba(8,20,16,.78) 100%),linear-gradient(90deg,rgba(8,20,16,.42) 0%,rgba(8,20,16,0) 58%)}}
@media(prefers-reduced-motion:reduce){.k-hero .k-video img{animation:none}}

/* 11-nov: la liga "Ver los 7 viajes" no tenía estilo en la N y su flecha salía gigante */
.lnk{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-weight:500;font-size:15px;color:var(--selva);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.lnk svg{width:18px;height:18px;flex:none}

/* 11-nov: hotel sin foto real todavía: tarjeta solo con nombre y ciudad */
.hc.sin-foto{justify-content:center;min-height:150px;align-self:stretch;background:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);padding-top:16px}
.vhero-f picture{display:contents}

/* 12-nov: Buen Fin (descuento al segundo pasajero). Oculto hasta que n.js lo enciende. */
.bf-cr,.bf-cr-l{display:none}
html.bf-on .bf-cr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;margin:14px 0 0;font-size:14.5px;line-height:1.35;font-weight:400}
html.bf-on .bf-cr-l{display:block}
html.bf-sin-fecha .bf-cr-f{display:none}
.bf-cr i{flex:none;font-style:normal;font-family:"Geist Mono",ui-monospace,monospace;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;background:#C8201A;color:#fff;padding:5px 9px 4px;border-radius:999px;text-shadow:none}
.bf-cr b{font-weight:500}
.bf-cr-t{font-size:13.5px;margin-top:10px;color:var(--selva)}
.k-hero-c .bf-cr,.vhero-c .bf-cr{color:#fff}
.bf-cr-pie{padding:0 0 28px}.bf-cr-pie p{font-size:12px;line-height:1.5;color:#6B726E;max-width:70ch}

/* ===== HEADER PXV (réplica del sitio) ===== */
#pxvnav{position:fixed;top:0;left:0;right:0;z-index:80;background:#0A1628;box-shadow:0 4px 18px rgba(0,0,0,.35)}
#pxvnav .pxw,.pxw{max-width:1200px;margin:0 auto;padding:0 24px}
#pxvnav .pxw{display:flex;align-items:center;justify-content:space-between;height:70px}
.pxlogo img{height:150px;width:auto;object-fit:contain;display:block}
.pxdesk{display:flex;align-items:center;gap:4px}
.pxdd{position:relative}
.pxdd button,.pxtop{display:flex;align-items:center;gap:6px;background:none;border:0;color:#fff;font-family:Montserrat,sans-serif;font-size:.71875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:10px 14px;cursor:pointer;text-decoration:none;transition:color .2s}
.pxdd button:hover,.pxtop:hover{color:#00AEEF}
.pxpanel{position:absolute;top:100%;left:0;padding-top:10px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;z-index:81;width:280px}
.pxdd:hover .pxpanel,.pxdd:focus-within .pxpanel{opacity:1;visibility:visible}
.pxpanel>*{position:relative}
.pxpanel::before{content:"";position:absolute;inset:10px 0 0;background:#0A1628;border:1px solid #005F6E;border-radius:10px;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.pxpanel h4{position:relative;color:#00AEEF;font-size:.6875rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin:18px 22px 10px}
.pxpanel .pxg2{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:2px 14px;padding:0 22px 6px}
.pxpanel .pxg1{position:relative;display:grid;gap:2px;padding:14px 22px 16px}
.pxpanel a{color:rgba(255,255,255,.72);font-size:.75rem;text-decoration:none;padding:5px 0;transition:color .2s;display:flex;align-items:center;gap:7px}
.pxpanel a:hover{color:#00AEEF}
.pxpanel a b,#pxmovil a b{font-size:.5625rem;font-weight:800;letter-spacing:.06em;background:#E01D1D;color:#fff;border-radius:4px;padding:2px 6px;text-transform:uppercase}
.pxver{position:relative;display:block;color:#00AEEF!important;font-weight:700;padding:8px 22px 14px!important}
.pxcta{background:#00AEEF;color:#062032;font-family:Montserrat,sans-serif;font-size:.71875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:11px 20px;border-radius:99px;text-decoration:none;margin-left:10px;transition:filter .2s}
.pxcta:hover{filter:brightness(1.12)}
#pxburger{display:none;background:none;border:0;color:#fff;cursor:pointer;padding:8px}
#pxmovil{display:none;background:#0A1628;border-top:1px solid #005F6E;max-height:calc(100dvh - 70px);overflow:auto;padding:18px 24px 28px}
#pxmovil h5{color:#00AEEF;font-size:.6875rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin:16px 0 8px}
#pxmovil a{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.78);font-size:.8125rem;text-decoration:none;padding:7px 0}
#pxmovil .pxcta{display:inline-flex;justify-content:center;color:#062032;margin:18px 0 0;padding:13px 22px}
#pxvnav.abierto #pxmovil{display:block}
@media(max-width:1023px){.pxdesk{display:none}#pxburger{display:block}.pxlogo img{height:110px}}
/* ===== FOOTER PXV ===== */
#pxvfoot{background:#0A1628;color:#fff;margin-top:0}
#pxvfoot .pxfg{display:grid;grid-template-columns:1.35fr 1fr 1fr .9fr 1.1fr;gap:34px;padding-top:54px;padding-bottom:40px}
#pxvfoot h4{color:#00AEEF;font-size:.6875rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}
#pxvfoot .pxfg a{display:block;color:rgba(255,255,255,.62);font-size:.78125rem;text-decoration:none;padding:3px 0;transition:color .2s}
#pxvfoot .pxfg a:hover{color:#00AEEF}
.pxfb p{color:rgba(255,255,255,.62);font-size:.8125rem;line-height:1.65;margin:12px 0 14px;max-width:30ch}
.pxfb .pxfc{font-weight:600;color:rgba(255,255,255,.85)!important}
.pxsoc{display:flex;gap:10px;margin-top:14px}
.pxsoc a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.07);color:#fff;transition:background .2s,color .2s}
.pxsoc a:hover{background:#00AEEF;color:#062032}
.pxbad{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.pxbad span{display:flex;align-items:center;justify-content:center;height:52px;background:rgba(255,255,255,.05);border-radius:10px;font-size:.71875rem;font-weight:700;color:rgba(255,255,255,.7)}
.pxbad .b1{color:#00AEEF;font-weight:800}.pxbad .b2{color:#fb923c}.pxbad .b3{color:#60a5fa}
.pxbul{border-top:1px solid rgba(255,255,255,.1);padding-top:14px;display:grid;gap:7px}
.pxbul span{font-size:.71875rem;color:rgba(255,255,255,.5);padding-left:16px;position:relative}
.pxbul span::before{content:"";position:absolute;left:0;top:.35em;width:7px;height:7px;border-radius:50%;background:#00AEEF}
.pxleg{border-top:1px solid rgba(255,255,255,.1)}
.pxleg .pxw{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}
.pxleg span{font-size:.75rem;color:rgba(255,255,255,.5)}
.pxleg div{display:flex;gap:18px;flex-wrap:wrap}
.pxleg a{color:rgba(255,255,255,.55);font-size:.75rem;text-decoration:none}
.pxleg a:hover{color:#00AEEF}
@media(max-width:1000px){#pxvfoot .pxfg{grid-template-columns:1fr 1fr}}
@media(max-width:560px){#pxvfoot .pxfg{grid-template-columns:1fr}}


/* N con el header y footer oficiales del sitio */
#pxvnav{z-index:90}
@media(max-width:799px){body.con-fija #pxvfoot,#pxvfoot{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}
