/* Chilcabamba Mountain Lodge — v3 · branding: #bcdaf2 · #b4856f · #f4f3d7 · blanco · negro */
:root{
  --blue:#bcdaf2;--clay:#b4856f;--cream:#f4f3d7;--black:#0e0e0e;--white:#fff;
  --clay-d:#8f6552;--ink:#0e0e0e;--ink-2:#333;--muted:#5f5f5f;--line:#e4e4e4;--line-d:rgba(255,255,255,.16);
  --f:Lato,"Helvetica Neue",Arial,sans-serif;--f-script:Wheatland,cursive;
  --r:2px;--sh:0 24px 60px -24px rgba(0,0,0,.45);--w:1240px;--hdr:88px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:400 16.5px/1.7 var(--f);color:var(--ink-2);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink)}
button,input,select{font-family:var(--f)}
h1,h2,h3,h4{font-family:var(--f);color:var(--ink);font-weight:800;text-transform:uppercase;letter-spacing:.07em;line-height:1.18;margin:0 0 .6em}
h1{font-size:clamp(2.1rem,4.8vw,4rem);letter-spacing:.06em;line-height:1.08}
h2{font-size:clamp(1.55rem,2.9vw,2.4rem)}h3{font-size:1.1rem;letter-spacing:.09em}
h1 em,h2 em,h3 em{font-style:normal;color:var(--clay)}
p{margin:0 0 1em}
.wrap{max-width:var(--w);margin:0 auto;padding:0 28px}
.sec{padding:96px 0}.sec--cream{background:var(--cream)}.sec--blue{background:var(--blue)}.sec--tight{padding:64px 0}
.eyebrow{display:block;font:400 1.75rem/1 var(--f-script);color:var(--clay);margin:0 0 14px;text-transform:none;letter-spacing:0}
.sec-head{max-width:720px;margin:0 0 46px}.sec-head--c{margin-left:auto;margin-right:auto;text-align:center}
.sec-head p{color:var(--muted);font-size:1.08rem;margin:0}
.sec-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px;flex-wrap:wrap}.sec-row .sec-head{margin:0}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px 14px;z-index:999}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--black);color:#fff!important;border:0;border-radius:var(--r);padding:16px 30px;font:700 12.5px/1 var(--f);letter-spacing:.16em;text-transform:uppercase;text-decoration:none!important;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}
.btn:hover{background:var(--clay);color:var(--black)!important}
.btn--clay{background:var(--clay);color:var(--black)!important}.btn--clay:hover{background:var(--black);color:#fff!important}
.btn--ghost{background:transparent;color:var(--ink)!important;box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff!important}
.btn--light{background:#fff;color:var(--black)!important}.btn--light:hover{background:var(--cream);color:var(--black)!important}
.btn--lg{padding:20px 38px;font-size:13px}.btn--sm{padding:14px 24px;font-size:12px}
.link{display:inline-flex;align-items:center;gap:10px;font:700 12px/1 var(--f);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--ink);padding-bottom:6px;border-bottom:1.5px solid var(--clay)}
.link::after{content:"→";transition:transform .2s}.link:hover::after{transform:translateX(4px)}

/* header: solido, alineado, no se superpone al banner */
.hdr{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line)}
.hdr__bar{max-width:1400px;margin:0 auto;height:var(--hdr);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:40px;padding:0 32px}
.logo{display:block;flex:none}.logo img{height:46px;width:auto}
.nav{display:flex;justify-content:center;gap:34px;list-style:none;padding:0;margin:0}
.nav a{display:block;color:var(--ink);text-decoration:none;font:700 12px/1 var(--f);letter-spacing:.17em;text-transform:uppercase;padding:10px 0;border-bottom:2px solid transparent;transition:border-color .2s}
.nav a:hover{border-color:var(--blue)}.nav a[aria-current]{border-color:var(--clay)}
.hdr__r{display:flex;align-items:center;gap:20px}
.lang{font:700 12px/1 var(--f);letter-spacing:.16em;color:var(--ink);text-decoration:none;padding:10px 0;border-bottom:2px solid transparent}
.lang:hover{border-color:var(--blue)}
.hdr .btn{padding:16px 28px}
.burger{display:none;background:none;border:0;width:46px;height:46px;padding:12px;cursor:pointer;color:var(--ink)}
.burger span{display:block;height:2px;background:currentColor;margin:6px 0;transition:transform .2s,opacity .2s}
@media(max-width:1100px){.nav{gap:22px}.hdr__bar{gap:24px;padding:0 24px}}
@media(max-width:980px){
  :root{--hdr:72px}
  .hdr__bar{grid-template-columns:auto 1fr auto;gap:10px;padding:0 14px}
  .burger{display:block;order:-1}.logo{justify-self:start}.logo img{height:38px}
  .nav{position:fixed;top:var(--hdr);left:0;right:0;bottom:0;background:#fff;flex-direction:column;justify-content:flex-start;gap:0;padding:8px 24px;transform:translateX(-100%);transition:transform .25s;overflow:auto;z-index:99}
  .nav li{border-bottom:1px solid var(--line)}
  .nav a{font-size:15px;padding:20px 0;border:0}
  body.menu-open .nav{transform:none}body.menu-open{overflow:hidden}
  .hdr .btn{padding:14px 18px;font-size:11px}.lang{display:none}
}
@media(max-width:380px){.hdr .btn{padding:13px 12px;letter-spacing:.1em}}

/* hero */
.hero{position:relative}
.hero__frame{position:relative;color:#fff;min-height:min(74vh,720px);display:flex;align-items:flex-end;background:#2a2622}
.hero--in .hero__frame{min-height:clamp(300px,42vh,420px)}
.hero__frame>picture,.hero__frame>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.1) 40%,rgba(0,0,0,.62) 100%)}
.hero__in{position:relative;z-index:2;width:100%;padding-bottom:104px}
.hero--in .hero__in{padding-bottom:96px}
.hero__txt{max-width:820px;padding-top:110px}
.hero h1{color:#fff;margin-bottom:.4em;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.hero h1 em{color:var(--cream)}
.hero__sub{font:700 13px/1.5 var(--f);letter-spacing:.3em;text-transform:uppercase;color:var(--cream);margin:0 0 20px}
.hero__lead{font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:640px;color:#fff;margin:0;text-shadow:0 1px 14px rgba(0,0,0,.45)}
.hero__lead--s{font:400 clamp(1.5rem,2.3vw,2.1rem)/1.3 var(--f-script);max-width:760px}
.hero .eyebrow{color:var(--cream)}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.crumbs{font-size:13px;letter-spacing:.04em;opacity:.95;margin-bottom:14px}.crumbs a{color:#fff}
.hero__bk{position:relative;z-index:5;margin-top:-48px}
.after-hero{padding-top:34px}

/* barra de reserva: negra, rectangular */
.bk{display:grid;grid-template-columns:1.15fr 1.15fr 1fr auto;background:var(--black);color:#fff;border-radius:var(--r);box-shadow:var(--sh);max-width:1120px;margin:0 auto;position:relative}
.bk__f{display:flex;flex-direction:column;justify-content:center;gap:8px;text-align:left;background:none;border:0;border-right:1px solid var(--line-d);padding:22px 30px;cursor:pointer;min-width:0;transition:background .2s;font-family:var(--f);color:#fff}
.bk__f:hover,.bk__f.on{background:#1c1c1c}
.bk__f span{font:700 10.5px/1 var(--f);letter-spacing:.22em;text-transform:uppercase;color:var(--blue)}
.bk__f b{font:700 17px/1.2 var(--f);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}
.bk .btn{border-radius:0;padding:0 46px;min-height:84px;background:var(--clay);color:var(--black)!important;font-size:13px}
.bk .btn:hover{background:var(--cream)}
.bk__note{grid-column:1/-1;margin:0;padding:12px 30px;border-top:1px solid var(--line-d);font-size:12.5px;color:rgba(255,255,255,.75);display:flex;flex-wrap:wrap;gap:4px 24px}
.bk__note b{color:var(--blue)}
@media(max-width:860px){.bk{grid-template-columns:1fr 1fr}.bk__f{padding:16px 20px}.bk__f:nth-child(2){border-right:0}
  .bk__f:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line-d);border-right:0}.bk .btn{grid-column:1/-1;min-height:60px}}

/* popovers: calendario / huespedes */
.pop{position:absolute;z-index:400;background:#fff;border-radius:var(--r);box-shadow:0 30px 70px -20px rgba(0,0,0,.5);border:1px solid var(--line);padding:24px;font-family:var(--f);color:var(--ink)}
.pop[hidden]{display:none}
.cal__nav{display:flex;justify-content:space-between;align-items:center;height:38px;position:relative;z-index:2}
.cal__nav button{width:38px;height:38px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:18px;color:var(--ink);border-radius:var(--r)}
.cal__nav button:hover:not(:disabled){background:var(--cream)}.cal__nav button:disabled{opacity:.3;cursor:default}
.cal__months{display:flex;gap:36px;margin-top:-38px}
.cal__m{width:266px}.cal__m h4{font:700 12.5px/1 var(--f);letter-spacing:.16em;text-align:center;margin:0 0 14px;height:38px;display:flex;align-items:center;justify-content:center}
.cal__g{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px}
.cal__w{font:700 10.5px/1 var(--f);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;padding:6px 0 10px}
.cal__d{height:38px;border:0;background:none;font:700 14px/1 var(--f);color:var(--ink);cursor:pointer;position:relative;border-radius:0;padding:0}
.cal__d span{position:relative;z-index:2}
.cal__d::before{content:"";position:absolute;inset:2px 0;z-index:0}
.cal__d:disabled{color:#c4c4c4;cursor:default;font-weight:400}
.cal__d:not(:disabled):hover::before{background:var(--blue)}
.cal__d.in::before{background:var(--cream)}
.cal__d.st::before,.cal__d.en::before{background:var(--black);z-index:1}
.cal__d.st,.cal__d.en{color:#fff}
.cal__d.st.rng::after,.cal__d.en.rng::after{content:"";position:absolute;top:2px;bottom:2px;width:50%;background:var(--cream);z-index:0}
.cal__d.st.rng::after{right:0}.cal__d.en.rng::after{left:0}
.cal__ft{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font:700 13px/1.2 var(--f)}
.cal__ft small{font:400 12.5px var(--f);color:var(--muted)}
.gst{width:330px}.gst__r{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}
.gst__r b{display:block;font:700 13px var(--f);letter-spacing:.12em;text-transform:uppercase}.gst__r small{color:var(--muted);font-size:12.5px}
.gst__c{display:flex;align-items:center;gap:14px}.gst__c button{width:38px;height:38px;border:1px solid var(--ink);background:#fff;font-size:20px;line-height:1;cursor:pointer;color:var(--ink);border-radius:var(--r)}
.gst__c button:hover:not(:disabled){background:var(--black);color:#fff}.gst__c button:disabled{opacity:.25;cursor:default;border-color:var(--line)}.gst__c output{min-width:18px;text-align:center;font:700 16px var(--f)}
.gst .btn{width:100%;margin-top:18px}
@media(max-width:860px){.pop{position:fixed;left:0!important;right:0;bottom:0;top:auto!important;max-height:88vh;overflow:auto;width:auto;border-radius:0;border:0;border-top:3px solid var(--clay)}.gst{width:auto}.cal__m{width:100%}.cal__months{display:block}}
.pop-bd{position:fixed;inset:0;z-index:399;background:rgba(0,0,0,.4)}
@media(min-width:861px){.pop-bd{background:transparent}}

/* franja de datos */
.stats{display:grid;grid-template-columns:repeat(4,1fr)}
.stats>div{padding:8px 30px;border-left:1px solid rgba(0,0,0,.18)}.stats>div:first-child{border:0;padding-left:0}
.stats b{display:block;font:800 clamp(2rem,3.4vw,3rem)/1 var(--f);letter-spacing:.02em;color:var(--black)}
.stats span{display:block;margin-top:10px;font-size:13.5px;color:#222;line-height:1.45}
@media(max-width:820px){.stats{grid-template-columns:1fr 1fr;gap:28px 0}.stats>div:nth-child(3){border-left:0;padding-left:0}}

/* tres puertas */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.door{display:block;text-decoration:none;color:var(--ink-2)}
.door__img{aspect-ratio:4/3;overflow:hidden;background:var(--cream)}.door__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.door:hover .door__img img{transform:scale(1.04)}
.door h3{margin:22px 0 10px;font-size:1.15rem}.door p{color:var(--muted);font-size:1rem;margin:0 0 16px}
@media(max-width:820px){.doors{grid-template-columns:1fr;gap:36px}}

/* pilares */
.feat{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.feat__i{padding:6px 30px;border-left:1px solid var(--line)}.feat__i:first-child{border:0;padding-left:0}
.feat__i svg{width:36px;height:36px;stroke:var(--clay);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:18px}
.feat__i h3{font-size:1rem;margin-bottom:.6em}.feat__i p{color:var(--muted);font-size:.97rem;margin:0}
@media(max-width:900px){.feat{grid-template-columns:1fr 1fr;gap:34px 0}.feat__i:nth-child(3){border-left:0;padding-left:0}}
@media(max-width:520px){.feat{grid-template-columns:1fr}.feat__i{border:0;padding:0}}

/* carrusel */
.rail{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px max(28px,calc((100vw - var(--w))/2 + 28px)) 30px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-padding-left:max(28px,calc((100vw - var(--w))/2 + 28px))}
.rail::-webkit-scrollbar{display:none}
.rail>*{flex:0 0 min(420px,84vw);scroll-snap-align:start}
.rail-nav{display:flex;gap:10px}.rail-nav button{width:52px;height:52px;border:1.5px solid var(--black);background:#fff;font-size:20px;cursor:pointer;color:var(--black);transition:background .2s,color .2s;border-radius:var(--r)}
.rail-nav button:hover{background:var(--black);color:#fff}
.room{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .3s}
.room:hover{box-shadow:var(--sh)}
.room__img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--cream);display:block}
.room__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.room:hover .room__img img{transform:scale(1.04)}
.room__tag{position:absolute;left:0;top:18px;background:var(--black);color:#fff;font:700 10.5px/1 var(--f);letter-spacing:.18em;text-transform:uppercase;padding:10px 16px}
.room__b{padding:28px 28px 30px;display:flex;flex-direction:column;gap:12px;flex:1}
.room__b h3{margin:0;font-size:1.3rem}
.room__sub{color:var(--clay-d);font:700 11px/1.3 var(--f);letter-spacing:.18em;text-transform:uppercase}
.room__b p{margin:0;color:var(--muted);font-size:.97rem}
.facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13.5px;color:var(--ink-2)}
.facts li{display:flex;align-items:center;gap:8px}
.facts svg{width:17px;height:17px;stroke:var(--clay);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.room__act{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:auto;padding-top:12px}
/* pagina habitaciones */
.rdet{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;padding:68px 0;border-bottom:1px solid var(--line)}
.rdet:nth-child(even) .rdet__img{order:2}
.rdet__img{overflow:hidden;aspect-ratio:4/3.2;background:var(--cream)}.rdet__img img{width:100%;height:100%;object-fit:cover}
.rdet h2{font-size:clamp(1.6rem,2.8vw,2.3rem);margin-bottom:.5em}
.rdet .facts{margin:22px 0 30px}
@media(max-width:820px){.rdet{grid-template-columns:1fr;gap:26px;padding:44px 0}.rdet:nth-child(even) .rdet__img{order:0}}
.inc{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 34px;list-style:none;margin:0;padding:0}
.inc li{padding-left:30px;position:relative}.inc li::before{content:"";position:absolute;left:2px;top:.55em;width:14px;height:7px;border-left:2px solid var(--clay);border-bottom:2px solid var(--clay);transform:rotate(-45deg)}
@media(max-width:820px){.inc{grid-template-columns:1fr}}

/* experiencias */
.xps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.xp{position:relative;overflow:hidden;aspect-ratio:3/4;display:block;color:#fff;text-decoration:none;background:#222}
.xp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s}.xp:hover img{transform:scale(1.05)}
.xp::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.78))}
.xp span{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;font:800 1rem/1.3 var(--f);letter-spacing:.12em;text-transform:uppercase}
.xp small{display:block;font:400 13.5px/1.45 var(--f);letter-spacing:.02em;text-transform:none;opacity:.92;margin-top:8px}
@media(max-width:900px){.xps{grid-template-columns:1fr 1fr}}@media(max-width:520px){.xps{grid-template-columns:1fr}.xp{aspect-ratio:4/3}}

/* confianza */
.trust{padding:0}
.trust__row{display:flex;flex-wrap:wrap;gap:22px 48px;align-items:center;justify-content:center}
.trust__row img{height:78px;width:auto;object-fit:contain}.trust__row .bk-badge{border:1px solid var(--line)}
.trust__cap{text-align:center;color:var(--muted);font-size:13px;letter-spacing:.04em;margin-top:18px}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.q{border-top:3px solid var(--clay);padding:26px 4px 0;margin:0;display:flex;flex-direction:column}
.q p{font:400 1.08rem/1.7 var(--f);color:var(--ink);margin-bottom:20px}
.q cite{margin-top:auto;font:700 11px/1 var(--f);letter-spacing:.22em;text-transform:uppercase;color:var(--clay-d);font-style:normal}
@media(max-width:900px){.quotes{grid-template-columns:1fr}}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.split__img{overflow:hidden;position:relative}.split__img img{width:100%}
.split--rev .split__img{order:2}
.split__img--sq img{aspect-ratio:5/4;object-fit:cover;object-position:center 45%}
.pts{list-style:none;padding:0;margin:24px 0 30px;display:grid;gap:14px}
.pts li{display:flex;gap:14px;align-items:flex-start}.pts b{color:var(--ink)}
.pts svg{flex:none;width:22px;height:22px;margin-top:2px;stroke:var(--clay);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:30px}.split--rev .split__img{order:0}}
.chips{display:flex;flex-wrap:wrap;gap:10px 26px;margin:22px 0 28px;padding:0;list-style:none}
.chips li{display:flex;align-items:center;gap:10px;font:700 12px/1 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.chips svg{width:20px;height:20px;stroke:var(--clay);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* faq */
.faq{max-width:860px;margin:0 auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;font:700 13.5px/1.5 var(--f);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);padding:24px 44px 24px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font:300 2rem/1 var(--f);color:var(--clay)}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted);padding:0 40px 26px 0;margin:0}

/* cta */
.cta{position:relative;color:#fff;text-align:center;padding:100px 0 96px;background:#222;overflow:hidden}
.cta>picture,.cta>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.6)}
.cta .wrap{position:relative;z-index:2}
.cta h2{color:#fff;font-size:clamp(1.7rem,3.6vw,3rem)}.cta h2 em{color:var(--cream)}
.cta p{max-width:620px;margin:0 auto 36px;color:#fff;opacity:.95;font-size:1.1rem}
.cta .eyebrow{color:var(--cream)}
.cta__wa{display:inline-block;margin-top:26px;color:#fff;font-size:13px;letter-spacing:.06em}

/* footer */
.fband{background:var(--blue);padding:54px 0}
.fband .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.fband h2{margin:0;font-size:clamp(1.3rem,2.4vw,1.9rem);max-width:700px}
.ftr{background:var(--black);color:#cfcfcf;padding:76px 0 100px;font-size:15px}
.ftr a{color:#cfcfcf;text-decoration:none}.ftr a:hover{color:var(--cream)}
.ftr__g{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:44px}
.ftr h4{font:700 11.5px/1 var(--f);letter-spacing:.22em;text-transform:uppercase;color:var(--blue);margin-bottom:22px}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ftr .logo img{height:54px;margin-bottom:20px;filter:brightness(0) invert(1)}.ftr p{color:#9a9a9a;max-width:330px}
.ftr__b{margin-top:56px;padding-top:24px;border-top:1px solid #2a2a2a;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:#8a8a8a}
.soc{display:flex;gap:10px;margin-top:20px}.soc a{display:flex;width:44px;height:44px;border:1px solid #3a3a3a;align-items:center;justify-content:center;transition:background .2s,border-color .2s}
.soc a:hover{background:var(--clay);border-color:var(--clay)}.soc a:hover svg{fill:var(--black)}.soc svg{width:18px;height:18px;fill:#e8e8e8}
@media(max-width:900px){.ftr__g{grid-template-columns:1fr 1fr}}@media(max-width:520px){.ftr__g{grid-template-columns:1fr}.ftr{padding-bottom:110px}}

/* barra fija inferior */
.sbar{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--black);color:#fff;display:flex;align-items:center;justify-content:center;gap:22px;padding:12px 20px;transform:translateY(110%);transition:transform .35s;border-top:3px solid var(--clay)}
.sbar.on{transform:none}
.sbar__t{font:700 12px/1 var(--f);letter-spacing:.2em;text-transform:uppercase}
.sbar__wa{display:flex;width:46px;height:46px;background:#25d366;color:#fff;align-items:center;justify-content:center;flex:none;border-radius:var(--r)}
.sbar__wa svg{width:22px;height:22px;fill:currentColor}
.sbar .btn{background:var(--clay);color:var(--black)!important}.sbar .btn:hover{background:var(--cream)}
@media(max-width:640px){.sbar{justify-content:space-between;padding:10px 12px;gap:10px}.sbar__t{display:none}.sbar .btn{flex:1}}

/* modal */
.mdl{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:16px}
.mdl[hidden]{display:none}
.mdl__box{position:relative;background:#fff;border-top:4px solid var(--clay);max-width:540px;width:100%;padding:40px 32px 30px;max-height:94vh;overflow:auto}
.mdl__box h2{font-size:1.5rem;margin-bottom:.4em}.mdl__box>p{color:var(--muted);font-size:.96rem}
.mdl__room{display:inline-block;background:var(--cream);color:var(--black);padding:8px 14px;font:700 11px/1 var(--f);letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
.mdl .bk{box-shadow:none;margin:16px 0 0;grid-template-columns:1fr 1fr;max-width:none}
.mdl .bk__f:nth-child(2){border-right:0}.mdl .bk__f:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line-d);border-right:0}.mdl .bk .btn{grid-column:1/-1;min-height:62px}
.mdl__x{position:absolute;top:10px;right:12px;width:42px;height:42px;background:none;border:0;font-size:30px;line-height:1;cursor:pointer;color:var(--black)}
.mdl__wa{display:block;text-align:center;margin-top:18px;font-size:14px;font-weight:700}
body.lock{overflow:hidden}

/* prose / paginas internas */
.prose-w{max-width:800px;margin:0 auto;padding:72px 24px 48px}
.prose h2{margin-top:1.8em;font-size:clamp(1.4rem,2.4vw,1.9rem)}.prose h3{margin-top:1.6em;font-size:1.05rem}
.prose p,.prose li{font-size:1.08rem;line-height:1.85}
.prose ul{padding-left:1.2em}.prose li{margin-bottom:.45em}
.prose img{margin:8px auto}
.prose figure{margin:32px 0}.prose figure.small{max-width:340px;margin-left:auto;margin-right:auto}
.prose a{color:var(--clay-d)}
.prose blockquote{margin:1.6em 0;padding:6px 0 6px 24px;border-left:3px solid var(--clay);font:400 1.3rem/1.6 var(--f);color:var(--ink)}
.prose .btnrow{margin:28px 0}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0}
.pgrid img{aspect-ratio:1;object-fit:cover;width:100%;margin:0}
@media(max-width:700px){.pgrid{grid-template-columns:1fr 1fr}}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:#fff;border:1px solid var(--line);overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:box-shadow .3s}
.card:hover{box-shadow:var(--sh)}
.card img{aspect-ratio:3/2;object-fit:cover;width:100%}.card div{padding:26px 26px 30px}.card h3{font-size:1rem;margin-bottom:.6em}.card p{color:var(--muted);font-size:.96rem;margin:0}
@media(max-width:820px){.cards{grid-template-columns:1fr}}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.cbox{background:var(--cream);padding:36px}
.cbox h3{margin-bottom:.5em;font-size:.95rem}.cbox a{font-weight:700;color:var(--black)}
@media(max-width:820px){.contact{grid-template-columns:1fr}}
.awards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin:28px 0}
.awards figure{margin:0!important;background:#fff;border:1px solid var(--line);padding:18px;text-align:center}
.awards img{height:110px;width:100%;object-fit:contain;margin:0 0 10px}
.awards figcaption{font:700 10.5px/1.3 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pcards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}
.pcard{background:var(--cream);padding:30px}
.pcard img{height:44px;width:auto;max-width:180px;object-fit:contain;margin:0 0 16px}
.pcard h3{margin:0 0 .5em;font-size:.75rem;color:var(--clay-d);letter-spacing:.2em}
.pcard__h{font:700 1.15rem/1.35 var(--f);color:var(--ink);margin-bottom:.5em}
.pcard p{font-size:.98rem}
@media(max-width:700px){.pcards{grid-template-columns:1fr}}
.ico-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}
.ico-i{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;background:var(--cream);padding:28px 14px;font:700 12px/1.4 var(--f);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.ico-i img{width:46px;height:46px;margin:0}
@media(max-width:600px){.ico-grid{grid-template-columns:1fr 1fr}}
.js .rv{opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s}.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
.hero__frame::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.18) 55%,rgba(0,0,0,0) 80%)}
.eyebrow{font-size:2.2rem;color:var(--clay-d)}
.hero .eyebrow,.cta .eyebrow{color:var(--cream)}
.cta .bk .bk__note{max-width:none;margin:0;font-size:12.5px;color:rgba(255,255,255,.78);opacity:1}
.hdr nav{display:contents}
/* slideshow del banner */
.slides{position:absolute;inset:0;overflow:hidden}
.slides picture{position:absolute;inset:0;opacity:0;transition:opacity 1.8s ease}
.slides picture.on{opacity:1}
.slides picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.03);transition:transform 10s ease-out}
.slides picture.on img{transform:scale(1.1)}
/* lightbox */
.lb{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}
.lb img{max-width:92vw;max-height:84vh;object-fit:contain;box-shadow:0 0 60px rgba(0,0,0,.6)}
.lb button{position:absolute;background:none;border:0;color:#fff;cursor:pointer;font-size:2.6rem;line-height:1;width:60px;height:60px}
.lb button:hover{color:var(--blue)}
.lb__x{top:10px;right:14px}.lb__p{left:10px;top:50%;transform:translateY(-50%)}.lb__n{right:10px;top:50%;transform:translateY(-50%)}
.lb__c{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#ddd;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;margin:0}
/* mosaico */
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:12px}
.mosaic a{position:relative;overflow:hidden;display:block;background:#222;cursor:zoom-in}
.mosaic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s}
.mosaic a:hover img{transform:scale(1.05)}
.mosaic .w2{grid-column:span 2}.mosaic .h2{grid-row:span 2}
@media(max-width:820px){.mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:170px;gap:8px}}
/* galeria por habitacion */
.rdet__media{min-width:0}
.rdet__img{display:block;overflow:hidden;aspect-ratio:4/3.1;background:var(--cream);cursor:zoom-in;position:relative}
.rdet__img img{width:100%;height:100%;object-fit:cover;transition:transform .9s}.rdet__img:hover img{transform:scale(1.03)}
.rg{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
.rg a{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--cream);position:relative;cursor:zoom-in}
.rg img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.rg a:hover img{transform:scale(1.07)}
.rg a.more::after{content:attr(data-more);position:absolute;inset:0;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font:700 14px var(--f);letter-spacing:.14em}
.rdet .badge{display:inline-block;background:var(--black);color:#fff;font:700 10.5px/1 var(--f);letter-spacing:.18em;text-transform:uppercase;padding:9px 14px;margin:0 8px 8px 0}
.rdet .badge--c{background:var(--blue);color:var(--black)}
.rdet__qty{font:700 12px/1 var(--f);letter-spacing:.16em;text-transform:uppercase;color:var(--clay-d);margin:0 0 14px}
/* colage restaurante */
.collage{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.collage img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.collage img:first-child{grid-column:1/-1;aspect-ratio:3/2}
/* tabla de habitaciones */
.tbl-w{overflow-x:auto;background:#fff;border:1px solid var(--line)}
.rtable{width:100%;border-collapse:collapse;font-size:.95rem;min-width:780px}
.rtable th{background:var(--black);color:#fff;font:700 11px/1 var(--f);letter-spacing:.18em;text-transform:uppercase;text-align:left;padding:18px 20px}
.rtable td{padding:18px 20px;border-top:1px solid var(--line);color:var(--ink-2)}
.rtable td:first-child{font:700 13px var(--f);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.rtable tr:nth-child(even) td{background:#fbfaf0}
.rtable__total{text-align:center;margin:22px 0 0;font:700 12px var(--f);letter-spacing:.2em;text-transform:uppercase;color:var(--clay-d)}
@media(max-width:820px){.rtable{min-width:0}.rtable thead{display:none}.rtable,.rtable tbody,.rtable tr,.rtable td{display:block}.rtable tr{border-top:3px solid var(--clay);padding:6px 0}.rtable td{border:0;padding:8px 18px;display:flex;justify-content:space-between;gap:16px;text-align:right}.rtable td::before{content:attr(data-l);font:700 10.5px var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:left}.rtable tr:nth-child(even) td{background:none}}
.slides picture img{object-position:center 30%;transform:scale(1.02)}
.slides picture.on img{transform:scale(1.07)}
a[hidden]{display:none!important}
.rdet__media .rg{margin-top:8px}

/* ================= v5: claro, luminoso, moderno ================= */
h1{font-size:clamp(1.9rem,3.4vw,3rem);letter-spacing:.05em;line-height:1.12}
h2{font-size:clamp(1.35rem,2.3vw,2rem);letter-spacing:.06em}
.eyebrow{font-size:1.55rem;margin-bottom:10px}
.sec{padding:84px 0}

/* reserva: tarjeta clara */
.bk{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 24px 50px -26px rgba(40,30,20,.35)}
.bk__f{color:var(--ink);border-right:1px solid var(--line)}
.bk__f:hover,.bk__f.on{background:var(--cream)}
.bk__f span{color:var(--clay-d)}.bk__f b{color:var(--ink)}
.bk .btn{background:var(--black);color:#fff!important}.bk .btn:hover{background:var(--clay);color:var(--black)!important}
.bk__note{color:var(--muted);border-top:1px solid var(--line)}.bk__note b{color:var(--clay-d)}
.mdl .bk__f:nth-child(3){border-top:1px solid var(--line)}
.cta .bk{border:0}

/* hero dividido */
.hs{display:grid;grid-template-columns:5fr 6fr;min-height:min(82vh,720px);background:var(--cream)}
.hs__panel{display:flex;align-items:center;padding:56px clamp(24px,4vw,64px) 56px max(28px,calc((100vw - 1400px)/2 + 32px))}
.hs__in{width:100%;max-width:540px}
.hs__sub{font:700 11.5px/1.5 var(--f);letter-spacing:.26em;text-transform:uppercase;color:var(--clay-d);margin:0 0 18px}
.hs h1{margin-bottom:.45em}
.hs__lead{color:var(--ink-2);font-size:1.06rem;margin:0 0 28px}
.hs .bk{grid-template-columns:1fr 1fr;max-width:none;margin:0}
.hs .bk__f{padding:16px 20px}
.hs .bk__f:nth-child(2){border-right:0}
.hs .bk__f:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line);border-right:0}
.hs .bk .btn{grid-column:1/-1;min-height:60px;padding:0 30px}
.hs .bk__note{display:none}
.hs__perks{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:8px;font-size:13.5px;color:var(--ink-2)}
.hs__perks li{display:flex;gap:10px;align-items:center}
.hs__perks li::before{content:"";width:14px;height:7px;border-left:2px solid var(--clay);border-bottom:2px solid var(--clay);transform:rotate(-45deg);margin-top:-4px;flex:none}
.hs__photo{position:relative;overflow:hidden;background:var(--blue);min-height:420px}
.hs__badge{position:absolute;left:24px;bottom:24px;z-index:3;background:#fff;display:flex;align-items:center;gap:14px;padding:14px 20px 14px 14px;box-shadow:0 14px 30px -14px rgba(0,0,0,.4)}
.hs__badge b{background:var(--clay);color:#fff;font:800 1.4rem/1 var(--f);padding:12px 10px}
.hs__badge span{font:700 10.5px/1.5 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.slides picture img{object-position:center 40%}
@media(max-width:900px){
  .hs{grid-template-columns:1fr;min-height:0}
  .hs__photo{order:-1;min-height:0;aspect-ratio:4/3}
  .hs__panel{padding:34px 20px 40px}
}

/* paginas internas: hero luminoso y menos pesado */
.hero__frame::before{display:none}
.hero__frame::after{background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.08) 45%,rgba(0,0,0,.5) 100%)}
.hero--in .hero__frame{min-height:clamp(280px,38vh,380px)}
.hero h1{font-size:clamp(1.8rem,3.2vw,2.7rem)}
.hero__txt{padding-top:70px}
.hero--in .hero__in{padding-bottom:86px}

/* cta */
.cta::after{background:rgba(0,0,0,.28)}
.cta h2{font-size:clamp(1.5rem,2.8vw,2.3rem)}
.cta .bk{max-width:980px}

/* footer claro */
.ftr{background:var(--cream);color:var(--ink-2)}
.ftr a{color:var(--ink-2)}.ftr a:hover{color:var(--clay-d)}
.ftr h4{color:var(--clay-d)}
.ftr .logo img{filter:none}
.ftr p{color:var(--muted)}
.ftr__b{border-top:1px solid rgba(0,0,0,.14);color:var(--muted)}
.soc a{border:1px solid rgba(0,0,0,.25)}.soc svg{fill:var(--ink)}
.soc a:hover{background:var(--black);border-color:var(--black)}.soc a:hover svg{fill:#fff}

/* barra fija clara */
.sbar{background:#fff;color:var(--ink);border-top:1px solid var(--line);box-shadow:0 -10px 30px -16px rgba(0,0,0,.3)}
.sbar .btn{background:var(--black);color:#fff!important}.sbar .btn:hover{background:var(--clay);color:var(--black)!important}

/* acentos mas vivos */
.sec--cream{background:var(--cream)}
.room__tag{background:#fff;color:var(--ink)}
.xp::after{background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.6))}
.quotes .q{border-top-color:var(--blue)}
.sec--blue.sec--tight{padding:52px 0}
.hero .eyebrow{display:none}
.hero__frame::before{display:block;background:linear-gradient(90deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.25) 50%,rgba(0,0,0,0) 80%)}

/* ======================= v6 · editorial, creativo ======================= */
:root{--r:18px;--hdr:84px}
body{font-weight:400}
h1,h2{font-weight:300;text-transform:none;letter-spacing:-.015em;line-height:1.08}
h1{font-size:clamp(2.4rem,4.8vw,4.5rem)}
h2{font-size:clamp(1.9rem,3.3vw,3.1rem)}
h3{text-transform:none;letter-spacing:0;font-weight:700;font-size:1.25rem}
h1 em,h2 em,h3 em{font-style:normal;font-weight:700;color:var(--clay)}
.sec{padding:110px 0}
.eyebrow{display:inline-block;background:var(--blue);color:var(--ink);font:700 11px/1 var(--f);letter-spacing:.22em;text-transform:uppercase;padding:9px 15px;border-radius:99px;margin:0 0 20px}
.sec--cream .eyebrow{background:#fff}
.sec--blue .eyebrow{background:#fff}
.sec-head{margin-bottom:54px}.sec-head p{font-size:1.1rem}
.btn{border-radius:99px;padding:17px 32px}
.btn--line{background:transparent;color:#fff!important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.85)}
.btn--line:hover{background:#fff;color:var(--black)!important}
.btn--clay{color:var(--black)!important}
.link--w{color:#fff;border-color:rgba(255,255,255,.6)}
.wrap--wide{max-width:1480px}
.rail-nav button,.cal__nav button,.gst__c button{border-radius:99px}

/* header transparente sobre el hero */
.hdr{position:fixed;top:0;left:0;right:0;background:transparent;border:0;transition:background .3s,box-shadow .3s}
.hdr__bar{height:var(--hdr)}
.hdr .logo img{filter:brightness(0) invert(1);transition:filter .3s}
.hdr .nav a{color:#fff;font-size:11.5px}
.hdr .nav a:hover{border-color:var(--blue)}.hdr .nav a[aria-current]{border-color:var(--cream)}
.hdr .lang{color:#fff}
.hdr .btn{background:transparent;color:#fff!important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.85);padding:14px 26px}
.hdr .btn:hover{background:#fff;color:var(--black)!important}
.hdr .burger{color:#fff}
.hdr.solid,body.menu-open .hdr{background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
.hdr.solid .logo img,body.menu-open .hdr .logo img{filter:none}
.hdr.solid .nav a,body.menu-open .hdr .nav a{color:var(--ink)}
.hdr.solid .lang,.hdr.solid .burger,body.menu-open .hdr .burger{color:var(--ink)}
.hdr.solid .btn{background:var(--black);color:#fff!important;box-shadow:none}
.hdr.solid .btn:hover{background:var(--clay);color:var(--black)!important}
@media(max-width:980px){body.menu-open .hdr .nav a{color:var(--ink)}.hdr .nav a{color:var(--ink)}}

/* hero a pantalla completa, enmarcado */
.hero{padding:14px 14px 0}
.hero__frame{border-radius:28px;min-height:calc(100svh - 28px);max-height:900px;align-items:flex-end}
.hero--in .hero__frame{min-height:clamp(340px,46vh,460px)}
.hero__frame::before{display:block;background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,0) 26%)}
.hero__frame::after{background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.55) 100%)}
.hero__in{padding-bottom:120px}
.hero--in .hero__in{padding-bottom:96px}
.hero__txt{max-width:900px;padding-top:120px}
.hero h1{font-size:clamp(2.5rem,5.2vw,4.9rem);font-weight:300;text-shadow:0 2px 30px rgba(0,0,0,.3);margin-bottom:.35em}
.hero--in h1{font-size:clamp(2rem,4vw,3.4rem)}
.hero h1 em{color:var(--cream);font-weight:700}
.hero__sub{display:inline-block;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:99px;font:700 11px/1 var(--f);letter-spacing:.24em;text-transform:uppercase;color:#fff;padding:11px 18px;margin:0 0 22px}
.hero__lead{font-size:clamp(1rem,1.3vw,1.2rem);max-width:600px;opacity:.96}
.hero .eyebrow{display:none}
.hero__cta{margin-top:30px}
.hero__bk{margin-top:-58px}
.crumbs{margin-bottom:18px}
.slides picture img{object-position:center 40%}

/* barra de reserva sobre el hero */
.bk{border-radius:20px;border:0;max-width:1080px;box-shadow:0 30px 70px -28px rgba(0,0,0,.45)}
.bk__f{padding:20px 30px}
.bk__f:first-child{border-radius:20px 0 0 20px}
.bk .btn{border-radius:0 20px 20px 0;min-height:82px;background:var(--clay);color:var(--black)!important}
.bk .btn:hover{background:var(--black);color:#fff!important}
@media(max-width:860px){.bk{border-radius:18px}.bk__f:first-child{border-radius:18px 0 0 0}.bk .btn{border-radius:0 0 18px 18px}}
.cta .bk{border-radius:20px}
.mdl .bk{border-radius:16px}.mdl .bk__f:first-child{border-radius:16px 0 0 0}.mdl .bk .btn{border-radius:0 0 16px 16px}
.pop{border-radius:20px}
.cal__d.st::before,.cal__d.en::before{border-radius:99px;inset:2px 3px}

/* marquee de texto */
.mq{overflow:hidden;background:var(--blue);padding:20px 0}
.mq__t{display:flex;width:max-content;animation:mq 38s linear infinite}
.mq span{font:700 12px/1 var(--f);letter-spacing:.26em;text-transform:uppercase;color:var(--ink);padding:0 30px;display:flex;align-items:center;gap:60px;white-space:nowrap}
.mq span::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--clay)}
@keyframes mq{to{transform:translateX(-50%)}}

/* nosotros editorial */
.ab{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(40px,7vw,110px);align-items:center}
.ab__t p{font-size:1.06rem;color:var(--ink-2)}
.ab__p{position:relative;aspect-ratio:1/1.08}
.ab__a{position:absolute;left:0;top:0;width:76%;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden}
.ab__b{position:absolute;right:0;bottom:0;width:52%;aspect-ratio:1/1;border-radius:var(--r);overflow:hidden;border:10px solid #fff;background:#fff}
.ab__c{position:absolute;right:4%;top:6%;width:26%;aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;border:6px solid #fff;display:block}
.ab__a img,.ab__b img,.ab__c img{width:100%;height:100%;object-fit:cover}
.stats--l{grid-template-columns:repeat(4,1fr);margin-top:44px;padding-top:34px;border-top:1px solid var(--line)}
.stats--l>div{padding:0 18px;border-left:1px solid var(--line)}.stats--l>div:first-child{padding-left:0;border:0}
.stats--l b{font-size:clamp(1.5rem,2.2vw,2.1rem);font-weight:300}
.stats--l span{font-size:12.5px;color:var(--muted)}
@media(max-width:900px){.ab{grid-template-columns:1fr}.ab__p{max-width:560px;margin:0 auto;width:100%}.stats--l{grid-template-columns:1fr 1fr;gap:24px 0}.stats--l>div:nth-child(3){border-left:0;padding-left:0}}

/* paneles de habitaciones */
.rp{display:flex;gap:14px;height:min(680px,78vh)}
.rp__i{position:relative;flex:1 1 0;min-width:0;border-radius:24px;overflow:hidden;cursor:pointer;background:#222;transition:flex .7s cubic-bezier(.2,.7,.2,1);outline:0}
.rp__i.on{flex:4.4 1 0}
.rp__i>picture,.rp__i>img{position:absolute;inset:0}
.rp__i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s}
.rp__i.on img{transform:scale(1.04)}
.rp__s{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 35%,rgba(0,0,0,.72) 100%);transition:background .5s}
.rp__i:not(.on) .rp__s{background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.6))}
.rp__c{position:absolute;left:0;right:0;bottom:0;padding:30px 34px;color:#fff}
.rp__c h3{color:#fff;font-size:1.9rem;font-weight:300;margin:0;line-height:1.1}
.rp__tag{display:block;font:700 10.5px/1 var(--f);letter-spacing:.2em;text-transform:uppercase;color:var(--cream);margin-bottom:12px;transition:opacity .3s}
.rp__sub{margin:8px 0 0;font-size:.95rem;opacity:.9;transition:opacity .3s}
.rp__more{max-height:0;opacity:0;overflow:hidden;transition:max-height .7s,opacity .5s .15s}
.rp__i.on .rp__more{max-height:340px;opacity:1}
.rp__more p{margin:16px 0 14px;max-width:520px;font-size:.98rem;color:#f1f1f1}
.rp__more .facts{color:#fff;margin-bottom:6px}
.rp__more .facts svg{stroke:var(--cream)}
.rp__more .room__act{padding-top:14px}
.rp__i:not(.on) .rp__tag,.rp__i:not(.on) .rp__sub{opacity:0;height:0;margin:0}
.rp__i:not(.on) .rp__c{padding:26px 0;display:flex;justify-content:center}
.rp__i:not(.on) h3{writing-mode:vertical-rl;transform:rotate(180deg);font-size:1.25rem;letter-spacing:.06em;white-space:nowrap}
@media(max-width:900px){
  .rp{flex-direction:column;height:auto}
  .rp__i,.rp__i.on{flex:none;aspect-ratio:4/5;min-height:0}
  .rp__more{max-height:none!important;opacity:1!important}
  .rp__i:not(.on) .rp__tag,.rp__i:not(.on) .rp__sub{opacity:1;height:auto}
  .rp__i:not(.on) .rp__c{display:block;padding:24px}
  .rp__i:not(.on) h3{writing-mode:horizontal-tb;transform:none;font-size:1.7rem}
  .rp__c{padding:24px}.rp__c h3{font-size:1.7rem}
  .rp__more p{font-size:.92rem}.rp__more .facts{display:none}
}

/* experiencias en bloques */
.xb{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-auto-rows:270px;gap:16px}
.xt{position:relative;border-radius:var(--r);overflow:hidden;display:block;color:#fff;text-decoration:none;background:#222}
.xt--t{grid-row:1/3}.xt--w{grid-column:2/4}
.xt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s}.xt:hover img{transform:scale(1.06)}
.xt::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.65))}
.xt span{position:absolute;left:26px;right:26px;bottom:24px;z-index:2;font:300 1.7rem/1.15 var(--f)}
.xt small{display:block;font:400 14px/1.45 var(--f);opacity:.92;margin-top:8px}
@media(max-width:820px){.xb{grid-template-columns:1fr;grid-auto-rows:auto}.xt,.xt--t,.xt--w{grid-column:auto;grid-row:auto;aspect-ratio:4/3}}

/* galeria en movimiento */
.gl{padding:110px 0 100px;overflow:hidden}
.gl .sec-head{margin-bottom:46px}
.gl__r{overflow:hidden;margin-bottom:16px}
.gl__t{display:flex;gap:16px;width:max-content;animation:gl 70s linear infinite}
.gl__r--b .gl__t{animation-direction:reverse;animation-duration:80s}
.gl__r:hover .gl__t{animation-play-state:paused}
.gl__t img{height:290px;width:auto;border-radius:var(--r);flex:none;object-fit:cover}
@keyframes gl{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.gl__t,.mq__t{animation:none}.gl__r{overflow-x:auto}}
@media(max-width:700px){.gl__t img{height:200px}}

/* otros bloques */
.trust__row .bk-badge{border-radius:10px}
.q{border-radius:var(--r);background:#fff;border:0;padding:34px}
.q p{font-weight:300;font-size:1.2rem}
.sec--blue .q{box-shadow:0 20px 40px -26px rgba(0,0,0,.3)}
.split__img,.collage img,.room,.door__img,.card,.cbox,.pcard,.ico-i,.awards figure,.tbl-w,.rdet__img,.rg a,.mosaic a{border-radius:var(--r)}
.split__img{overflow:hidden}
.collage{gap:14px}
.faq details{border:0;background:#fff;border-radius:16px;margin-bottom:10px;padding:0 26px}
.faq{border-top:0}
.faq summary{padding:24px 44px 24px 0}
.chips li{background:#fff;padding:11px 18px;border-radius:99px;letter-spacing:.1em}
.cta{padding:0 14px 14px;background:none;overflow:visible}
.cta::after{display:none}
.cta>picture{inset:0 14px 14px;border-radius:28px;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0 14px 14px;border-radius:28px;background:rgba(0,0,0,.34);z-index:1}
.cta h2{font-size:clamp(2rem,3.8vw,3.4rem);font-weight:300}
.cta h2 em{font-weight:700}
.cta .eyebrow{background:rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(8px)}

/* footer */
.fband{background:var(--blue);padding:60px 0;border-radius:28px 28px 0 0}
.fband h2{font-size:clamp(1.6rem,2.8vw,2.4rem)}
.ftr{background:var(--cream);position:relative;overflow:hidden}
.ftr__word{font:400 clamp(4rem,17vw,15rem)/.8 Wheatland,cursive;color:rgba(180,133,111,.22);text-align:center;margin:40px 0 -10px;pointer-events:none;user-select:none;white-space:nowrap}
.soc a{border-radius:50%}

/* barra fija flotante */
.sbar{left:50%;right:auto;bottom:16px;transform:translate(-50%,140%);border-radius:99px;border:0;padding:9px 9px 9px 26px;width:max-content;max-width:calc(100% - 24px);box-shadow:0 18px 44px -14px rgba(0,0,0,.4)}
.sbar.on{transform:translate(-50%,0)}
.sbar .btn{padding:15px 26px}
.sbar__wa{border-radius:50%}
@media(max-width:640px){.sbar{left:12px;right:12px;width:auto;transform:translateY(140%)}.sbar.on{transform:none}}
.mdl__box{border-radius:24px;border-top:0}
.lb img{border-radius:12px}

.hero__frame{min-height:calc(100svh - 118px);max-height:860px}
.hero--in .hero__frame{min-height:clamp(340px,46vh,460px)}
.slides picture img{object-position:center 72%}
.hero__txt{padding-top:110px}
@media(max-width:980px){.hdr__bar{padding:0 12px;gap:8px;grid-template-columns:auto 1fr auto}.hdr__r{gap:0}.hdr .btn{padding:11px 16px;font-size:10.5px;letter-spacing:.12em}.logo img{height:34px}.hero__sub{font-size:10px;letter-spacing:.16em;padding:10px 14px}.hero__cta .btn{padding:15px 24px;width:100%}.hero__cta{flex-direction:column;align-items:stretch;gap:10px}}
@media(max-width:980px){.hdr__bar{padding:0 30px 0 22px}.hdr .btn{padding:11px 14px}}
@media(max-width:900px){.rp__i,.rp__i.on{aspect-ratio:auto;min-height:560px}.rp__s,.rp__i:not(.on) .rp__s{background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.8) 100%)}}

.ftr__word{display:none}

/* Wheatland: notas a mano (sin acentos ni ñ) */
.scr{display:block;font:400 clamp(1.7rem,2.4vw,2.3rem)/1 Wheatland,cursive;color:var(--clay);text-transform:none;letter-spacing:0;margin:0 0 12px;transform:rotate(-2deg);transform-origin:left}
.sec-head--c .scr{transform:rotate(-2deg);transform-origin:center}
.scr--h{color:var(--cream);font-size:clamp(1.8rem,2.8vw,2.6rem);margin-bottom:14px;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.cta .scr{color:var(--cream);transform-origin:center;font-size:clamp(1.8rem,2.8vw,2.6rem);text-shadow:0 2px 14px rgba(0,0,0,.3)}
.ab__note{position:absolute;z-index:4;left:-2%;bottom:10%;background:#fff;padding:12px 20px 8px;border-radius:12px;box-shadow:0 14px 30px -14px rgba(0,0,0,.35);margin:0;transform:rotate(-5deg);font-size:1.8rem}
@media(max-width:900px){.ab__note{left:2%;bottom:6%}}
.scr--h{color:#fff;font-size:clamp(2.2rem,3.4vw,3.2rem);text-shadow:0 1px 3px rgba(0,0,0,.55),0 4px 22px rgba(0,0,0,.55);-webkit-text-stroke:.4px #fff}
.cta .scr{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55),0 4px 22px rgba(0,0,0,.5);-webkit-text-stroke:.4px #fff}

/* ===== v8: mas sutil y elegante ===== */
.hdr__bar{padding:0 56px}
@media(max-width:980px){.hdr__bar{padding:0 34px 0 26px}}
.hero:not(.hero--in){padding-bottom:78px}
.hero__in{padding-bottom:70px}
.hero:not(.hero--in) .hero__bk{margin-top:-52px}
.hero__txt{padding-left:30px}
.hero h1{font-size:clamp(2.3rem,4.4vw,4rem)}
.hero__lead{max-width:520px;font-size:clamp(1rem,1.2vw,1.12rem)}
.hero__cta{margin-top:26px}
.hero__frame{min-height:calc(100svh - 150px);max-height:800px}
.mq{margin-top:0}
/* cta */
.cta{padding:0 14px 14px;background:none;overflow:visible;text-align:center}
.cta::before,.cta::after{display:none}
.cta>picture{position:static;inset:auto}
.cta__f{position:relative;border-radius:28px;overflow:hidden;padding:110px 0 100px;background:#2a2622}
.cta__f>picture,.cta__f>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.cta__f::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.38);z-index:1}
.cta__f .wrap{position:relative;z-index:2;padding:0 40px}
.cta__f h2{color:#fff;font-size:clamp(1.9rem,3.4vw,3rem);margin-bottom:.3em}
.cta__f p{color:#fff;margin:0 auto 34px;max-width:520px}
.cta__f .bk{margin:0 auto;max-width:900px}
.cta__f .bk__note,.cta .bk__note{display:none}
.cta__wa{display:inline-block;margin-top:26px;color:#fff;font-size:13px}
@media(max-width:700px){.cta__f{padding:70px 0 64px}.cta__f .wrap{padding:0 20px}}
.fband{border-radius:28px 28px 0 0}
.bk__note{display:none}

/* ===== v9: armonia — bloques de borde a borde, esquinas sobrias, hero contundente ===== */
:root{--r:6px}
.hero{padding:0}
.hero__frame{border-radius:0;min-height:100svh;max-height:none}
.hero--in .hero__frame{min-height:clamp(340px,46vh,460px)}
.hero:not(.hero--in){padding-bottom:0}
.hero__frame::before{background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 28%)}
.hero__frame::after{background:linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.62) 100%)}
.hero__in{padding-bottom:150px}
.hero--in .hero__in{padding-bottom:96px}
.hero__txt{padding-left:0;max-width:980px}
.hero h1{font-weight:900;text-transform:uppercase;letter-spacing:.015em;line-height:.98;font-size:clamp(3rem,7.4vw,7rem);margin-bottom:.28em;text-shadow:0 4px 40px rgba(0,0,0,.4)}
.hero--in h1{font-size:clamp(2.2rem,4.6vw,4rem)}
.hero h1 em{color:var(--cream);font-weight:900}
.hero__lead{font-size:clamp(1.05rem,1.4vw,1.3rem);font-weight:400;max-width:560px}
.hero__cta{margin-top:30px}
.hero__cta .btn--light{background:var(--clay);color:var(--black)!important}
.hero__cta .btn--light:hover{background:#fff}
.hero:not(.hero--in) .hero__bk{position:absolute;left:0;right:0;bottom:36px;margin:0 auto;z-index:6}
.hero:not(.hero--in){position:relative}
.hero:not(.hero--in) .bk{max-width:1120px}
.hero:not(.hero--in) .bk__f{padding:24px 32px}
.hero:not(.hero--in) .bk .btn{min-height:94px;font-size:13.5px}
.hdr__bar{padding:0 40px}
@media(max-width:980px){.hdr__bar{padding:0 22px 0 16px}.hero__in{padding-bottom:70px}.hero:not(.hero--in) .hero__bk{position:relative;bottom:auto;margin-top:-44px}.hero__frame{min-height:760px}.hero h1{font-size:clamp(2.6rem,12vw,4rem)}}
.bk,.cta__f .bk{border-radius:var(--r)}
.bk__f:first-child{border-radius:var(--r) 0 0 var(--r)}
.bk .btn{border-radius:0 var(--r) var(--r) 0}
@media(max-width:860px){.bk__f:first-child{border-radius:var(--r) 0 0 0}.bk .btn{border-radius:0 0 var(--r) var(--r)}}
.mdl .bk,.mdl .bk__f:first-child,.mdl .bk .btn{border-radius:var(--r)}
.pop,.mdl__box{border-radius:10px}
/* cta de borde a borde */
.cta{padding:0;background:none}
.cta__f{border-radius:0;padding:120px 0 110px}
.fband{border-radius:0;margin:0}
.rp__i,.xt,.ab__a,.ab__b,.ab__c,.split__img,.collage img,.gl__t img,.room,.q,.faq details,.eyebrow{border-radius:var(--r)}
.eyebrow{border-radius:99px}
.rp__i{border-radius:10px}
.sbar{border-radius:var(--r)}

/* ===== v10: hero profesional (jerarquia clara, espacio, legibilidad) ===== */
.hero__frame{min-height:max(640px,100svh);align-items:flex-end}
.hero__frame::after{background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.18) 45%,rgba(0,0,0,.66) 100%)}
.hero__in{padding-bottom:200px}
.hero--in .hero__in{padding-bottom:100px}
.hero__txt{max-width:700px;padding-top:120px}
.hero h1{font-weight:800;text-transform:none;letter-spacing:-.02em;line-height:1.08;font-size:clamp(2.2rem,4.2vw,3.7rem);margin-bottom:.4em;text-shadow:0 2px 24px rgba(0,0,0,.4)}
.hero--in h1{font-size:clamp(1.9rem,3.4vw,3rem)}
.hero h1 em{font-weight:800;color:var(--cream)}
.hero__lead{font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.65;max-width:520px;margin:0;text-shadow:0 1px 14px rgba(0,0,0,.55)}
.hero__cta{margin-top:26px;gap:10px}
.hero__cta .btn{padding:15px 28px;font-size:12px}
.hero:not(.hero--in) .hero__bk{bottom:44px}
.hero:not(.hero--in) .bk{max-width:1040px}
.hero:not(.hero--in) .bk__f{padding:20px 28px}
.hero:not(.hero--in) .bk .btn{min-height:84px;font-size:13px}
@media(max-width:980px){.hero__txt{padding-top:100px}.hero__in{padding-bottom:70px}.hero h1{font-size:clamp(2.1rem,8.5vw,2.8rem)}.hero__frame{min-height:700px}}
@media(max-width:980px){.hero:not(.hero--in) .hero__bk{margin-top:-30px}.hero__in{padding-bottom:84px}.hero__cta .btn--line{display:none}.hero:not(.hero--in) .bk__f{padding:14px 18px}.hero:not(.hero--in) .bk .btn{min-height:56px}}
@media(max-width:980px){.hero__in{padding-bottom:104px}.hero:not(.hero--in) .hero__bk{margin-top:-52px}}

/* galeria: siempre en movimiento, sin barras de scroll */
@media(prefers-reduced-motion:reduce){.gl__t{animation:gl 70s linear infinite!important}.gl__r--b .gl__t{animation:gl 80s linear infinite reverse!important}.gl__r{overflow:hidden!important}.mq__t{animation:mq 38s linear infinite!important}}
.gl__r{overflow:hidden;scrollbar-width:none}.gl__r::-webkit-scrollbar{display:none}
.gl__t{animation-duration:55s}.gl__r--b .gl__t{animation-duration:62s}
.gl__t img{height:320px}
.slides picture img[src*="portada"]{object-position:center 38%}
.hero__frame::before{background:linear-gradient(90deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.22) 45%,rgba(0,0,0,0) 70%),linear-gradient(180deg,rgba(0,0,0,.4) 0%,rgba(0,0,0,0) 26%)}
.xt img[src*="fogata"]{object-position:35% 82%}
.xt img[src*="fogata"]{object-position:center center}
.cta__f>picture img{object-position:center 100%}
.cta__f{padding:300px 0 84px}
.cta__f::after{background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.25) 55%,rgba(0,0,0,.55) 100%)}
@media(max-width:700px){.cta__f{padding:200px 0 56px}}
.cta__f>picture img{object-position:center 82%}
.cta__f{padding:340px 0 84px}
@media(max-width:700px){.cta__f{padding:230px 0 56px}}
.cta__f>picture img{object-position:center 100%}
.cta__f{padding:430px 0 84px}
@media(max-width:700px){.cta__f{padding:260px 0 56px}}
.cta__f{padding:100px 0 0;min-height:840px}
.cta__f>picture img{object-position:center 100%}
.cta__f::after{background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.18) 40%,rgba(0,0,0,0) 62%)}
@media(max-width:700px){.cta__f{padding:70px 0 0;min-height:700px}}
.ab__c{width:34%;aspect-ratio:1/1;right:2%;top:4%;border-width:6px}
.ab__c img{object-position:50% 40%}

/* ===== pagina actividades ===== */
.stats--3{grid-template-columns:repeat(3,1fr)}
.afs{display:grid;gap:70px}
.af{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.af--r .af__img{order:2}
.af__img{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3.1;background:#222}
.af__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}.af:hover .af__img img{transform:scale(1.04)}
.af__n{position:absolute;left:20px;top:16px;font:300 3.2rem/1 var(--f);color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.af__t h3{font:300 clamp(1.7rem,2.6vw,2.4rem)/1.12 var(--f);color:var(--ink);margin:0 0 .5em}
.af__t p{font-size:1.04rem;color:var(--ink-2)}
.af__t .chips{margin:18px 0 26px}
@media(max-width:820px){.af{grid-template-columns:1fr;gap:22px}.af--r .af__img{order:0}.afs{gap:54px}}
.mo3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mo3 .xt{aspect-ratio:3/4}
@media(max-width:820px){.mo3{grid-template-columns:1fr}.mo3 .xt{aspect-ratio:4/3}}
.mapbox{max-width:1040px;margin:0 auto;text-align:center}
.mapbox>a:first-child{display:block;border-radius:var(--r);overflow:hidden;box-shadow:0 24px 60px -30px rgba(0,0,0,.4);cursor:zoom-in;background:#fff}
.mapbox img{width:100%}
.mapbox__z{font-size:13px;color:var(--muted);margin:14px 0 22px}
.ico-grid--s{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.ico-grid--s .ico-i{background:#fff}
.sec .split__img:has(img[src*="partida"]){aspect-ratio:4/4.6;max-height:640px}.split__img img[src*="partida"]{height:100%;object-fit:cover;object-position:center 55%}
.xt img[src*="cascada"]{object-position:center 38%}
.xt img[src*="fogata"]{object-position:center 72%}.xt img[src*="cultura"]{object-position:center 40%}
.xb{grid-template-columns:repeat(4,1fr);grid-auto-rows:300px}
.xb .xt,.xb .xt--t,.xb .xt--w{grid-column:auto;grid-row:1/3}
.xt img[src*="fogata"]{object-position:center 45%}
.xt img[src*="cascada"]{object-position:center 40%}
@media(max-width:900px){.xb{grid-template-columns:1fr 1fr;grid-auto-rows:240px}.xb .xt,.xb .xt--t,.xb .xt--w{grid-row:auto;aspect-ratio:auto}}
@media(max-width:520px){.xb{grid-template-columns:1fr;grid-auto-rows:320px}}

/* portada: Experiencias vuelve a su composicion original */
.xb{grid-template-columns:1.1fr 1fr 1fr;grid-auto-rows:270px}
.xb .xt{grid-row:auto;grid-column:auto}.xb .xt--t{grid-row:1/3}.xb .xt--w{grid-column:2/4}
.xt img[src*="fogata-"]{object-position:center 45%}
.xt img[src*="cascada-act"]{object-position:center 40%}
.xt img[src*="cultura-act"]{object-position:center 40%}
.xb .xt img[src="/img/fogata-2048.webp"],.xb .xt img[src*="/fogata-"][srcset]{object-position:center center}
@media(max-width:820px){.xb{grid-template-columns:1fr;grid-auto-rows:auto}.xb .xt,.xb .xt--t,.xb .xt--w{grid-column:auto;grid-row:auto;aspect-ratio:4/3}}
.split__img:has(img[src*="comunidad-act"]){aspect-ratio:1/1;max-width:560px}.split__img img[src*="comunidad-act"]{width:100%;height:100%;object-fit:cover}
.xb .xt img[src*="/cascada-"]:not([src*="act"]){object-position:center 45%}
.xb .xt--w img[src*="/fogata-"]{object-position:center center}
.xb .xt--w span{bottom:auto;top:24px}
.xb .xt--w::after{background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,transparent 45%)}

/* ===== pagina como llegar ===== */
.hw{background:var(--blue);padding:34px 0}
.hw__g{display:grid;grid-template-columns:repeat(4,1fr)}
.hw__g>div{display:flex;flex-direction:column;gap:2px;padding:4px 28px;border-left:1px solid rgba(0,0,0,.18)}.hw__g>div:first-child{border:0;padding-left:0}
.hw__g b{font:300 1.7rem/1.1 var(--f);color:var(--ink)}.hw__g span:not(.hw__i){font-size:13px;color:#222}
.hw__i svg{width:30px;height:30px;stroke:var(--clay-d);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:8px}
@media(max-width:820px){.hw__g{grid-template-columns:1fr 1fr;gap:22px 0}.hw__g>div:nth-child(3){border-left:0;padding-left:0}}
.opts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.opt{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:36px 32px;text-decoration:none;color:var(--ink-2);transition:box-shadow .3s,transform .3s}
.opt:hover{box-shadow:var(--sh);transform:translateY(-4px)}
.opt__i{display:flex;width:64px;height:64px;border-radius:50%;background:var(--cream);align-items:center;justify-content:center;margin-bottom:14px}
.opt__i svg{width:30px;height:30px;stroke:var(--clay-d);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.opt h3{font:300 1.6rem/1.15 var(--f);color:var(--ink);margin:0}.opt p{color:var(--muted);margin:0 0 16px}.opt .link{margin-top:auto;align-self:flex-start}
@media(max-width:820px){.opts{grid-template-columns:1fr}}
.steps{list-style:none;margin:26px 0 8px;padding:0;position:relative;display:grid;gap:22px}
.steps::before{content:"";position:absolute;left:19px;top:20px;bottom:20px;width:2px;background:var(--clay);opacity:.35}
.steps li{display:grid;grid-template-columns:40px 1fr;gap:18px;position:relative}
.steps__n{display:flex;width:40px;height:40px;border-radius:50%;background:var(--black);color:#fff;font:700 14px var(--f);align-items:center;justify-content:center;position:relative;z-index:1}
.steps h4{font:700 1rem/1.3 var(--f);letter-spacing:0;text-transform:none;margin:6px 0 4px;color:var(--ink)}.steps p{margin:0;color:var(--muted);font-size:.98rem}
.note{margin-top:22px;padding:16px 20px;background:#fff;border-left:3px solid var(--clay);border-radius:0 var(--r) var(--r) 0;font-size:.95rem;color:var(--ink-2)}
.tt{margin-top:28px;background:var(--cream);border-radius:var(--r);padding:22px 26px}
.tt h4{font:700 11px/1 var(--f);letter-spacing:.2em;text-transform:uppercase;color:var(--clay-d);margin:0 0 14px}
.tt>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid rgba(0,0,0,.1)}.tt b{font-weight:700;color:var(--ink)}
.mapw{border-radius:var(--r);overflow:hidden;box-shadow:0 24px 60px -30px rgba(0,0,0,.4);background:var(--cream)}
.mapw iframe{display:block;width:100%;height:480px;border:0}
.mapw__b{text-align:center;margin:30px 0 0;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.tips{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tip{background:#fff;border-radius:var(--r);padding:30px 26px}.tip h3{font:700 1rem/1.3 var(--f);letter-spacing:0;text-transform:none;margin:0 0 8px}.tip p{margin:0;color:var(--muted);font-size:.96rem}
@media(max-width:900px){.tips{grid-template-columns:1fr 1fr}}@media(max-width:520px){.tips{grid-template-columns:1fr}}
.xb .xt--w span{top:auto;bottom:24px}
.xb .xt--w::after{background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.6))}

/* ===== pagina nosotros ===== */
.ab--r .ab__t p{font-size:1.06rem}
.sign{margin-top:28px;display:flex;flex-direction:column;gap:4px}
.sign .scr{font-size:2.4rem;color:var(--clay-d);margin:0;transform:rotate(-2deg)}
.sign small{font:700 11px/1 var(--f);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.ab__b img{width:100%;height:100%;object-fit:cover}
.pq{position:relative;color:#fff;text-align:center;padding:150px 0;background:#2a2622;overflow:hidden}
.pq>picture,.pq>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pq::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5)}
.pq .wrap{position:relative;z-index:2;max-width:860px}
.pq h2{color:#fff;font-size:clamp(1.9rem,3.6vw,3.1rem)}.pq h2 em{color:var(--cream)}
.pq p{font-size:1.15rem;color:#f2f2f2;margin:0}
.pq .eyebrow{background:rgba(255,255,255,.2);color:#fff}
.vas{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.va{background:var(--cream);border-radius:var(--r);padding:38px 32px}
.va svg{width:38px;height:38px;stroke:var(--clay-d);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:18px}
.va h3{font:300 1.6rem/1.1 var(--f);text-transform:none;letter-spacing:0;margin:0 0 .4em}.va p{margin:0;color:var(--ink-2)}
@media(max-width:820px){.vas{grid-template-columns:1fr}}
.tm{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tmc{background:#fff;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s}
.tmc:hover{box-shadow:var(--sh);transform:translateY(-4px)}
.tmc__i{aspect-ratio:4/3.4;overflow:hidden;background:var(--cream)}
.tmc__i img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .8s}.tmc:hover .tmc__i img{transform:scale(1.04)}
.tmc__t{padding:26px 28px 30px}
.tmc__r{display:block;font:700 10.5px/1 var(--f);letter-spacing:.2em;text-transform:uppercase;color:var(--clay-d);margin-bottom:10px}
.tmc h3{font:300 1.7rem/1.1 var(--f);text-transform:none;letter-spacing:0;margin:0 0 .5em}
.tmc p{margin:0;color:var(--muted);font-size:.98rem}
@media(max-width:900px){.tm{grid-template-columns:1fr 1fr}}@media(max-width:560px){.tm{grid-template-columns:1fr}}
.hero img[src*="friends"]{object-position:center 12%}
.hero img[src*="ecuador-1038"]{object-position:center 12%}

/* ===== contacto ===== */
.cg{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(34px,6vw,90px);align-items:start}
.cf{display:grid;gap:18px;margin-top:28px}
.cf__r{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cf__f{display:flex;flex-direction:column;gap:8px}
.cf__f span{font:700 11px/1 var(--f);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.cf input,.cf textarea{width:100%;border:1.5px solid var(--line);background:#fff;border-radius:var(--r);padding:16px 18px;font:400 16px var(--f);color:var(--ink);transition:border-color .2s,box-shadow .2s}
.cf textarea{resize:vertical;min-height:140px}
.cf input:focus,.cf textarea:focus{outline:0;border-color:var(--clay);box-shadow:0 0 0 4px rgba(180,133,111,.18)}
.cf .btn{justify-self:start;gap:12px}
.cf__err{margin:0;color:#a3321f;font-size:14px;font-weight:700}
.cf__priv{margin:0;font-size:13px;color:var(--muted);max-width:520px}
@media(max-width:560px){.cf__r{grid-template-columns:1fr}}
.ci{background:var(--cream);border-radius:var(--r);padding:38px 34px;display:grid;gap:6px}
.ci h3{font:300 1.7rem/1.1 var(--f);text-transform:none;letter-spacing:0;margin:0 0 14px}
.ci__i{display:flex;gap:16px;align-items:center;padding:16px 0;border-top:1px solid rgba(0,0,0,.1);text-decoration:none;color:var(--ink)}
.ci__i .hw__i svg{margin:0;width:26px;height:26px}
.ci__i small{display:block;font:700 10.5px/1 var(--f);letter-spacing:.16em;text-transform:uppercase;color:var(--clay-d);margin-bottom:6px}
.ci__i b{font:700 1.02rem/1.2 var(--f);color:var(--ink);word-break:break-word}
a.ci__i:hover b{color:var(--clay-d)}
.ci__n{margin:18px 0 0;padding:16px 18px;background:#fff;border-left:3px solid var(--clay);border-radius:0 var(--r) var(--r) 0;font-size:.93rem;color:var(--ink-2)}
.ci__l{margin:6px 0 0;font-size:12.5px;color:var(--muted)}
.tips--3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.cg{grid-template-columns:1fr}.tips--3{grid-template-columns:1fr 1fr}}@media(max-width:560px){.tips--3{grid-template-columns:1fr}}
.hero img[src*="llegar"]{object-position:center 45%}
/* banner de contacto: deja ver la cumbre del volcan, texto sobre el lodge */
.cta__f:has(img[src*="contacto-cta"]){min-height:1020px;padding-top:540px}
.cta__f:has(img[src*="contacto-cta"])>picture img{object-position:center 0}
.cta__f:has(img[src*="contacto-cta"])::after{background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 38%,rgba(0,0,0,.55) 62%,rgba(0,0,0,.62) 100%)}
@media(max-width:700px){.cta__f:has(img[src*="contacto-cta"]){min-height:900px;padding-top:380px}}
.cta__f:has(img[src*="contacto-cta"]){min-height:0;padding:400px 0 70px}
.cta__f:has(img[src*="contacto-cta"])>picture img{object-position:center 8%}
.cta__f:has(img[src*="contacto-cta"])::after{background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,.5) 55%,rgba(0,0,0,.6) 100%)}
.cta__f:has(img[src*="contacto-cta"]) p{margin-bottom:26px}
.cta__f:has(img[src*="contacto-cta"]) .cta__wa{margin-top:18px}
@media(max-width:700px){.cta__f:has(img[src*="contacto-cta"]){padding:260px 0 50px}}
.cta__f:has(img[src*="contacto-cta"]){padding:95px 0 90px;min-height:0}
.cta__f:has(img[src*="contacto-cta"])>picture img{object-position:center 18%}
.cta__f:has(img[src*="contacto-cta"])::after{background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.3) 45%,rgba(0,0,0,.35) 100%)}
@media(max-width:700px){.cta__f:has(img[src*="contacto-cta"]){padding:70px 0 56px}}
.cta__f:has(img[src*="contacto-cta"]){padding:100px 0 270px}
.cta__f:has(img[src*="contacto-cta"])>picture img{object-position:center 50%}
.cta__f:has(img[src*="contacto-cta"])::after{background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.28) 40%,rgba(0,0,0,0) 70%)}
@media(max-width:700px){.cta__f:has(img[src*="contacto-cta"]){padding:70px 0 180px}}
.split__img:has(img[src*="vehiculo"]) img{aspect-ratio:3/4;object-fit:cover;object-position:center 60%}
.split__img:has(img[src*="transporte"]) img{aspect-ratio:3/4;object-fit:cover;object-position:center 40%}
.cta__f:has(img[src*="roomview"]){min-height:0;padding:100px 0 90px}
.cta__f:has(img[src*="roomview"])>picture img{object-position:center 30%}
.cta__f:has(img[src*="roomview"])::after{background:rgba(0,0,0,.28)}
@media(max-width:700px){.cta__f:has(img[src*="roomview"]){padding:70px 0 60px}}

/* ===== menu movil: panel visible, sin backdrop-filter que rompe position:fixed ===== */
@media(max-width:980px){
  .hdr,.hdr.solid,body.menu-open .hdr{backdrop-filter:none;-webkit-backdrop-filter:none}
  .hdr.solid,body.menu-open .hdr{background:#fff}
  .hdr .nav{position:fixed;top:var(--hdr);left:0;right:0;bottom:0;height:calc(100vh - var(--hdr));height:calc(100dvh - var(--hdr));background:#fff;display:flex;flex-direction:column;justify-content:flex-start;gap:0;padding:8px 24px 40px;margin:0;transform:translateX(-102%);transition:transform .28s;overflow:auto;z-index:99;visibility:hidden;opacity:1;pointer-events:auto}
  body.menu-open .hdr .nav{transform:none;visibility:visible}
  .hdr .nav li{border-bottom:1px solid var(--line)}
  .hdr .nav a,.hdr.solid .nav a{color:var(--ink);font-size:15px;letter-spacing:.14em;padding:22px 0;border:0;display:block}
  .hdr .nav a[aria-current]{color:var(--clay-d)}
  body.menu-open .hdr .btn{background:var(--black);color:#fff!important;box-shadow:none}
  body.menu-open .hdr .lang{display:inline-block;color:var(--ink)}
  .hdr .lang{display:none}
  body.menu-open .nav::after{content:"";display:block;height:1px}
}

.nav__lang{display:none}
@media(max-width:980px){
  .hdr .lang,body.menu-open .hdr .lang{display:none}
  .nav__lang{display:list-item}
  .hdr .nav .nav__lang a{color:var(--clay-d);font-size:13px}
  .hdr__bar{gap:6px}
}
