@font-face{font-family:'Zodiak';src:url(fonts/Zodiak-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'General Sans';src:url(fonts/GeneralSans-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'General Sans';src:url(fonts/GeneralSans-500.woff2) format('woff2');font-weight:500;font-display:swap}
:root{--color-tinta:#14110f;--color-hueso:#f4efe9;--color-rubor:#e7c3b4;--color-arena:#d9cfc4;--color-gris:#5a524c;--pad:clamp(20px,4.4vw,72px);--disp:'Zodiak',Georgia,serif;--txt:'General Sans',Arial,sans-serif}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{background:var(--color-tinta);color:var(--color-hueso);font-family:var(--txt);font-size:17px;line-height:1.55}
img{max-width:100%;display:block}a{color:inherit}figure{margin:0}
h1,h2{font-family:var(--disp);font-weight:400;letter-spacing:-.02em;line-height:1.02;text-wrap:balance}
h2{font-size:clamp(36px,4.6vw,72px)}
.salta{position:absolute;left:-999px;top:8px;z-index:20;background:var(--color-hueso);color:var(--color-tinta);padding:10px}.salta:focus{left:8px}
:focus-visible{outline:2px solid var(--color-rubor);outline-offset:3px}
/* hero */
.hero{position:relative;height:100vh;height:100svh;min-height:600px;overflow:hidden;isolation:isolate}
.bg{position:absolute;inset:-6% 0 0;height:112%;clip-path:inset(12% 8% 12% 8%);animation:open 1.6s cubic-bezier(.6,0,.1,1) forwards;will-change:transform}
.bg picture,.bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bg img{transform:scale(1.12);animation:pan 22s ease-in-out infinite alternate}
@keyframes open{to{clip-path:inset(0 0 0 0)}}@keyframes pan{from{transform:scale(1.12) translateX(-3%)}to{transform:scale(1.12) translateX(3%)}}
.shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(20,17,15,.82) 0%,rgba(20,17,15,.4) 42%,rgba(20,17,15,.45) 62%,rgba(20,17,15,.92) 100%)}
.top{position:absolute;z-index:4;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:22px var(--pad)}
.top img{height:68px;width:auto}
.lang{display:flex;gap:2px}.lang button{font:500 15px var(--txt);color:var(--color-hueso);background:none;border:0;border-bottom:1px solid transparent;padding:10px 12px;cursor:pointer;opacity:.65;min-width:44px;min-height:44px}
.lang button[aria-pressed=true]{opacity:1;border-color:var(--color-rubor)}
.txt{position:absolute;z-index:3;inset:0;padding:clamp(110px,15vh,150px) var(--pad) clamp(28px,6vh,60px);display:flex;flex-direction:column;justify-content:space-between}
h1{font-size:clamp(48px,8.8vw,140px);line-height:.98;max-width:11ch}
.ln{display:block;overflow:hidden;padding-bottom:.06em}.ln>span{display:inline-block;transform:translateY(105%);animation:up 1.1s cubic-bezier(.2,.7,.1,1) forwards}
.ln:nth-child(2)>span{animation-delay:.12s}.ln:nth-child(3)>span{animation-delay:.24s}@keyframes up{to{transform:none}}
.fade{opacity:0;animation:fd 1s .7s ease forwards}@keyframes fd{to{opacity:1}}
.pie{display:grid;grid-template-columns:1fr auto auto;gap:24px 44px;align-items:end}
.sub{font-size:clamp(17px,1.4vw,20px);line-height:1.45;max-width:40ch;color:#ece6df}
.nota{text-decoration:none;display:grid;grid-template-columns:auto auto;gap:0 12px;align-items:center}
.nota b{font-family:var(--disp);font-weight:400;font-size:clamp(44px,4.4vw,64px);line-height:1;grid-row:span 2}
.nota span{font-size:15px;line-height:1.3}.nota small{font-size:14px;text-decoration:underline;text-underline-offset:3px}
.wa{display:inline-flex;gap:12px;align-items:center;justify-content:center;background:var(--color-hueso);color:var(--color-tinta);text-decoration:none;font-weight:500;font-size:17px;padding:17px 24px;border-radius:3px;transition:background .25s;min-height:48px}
.wa:hover{background:var(--color-rubor)}.wa svg,.red svg,.redes svg,.gal-ig svg,.barra svg{width:22px;height:22px;flex:none}
.wa.claro{background:var(--color-tinta);color:var(--color-hueso)}.wa.claro:hover{background:var(--color-gris)}
/* lejos */
.lejos{background:var(--color-hueso);color:var(--color-tinta);display:grid;grid-template-columns:repeat(12,1fr);gap:0 24px;padding:clamp(72px,11vw,150px) var(--pad)}
.lejos-t{grid-column:1/8}.lejos-t h2{max-width:16ch;margin-bottom:56px}
.pasos{list-style:none;padding:0;counter-reset:p}.pasos li{counter-increment:p;display:grid;grid-template-columns:70px 1fr;gap:4px 18px;padding:26px 0;border-top:1px solid #cbbfb3}
.pasos li::before{content:counter(p,decimal-leading-zero);font-family:var(--disp);font-size:34px;line-height:1;grid-row:span 2;color:#9b5f4c}
.pasos b{font-weight:500;font-size:20px}.pasos p{max-width:52ch;color:#3b3430}
.lejos-f{grid-column:9/13;align-self:end;margin-bottom:-24%}.lejos-f img{aspect-ratio:3/4;object-fit:cover;width:100%;height:auto}
/* caribe */
.caribe{display:grid;grid-template-columns:repeat(12,1fr);gap:0 24px;padding:clamp(120px,16vw,220px) var(--pad) clamp(72px,10vw,140px);background:#1d1916;align-items:center}
.caribe-f{grid-column:2/6;overflow:hidden}.caribe-f img{width:100%;height:auto;aspect-ratio:5/9;object-fit:cover;scale:1.1}
.caribe-t{grid-column:7/12}.caribe-t h2{font-size:clamp(40px,5.4vw,88px);margin-bottom:28px}.caribe-t p{max-width:44ch;color:var(--color-arena);font-size:19px}
/* reseñas */
.resenas{background:var(--color-arena);color:var(--color-tinta);padding:clamp(72px,10vw,140px) var(--pad)}
.res-cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:56px}.res-cab h2{max-width:12ch}
.res-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.r{margin:0;padding:clamp(24px,3vw,44px);display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.r footer{display:grid;gap:2px}.r cite{font-style:normal;font-weight:500}.r small{font-size:14px;color:#4a423d}
.r1{grid-column:1/8;grid-row:span 2;background:var(--color-tinta);color:var(--color-hueso)}.r1 p{font-family:var(--disp);font-size:clamp(24px,2.4vw,36px);line-height:1.25}.r1 small{color:var(--color-arena)}
.r2{grid-column:8/13;background:var(--color-hueso);border-radius:0 0 40px 0}.r3{grid-column:8/13;border:1px solid #9d9087}
.r4{grid-column:1/13;font-size:15px;padding-top:12px}.r4 a{font-weight:500}
/* galería */
.galeria{padding:clamp(72px,10vw,140px) var(--pad)}.galeria h2{margin-bottom:48px}
.gal{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.gal img{width:100%;height:100%;object-fit:cover}
.g1{grid-column:1/9}.g2{grid-column:9/13;grid-row:span 2}.g3{grid-column:3/9}
.gal-ig{margin-top:36px}.gal-ig a{display:inline-flex;gap:10px;align-items:center;font-weight:500;text-underline-offset:4px;min-height:44px}
/* equipo */
.equipo{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;padding:0 var(--pad) clamp(72px,10vw,140px);align-items:center}
.equipo figure{grid-column:1/6}.equipo img{width:100%;height:auto}.equipo div{grid-column:7/12;display:grid;gap:26px;justify-items:start}.equipo p{color:var(--color-arena);max-width:44ch;font-size:19px}
.equipo .wa.claro{background:var(--color-rubor);color:var(--color-tinta)}
/* visita */
.visita{display:grid;grid-template-columns:5fr 7fr;background:var(--color-hueso);color:var(--color-tinta)}
.vis-t{padding:clamp(56px,7vw,110px) var(--pad);display:grid;gap:30px;align-content:start;justify-items:start}
dl{display:grid;gap:4px}dt{font-size:14px;color:var(--color-gris);margin-top:14px}dd{margin:0;font-size:19px}.pend{color:var(--color-gris)}
.mapa{width:100%;height:100%;min-height:480px;border:0;filter:grayscale(.35)}
/* pie */
.pie-sitio{padding:56px var(--pad) 110px;display:flex;flex-wrap:wrap;gap:28px 48px;align-items:center;justify-content:space-between}
.pie-sitio img{height:56px;width:auto}.pie-sitio p{color:var(--color-arena);max-width:40ch}
.redes{display:flex;gap:10px 28px;flex-wrap:wrap}.redes a{display:inline-flex;gap:10px;align-items:center;text-decoration:none;min-height:44px}
/* barra */
.barra{position:fixed;z-index:10;left:0;right:0;bottom:0;display:flex;gap:12px;justify-content:center;align-items:center;background:var(--color-hueso);color:var(--color-tinta);text-decoration:none;font-weight:500;padding:15px;transform:translateY(100%);transition:transform .4s}
.barra.on{transform:none}
@media(max-width:900px){.pie{grid-template-columns:1fr}.lejos-t,.lejos-f,.caribe-f,.caribe-t,.equipo figure,.equipo div{grid-column:1/-1}.lejos-f{margin:48px 0 0}
 .caribe-f{width:72%;margin-bottom:44px}.r1,.r2,.r3,.g1,.g2,.g3{grid-column:1/-1;grid-row:auto}.visita{grid-template-columns:1fr}.mapa{min-height:380px}}
@media(max-width:700px){.top img{height:48px}.wa{width:100%}.vis-t .wa,.equipo .wa{width:auto}.pasos li{grid-template-columns:50px 1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.bg{clip-path:none}.ln>span{transform:none}.fade{opacity:1}}
/* ===== V2 ===== */
.bg{clip-path:none;animation:none}.bg .s{position:absolute;inset:0;opacity:0;animation:xf 24s linear infinite}.bg .s:first-child{opacity:1;animation-name:xf0}
.bg .s:nth-child(2){animation-delay:6s}.bg .s:nth-child(3){animation-delay:12s}.bg .s:nth-child(4){animation-delay:18s}
.bg .s img{animation:kb2 24s linear infinite;animation-delay:inherit;transform:scale(1.14)}.bg .s:first-child img{animation-name:kb0}
@keyframes xf{0%{opacity:0}6%{opacity:1}25%{opacity:1}31%{opacity:0}100%{opacity:0}}
@keyframes xf0{0%{opacity:1}25%{opacity:1}31%{opacity:0}94%{opacity:0}100%{opacity:1}}
@keyframes kb2{0%{transform:scale(1.14)}31%{transform:scale(1.02)}100%{transform:scale(1.02)}}
@keyframes kb0{0%{transform:scale(1.14)}31%{transform:scale(1.02)}94%{transform:scale(1.14)}100%{transform:scale(1.14)}}
.shade{background:linear-gradient(90deg,rgba(20,17,15,.88) 0%,rgba(20,17,15,.55) 48%,rgba(20,17,15,.2) 100%),linear-gradient(0deg,rgba(20,17,15,.7),transparent 45%)}
.txt{inset:auto auto auto var(--pad);top:50%;transform:translateY(-42%);padding:0;max-width:min(1000px,92vw);display:grid;gap:30px;justify-content:start}
.hero h1{font-size:clamp(46px,7.6vw,124px);max-width:none}.hgrid{display:grid;gap:30px}
.cta{display:flex;flex-wrap:wrap;gap:22px 36px;align-items:center}
.cont{position:absolute;z-index:3;right:var(--pad);bottom:28px;display:flex;gap:8px}.cont i{width:34px;height:2px;background:rgba(244,239,233,.3);overflow:hidden}.cont i::after{content:"";display:block;height:100%;background:var(--color-hueso);transform:scaleX(0);transform-origin:left;animation:bar 24s linear infinite}
.cont i:nth-child(2)::after{animation-delay:6s}.cont i:nth-child(3)::after{animation-delay:12s}.cont i:nth-child(4)::after{animation-delay:18s}@keyframes bar{0%{transform:scaleX(0)}25%{transform:scaleX(1)}25.01%,100%{transform:scaleX(0)}}
.kick{font-size:14px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;color:#8a5040}
.porque{background:var(--color-hueso);color:var(--color-tinta);padding:clamp(72px,10vw,140px) var(--pad) 0}
.pq-cab h2{max-width:18ch;margin-bottom:56px}
.hechos{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0 32px}
.hechos li{border-top:1px solid #cbbfb3;padding:24px 0 8px;display:grid;gap:10px;align-content:start}
.hechos b{font-family:var(--disp);font-weight:400;font-size:clamp(34px,3.4vw,52px);line-height:1;color:#9b5f4c}.hechos strong{font-weight:500;font-size:19px}.hechos p{color:#3b3430;font-size:16px}
.pq-f{margin:clamp(56px,7vw,96px) calc(var(--pad)*-1) 0;overflow:hidden;height:min(80vh,760px)}.pq-f img{width:100%;height:115%;object-fit:cover}
.lejos{background:#1d1916;color:var(--color-hueso)}.lejos .pasos li{border-color:#3d3631}.lejos .pasos p{color:var(--color-arena)}.lejos .pasos li::before{color:var(--color-rubor)}.lejos .kick{color:var(--color-rubor)}.lejos-f{margin-bottom:0;align-self:center}
.destinos{background:var(--color-hueso);color:var(--color-tinta);padding:clamp(72px,10vw,140px) var(--pad)}.destinos h2{margin-bottom:48px}
.des{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.des li{border:1px solid #cbbfb3;padding:clamp(24px,3vw,40px);display:grid;gap:14px;align-content:start}
.des li:first-child{background:var(--color-tinta);color:var(--color-hueso);border-color:var(--color-tinta)}.des h3{font-family:var(--disp);font-weight:400;font-size:clamp(28px,2.6vw,40px);line-height:1.05}
.des-p{margin-top:32px;font-size:19px}
.faq{padding:clamp(72px,10vw,140px) var(--pad);display:grid;grid-template-columns:5fr 7fr;gap:40px}
details{border-top:1px solid #3d3631}details:last-child{border-bottom:1px solid #3d3631}
summary{cursor:pointer;list-style:none;padding:24px 40px 24px 0;font-size:clamp(19px,1.6vw,23px);font-weight:500;position:relative}summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:18px;font-family:var(--disp);font-size:32px;line-height:1;transition:transform .3s}details[open] summary::after{transform:rotate(45deg)}
.fa p{padding:0 0 26px;color:var(--color-arena);max-width:62ch}.fa a{color:var(--color-rubor)}
.plan{background:var(--color-rubor);color:var(--color-tinta);padding:clamp(72px,10vw,140px) var(--pad);display:grid;grid-template-columns:5fr 7fr;gap:40px}
.plan-t p{margin-top:22px;max-width:38ch;font-size:19px}
#fplan{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;align-content:start}
#fplan label{display:grid;gap:8px;font-size:15px;font-weight:500}
#fplan input,#fplan select{font:400 17px var(--txt);color:var(--color-tinta);background:var(--color-hueso);border:1px solid #b88d7c;border-radius:3px;padding:14px;min-height:52px;width:100%}
#fplan .wa{background:var(--color-tinta);color:var(--color-hueso);border:0;cursor:pointer;font-family:var(--txt)}#fplan .wa:hover{background:#3b3430}
.alt{align-self:center;font-size:15px;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
.cred{flex-basis:100%;font-size:13px;color:#a39890!important;max-width:none!important}
@media(max-width:900px){.hechos,.des{grid-template-columns:1fr 1fr}.faq,.plan{grid-template-columns:1fr}}
@media(max-width:700px){.txt{top:auto;bottom:70px;transform:none;right:var(--pad)}.shade{background:linear-gradient(0deg,rgba(20,17,15,.95) 0%,rgba(20,17,15,.6) 55%,rgba(20,17,15,.35) 100%)}
 .hechos,.des,#fplan{grid-template-columns:1fr}.cont{bottom:24px;left:var(--pad);right:auto}.pq-f{height:70vh}}
@media(prefers-reduced-motion:reduce){.bg .s:not(:first-child){display:none}.bg .s img{transform:none}.cont{display:none}}
