/* Landings por región · Indoamericana */
body.lp-body{--bg:#00334f;--bg2:#004a73;--acc:#fcc01e;--acc2:#f0910c;--pat:none;background:var(--bg);color:#fff}
body[data-theme=col]{--bg:#00263b;--bg2:#004a73;--acc:#fcc01e;--acc2:#f0910c}
body[data-theme=eu]{--bg:#0a1233;--bg2:#17265f;--acc:#e8c15a;--acc2:#ff8fa3;
  --pat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cpath d='M60 4Q60 60 4 60Q60 60 60 116Q60 60 116 60Q60 60 60 4Z' fill='none' stroke='white' stroke-opacity='.1'/%3E%3Ccircle cx='0' cy='0' r='3' fill='white' fill-opacity='.1'/%3E%3Ccircle cx='120' cy='0' r='3' fill='white' fill-opacity='.1'/%3E%3Ccircle cx='0' cy='120' r='3' fill='white' fill-opacity='.1'/%3E%3Ccircle cx='120' cy='120' r='3' fill='white' fill-opacity='.1'/%3E%3C/svg%3E")}
body[data-theme=as]{--bg:#260711;--bg2:#4d1126;--acc:#f5a623;--acc2:#ff6b81;
  --pat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40' fill='none' stroke='white' stroke-opacity='.1'%3E%3Cg id='a'%3E%3Ccircle cx='40' cy='40' r='36'/%3E%3Ccircle cx='40' cy='40' r='28'/%3E%3Ccircle cx='40' cy='40' r='20'/%3E%3Ccircle cx='40' cy='40' r='12'/%3E%3C/g%3E%3Cuse href='%23a' x='-40' y='-20'/%3E%3Cuse href='%23a' x='40' y='-20'/%3E%3C/svg%3E")}
body[data-theme=sa]{--bg:#04231c;--bg2:#0a4a3c;--acc:#f28c28;--acc2:#1fc8b0;
  --pat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' fill='none' stroke='white' stroke-opacity='.11' stroke-width='1.5'%3E%3Cpath d='M0 44h14V30h14V16h14v14h14v14'/%3E%3Cpath d='M20 52h16' /%3E%3C/svg%3E")}

.lp-body em{background:linear-gradient(100deg,var(--acc2),var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent}
.lp-body .eyebrow{color:var(--acc)}
.lp-body .eyebrow span{background:linear-gradient(90deg,var(--acc2),var(--acc))}
.lp-body .btn--sun{background:linear-gradient(100deg,var(--acc2),var(--acc));color:#1a0a0a;box-shadow:0 10px 30px -8px color-mix(in srgb,var(--acc2) 70%,transparent)}
.lp-body main{position:relative;z-index:1}
.lp-body .nav{position:fixed}

/* fondo animado fijo */
.fx{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.fx .p{position:absolute;top:0;left:0;will-change:transform;opacity:.7}
.fx .p--conf{width:9px;height:14px;border-radius:2px}
.sec{position:relative;overflow-x:clip}
.wpt::before{content:"";position:absolute;inset:0;background:var(--pat);opacity:1;pointer-events:none;animation:patDrift 90s linear infinite}
@keyframes patDrift{to{background-position:240px 160px}}
.wpt>*{position:relative}
.spir::after{content:"";position:absolute;right:-12vw;top:8%;width:min(50vw,640px);aspect-ratio:662/476;background:url(img/icon-white.png) center/contain no-repeat;opacity:.05;animation:spinSlow 120s linear infinite;pointer-events:none}

/* cortina de entrada */
.cin{position:fixed;inset:0;z-index:900;pointer-events:all}
.cin__y,.cin__n{position:absolute;inset:0;border-radius:0 0 50% 50%/0 0 12vh 12vh}
.cin__y{background:var(--acc)}
.cin__n{background:var(--bg2);display:grid;place-items:center}
.cin__n img{width:min(240px,50vw);animation:cinSpin 1.1s var(--ease) both}
@keyframes cinSpin{from{transform:scale(.3) rotate(-200deg);opacity:0}}

/* ===== HERO PEQUEÑO ===== */
.lh{position:relative;min-height:min(72vh,680px);min-height:min(72svh,680px);display:grid;align-items:end;overflow:hidden;padding-top:90px}
.lh__ph{position:absolute;inset:0}
.lh__ph .sl{position:absolute;inset:-6% 0;opacity:0;transition:opacity 1.6s}
.lh__ph .sl.on{opacity:1}
.lh__ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.15)}
.lh__ph .sl.on img{animation:kb 10s ease-out forwards}
.lh__shade{position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 94%,transparent),color-mix(in srgb,var(--bg) 60%,transparent) 60%,color-mix(in srgb,var(--bg) 35%,transparent)),linear-gradient(0deg,var(--bg),transparent 45%)}
.lh__flags{position:absolute;inset:0;pointer-events:none}
.lh__flags .wf{position:absolute;opacity:.95}
.lh__flags .wf:nth-child(1){right:7%;top:20%;width:clamp(130px,17vw,260px);transform:rotate(-8deg);animation:fl1 9s ease-in-out infinite}
.lh__flags .wf:nth-child(2){right:22%;top:50%;width:clamp(100px,14vw,210px);transform:rotate(6deg);opacity:.75;animation:fl2 11s ease-in-out infinite}
.lh__flags .wf:nth-child(3){right:1%;top:60%;width:clamp(80px,10vw,150px);transform:rotate(12deg);opacity:.6;animation:fl1 13s ease-in-out infinite reverse}
@keyframes fl1{50%{translate:0 -22px}}
@keyframes fl2{50%{translate:-14px 18px}}
.lh__sp{position:absolute;right:-5vw;bottom:-10%;width:min(44vw,540px);opacity:.07;animation:spinSlow 80s linear infinite}
.lh__in{position:relative;padding:20px var(--pad) clamp(50px,6vw,90px);max-width:1200px}
.crumb{display:flex;gap:10px;font-size:13px;color:#ffffffb3;margin-bottom:18px}
.crumb a:hover{color:var(--acc)}
.lh h1{font-size:clamp(30px,4.6vw,70px);line-height:1.1;margin:14px 0 14px;font-weight:700}
.lh h1 .ln{display:block;overflow:hidden;padding:.02em 0 .18em;margin-bottom:-.1em}
.lh__tag{max-width:600px;font-size:clamp(16px,1.5vw,20px);color:#ffffffe0}
.lh__chips{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 8px}
.chip{display:inline-flex;align-items:center;gap:9px;padding:6px 16px 6px 6px;border-radius:999px;background:#ffffff1a;backdrop-filter:blur(8px);border:1px solid #ffffff30;font-size:13px;font-weight:600;transition:.35s var(--ease)}
.chip img{width:26px;height:26px;border-radius:50%;object-fit:cover;background:#fff}
.chip:hover{background:var(--acc);color:#1a0a0a;transform:translateY(-3px)}
.lh__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}

/* ===== TICKER ===== */
.tick{overflow:hidden;white-space:nowrap;padding:14px 0;border-block:1px solid #ffffff1f;background:color-mix(in srgb,var(--bg2) 60%,transparent)}
.tick__t{display:inline-block;font:500 clamp(14px,1.4vw,18px)/1 var(--f-b);letter-spacing:.34em;text-transform:uppercase;color:#ffffffb8;animation:mq 50s linear infinite}
.tick__t i{font-style:normal;color:var(--acc);margin:0 1.6em}

/* ===== INTRO ===== */
.li{padding:clamp(70px,9vw,130px) var(--pad);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bg2) 55%,transparent))}
.li__g{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(30px,6vw,100px);max-width:1400px;margin:auto;align-items:center}
.li h2{font-size:clamp(32px,4.6vw,68px);margin:16px 0 20px}
.li p.lead{font-size:clamp(16px,1.4vw,20px);color:#ffffffd0;max-width:640px}
.facts{display:grid;gap:0}
.facts div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #ffffff26;position:relative}
.facts div::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:linear-gradient(90deg,var(--acc2),var(--acc));transition:width 1.4s var(--ease)}
.facts.in div::after{width:100%}
.facts dt{font:600 12px var(--f-b);letter-spacing:.16em;text-transform:uppercase;color:var(--acc)}
.facts dd{font:500 17px var(--f-h);text-align:right}
.seal{position:absolute;right:calc(var(--pad) + 4%);top:28px;width:clamp(110px,12vw,160px);z-index:3}
.seal svg{width:100%;animation:spin 24s linear infinite}
.seal img{position:absolute;inset:26%;width:48%;height:auto;animation:none}
.seal text{font:600 12.5px var(--f-b);letter-spacing:.2em;fill:#fff;text-transform:uppercase}

/* ===== LUGARES ===== */
.lp{padding:clamp(60px,8vw,120px) var(--pad)}
.lp__h{max-width:1400px;margin:0 auto clamp(40px,6vw,90px)}
.lp__h h2,.lt__h h2,.lf h2,.lx h2{font-size:clamp(32px,4.6vw,68px);margin-top:14px}
.pl{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,90px);align-items:center;max-width:1400px;margin:0 auto clamp(70px,10vw,150px)}
.pl--r .pl__img{order:2}
.pl__img{position:relative;aspect-ratio:16/11;overflow:hidden;clip-path:inset(100% 0 0 0)}
.pl__img img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover}
.pl__t{position:relative}
.pl__n{position:absolute;top:-.55em;left:-.1em;font:700 clamp(100px,14vw,210px)/1 var(--f-h);color:transparent;-webkit-text-stroke:2px #ffffff28;z-index:-1}
.pl__c{color:var(--acc);font:600 13px var(--f-b);letter-spacing:.2em;text-transform:uppercase}
.pl h3{font-size:clamp(30px,4vw,60px);margin:10px 0 14px}
.pl p.d{color:#ffffffd0;max-width:480px}
.pl__m{display:inline-flex;gap:8px;align-items:center;margin:18px 0;padding:8px 16px;border-radius:999px;border:1px solid #ffffff38;font-size:13px}
.pl__m b{color:var(--acc)}
.pl__a{display:flex;width:max-content;align-items:center;gap:10px;font-weight:700;color:var(--acc);border-bottom:2px solid var(--acc);padding-bottom:3px}
.pl__a:hover{gap:16px}

/* ===== TOURS ===== */
.lt{padding:clamp(60px,8vw,120px) var(--pad);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bg2) 70%,transparent) 20%,color-mix(in srgb,var(--bg2) 70%,transparent) 80%,transparent)}
.lt__h{max-width:1400px;margin:0 auto 40px}
.lt__h p{color:#ffffffc0;max-width:560px;margin-top:10px}
.tl{max-width:1400px;margin:auto;border-top:1px solid #ffffff2a}
.tr{display:grid;grid-template-columns:50px 150px minmax(0,1.6fr) minmax(130px,.6fr) auto;gap:clamp(14px,2.4vw,36px);align-items:center;padding:26px 0;border-bottom:1px solid #ffffff2a;position:relative;transition:padding .5s var(--ease)}
.tr::before{content:"";position:absolute;inset:0 -20px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--acc) 14%,transparent),transparent);opacity:0;transition:opacity .5s;pointer-events:none}
.tr:hover::before{opacity:1}
.tr__n{font:500 15px var(--f-h);color:var(--acc)}
.tr__img{aspect-ratio:4/3;overflow:hidden}
.tr__img img{transition:transform .8s var(--ease)}
.tr:hover .tr__img img{transform:scale(1.12)}
.tr__img img{width:100%;height:100%;object-fit:cover}
.tr h3{font-size:clamp(22px,2.6vw,38px)}
.tr__r{color:var(--acc);font:500 14px var(--f-b);margin:4px 0 10px}
.tr__i{display:flex;flex-wrap:wrap;gap:6px}
.tr__i li{font-size:12px;padding:5px 12px;border-radius:999px;background:#ffffff14;border:1px solid #ffffff22}
.tr__p small{display:block;font-size:12px;color:#ffffffa0}
.tr__p b{font:700 clamp(22px,2.4vw,34px) var(--f-h);color:var(--acc);display:block}
.tr__p span{font-size:12px;color:#ffffffa0}
.tr__a{display:flex;flex-direction:column;gap:8px}
.tr__a .btn{padding:11px 20px;font-size:14px}

/* ===== INFO / VIAJA SEGURO ===== */
.lf{padding:clamp(70px,9vw,130px) var(--pad);overflow-x:clip}
.lf__g{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,6vw,100px);max-width:1400px;margin:auto;align-items:start}
.lf__s{position:sticky;top:110px}
.lf__rays{position:absolute;left:-18%;top:-10%;width:90vmin;height:90vmin;border-radius:50%;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--acc) 22%,transparent) 0 3deg,transparent 3deg 12deg);mask-image:radial-gradient(circle,#000 5%,transparent 62%);animation:spin 80s linear infinite;pointer-events:none}
.lf h2{position:relative}
.lf__lema{position:relative;margin:16px 0 28px;color:#ffffffd0;max-width:420px}
.lf__fl{position:relative;display:flex}
.lf__fl img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:3px solid var(--bg);margin-left:-14px;background:#fff;animation:bob 4s ease-in-out infinite;animation-delay:calc(var(--i)*-.6s)}
.lf__fl img:first-child{margin-left:0}
@keyframes bob{50%{transform:translateY(-8px)}}
.acc details{border-bottom:1px solid #ffffff2a}
.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font:600 clamp(18px,1.8vw,24px) var(--f-h)}
.acc summary::-webkit-details-marker{display:none}
.acc summary i{flex:none;width:34px;height:34px;border-radius:50%;border:2px solid var(--acc);display:grid;place-items:center;color:var(--acc);font-style:normal;transition:transform .4s var(--ease),background .3s}
.acc details[open] summary i{transform:rotate(45deg);background:var(--acc);color:#1a0a0a}
.acc details p{padding:0 0 24px;color:#ffffffcc;max-width:620px;animation:fadeUp .5s var(--ease)}
.lf__note{margin-top:20px;font-size:12px;color:#ffffff90}

/* ===== COTIZADOR (usa .quo) ===== */
.lp-body .quo{background:var(--cream)}
.lp-body .quo__sticky{background:var(--bg2)}
.lp-body .quo__total b,.lp-body .quo__meta{color:var(--acc)}
.lp-body .quo .eyebrow{color:var(--bg2)}
.lp-body .quo em{background:linear-gradient(100deg,var(--acc2),var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ===== EXPLORAR OTROS ===== */
.lx{padding:clamp(70px,9vw,130px) var(--pad);text-align:center}
.lx .eyebrow{justify-content:center}
.lx h2{margin-bottom:clamp(30px,5vw,60px)}
.lx{padding-inline:0}.lx>.eyebrow,.lx>h2,.lx__b{padding-inline:var(--pad)}.lx .rt{height:clamp(380px,56vh,520px)}
.lx__b{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:clamp(36px,5vw,60px)}

.lp-body .foot{position:relative;z-index:1;background:var(--bg)}
.lp-body .wa-float{z-index:90}

@media (min-width:981px) and (max-width:1240px){
  .tr{grid-template-columns:36px 120px minmax(0,1fr) auto;grid-template-areas:"n i b a" "n i p a";row-gap:6px}
  .tr__n{grid-area:n}.tr__img{grid-area:i}.tr>div:nth-child(3){grid-area:b}.tr__p{grid-area:p;display:flex;align-items:baseline;gap:10px}.tr__a{grid-area:a}
  .tr__a .btn{white-space:nowrap}
}
@media (max-width:980px){
  .li__g,.lf__g{grid-template-columns:1fr}
  .lf__s{position:relative;top:0}
  .pl{grid-template-columns:1fr}
  .pl--r .pl__img{order:0}
  .pl__img{max-width:480px;width:100%;margin-inline:auto}
  .tr{grid-template-columns:44px 110px 1fr;grid-template-areas:"n i b" "p p p" "a a a"}
  .tr__n{grid-area:n}.tr__img{grid-area:i}.tr>div:nth-child(3){grid-area:b}.tr__p{grid-area:p;display:flex;align-items:baseline;gap:10px}.tr__a{grid-area:a;flex-direction:row}
  .seal{top:16px;right:20px}
  .lx .rumbo__grid{flex-wrap:nowrap}.lx .rt,.lx .rt:hover{flex:1 1 0;height:340px;border-top:0}.lx .rt:nth-child(3){border-left:1px solid #ffffff40}
}
@media (max-width:640px){
  .lh{padding-top:84px}
  .lh h1{font-size:clamp(30px,8.6vw,44px)}
  .lh__flags .wf:nth-child(2),.lh__flags .wf:nth-child(3){display:none}
  .lh__flags .wf:nth-child(1){top:12%;right:-4%;width:120px;opacity:.55}
  .tr{grid-template-columns:36px 76px 1fr}
  .tr__a .btn{flex:1}
  .lx .rt,.lx .rt:hover{height:300px}.lx .rt__txt h3{font-size:16px}.lx .rt__fl,.lx .rt small{display:none}.lx .rt__flag{width:60px}
  .seal{display:none}
}
