@font-face{font-family:"Shrikhand";src:url(/fonts/shrikhand-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Caveat Brush";src:url(/fonts/caveat-brush-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Figtree";src:url(/fonts/figtree-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Figtree";src:url(/fonts/figtree-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Figtree";src:url(/fonts/figtree-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --hondo:#06343c; --hondo-2:#2a5a62;
  --mar:#14adb3; --mar-claro:#bcefee;
  --sol:#ffb612; --naranja:#f26b1d; --naranja-hondo:#b2440a;
  --arena:#ffe6b8; --papel:#fffdf8; --blanco:#fff;
  --gutter:clamp(16px,5vw,80px);
  --seccion:clamp(72px,10vw,150px);
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
  --titulo:"Shrikhand","Georgia",serif;
  --mano:"Caveat Brush","Segoe Print",cursive;
  --texto:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --sombra-papel:0 2px 3px rgba(6,52,60,.18),0 22px 34px -20px rgba(6,52,60,.6);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%;scrollbar-color:var(--naranja) var(--hondo);accent-color:var(--naranja)}
body{margin:0;background:var(--papel);color:var(--hondo);font:400 18px/1.55 var(--texto);caret-color:var(--naranja);overflow-x:clip}
::selection{background:var(--sol);color:var(--hondo)}
img,video{display:block;max-width:100%;height:auto}
h1,h2,h3{font-family:var(--titulo);font-weight:400;line-height:1.06;letter-spacing:-.01em;margin:0;text-wrap:balance}
h2{font-size:clamp(36px,5vw,68px)}
p{margin:0;text-wrap:pretty}
a{color:inherit;text-underline-offset:3px}
ul,ol,dl,dd{margin:0;padding:0;list-style:none}
fieldset{border:0;margin:0;padding:0;min-width:0}
:focus-visible{outline:3px solid var(--naranja);outline-offset:3px;border-radius:3px}
.saltar{position:absolute;left:-999px;top:8px;background:var(--hondo);color:#fff;padding:10px 16px;z-index:100;border-radius:8px}
.saltar:focus{left:12px}
.a-mano{font:400 26px/1.1 var(--mano);color:var(--naranja-hondo)}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 26px;border:0;border-radius:12px;font:700 17px/1.2 var(--texto);text-decoration:none;cursor:pointer;transition:transform 160ms var(--ease-out),background-color 160ms ease,color 160ms ease,box-shadow 200ms ease}
.btn:active{transform:scale(.97)}
.btn-sol{background:var(--sol);color:var(--hondo);box-shadow:0 10px 18px -12px rgba(0,0,0,.6)}
.btn-tinta{background:var(--hondo);color:#fff}
.btn-chico{min-height:42px;padding:8px 16px;font-size:15px;border-radius:10px}
.btn-ancho{width:100%}
.enlace{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;transition:text-underline-offset 160ms var(--ease-out)}
.enlace-claro{color:#fff}
@media (hover:hover) and (pointer:fine){
  .btn-sol:hover{background:#ffc94d;transform:translateY(-2px)}
  .btn-tinta:hover{background:#0b4c57}
  .enlace:hover{text-underline-offset:8px}
  .pc:hover{transform:rotate(0) translateY(-6px) scale(1.012);box-shadow:0 2px 3px rgba(6,52,60,.18),0 34px 42px -22px rgba(6,52,60,.7);z-index:2}
  .foto-papel:hover{transform:rotate(0) scale(1.02)}
  .ficha:hover span{background:#fff}
}

/* cabecera */
.cab{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px var(--gutter);color:#fff;transition:background-color 200ms ease,color 200ms ease,box-shadow 200ms ease}
.cab.solida,.pag-404 .cab{background:var(--papel);color:var(--hondo);box-shadow:0 8px 20px -16px rgba(6,52,60,.6)}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;font:400 24px/1 var(--titulo)}
.marca img{width:62px;height:40px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
.cab.solida .marca img{filter:none}
.nav{display:flex;align-items:center;gap:clamp(14px,2vw,28px);font-weight:500}
.nav a:not(.btn){text-decoration:none;padding:6px 0}
.nav a:not(.btn):hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.idioma{border:1.5px solid currentColor;border-radius:8px;padding:3px 9px!important;font-weight:700;font-size:14px}
.menu-btn{display:none;background:none;border:1.5px solid currentColor;color:inherit;font:700 15px var(--texto);padding:8px 14px;border-radius:10px;min-height:42px;cursor:pointer}

/* portada */
.hero{position:relative;min-height:min(100svh,960px);display:flex;align-items:flex-end;background:var(--hondo) url(/img/costa.webp?v=2) center/cover;overflow:hidden;isolation:isolate}
.hero-video{position:absolute;inset:-6% 0 auto 0;width:100%;height:112%;max-width:none;object-fit:cover;will-change:transform;animation:acercar 1600ms var(--ease-out) both}
@keyframes acercar{from{scale:1.09}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,52,60,.55) 0,rgba(6,52,60,0) 22%,rgba(6,52,60,0) 45%,rgba(6,52,60,.82) 100%)}
.hero-txt{position:relative;z-index:1;width:100%;padding:120px var(--gutter) clamp(40px,6vw,76px);color:#fff}
.hero h1{font-size:clamp(50px,7.4vw,96px);line-height:1.02;margin-bottom:18px;max-width:11em;text-shadow:0 2px 24px rgba(6,52,60,.45)}
.hero h1 span{display:inline-block;animation:subir 800ms var(--ease-out) both}
.hero h1 span:nth-child(2){animation-delay:120ms}
.hero h1 span:nth-child(3){animation-delay:240ms}
.hero-p{font-size:clamp(19px,1.7vw,23px);line-height:1.4;max-width:30em;margin-bottom:26px;font-weight:500;animation:subir 800ms var(--ease-out) 340ms both}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;animation:subir 800ms var(--ease-out) 420ms both}
@keyframes subir{from{opacity:0;transform:translateY(26px)}}

/* letreros que pasan */
.placas{background:var(--hondo);color:var(--sol);overflow:hidden;padding:14px 0}
.placas-riel{display:flex;width:max-content;animation:correr 46s linear infinite}
.placas ul{display:flex;align-items:center}
.placas li{font:400 clamp(24px,2.6vw,34px)/1.1 var(--titulo);padding:0 26px;position:relative;white-space:nowrap}
.placas li::after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--naranja)}
@keyframes correr{to{transform:translateX(-50%)}}

/* mapa */
.sec-mapa{background:var(--mar);padding:var(--seccion) var(--gutter)}
.sec-mapa-enc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,28em);gap:12px 48px;align-items:end;max-width:1360px;margin:0 auto clamp(26px,3vw,40px)}
.sec-mapa-enc h2{font-size:clamp(40px,6vw,88px)}
.sec-mapa-enc p{font-size:clamp(19px,1.6vw,22px);line-height:1.4;font-weight:500}
.sec-mapa-chica{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(48px,6vw,80px)}
.sec-mapa-chica .sec-mapa-enc h2{font-size:clamp(34px,4vw,56px)}
.mapa{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(20px,3vw,44px);max-width:1360px;margin:0 auto;align-items:start}
.mapa-mandos{display:grid;gap:22px}
.mapa legend{font:400 25px/1.1 var(--mano);padding:0;margin-bottom:8px}
.fichas{display:flex;flex-wrap:wrap;gap:7px}
.ficha{position:relative;cursor:pointer}
.ficha input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.ficha span{display:block;padding:9px 13px;min-height:42px;border-radius:9px;background:rgba(255,255,255,.62);font-weight:700;font-size:15px;line-height:1.5;transition:background-color 140ms ease,color 140ms ease,transform 140ms var(--ease-out)}
.ficha input:checked+span{background:var(--hondo);color:#fff}
.ficha input:active+span{transform:scale(.97)}
.ficha input:focus-visible+span{outline:3px solid var(--hondo);outline-offset:2px}
.mapa-lienzo{border-radius:14px;overflow:hidden;background:#0e98a0;grid-row:span 2}
.mapa-lienzo svg{display:block;width:100%;height:auto}
.m-tierra{fill:var(--arena);stroke:#fff;stroke-width:2.2;stroke-linejoin:round}
.m-sierra{font:500 italic 15px var(--texto);fill:#a57f3e;letter-spacing:.06em}
.m-oceano{font:400 29px var(--mano);fill:#075b64}
.m-red{stroke:#c9a56a;stroke-width:2.5;stroke-dasharray:2 7;stroke-linecap:round}
.m-ruta{fill:none;stroke:var(--naranja);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.m-lugar circle{fill:#fff;stroke:var(--hondo);stroke-width:3;transition:r 160ms var(--ease-out),fill 160ms ease}
.m-lugar text{font:700 19px var(--texto);fill:var(--hondo);paint-order:stroke;stroke:var(--arena);stroke-width:5px;stroke-linejoin:round}
.m-lugar[data-nodo=arena] text,.m-lugar[data-nodo=crucero] text{stroke:#7fd4d4}
.m-lugar[data-nodo=cabarete] text{stroke:#7fd4d4}
.m-lugar.activo circle{fill:var(--naranja);r:10}
.m-punto{fill:var(--naranja);stroke:#fff;stroke-width:4;filter:drop-shadow(0 2px 3px rgba(6,52,60,.5))}
.mapa-res{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px 14px;align-items:center;background:var(--papel);padding:10px;border-radius:4px;box-shadow:var(--sombra-papel);transform:rotate(-.8deg)}
.mapa-res[hidden]{display:none}
.mapa-res img{width:96px;height:72px;object-fit:cover}
.mapa-res strong{display:block;font:400 21px/1.1 var(--titulo)}
.mapa-res-acc{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.mapa-res-acc .btn{min-height:46px;padding:9px 18px;font-size:16px}

/* postales */
.sec-tours{background:var(--sol);padding:var(--seccion) var(--gutter)}
.tours-enc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26em);gap:12px 48px;align-items:end;max-width:1360px;margin:0 auto clamp(32px,4vw,56px)}
.tours-enc h2{font-size:clamp(40px,6vw,88px)}
.tours-enc p{font-size:clamp(19px,1.6vw,22px);line-height:1.4;font-weight:500}
.postales{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(22px,3vw,40px) clamp(16px,2.4vw,32px);max-width:1360px;margin:0 auto;align-items:start}
.pc{--g:-1.3deg;position:relative;display:grid;gap:2px;background:var(--papel);padding:12px 12px 14px;border-radius:3px;text-decoration:none;box-shadow:var(--sombra-papel);transform:rotate(var(--g));transition:transform 260ms var(--ease-out),box-shadow 260ms ease}
.pc:nth-child(2){--g:1.5deg;margin-top:44px}
.pc:nth-child(3){--g:.9deg}
.pc:nth-child(4){--g:-1.1deg;margin-top:30px}
.pc:nth-child(5){--g:1.4deg;margin-top:-14px}
.pc:nth-child(6){--g:-.8deg}
.pc:nth-child(7){--g:1.1deg;margin-top:26px}
.t-a{grid-column:span 7}.t-b{grid-column:span 5}.t-c{grid-column:span 4}.t-d{grid-column:span 6}
.pc-foto{display:block;overflow:hidden;background:var(--arena);margin-bottom:9px}
.pc-foto img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2}
.t-a .pc-foto img{aspect-ratio:16/10}
.t-b .pc-foto img{aspect-ratio:5/4}
.t-c .pc-foto img{aspect-ratio:1}
.pc strong{font:400 clamp(25px,2.5vw,34px)/1.08 var(--titulo)}
.pc-corto{font-size:17px}
.pc .a-mano{margin-top:3px}
.postales-tres .pc{grid-column:span 4;margin-top:0}
.otros{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(48px,6vw,80px)}

/* crucero */
.crucero{background:var(--hondo);color:#fff;padding:var(--seccion) var(--gutter)}
.crucero-rejilla{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:clamp(36px,6vw,96px);align-items:center;max-width:1240px;margin:0 auto}
.crucero h2{font-size:clamp(40px,6vw,88px);color:var(--sol);margin-bottom:24px}
.crucero blockquote{margin:0 0 34px;max-width:32em}
.crucero blockquote p{font:400 clamp(30px,3.3vw,44px)/1.14 var(--mano)}
.crucero blockquote footer{margin-top:10px;font-weight:500;color:var(--mar-claro)}
.pasos{counter-reset:p;display:grid;gap:16px;margin-bottom:30px;max-width:34em}
.pasos li{counter-increment:p;display:grid;grid-template-columns:46px 1fr;column-gap:14px}
.pasos li::before{content:counter(p);grid-row:span 2;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--naranja);color:var(--hondo);font:400 21px var(--titulo)}
.pasos strong{font-size:19px}
.pasos span{color:#cfe6e6}
.telefono{border-radius:26px;overflow:hidden;background:#000;border:6px solid #fff;aspect-ratio:9/16;justify-self:center;width:100%;max-width:380px;transform:rotate(1.6deg);box-shadow:0 34px 60px -30px #000}
.telefono video{width:100%;height:100%;object-fit:cover}

/* traslados */
.sec-tras{background:var(--naranja);padding:clamp(64px,8vw,120px) var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,96px)}
.sec-tras>div{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:620px}
.sec-tras h2{font-size:clamp(32px,3.9vw,54px)}
.sec-tras p{font-size:19px;font-weight:500}
.sec-tras .btn{margin-top:auto}

/* nosotros */
.sec-nos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,96px);align-items:center;max-width:1360px;margin:0 auto;padding:var(--seccion) var(--gutter)}
.foto-papel{display:block;background:#fff;padding:10px 10px 30px;border-radius:2px;box-shadow:var(--sombra-papel);transition:transform 260ms var(--ease-out)}
.foto-papel img{width:100%;object-fit:cover}
.nos-fotos{position:relative;padding:0 14% 24% 0}
.nos-a{transform:rotate(-1.6deg)}
.nos-a img{aspect-ratio:4/5}
.nos-b{position:absolute;right:0;bottom:0;width:58%;transform:rotate(2.2deg)}
.nos-b img{aspect-ratio:4/3}
.sec-nos h2{font-size:clamp(40px,5.4vw,76px)}
.nos-cita{font:400 clamp(28px,2.8vw,38px)/1.15 var(--mano);color:var(--naranja-hondo);margin:14px 0 26px}
.razones{display:grid;grid-template-columns:1fr 1fr;gap:18px 30px}
.razones dt{font-weight:700;font-size:19px}
.razones dd{color:var(--hondo-2);font-size:17px}

/* galeria */
.sec-gal{background:var(--arena);padding:var(--seccion) 0 clamp(64px,8vw,110px)}
.gal-enc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,24em);gap:12px 48px;align-items:end;padding:0 var(--gutter);margin:0 auto clamp(28px,3vw,44px);max-width:1520px}
.gal-enc p{font-size:19px;font-weight:500}
.tira{display:flex;align-items:center;gap:22px;overflow-x:auto;padding:22px var(--gutter) 30px;scrollbar-width:none}
.tira::-webkit-scrollbar{display:none}
.tira .foto-papel{flex:0 0 clamp(250px,25vw,380px)}
.tira .foto-papel img{aspect-ratio:4/5}
.tira .foto-papel:nth-child(odd){transform:rotate(-1.4deg)}
.tira .foto-papel:nth-child(even){transform:rotate(1.2deg) translateY(14px)}
.tira .foto-papel:nth-child(3n) img{aspect-ratio:1}

/* resenas */
.sec-tes{background:var(--mar-claro);padding:clamp(64px,8vw,110px) var(--gutter)}
.tes-vacio{max-width:760px;margin:0 auto;text-align:center;display:grid;justify-items:center;gap:14px}
.tes-vacio p{font-size:20px}
.tes-enc{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 32px;max-width:1360px;margin:0 auto 32px}
.tes-riel{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 24px;max-width:1360px;margin:0 auto}
.nota{flex:0 0 clamp(280px,31%,420px);scroll-snap-align:start;margin:0;background:var(--papel);padding:22px;border-radius:3px;box-shadow:var(--sombra-papel);display:flex;flex-direction:column;gap:12px}
.nota blockquote{margin:0;font-size:18px}
.nota figcaption{margin-top:auto;font-size:15px;color:var(--hondo-2)}
.estrellas{display:flex;gap:2px}
.estrellas svg{fill:var(--sol)}

/* reservar */
.sec-res{background:var(--mar);padding:var(--seccion) var(--gutter)}
.res-rejilla{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:clamp(32px,6vw,88px);align-items:center;max-width:1240px;margin:0 auto}
.res-rejilla h2{margin-bottom:16px;font-size:clamp(40px,5.6vw,80px)}
.res-rejilla p{font-size:20px;font-weight:500}
.res-tel{font:400 clamp(28px,3vw,40px)/1.1 var(--titulo)!important;margin-top:24px}
.res-tel a{text-decoration:none;border-bottom:4px solid var(--hondo)}
.boleto{position:relative;background:var(--papel);border-radius:6px;box-shadow:var(--sombra-papel);overflow:hidden}
.boleto-cab{display:flex;align-items:center;justify-content:space-between;background:var(--hondo);color:#fff;padding:13px 22px;font:400 24px var(--titulo)}
.boleto-cab img{width:62px;height:40px;object-fit:contain}
.boleto-campos{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:22px}
.campo{display:grid;gap:5px;font-weight:700;font-size:15px;min-width:0}
.campo-ancho{grid-column:1/-1}
.campo input,.campo select,.campo textarea{width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1.5px solid #9dbcbc;border-radius:8px;background:#fff;color:var(--hondo);font:400 16px var(--texto);transition:border-color 140ms ease,box-shadow 140ms ease}
.campo textarea{resize:vertical}
.campo ::placeholder{color:#55757a}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--mar);box-shadow:0 0 0 3px var(--mar-claro)}
.campo [aria-invalid="true"]{border-color:#c5311a;box-shadow:0 0 0 3px #fbdcd5}
.boleto-pie{position:relative;padding:20px 22px 22px;border-top:2px dashed #b9cfcf}
.boleto-pie::before,.boleto-pie::after{content:"";position:absolute;top:-13px;width:24px;height:24px;border-radius:50%;background:var(--mar)}
.boleto-pie::before{left:-12px}.boleto-pie::after{right:-12px}
.pag-tour .boleto-pie::before,.pag-tour .boleto-pie::after{background:var(--papel)}
.boleto-pie p{font-size:14px;color:var(--hondo-2);margin-top:10px;text-align:center}
.sello{position:absolute;z-index:3;left:50%;top:44%;padding:6px 18px;border:4px solid var(--naranja-hondo);border-radius:8px;font:400 34px/1.1 var(--mano);color:var(--naranja-hondo);background:rgba(255,253,248,.9);white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,-50%) rotate(-7deg) scale(1.5);transition:opacity 120ms ease,transform 240ms var(--ease-out)}
.boleto.sellado .sello{opacity:1;transform:translate(-50%,-50%) rotate(-7deg) scale(1)}

/* pagina de tour */
.t-hero{position:relative;min-height:min(70svh,620px);display:flex;align-items:flex-end;background:var(--hondo);isolation:isolate;overflow:hidden}
.t-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:acercar 1600ms var(--ease-out) both}
.t-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,52,60,.55) 0,rgba(6,52,60,.05) 34%,rgba(6,52,60,.86) 100%)}
.t-hero-txt{position:relative;z-index:1;width:100%;max-width:1360px;margin:0 auto;padding:110px var(--gutter) 34px;color:#fff}
.t-hero h1{font-size:clamp(42px,6.4vw,96px);margin:14px 0 8px;animation:subir 800ms var(--ease-out) both}
.t-hero .hero-p{margin-bottom:0}
.t-cuerpo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(32px,5vw,72px);max-width:1360px;margin:0 auto;padding:clamp(36px,5vw,64px) var(--gutter)}
.t-lateral{position:sticky;top:84px;align-self:start}
.datos{display:flex;flex-wrap:wrap;gap:12px 40px;margin:0 0 28px}
.datos dt{font-size:15px;font-weight:700;color:var(--hondo-2)}
.datos dd{font:400 30px/1.15 var(--titulo)}
.datos dd small{display:block;font:500 13px var(--texto);color:var(--hondo-2)}
.datos .dd-chico{font:700 19px/1.3 var(--texto);padding-top:4px}
.t-texto{font-size:clamp(20px,1.7vw,23px);line-height:1.45;margin-bottom:34px;max-width:36em}
.t-info h2{font-size:32px;margin-bottom:14px}
.incluye{display:grid;gap:9px;margin-bottom:38px}
.incluye li{position:relative;padding-left:30px}
.incluye li::before{content:"";position:absolute;left:2px;top:.3em;width:16px;height:16px;border-radius:50%;background:var(--naranja)}
.t-fotos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.t-fotos .foto-papel:nth-child(odd){transform:rotate(-1deg)}
.t-fotos .foto-papel:nth-child(even){transform:rotate(1.1deg)}
.t-fotos img{aspect-ratio:1}

/* pie */
.pie{background:var(--hondo);color:#fff;padding:clamp(48px,6vw,80px) var(--gutter) 24px;overflow:hidden}
.pie-rejilla{display:grid;grid-template-columns:1.1fr 1.3fr .8fr;gap:32px;max-width:1360px;margin:0 auto}
.pie h2{font:400 24px var(--mano);color:var(--sol);margin-bottom:10px}
.pie ul{display:grid;gap:6px}
.pie-dos{grid-template-columns:1fr 1fr;column-gap:20px}
.pie-grande{font:400 clamp(58px,15.5vw,236px)/1 var(--titulo);color:var(--sol);text-align:center;margin:clamp(28px,4vw,52px) 0 10px;white-space:nowrap}
.pie-legal{max-width:1360px;margin:0 auto;padding-top:14px;font-size:13px;color:#cfe6e6;display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between}

.barra-wa{display:none}
.e404{min-height:70vh;display:grid;place-content:center;justify-items:center;text-align:center;gap:12px;padding:120px var(--gutter) 64px}
.e404 h1{font-size:clamp(44px,7vw,92px)}

/* movimiento al bajar: solo si hay JS; sin JS todo se ve */
.js .sube{opacity:0;transform:translateY(26px);transition:opacity 500ms ease var(--r,0ms),transform 700ms var(--ease-out) var(--r,0ms)}
.js .sube.visto{opacity:1;transform:none}
.js .pc.entra{opacity:0;transform:translateY(46px) rotate(calc(var(--g) * 4))}
.js .pc.lleva{transition:transform 900ms var(--ease-out) var(--r,0ms),opacity 400ms ease var(--r,0ms),box-shadow 260ms ease}

/* tablet */
@media (max-width:1040px){
  .nav a:not(.btn):not(.idioma){display:none}
  .nav.abierta a:not(.btn):not(.idioma){display:block}
  .menu-btn{display:inline-flex;align-items:center;margin-left:auto}
  .nav{position:absolute;inset:100% 0 auto 0;flex-direction:column;align-items:flex-start;gap:6px;padding:14px var(--gutter) 20px;background:var(--papel);color:var(--hondo);box-shadow:0 12px 24px -16px rgba(6,52,60,.5);display:none}
  .nav.abierta{display:flex;opacity:1;transform:none;transition:opacity 180ms ease,transform 220ms var(--ease-out)}
  @starting-style{.nav.abierta{opacity:0;transform:translateY(-6px)}}
  .nav a:not(.btn){font-size:19px;padding:9px 0}
  .mapa{grid-template-columns:minmax(0,1fr)}
  .mapa-lienzo{grid-row:auto;grid-column:1}
  .mapa-mandos{grid-template-columns:1fr 1fr}
  .pie-rejilla{grid-template-columns:1fr 1fr}
  .t-cuerpo{grid-template-columns:minmax(0,1fr)}
  .t-lateral{position:static}
  .postales-tres .pc{grid-column:span 6}
  .postales-tres .pc:nth-child(3){display:none}
}

/* movil */
@media (max-width:760px){
  body{padding-bottom:62px;font-size:17px}
  .hero{min-height:92svh}
  .hero h1 span{display:block}
  .hero-cta .btn{display:none}
  .sec-mapa-enc,.tours-enc,.gal-enc,.sec-tras,.sec-nos,.crucero-rejilla,.res-rejilla{grid-template-columns:minmax(0,1fr)}
  .mapa-mandos{grid-template-columns:minmax(0,1fr);order:2}
  .mapa-lienzo{order:1;position:sticky;top:68px;z-index:3;box-shadow:0 14px 22px -16px rgba(6,52,60,.7)}
  .mapa-res{order:3}
  .m-lugar[data-nodo=luperon],.m-lugar[data-nodo=rucia]{display:none}
  .m-lugar text{font-size:34px;stroke-width:7px}
  .m-lugar circle{r:10}
  .m-lugar.activo circle{r:14}
  .m-lugar[data-nodo=choco],.m-sierra{display:none}
  .m-oceano{font-size:44px}
  .postales{grid-template-columns:minmax(0,1fr);gap:26px}
  .t-a,.t-b,.t-c,.t-d,.postales-tres .pc{grid-column:1;margin-top:0!important}
  .postales-tres .pc:nth-child(3){display:grid}
  .pc-foto img,.t-a .pc-foto img,.t-b .pc-foto img,.t-c .pc-foto img{aspect-ratio:3/2}
  .razones{grid-template-columns:1fr}
  .nos-fotos{margin-right:6px}
  .telefono{max-width:300px;margin-top:14px}
  .boleto-campos{padding:18px}
  .tira{scroll-snap-type:x mandatory;gap:16px}
  .tira .foto-papel{scroll-snap-align:center;flex-basis:72vw}
  .barra-wa{display:flex;align-items:center;justify-content:center;position:fixed;inset:auto 0 0 0;z-index:40;min-height:56px;padding:9px 16px calc(9px + env(safe-area-inset-bottom));background:var(--sol);color:var(--hondo);font-weight:700;font-size:17px;text-decoration:none;box-shadow:0 -8px 18px -10px rgba(6,52,60,.6)}
  .pie-rejilla{grid-template-columns:minmax(0,1fr)}
  .datos{gap:14px 28px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-property:opacity,color,background-color!important}
  .placas-riel{transform:none}
  .js .sube,.js .pc.entra{transform:none}
  .js .pc.entra{transform:rotate(var(--g))}
}

/* --- sobre la version 2: animaciones nuevas --- */
.pc-foto{position:relative}
.pc-foto video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 500ms ease}
.pc-foto video.vivo{opacity:1}
.m-guagua{filter:drop-shadow(0 2px 3px rgba(6,52,60,.45))}
.m-guagua .c{fill:var(--naranja-hondo)}
.m-guagua .v{fill:var(--mar-claro)}
.m-guagua .r{fill:var(--hondo)}
.sec-tours,.sec-tras{position:relative;overflow-x:clip}
.cruza{position:absolute;left:0;top:-52px;z-index:3;pointer-events:none;will-change:transform;transform:translate3d(-140px,0,0)}
.lancha .b1{fill:#fff}.lancha .b2{fill:var(--naranja-hondo)}.lancha .b3{fill:var(--papel)}.lancha .b4{fill:var(--mar)}
.avion{top:22px}
.avion .a1{fill:var(--papel)}.avion .a2{fill:var(--hondo)}.avion .a3{fill:var(--mar)}
.pasos{position:relative;--p:0}
.pasos::before{content:"";position:absolute;left:21px;top:20px;bottom:46px;width:4px;border-radius:4px;background:var(--sol);transform:scaleY(var(--p));transform-origin:top}
.pasos li::before{position:relative;z-index:1}
@media (prefers-reduced-motion:no-preference){
  .pc-foto img{animation:deriva 16s ease-in-out infinite alternate}
  .pc:nth-child(even) .pc-foto img{animation-delay:-7s}
}
@keyframes deriva{to{transform:scale(1.07)}}
.flota{position:fixed;right:24px;bottom:24px;z-index:40;display:inline-flex;align-items:center;gap:8px;padding:13px 20px;border-radius:12px;background:var(--hondo);color:#fff;font-weight:700;text-decoration:none;box-shadow:0 14px 26px -12px rgba(6,52,60,.7);opacity:0;pointer-events:none;transform:translateY(14px) scale(.96);transition:opacity 220ms ease,transform 280ms var(--ease-out)}
.flota svg{fill:var(--sol)}
.flota.ver{opacity:1;pointer-events:auto;transform:none}
.flota:active{transform:scale(.97)}
@media (max-width:760px){
  .flota{display:none}
  .cruza{width:84px;height:auto;top:-36px}
  .avion{top:14px}
}
@media (prefers-reduced-motion:reduce){
  .cruza{display:none}
  .pasos::before{transform:none}
}

/* preguntas frecuentes */
.sec-faq{background:var(--arena);padding:clamp(64px,8vw,110px) var(--gutter)}
.faq-rejilla{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(24px,5vw,72px);max-width:1240px;margin:0 auto;align-items:start}
.faq-lista{display:grid;gap:10px}
.faq-lista details{background:var(--papel);border-radius:6px;box-shadow:0 8px 16px -14px rgba(6,52,60,.6)}
.faq-lista summary{cursor:pointer;padding:15px 18px;font-weight:700;font-size:18px;list-style-position:inside}
.faq-lista details p{padding:0 18px 16px}
.t-faq{margin-bottom:38px}
.t-faq .faq-lista details{background:var(--arena)}
@media (max-width:760px){.faq-rejilla{grid-template-columns:minmax(0,1fr)}}
