/* Turismo Chiloé Mágico · tokens de brand/palette.md y brand/typography.md */
@font-face{font-family:Anton;src:url(/assets/fonts/anton-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:optional}
@font-face{font-family:Sacramento;src:url(/assets/fonts/sacramento-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:optional}
@font-face{font-family:Montserrat;src:url(/assets/fonts/montserrat-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:optional}
@font-face{font-family:Montserrat;src:url(/assets/fonts/montserrat-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:optional}
@font-face{font-family:Montserrat;src:url(/assets/fonts/montserrat-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:optional}
@font-face{font-family:Montserrat;src:url(/assets/fonts/montserrat-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:optional}
@font-face{font-family:Montserrat;src:url(/assets/fonts/montserrat-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:optional}
/* respaldos con métricas ajustadas para que el cambio de fuente no mueva el layout */
@font-face{font-family:"Montserrat-fb";src:local("Arial");size-adjust:112.5%;ascent-override:86%;descent-override:22%;line-gap-override:0%}
@font-face{font-family:"Anton-fb";src:local("Arial Narrow"),local("Arial");size-adjust:92%;ascent-override:118%;descent-override:33%}
@font-face{font-family:"Sacramento-fb";src:local("Georgia");size-adjust:70%;ascent-override:120%;descent-override:45%}

:root{
  --niebla:#f2f1ec;--bruma:#dfe4e6;--tinta:#1d2421;--musgo:#46473b;--tierra:#a69775;
  --mar:#1a8fc4;--mar-hondo:#126a96;--isla:#0e766c;--chiloe:#17853f;--chiloe-hondo:#106530;
  --turismo:#d0342c;--turismo-hondo:#b02a23;--blanco:#fff;
  --f-display:Anton,"Anton-fb",Impact,sans-serif;--f-script:Sacramento,"Sacramento-fb",cursive;--f-text:Montserrat,"Montserrat-fb",Arial,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);--g:clamp(16px,4vw,56px);--max:1440px;--r:18px;
  --sec:clamp(88px,12vw,184px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html[lang=en] [data-l=es],html[lang=es] [data-l=en]{display:none!important}
body{margin:0;background:var(--niebla);color:var(--tinta);font:400 clamp(16px,.35vw + 14.6px,18px)/1.65 var(--f-text);overflow-x:clip;-webkit-font-smoothing:antialiased}
img,video,svg{display:block;max-width:100%}
img{height:auto;background-size:cover;background-position:center}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--mar);outline-offset:3px;border-radius:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:100;background:var(--tinta);color:#fff;padding:10px 16px;border-radius:999px;text-decoration:none;transition:top .3s var(--ease)}
.skip:focus{top:12px}
main{display:block}
main:focus{outline:none}

/* tipografía */
.h1,.h2,.h3,.afiche,.hero__t,.cta__big{font-family:var(--f-display);font-weight:400;text-transform:uppercase;line-height:.95;letter-spacing:.005em;margin:0}
.h1{font-size:clamp(52px,9vw,148px)}
.h2{font-size:clamp(42px,6.4vw,104px)}
.h3{font-size:clamp(28px,3vw,46px);margin:1.6em 0 .5em}
.h4{font:600 13px/1.4 var(--f-text);letter-spacing:.18em;text-transform:uppercase;margin:2.4em 0 .8em}
.h5{font:600 12px/1.4 var(--f-text);letter-spacing:.16em;text-transform:uppercase;margin:1.6em 0 .4em}
.h1--light{color:#fff}
.script,.line--script{font-family:var(--f-script);text-transform:none;font-weight:400}
.line--script{font-size:1.02em;color:var(--turismo);line-height:1;margin:-.22em 0 -.12em .3em}
.kicker{font:600 12px/1.4 var(--f-text);letter-spacing:.22em;text-transform:uppercase;color:var(--isla);margin:0 0 18px}
.lead{font-size:clamp(18px,1.2vw + 12px,24px);line-height:1.45;max-width:38ch;margin:1em 0 0}
.muted{color:var(--musgo)}
.note{font-size:14px;opacity:.75;margin:.8em 0 0}
.u-link{text-decoration:none;font-weight:600;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;padding-bottom:3px;transition:background-size .5s var(--ease)}
.u-link:hover,.u-link:focus-visible{background-size:100% 2px}
.line{display:block;overflow:clip;padding:.08em 0 .06em;margin:-.08em 0 -.06em}
.line>span{display:block;will-change:transform}
.js [data-lines] .line>span{transform:translateY(108%);animation:cm-reveal 0s 3s forwards}
.js [data-lines].is-in .line>span{animation:none}
@keyframes cm-reveal{to{transform:none}}
.js [data-lines].is-in .line>span{transform:none;transition:transform 1.1s var(--ease)}
.js [data-lines].is-in .line:nth-child(2)>span{transition-delay:.08s}
.js [data-lines].is-in .line:nth-child(3)>span{transition-delay:.16s}

/* botones */
.btn{--bg:var(--tinta);--fg:#fff;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;background:var(--bg);color:var(--fg);text-decoration:none;font:600 14px/1 var(--f-text);letter-spacing:.08em;text-transform:uppercase;border:0;position:relative;overflow:hidden;transition:transform .5s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.18);transform:translateY(101%);transition:transform .5s var(--ease)}
.btn:hover::before{transform:none}
.btn__in{position:relative;display:inline-block}
.btn--red{--bg:var(--turismo-hondo)}
.btn--light{--bg:#fff;--fg:var(--tinta)}
.btn--light::before{background:rgba(0,0,0,.06)}
.btn--ink{--bg:var(--tinta)}
.btn--sm{min-height:42px;padding:0 18px;font-size:12px}
.btn--full{width:100%}
.arrow{width:52px;height:52px;border-radius:50%;border:1.5px solid currentColor;background:transparent;font-size:20px;transition:background .3s,color .3s}
.arrow:hover{background:var(--tinta);color:#fff}

/* header */
.hdr{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;gap:24px;padding:14px var(--g);transition:background .4s var(--ease),box-shadow .4s,transform .5s var(--ease)}
.hdr__logo{display:block;width:clamp(150px,13vw,200px);position:relative;flex:none}
.hdr__logo img{width:100%;height:auto}
.hdr__logo-w{position:absolute;inset:0;opacity:0;transition:opacity .4s}
.hdr__nav{margin-left:auto}
.hdr__nav ul{display:flex;gap:clamp(14px,1.6vw,28px);list-style:none;margin:0;padding:0}
.hdr__nav a{text-decoration:none;font:600 13px/1 var(--f-text);letter-spacing:.06em;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;padding:6px 0;transition:background-size .5s var(--ease)}
.hdr__nav a:hover,.hdr__nav a[aria-current]{background-size:100% 2px}
.hdr__tools{display:flex;align-items:center;gap:12px}
.lang{background:none;border:1.5px solid currentColor;border-radius:999px;height:42px;padding:0 14px;font:600 12px/1 var(--f-text);letter-spacing:.1em}
.lang__sep{opacity:.5;margin:0 4px}
html[lang=es] .lang__es,html[lang=en] .lang__en{text-decoration:underline 2px;text-underline-offset:4px}
.burger{display:none;width:44px;height:44px;border:0;background:none;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:currentColor;transition:transform .4s var(--ease)}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.home .hdr:not(.is-solid){color:#fff}
.home .hdr:not(.is-solid) .hdr__logo-w{opacity:1}
.home .hdr:not(.is-solid) .hdr__logo-c{opacity:0}
.hdr.is-solid,body:not(.home) .hdr{background:rgba(242,241,236,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(29,36,33,.08)}
.hdr.is-hidden{transform:translateY(-100%)}
@media (max-width:1180px){.hdr__nav{display:none}.burger{display:block}.hdr__tools{margin-left:auto}}
@media (max-width:560px){.hdr__cta{display:none}}

/* menú */
.menu{position:fixed;inset:0;z-index:60;background:var(--tinta);color:var(--niebla);padding:20px var(--g) 28px;display:flex;flex-direction:column;overflow:auto}
.menu[hidden]{display:none}
.menu__close{align-self:flex-end;background:none;border:1.5px solid currentColor;border-radius:999px;height:42px;padding:0 18px;font:600 12px/1 var(--f-text);letter-spacing:.12em;text-transform:uppercase}
.menu__grid{flex:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--g);align-items:center}
.menu__list{list-style:none;margin:0;padding:0}
.menu__link{display:flex;align-items:baseline;gap:18px;text-decoration:none;font:400 clamp(34px,5.4vw,76px)/1.08 var(--f-display);text-transform:uppercase;transition:color .3s,transform .5s var(--ease)}
.menu__link:hover,.menu__link:focus-visible{color:var(--mar);transform:translateX(10px)}
.menu__n{font:600 12px/1 var(--f-text);letter-spacing:.14em;opacity:.6}
.menu__media{position:relative;aspect-ratio:4/5;border-radius:50% 50% var(--r) var(--r);overflow:hidden}
.menu__img{position:absolute;inset:0;opacity:0;transition:opacity .5s var(--ease)}
.menu__img.is-on{opacity:1}
.menu__img img{width:100%;height:100%;object-fit:cover}
.menu__foot{display:flex;flex-wrap:wrap;gap:12px 32px;font-size:14px}
@media (max-width:760px){.menu__grid{grid-template-columns:1fr}.menu__media{display:none}}

/* medios */
.media{position:relative;overflow:hidden;border-radius:var(--r);aspect-ratio:var(--ar,auto)}

.media img{width:100%;height:100%;object-fit:cover}
.media[data-parallax] img{position:absolute;inset:-8% 0;height:116%;width:100%}

/* hero */
.hero{position:relative;height:100svh;min-height:560px;overflow:clip;color:#fff;display:flex;align-items:flex-end}
.hero__media{position:absolute;inset:-6% 0;will-change:transform}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,22,34,.45) 0%,rgba(9,22,34,0) 26%,rgba(9,22,34,0) 46%,rgba(9,22,34,.62) 100%)}
.hero__in{position:relative;width:100%;padding:0 var(--g) clamp(40px,7vh,84px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px var(--g)}
.hero__logo{grid-column:1/-1;width:clamp(170px,19vw,300px);filter:drop-shadow(0 8px 24px rgba(0,0,0,.25))}
.hero__t{font-size:clamp(46px,8.2vw,138px);max-width:12ch}
.hero__t .line--script{color:#fff;font-size:.86em;margin-left:.08em}
.hero__sub{grid-column:1;margin:0;font-weight:500;font-size:clamp(16px,1.2vw,19px)}
.hero__ctas{grid-column:2;grid-row:2/4;display:flex;flex-direction:column;gap:12px;align-self:end}
.hero__cap{position:absolute;right:var(--g);top:clamp(84px,12vh,110px);margin:0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.8;writing-mode:vertical-rl}
@media (max-width:760px){.hero__in{grid-template-columns:1fr}.hero__ctas{grid-column:1;grid-row:auto;flex-direction:row;flex-wrap:wrap}.hero__cap{display:none}}

/* barra de confianza */
.trust{padding:28px var(--g);border-bottom:1px solid rgba(29,36,33,.12)}
.trust ul{list-style:none;margin:0 auto;padding:0;max-width:var(--max);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.trust li{display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.35}
.trust strong{font:400 clamp(26px,2.4vw,36px)/1 var(--f-display);color:var(--isla)}
@media (max-width:900px){.trust ul{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* momento: la isla */
.isla{position:relative;height:calc(100svh + 140vh);background:var(--tinta);color:var(--niebla)}
.isla__stick{position:sticky;top:0;height:100svh;min-height:560px;overflow:clip;display:grid;place-items:center}
.isla__bg{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;justify-content:center;align-items:center;font:400 clamp(64px,13vw,220px)/.9 var(--f-display);text-transform:uppercase;color:transparent;-webkit-text-stroke:1.5px rgba(242,241,236,.5);text-align:center;pointer-events:none}
.isla__win{position:relative;height:min(78svh,720px);aspect-ratio:206/433;-webkit-mask:url(/brand/logo/isla.svg) center/contain no-repeat;mask:url(/brand/logo/isla.svg) center/contain no-repeat;will-change:transform;background:var(--isla)}
.isla__v{width:100%;height:100%;object-fit:cover}
.isla__q{position:absolute;right:var(--g);bottom:clamp(30px,8vh,80px);margin:0;font-size:clamp(34px,4vw,64px);color:var(--niebla)}

/* secciones */
.sec{padding:var(--sec) var(--g) 0;max-width:calc(var(--max) + 2*var(--g));margin:0 auto}
.sec__head{margin-bottom:clamp(36px,5vw,72px)}
.sec__head--row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--g);align-items:end}
@media (max-width:860px){.sec__head--row{grid-template-columns:1fr}}
.narrow{max-width:760px;margin-left:auto;margin-right:auto}
.phead{padding:clamp(130px,18vh,190px) var(--g) 0;max-width:calc(var(--max) + 2*var(--g));margin:0 auto}
.grid2,.grid3{list-style:none;margin:0;padding:0;display:grid;gap:clamp(28px,3vw,48px) clamp(18px,2vw,32px)}
.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.grid2,.grid3{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,110px);align-items:start}
.split__imgs{display:grid;gap:20px}
.split__imgs .media:nth-child(2){width:70%;margin-left:auto;margin-top:-18%}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* tarjetas de tour (gramática de afiche) */
.card__link{display:block;text-decoration:none}
.card__media{position:relative;aspect-ratio:4/5;border-radius:200px 200px var(--r) var(--r);overflow:hidden;background:var(--bruma)}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.card__link:hover .card__media img{transform:scale(1.05)}
.card__tag{position:absolute;left:14px;bottom:14px;background:var(--turismo-hondo);color:#fff;font:600 11px/1 var(--f-text);letter-spacing:.12em;text-transform:uppercase;padding:9px 12px;border-radius:999px}
.card__title{font:400 clamp(26px,2.3vw,36px)/1 var(--f-display);text-transform:uppercase;margin:18px 0 10px}
.card__title em{font-family:var(--f-script);font-style:normal;text-transform:none;color:var(--turismo);font-size:1.05em}
.card__meta{margin:0;font-size:14px;opacity:.8}
.card__price{display:inline-block;margin-top:10px;font-weight:700;color:var(--chiloe-hondo)}
.card__price--p{color:var(--musgo);font-weight:600;font-size:14px}
.tours__sw{overflow:visible}
.tours__sw .swiper-slide{width:clamp(260px,26vw,380px)}
.tours__foot{margin-top:48px;display:flex;justify-content:center}
.swiper{overflow:hidden}.swiper-wrapper{display:flex}.swiper-slide{flex-shrink:0}
.tours-home .swiper{overflow:visible}
.js-drag-label{position:fixed;z-index:70;pointer-events:none;top:0;left:0;padding:10px 14px;border-radius:999px;background:var(--turismo-hondo);color:#fff;font:600 11px/1 var(--f-text);letter-spacing:.14em;text-transform:uppercase;opacity:0;transform:translate(-50%,-140%) scale(.6);transition:opacity .3s,transform .4s var(--ease)}
.js-drag-label.is-on{opacity:1;transform:translate(-50%,-140%) scale(1)}

/* destinos: medallones */
.dests__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(14px,2vw,32px)}
.dest{display:flex;flex-direction:column;align-items:center;text-decoration:none;text-align:center;gap:14px}
.dest__ring{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:5px solid #fff;box-shadow:0 0 0 2px var(--chiloe),0 18px 40px -20px rgba(0,0,0,.4);transition:transform .7s var(--ease)}
.dest__ring img{width:100%;height:100%;object-fit:cover}
.dest:hover .dest__ring{transform:translateY(-8px) rotate(-2deg)}
.dest__name{font:400 clamp(20px,1.8vw,28px)/1.05 var(--f-display);text-transform:uppercase}
.dests__list li:nth-child(even){margin-top:clamp(20px,5vw,80px)}
@media (max-width:860px){.dests__list{grid-template-columns:repeat(2,minmax(0,1fr))}.dests__list li:nth-child(even){margin-top:0}}

/* experiencias */
.exps{position:relative}
.exps__list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(29,36,33,.18)}
.exp{display:grid;grid-template-columns:60px minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center;padding:clamp(18px,2.4vw,30px) 0;border-bottom:1px solid rgba(29,36,33,.18);text-decoration:none;transition:color .3s}
.exp>*{transition:transform .5s var(--ease)}
.exp:hover>*{transform:translateX(16px)}.exp:hover{color:var(--isla)}
.exp__n{font:600 12px/1 var(--f-text);letter-spacing:.14em;color:var(--musgo)}
.exp__name{font:400 clamp(30px,4vw,64px)/1 var(--f-display);text-transform:uppercase}
.exp__q{font-size:15px;opacity:.85}
.exps__float{position:fixed;top:0;left:0;width:clamp(200px,20vw,300px);aspect-ratio:4/5;pointer-events:none;z-index:5;border-radius:150px 150px var(--r) var(--r);overflow:hidden;opacity:0;transition:opacity .35s}
.exps__float.is-on{opacity:1}
.exp__img{position:absolute;inset:0;opacity:0;transition:opacity .3s}
.exp__img.is-on{opacity:1}
.exp__img img{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){.exp{grid-template-columns:40px minmax(0,1fr)}.exp__q{grid-column:2}.exps__float{display:none}}
@media (hover:none){.exps__float{display:none}}

/* por qué */
.why{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,6vw,110px);align-items:center}
.why__media{aspect-ratio:9/16;max-height:82svh;border-radius:200px 200px var(--r) var(--r);overflow:hidden;background:var(--bruma);justify-self:center;width:min(100%,420px)}
.why__v{width:100%;height:100%;object-fit:cover}
.why__p{font-size:clamp(18px,1.4vw,22px);font-weight:500}
.why__list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:18px}
.why__list li{padding-left:28px;position:relative}
.why__list li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:12px;border-radius:50%;background:var(--chiloe)}
@media (max-width:860px){.why{grid-template-columns:1fr}}

/* paquetes */
.pkgs__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,40px)}
.pkg__media{border-radius:var(--r)}
.pkg .kicker{margin-top:18px}
.pkg__t{font-size:15px}
.pkg__type{aspect-ratio:4/5;border-radius:var(--r);background:var(--mar-hondo);color:#fff;display:grid;place-items:center;font-size:clamp(60px,8vw,120px)}
@media (max-width:860px){.pkgs__list{grid-template-columns:1fr}}
.pkgrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);padding:clamp(40px,5vw,72px) 0;border-top:1px solid rgba(29,36,33,.15)}
.pkgrow__imgs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pkgrow__imgs:has(> :only-child){grid-template-columns:1fr}
.pkg__type--big{aspect-ratio:4/3}
@media (max-width:860px){.pkgrow{grid-template-columns:1fr}}
.medida{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--g)}
@media (max-width:860px){.medida{grid-template-columns:1fr}}

/* reseñas */
.reviews{overflow:clip;max-width:none;padding-left:0;padding-right:0}
.reviews .sec__head,.reviews__nav{padding:0 var(--g);max-width:calc(var(--max) + 2*var(--g));margin-left:auto;margin-right:auto}
.reviews__sw{padding:0 var(--g)}
.rev{margin:0;background:#fff;border-radius:var(--r);padding:clamp(24px,2.6vw,40px);display:flex;flex-direction:column;gap:18px;min-height:100%}
.reviews__sw .swiper-slide{height:auto;width:clamp(290px,34vw,500px)}
.rev:nth-child(3n+2){background:var(--bruma)}
.rev:nth-child(3n){background:#e9e4d6}
.rev__stars{color:var(--turismo);letter-spacing:.2em;font-size:14px}
.rev blockquote{margin:0;font-size:clamp(17px,1.3vw,20px);line-height:1.5;flex:1}
.rev figcaption{font-size:13px}
.rev figcaption a{font-weight:600}
.reviews__nav{display:flex;align-items:center;gap:12px;margin-top:28px}
.reviews__nav .u-link{margin-left:auto}

/* guía */
.guia__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gcard{display:block;text-decoration:none}
.gcard .media img{transition:transform 1.2s var(--ease)}
.gcard:hover .media img{transform:scale(1.05)}
@media (max-width:860px){.guia__list{grid-template-columns:1fr}}

/* contacto + mapa */
.contact-home{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--g);align-items:center}
.contact__links{display:flex;flex-direction:column;gap:8px;margin-top:20px}
@media (max-width:860px){.contact-home{grid-template-columns:1fr}}
.map{position:relative;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--bruma)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;transition:opacity .6s}
.map.is-loaded iframe{opacity:1}
.map__fallback{position:absolute;inset:0;display:block}
.map__fallback img{width:100%;height:100%;object-fit:cover}
.map__cta{position:absolute;left:16px;bottom:16px;background:#fff;padding:12px 16px;border-radius:999px;font-weight:600;font-size:14px}
.contact__list p{display:flex;flex-direction:column;margin:0 0 26px}
.contact__list .kicker{margin:0 0 6px}
.big-link{font:400 clamp(26px,3vw,44px)/1.1 var(--f-display);text-decoration:none;word-break:break-word}

/* CTA */
.cta{text-align:center;padding-bottom:var(--sec)}
.cta__big{font-size:clamp(36px,6vw,96px);max-width:16ch;margin:0 auto;color:var(--tinta)}
.cta__row{display:flex;justify-content:center;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:36px}
.cta__note{font-size:14px;opacity:.75}

/* tour */
.crumbs{padding:clamp(96px,13vh,120px) var(--g) 0;max-width:calc(var(--max) + 2*var(--g));margin:0 auto;font-size:13px}
.crumbs a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.thero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,80px);align-items:end;padding:28px var(--g) 0;max-width:calc(var(--max) + 2*var(--g));margin:0 auto}
.afiche{font-size:clamp(46px,7vw,112px);color:var(--tinta)}
.afiche .line:first-child{color:var(--turismo)}
.afiche .line:last-child{color:var(--mar-hondo)}
.thero__hook{font-size:clamp(18px,1.5vw,24px);font-weight:500;margin:24px 0 0}
.thero__media{border-radius:240px 240px var(--r) var(--r)}
.stars{color:var(--turismo-hondo)}
@media (max-width:860px){.thero{grid-template-columns:1fr}}
.tbody{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(28px,5vw,90px);padding:clamp(48px,6vw,96px) var(--g) 0;max-width:calc(var(--max) + 2*var(--g));margin:0 auto;align-items:start}
@media (max-width:1000px){.tbody{grid-template-columns:1fr}}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(29,36,33,.14);border-radius:var(--r);overflow:hidden;margin:0}
.facts div{background:var(--niebla);padding:18px 20px}
.facts dt{font:600 11px/1.3 var(--f-text);letter-spacing:.14em;text-transform:uppercase;opacity:.7;margin-bottom:6px}
.facts dd{margin:0;font-weight:600}
@media (max-width:620px){.facts{grid-template-columns:1fr 1fr}}
.tdesc .lead{max-width:none;font-weight:500}
.meds{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px 14px}
.med{position:relative;aspect-ratio:1}
.med__ring{position:absolute;inset:13%;border-radius:50%;overflow:hidden;border:4px solid #fff;box-shadow:0 0 0 2px var(--chiloe);background:var(--bruma);display:grid;place-items:center}
.med__ring img{width:100%;height:100%;object-fit:cover}
.med__n{font:400 34px/1 var(--f-display);color:var(--isla)}
.med--empty .med__ring{background:#fff}
.med__label{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.med__label text{font:700 15px var(--f-text);letter-spacing:.04em;fill:var(--tinta)}
.itin{list-style:none;margin:0;padding:0;counter-reset:i}
.itin li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;padding:14px 0;border-bottom:1px dashed rgba(29,36,33,.25)}
.itin__n{font:400 22px/1.2 var(--f-display);color:var(--turismo-hondo)}
.inc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.inc ul{margin:0;padding-left:1.1em}
@media (max-width:620px){.inc{grid-template-columns:1fr}}
.pending{display:inline-flex;align-items:center;gap:10px;margin:.4em 0;padding:8px 14px;border:1.5px dashed var(--tierra);border-radius:999px;font-size:13px;font-weight:600;color:var(--musgo)}
.pending__dot{width:8px;height:8px;border-radius:50%;background:var(--turismo)}
.book{position:sticky;top:100px}
.book__in{background:#fff;border-radius:var(--r);padding:28px;box-shadow:0 30px 60px -40px rgba(29,36,33,.5)}
.book__price{margin:0;font-size:14px}
.book__price strong{font:400 44px/1 var(--f-display);color:var(--chiloe-hondo)}
.book__pq{font-size:13px;margin:.6em 0 0}
.book__note{font-size:12px;opacity:.7;margin:.4em 0 0}
.book__inc{font-size:14px;font-weight:600;border-top:1px solid rgba(29,36,33,.12);padding-top:14px}
.book__f{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.book__f label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.book__f .btn{grid-column:1/-1}
input,textarea{font:inherit;font-size:16px;padding:12px 14px;border-radius:12px;border:1.5px solid rgba(29,36,33,.25);background:var(--niebla);color:var(--tinta);width:100%;text-transform:none;letter-spacing:0}
input:focus,textarea:focus{border-color:var(--mar)}
input:focus-visible,textarea:focus-visible{outline:3px solid var(--mar);outline-offset:2px}
.map:focus-within{outline:3px solid var(--mar);outline-offset:3px}
.book__alt,.book__cupos{font-size:13px;margin:.8em 0 0;text-align:center}
.mbar{display:none}
@media (max-width:1000px){.book{position:static}.mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;justify-content:space-between;align-items:center;gap:12px;padding:12px var(--g) calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);box-shadow:0 -10px 30px -20px rgba(0,0,0,.4);transform:translateY(110%);transition:transform .5s var(--ease)}.mbar.is-on{transform:none}.tour .wa{bottom:86px}}
.gal__sw .swiper-slide{width:clamp(250px,34vw,520px)}
.gal__s{aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;margin-right:0}
.gal__s img{width:100%;height:100%;object-fit:cover}
.faq{border-bottom:1px solid rgba(29,36,33,.18)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-weight:600;font-size:clamp(17px,1.3vw,20px);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:14px;font:400 30px/1 var(--f-display);transition:transform .4s var(--ease)}
.faq[open] summary::after{transform:rotate(45deg)}
.faq__a{padding:0 0 18px}
.faq__a p{margin:.3em 0}

/* destino / experiencia / artículo */
.dhero{position:relative;height:72svh;min-height:480px;margin-top:20px;overflow:clip;display:flex;align-items:flex-end}
.dhero__media{position:absolute;inset:0;border-radius:0}
.dhero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(9,22,34,.6))}
.dhero__in{position:relative;z-index:1;padding:0 var(--g) 48px}
.must{columns:2;padding-left:1.1em}
.bigcard{display:block;text-decoration:none}
.bigcard .h3{margin:.7em 0 .3em}
.bigcard .media img{transition:transform 1.2s var(--ease)}
.bigcard:hover .media img{transform:scale(1.05)}
.art__head{padding:30px var(--g) 30px;max-width:calc(var(--max) + 2*var(--g));margin:0 auto}
.art__media{max-width:1100px;margin:0 auto;border-radius:var(--r)}
.art__body{padding:48px var(--g) 0;font-size:clamp(18px,1.3vw,21px)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.chip{border:1.5px solid var(--tinta);background:none;border-radius:999px;padding:10px 16px;font-weight:600;font-size:13px}
.chip[aria-pressed=true]{background:var(--tinta);color:#fff}
[data-filter-grid] li.is-out{display:none}
.srv h2{margin-top:.8em}
.team__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(29,36,33,.14);border-radius:var(--r);overflow:hidden}
.team__list li{background:var(--niebla);padding:22px;display:flex;flex-direction:column;gap:4px}
.team__n{font:400 28px/1 var(--f-display);text-transform:uppercase}
.team__r{font-size:13px;opacity:.75}
.team__fig{margin:40px 0 0;max-width:640px}
.team__fig figcaption{font-size:14px;margin-top:12px}
@media (max-width:760px){.team__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pull{font:400 clamp(26px,2.6vw,40px)/1.15 var(--f-display);text-transform:uppercase;margin:1.2em 0;color:var(--isla)}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:#fff;border-radius:var(--r);padding:clamp(20px,3vw,36px)}
.form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.form__wide,.form .btn,.form__note{grid-column:1/-1}
.form__note{font-size:12px;opacity:.7;margin:0}
@media (max-width:560px){.form{grid-template-columns:1fr}}

/* WhatsApp flotante */
.wa{position:fixed;right:clamp(14px,2vw,28px);bottom:clamp(14px,2vw,28px);z-index:35;display:flex;align-items:center;gap:10px;background:#1f9d55;color:#fff;border-radius:999px;padding:12px;text-decoration:none;box-shadow:0 14px 30px -12px rgba(0,0,0,.45);transition:transform .5s var(--ease),bottom .4s var(--ease)}
.wa svg{width:30px;height:30px;fill:currentColor}
.wa__t{font-weight:600;font-size:14px;max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .5s var(--ease),padding .5s}
.wa:hover .wa__t,.wa:focus-visible .wa__t{max-width:160px;padding-right:8px}

/* pie */
.ftr{position:relative;background:var(--turismo-hondo);color:#fff;margin-top:clamp(60px,8vw,120px);padding:0 var(--g) 28px}
.ftr__wave{position:absolute;left:0;right:0;bottom:100%;width:100%;height:clamp(40px,7vw,110px);fill:var(--turismo-hondo)}
.ftr__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--g);max-width:var(--max);margin:0 auto;padding-top:20px}
.ftr__logo{width:clamp(220px,24vw,340px)}
.ftr__slogan{font-size:clamp(30px,3vw,46px);line-height:1.1;margin:20px 0 0}
.ftr__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;font-size:14px}
.ftr__cols ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ftr__cols a{text-decoration:none}
.ftr__cols a:hover{text-decoration:underline}
.ftr__h{font:600 12px/1.3 var(--f-text);letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px;opacity:.85}
.ftr__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid rgba(255,255,255,.3);margin:48px auto 0;padding-top:18px;font-size:12px;max-width:var(--max)}
.ftr__base p{margin:0}
.ftr__gull{position:absolute;right:var(--g);top:-70px;width:clamp(60px,7vw,110px);fill:#fff;stroke:var(--isla);stroke-width:2}
@media (max-width:900px){.ftr__in{grid-template-columns:1fr}.ftr__cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ftr__cols{grid-template-columns:1fr}}

/* movimiento reducido: todo visible */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js [data-lines] .line>span{transform:none!important}
  .isla{height:auto}
  .isla__stick{position:relative;height:auto;min-height:0;padding:var(--sec) var(--g)}
  .isla__win{transform:none!important}
  .media[data-parallax] img{inset:0;height:100%}
}
/* el slider de tours sangra a la derecha pero no genera scroll horizontal */
.tours-home{max-width:none;overflow:clip}
.tours-home .sec__head,.tours-home .tours__foot{max-width:var(--max);margin-left:auto;margin-right:auto}
@media (min-width:1552px){.tours-home .tours__sw{margin-left:calc((100vw - var(--max)) / 2 - var(--g))}}
/* mismo espacio que Swiper aplicará al iniciar: sin salto */
.tours__sw .swiper-slide,.reviews__sw .swiper-slide{margin-right:24px}
.gal__sw .swiper-slide{margin-right:16px}
.is-native.swiper{overflow-x:auto;scroll-snap-type:x mandatory}
.is-native .swiper-slide{scroll-snap-align:start}
@media (max-width:620px){.wa{padding:9px}.wa svg{width:26px;height:26px}}

@media (max-width:1000px){.mbar{visibility:hidden;transition:transform .5s var(--ease),visibility 0s .5s}.mbar.is-on{visibility:visible;transition:transform .5s var(--ease)}}
