:root{--pino: #1e2b24;--pino-2: #2a3b31;--pino-3: #3b5244;--madera: #9a5a2e;--ambar: #f2a516;--ambar-2: #ffc24a;--niebla: #edf0ec;--niebla-2: #dfe5df;--blanco: #ffffff;--tinta: #18211c;--tinta-2: #4a564f;--cielo: #3c79a6;--escarcha: #cfe0ea;--wa: #25d366;--serif: "Young Serif", "Georgia", "Times New Roman", serif;--sans: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--step--1: .875rem;--step-0: 1.0625rem;--step-1: 1.3rem;--step-2: clamp(1.6rem, 1.3rem + 1.2vw, 2.1rem);--step-3: clamp(2rem, 1.4rem + 2.4vw, 3.2rem);--step-4: clamp(2.6rem, 1.6rem + 4vw, 4.6rem);--step-5: clamp(3rem, 1.4rem + 6.4vw, 7.2rem);--gutter: clamp(20px, 5vw, 72px);--radius-lg: 28px;--radius-md: 16px;--ease-out: cubic-bezier(.16, 1, .3, 1);--header-h: 72px;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}*,*:before,*:after{box-sizing:inherit}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}body{margin:0;background:var(--niebla);color:var(--tinta);font-family:var(--sans);font-size:var(--step-0);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit}button,input,select{font:inherit;color:inherit}h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;line-height:1.08;letter-spacing:-.01em;text-wrap:balance}p{margin:0}:focus-visible{outline:3px solid var(--ambar);outline-offset:3px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--ambar);color:var(--tinta);padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none}.skip:focus{top:calc(12px + env(safe-area-inset-top,0px))}.wrap{width:min(1280px,100% - var(--gutter) * 2);margin-inline:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;border:1.5px solid transparent;font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer;transition:transform .35s var(--ease-out),background-color .25s,color .25s,border-color .25s;will-change:transform}.btn:active{transform:scale(.97)}.btn-amber{background:var(--ambar);color:var(--tinta)}.btn-amber:hover{background:var(--ambar-2)}.btn-pine{background:var(--pino);color:var(--blanco)}.btn-pine:hover{background:var(--pino-3)}.btn-ghost{border-color:#ffffff73;color:var(--blanco)}.btn-ghost:hover{border-color:var(--blanco);background:#ffffff14}.link{font-weight:600;text-decoration:underline;text-decoration-color:var(--ambar);text-decoration-thickness:2px;text-underline-offset:5px;transition:text-underline-offset .25s}.link:hover{text-underline-offset:8px}.site-header{position:fixed;inset:0 0 auto 0;z-index:100;height:calc(var(--header-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) var(--gutter) 0;display:flex;align-items:center;gap:28px;color:var(--blanco);transition:background-color .35s,transform .45s var(--ease-out),box-shadow .35s}.site-header.is-solid{background:#1e2b24eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px #ffffff14}.site-header.is-hidden{transform:translateY(-100%)}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--serif);font-size:1.15rem;white-space:nowrap}.brand img{width:44px;height:44px;border-radius:50%;background:var(--blanco)}.main-nav{display:flex;gap:clamp(16px,2.4vw,34px);margin-left:auto}.main-nav a{text-decoration:none;font-weight:500;font-size:.98rem;opacity:.85;position:relative;padding:6px 0}.main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ambar);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}.main-nav a:hover{opacity:1}.main-nav a:hover:after,.main-nav a.is-active:after{transform:scaleX(1)}.header-cta{min-height:44px;padding:0 20px}.menu-toggle{display:none;width:46px;height:46px;border:0;background:transparent;position:relative;cursor:pointer}.menu-toggle i{position:absolute;left:11px;right:11px;height:2px;background:currentColor;transition:transform .35s var(--ease-out)}.menu-toggle i:first-of-type{top:18px}.menu-toggle i:last-of-type{top:26px}.menu-toggle[aria-expanded=true] i:first-of-type{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-of-type{transform:translateY(-4px) rotate(-45deg)}.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:max(100svh,700px);color:var(--blanco);background:var(--pino);overflow:hidden}.hero-bg{position:absolute;top:-60px;right:-60px;bottom:-60px;left:-60px;z-index:-2}.hero-bg img{width:100%;height:100%;object-fit:cover;filter:blur(38px) saturate(1.3) brightness(.45);transform:scale(1.1)}.hero-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#121c17bf,#121c1759)}.hero-media{position:relative;grid-column:2;grid-row:1;overflow:hidden;will-change:transform}.hero-float{position:absolute;top:-1.5%;right:-1.5%;bottom:-1.5%;left:-1.5%;will-change:transform}.hero-img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;transform-origin:70% 45%;animation:hero-drift 30s ease-in-out infinite alternate;filter:saturate(1.1) contrast(1.05)}@keyframes hero-drift{0%{transform:scale(1)}to{transform:scale(1.06) translate3d(-.8%,.4%,0)}}.hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,rgba(18,28,23,.55) 0%,transparent 22%),linear-gradient(0deg,rgba(18,28,23,.45) 0%,transparent 25%)}.hero-copy{position:relative;z-index:2;grid-column:1;grid-row:1;align-self:center;padding:calc(var(--header-h) + 56px) clamp(24px,4vw,64px) 120px var(--gutter);display:flex;flex-direction:column;align-items:flex-start}.hero-place{color:var(--ambar);font-weight:600;margin-bottom:18px;text-shadow:0 1px 12px rgba(0,0,0,.35)}.hero-title{font-size:clamp(2.6rem,.6rem + 4.6vw,5.8rem);line-height:.98;letter-spacing:-.03em;margin-bottom:24px;text-shadow:0 4px 40px rgba(0,0,0,.35)}.hero-title .line{display:block;overflow:hidden;padding-bottom:.06em}.hero-title .line>span{display:inline-block}.hero-lead{font-size:var(--step-1);line-height:1.5;max-width:36ch;color:#ffffffe6;margin-bottom:32px;text-shadow:0 1px 16px rgba(0,0,0,.4)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:36px}.weather{display:flex;gap:16px;align-items:center;padding:14px 22px 14px 18px;border-radius:var(--radius-md);background:#121c1773;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(255,255,255,.18)}.weather[hidden]{display:none}.weather-icon{width:38px;height:38px;color:var(--ambar);flex:none}.weather-label{font-size:var(--step--1);color:#ffffffbf}.weather-temp{font-family:var(--serif);font-size:2rem;line-height:1.1}.weather-temp small{font-family:var(--sans);font-size:.85rem;color:#ffffffbf;margin-left:6px}.weather-tip{font-size:var(--step--1);color:var(--escarcha)}.hero-scroll{position:absolute;z-index:2;left:25%;bottom:84px;translate:-50% 0;width:28px;height:46px;border-radius:16px;border:2px solid rgba(255,255,255,.7)}.hero-scroll span{position:absolute;left:50%;top:8px;width:4px;height:9px;margin-left:-2px;border-radius:2px;background:var(--blanco);animation:scroll-cue 1.8s ease-in-out infinite}@keyframes scroll-cue{0%{transform:translateY(0);opacity:0}30%{opacity:1}to{transform:translateY(16px);opacity:0}}.booking{position:relative;z-index:5;padding:0 var(--gutter);margin-top:-56px}.booking-form{width:min(1280px,100%);margin:0 auto;display:grid;grid-template-columns:1.3fr repeat(4,1fr) auto;gap:14px 18px;align-items:end;padding:26px 28px;background:var(--blanco);border-radius:var(--radius-lg);box-shadow:0 30px 60px -30px #1e2b2473}.booking-form h2{font-size:var(--step-1);align-self:center;line-height:1.2}.booking-form label{display:grid;gap:6px;min-width:0}.booking-form label span{font-size:var(--step--1);font-weight:600;color:var(--tinta-2)}.booking-form input,.booking-form select{width:100%;min-width:0;min-height:50px;padding:0 14px;border:1.5px solid var(--niebla-2);border-radius:12px;background:var(--niebla);transition:border-color .2s}.booking-form input:focus,.booking-form select:focus{border-color:var(--pino-3);outline:none}.booking-form input[aria-invalid=true]{border-color:#c2412d}.booking-note{grid-column:1 / -1;font-size:var(--step--1);color:var(--tinta-2)}.booking-note.is-error{color:#b0351f;font-weight:600}.intro{padding:clamp(80px,12vw,150px) 0 clamp(60px,8vw,100px)}.intro h2{font-size:var(--step-4);max-width:18ch;margin-bottom:48px}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,6vw,96px)}.intro-grid>p{font-size:var(--step-1);line-height:1.6;max-width:46ch;color:var(--tinta-2)}.intro-facts{list-style:none;margin:0;padding:0;border-top:1px solid var(--niebla-2)}.intro-facts li{padding:16px 0;border-bottom:1px solid var(--niebla-2);color:var(--tinta-2)}.intro-facts strong{color:var(--tinta);font-weight:600}.rooms{padding:clamp(40px,6vw,80px) 0 clamp(80px,10vw,140px)}.rooms-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:start}.rooms-media{position:sticky;top:calc(var(--header-h) + 24px)}.rooms-frame{margin:0;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4 / 5;background:var(--niebla-2)}.rooms-frame img{width:100%;height:100%;object-fit:cover;transition:opacity .4s}.rooms-frame img.is-swapping{opacity:0}.rooms-copy h2{font-size:var(--step-4);margin-bottom:18px}.rooms-lead{color:var(--tinta-2);max-width:44ch;margin-bottom:36px}.room{border-top:1px solid var(--niebla-2)}.room:last-child{border-bottom:1px solid var(--niebla-2)}.room-head{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:24px 0;border:0;background:none;cursor:pointer;text-align:left}.room-head h3{font-size:var(--step-2);transition:color .25s}.room-head:hover h3{color:var(--madera)}.room-for{font-size:var(--step--1);color:var(--tinta-2);white-space:nowrap}.room-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease-out)}.room-inner{overflow:hidden;min-height:0;display:grid;gap:14px;justify-items:start}.room-inner p{color:var(--tinta-2);max-width:46ch}.room-inner .link{margin-bottom:26px}.room-head[aria-expanded=true]+.room-body{grid-template-rows:1fr}.suite{display:grid;grid-template-columns:1fr 1fr;background:var(--pino);color:var(--blanco);min-height:90svh}.suite-photo{margin:0;position:relative;overflow:hidden;min-height:460px}.suite-photo img{position:absolute;top:-8%;right:0;bottom:-8%;left:0;width:100%;height:116%;object-fit:cover}.suite-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:28px;padding:clamp(56px,8vw,120px) var(--gutter)}.suite-copy h2{font-size:var(--step-4);max-width:17ch}.suite-copy p{font-size:var(--step-1);color:#fffc;max-width:38ch;line-height:1.55}.todo-intro{padding:clamp(90px,12vw,160px) 0 clamp(40px,5vw,64px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:end}.todo-intro h2{font-size:var(--step-5);line-height:.98}.todo-intro p{font-size:var(--step-1);color:var(--tinta-2);max-width:42ch;line-height:1.55}.climb{--warm-top: #f6c97b;--warm-bottom: #a9c8d6;position:relative;overflow:hidden;color:var(--blanco);padding:72px var(--gutter) 260px;isolation:isolate}.climb-sky{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:linear-gradient(180deg,#e9b565,#9dbfd1 60%,#cfe0ea)}.sky-cold{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;background:linear-gradient(180deg,#0f2436,#2f5877 55%,#a7c3d4)}.climb:not(.is-horizontal) .sky-cold{opacity:.85}.ridges{position:absolute;left:0;right:0;bottom:0;width:120%;height:38%;z-index:-1}.ridge.r3{fill:#5f7f86;opacity:.75}.ridge.r2{fill:#3b5a4f}.ridge.r1{fill:var(--pino)}.climb-track{display:grid;gap:24px;max-width:720px;margin:0 auto}.stop{position:relative;padding:32px 30px 30px;border-radius:var(--radius-lg);background:#18241eb8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12)}.stop-art{width:64px;height:64px;fill:none;stroke:var(--ambar);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;margin-bottom:20px}.stop-art circle{fill:var(--ambar);stroke:none}.stop-art circle[r="6"],.stop-art circle[r="18"]{fill:none;stroke:var(--ambar)}.stop-alt{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;font-size:var(--step--1);color:#ffffffb3;margin-bottom:10px}.stop-alt b{font-family:var(--serif);font-weight:400;font-size:1.35rem;color:var(--ambar)}.stop h3{font-size:var(--step-3);margin-bottom:16px}.stop p:not(.stop-alt):not(.stop-temp){color:#ffffffd9;line-height:1.6}.stop-temp{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);font-size:var(--step--1);color:var(--escarcha)}.stop-temp b{font-family:var(--serif);font-weight:400;font-size:1.3rem;color:var(--blanco);margin-left:4px}.climb-hud,.profile,.profile-dot{display:none}.climb.is-horizontal{height:100svh;min-height:640px;padding:0;display:flex;align-items:center}.climb.is-horizontal .climb-track{display:flex;gap:clamp(28px,4vw,64px);max-width:none;margin:0;padding:0 12vw 0 max(var(--gutter),8vw);width:max-content;will-change:transform;margin-top:-6svh}.climb.is-horizontal .stop{width:min(460px,34vw);flex:none;opacity:.55;transform:scale(.96);transition:opacity .5s,transform .6s var(--ease-out)}.climb.is-horizontal .stop.is-current{opacity:1;transform:none}.climb.is-horizontal .climb-hud{display:flex;gap:36px;position:absolute;z-index:3;top:calc(var(--header-h) + 24px);right:var(--gutter);text-shadow:0 2px 20px rgba(0,0,0,.25)}.hud-num{font-family:var(--serif);font-size:clamp(2.4rem,4vw,3.6rem);line-height:1;font-variant-numeric:tabular-nums}.hud-unit{font-size:var(--step--1);margin-left:6px;opacity:.85}.climb.is-horizontal .profile{display:block;position:absolute;left:var(--gutter);right:var(--gutter);bottom:5svh;width:calc(100% - var(--gutter) * 2);height:120px;z-index:2;overflow:visible}.profile path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.profile-base{stroke:#ffffff47;stroke-width:2;stroke-dasharray:4 8}.profile-line{stroke:var(--ambar);stroke-width:4}.climb.is-horizontal .profile-dot{display:block;position:absolute;z-index:3;width:18px;height:18px;margin:-9px 0 0 -9px;left:0;top:0;border-radius:50%;background:var(--ambar);box-shadow:0 0 0 6px #f2a5164d,0 0 0 14px #f2a5161f}.explore{padding:clamp(80px,10vw,140px) 0 clamp(60px,8vw,100px)}.explore-head{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:end;justify-content:space-between;margin-bottom:36px}.explore-head h2{font-size:var(--step-4)}.filters{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:42px;padding:0 18px;border-radius:999px;border:1.5px solid var(--niebla-2);background:var(--blanco);cursor:pointer;font-weight:500;transition:background-color .25s,color .25s,border-color .25s}.chip:hover{border-color:var(--pino-3)}.chip.is-on{background:var(--pino);color:var(--blanco);border-color:var(--pino)}.explore-grid{display:grid;grid-template-columns:minmax(300px,1fr) 1.35fr;gap:28px;align-items:start}.places{list-style:none;margin:0;padding:0 6px 0 0;display:grid;gap:10px;max-height:620px;overflow:auto;overscroll-behavior:contain}.place{border-radius:var(--radius-md);background:var(--blanco);border:1.5px solid transparent;transition:border-color .25s,transform .35s var(--ease-out)}.place.is-active{border-color:var(--ambar)}.place[hidden]{display:none}.place-btn{width:100%;text-align:left;border:0;background:none;padding:18px 20px 8px;cursor:pointer;display:grid;gap:4px}.place-cat{font-size:.8rem;font-weight:600;color:var(--madera)}.place-btn h3{font-size:1.35rem}.place p{padding:0 20px;color:var(--tinta-2);font-size:.98rem;line-height:1.5}.place-go{display:inline-block;margin:10px 20px 18px;font-size:.95rem}.map-wrap{position:sticky;top:calc(var(--header-h) + 20px)}.map{height:620px;border-radius:var(--radius-lg);overflow:hidden;background:var(--niebla-2);z-index:0}.map-note{margin-top:12px;font-size:var(--step--1);color:var(--tinta-2)}.map-fallback{height:100%;display:grid;place-items:center;padding:24px;text-align:center;color:var(--tinta-2)}.kpin{width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;border:3px solid var(--blanco);box-shadow:0 6px 14px #00000040}.kpin span{transform:rotate(45deg);font-weight:700;font-size:13px;color:var(--tinta)}.kpin.naturaleza{background:#7fb07a}.kpin.pueblo{background:var(--ambar)}.kpin.aventura{background:#8fb7d6}.kpin.hotel{background:var(--pino)}.kpin.hotel span{color:var(--ambar)}.leaflet-popup-content{font-family:var(--sans);font-size:.95rem}.leaflet-popup-content strong{font-family:var(--serif);font-weight:400;font-size:1.1rem;display:block;margin-bottom:4px}.tips{background:var(--pino);color:var(--blanco);padding:clamp(80px,10vw,130px) 0}.tips h2{font-size:var(--step-4);margin-bottom:48px;max-width:16ch}.tips-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:48px}.tip{padding:26px 24px;border-radius:var(--radius-md);background:var(--pino-2);border-top:3px solid var(--ambar)}.tip h3{font-size:1.45rem;margin-bottom:12px}.tip p{color:#ffffffc7;font-size:.98rem;line-height:1.55}.gallery{padding:clamp(80px,10vw,140px) 0}.gallery h2{font-size:var(--step-4);margin-bottom:40px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(180px,20vw,280px);gap:14px;grid-auto-flow:dense}.g-item{position:relative;padding:0;border:0;border-radius:var(--radius-md);overflow:hidden;cursor:zoom-in;background:var(--niebla-2)}.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-out)}.g-item:hover img{transform:scale(1.05)}.g-item span{position:absolute;left:12px;bottom:12px;padding:5px 12px;border-radius:999px;background:#1e2b24c7;color:var(--blanco);font-size:.85rem;font-weight:500}.g-tall{grid-row:span 2}.g-wide img{object-position:50% 35%}.g-wide{grid-column:span 2}.arrive{background:var(--niebla-2);padding:clamp(80px,10vw,130px) 0}.arrive-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,6vw,80px);align-items:center}.arrive h2{font-size:var(--step-4);margin-bottom:22px}.arrive-copy>p{font-size:var(--step-1);color:var(--tinta-2);line-height:1.55;max-width:40ch;margin-bottom:32px}.contact{margin:0 0 36px;display:grid;gap:0;border-top:1px solid rgba(24,33,28,.15)}.contact div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(24,33,28,.15)}.contact dt{color:var(--tinta-2)}.contact dd{margin:0;font-weight:600}.contact a{text-decoration:none}.contact a:hover{color:var(--madera)}.arrive-actions{display:flex;flex-wrap:wrap;gap:12px}.arrive .btn-ghost{color:var(--tinta);border-color:#18211c4d}.arrive .btn-ghost:hover{background:#18211c0f;border-color:var(--tinta)}.arrive-map{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4 / 3.4;background:var(--niebla)}.arrive-map iframe{width:100%;height:100%;border:0;display:block}.closing{text-align:center;padding:clamp(90px,12vw,160px) 0;display:grid;justify-items:center;gap:28px}.closing img{width:96px;height:96px}.closing h2{font-size:var(--step-4);max-width:16ch}.site-footer{background:var(--pino);color:#ffffffd9;padding:48px 0 calc(40px + env(safe-area-inset-bottom,0px))}.footer-grid{display:grid;grid-template-columns:auto 1fr;gap:24px 40px;align-items:center}.footer-grid nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 26px}.footer-grid nav a{text-decoration:none;opacity:.8}.footer-grid nav a:hover{opacity:1;color:var(--ambar)}.footer-small{grid-column:1 / -1;font-size:var(--step--1);opacity:.6;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.footer-small a{color:var(--ambar)}.wa-float{position:fixed;z-index:90;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;gap:10px;padding:12px 20px 12px 14px;border-radius:999px;background:var(--wa);color:#0b3d20;font-weight:700;text-decoration:none;box-shadow:0 14px 30px -10px #0006;transition:transform .35s var(--ease-out)}.wa-float svg{width:28px;height:28px}.wa-float:hover{transform:translateY(-3px)}.wa-float:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:0 0 #25d3668c;animation:wa-ping 2.8s 3s infinite}@keyframes wa-ping{0%{box-shadow:0 0 #25d36680}70%,to{box-shadow:0 0 0 16px #25d36600}}.lightbox{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100dvh;color:var(--blanco)}.lightbox::backdrop{background:#0e1612eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lightbox[open]{display:grid;grid-template-columns:64px 1fr 64px;align-items:center}.lightbox figure{margin:0;display:grid;justify-items:center;gap:12px;grid-column:2}.lightbox img{max-height:84dvh;max-width:100%;width:auto;border-radius:12px}.lightbox figcaption{font-size:.95rem;opacity:.8}.lightbox button{width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#ffffff14;color:var(--blanco);font-size:1.8rem;line-height:1;cursor:pointer;justify-self:center}.lightbox button:hover{background:#ffffff2e}.lb-close{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:16px}.lb-prev{grid-column:1;grid-row:1}.lb-next{grid-column:3;grid-row:1}.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}.split .w>span{display:inline-block}.spaces{padding:clamp(90px,11vw,150px) 0 clamp(20px,3vw,40px)}.spaces-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:44px}.spaces-head h2{font-size:var(--step-4)}.spaces-head p{font-size:var(--step-1);color:var(--tinta-2);max-width:44ch;line-height:1.55}.spaces-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 22px}.space img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-md);margin-bottom:16px;background:var(--niebla-2);transition:transform .8s var(--ease-out)}.space:hover img{transform:translateY(-4px)}.space h3{font-size:1.55rem;margin-bottom:8px}.space p{color:var(--tinta-2);line-height:1.55;max-width:40ch}.faq{padding:clamp(80px,10vw,130px) 0;background:var(--blanco)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,96px);align-items:start}.faq-head{position:sticky;top:calc(var(--header-h) + 24px)}.faq-head h2{font-size:var(--step-4);margin-bottom:18px}.faq-head p{color:var(--tinta-2)}.faq-list{border-top:1px solid var(--niebla-2)}.faq-item{border-bottom:1px solid var(--niebla-2)}.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary h3{font-size:1.35rem;line-height:1.3;transition:color .25s}.faq-item summary:hover h3{color:var(--madera)}.faq-item summary:after{content:"";flex:none;width:14px;height:14px;border-right:2px solid var(--madera);border-bottom:2px solid var(--madera);transform:rotate(45deg) translate(-3px,-3px);transition:transform .35s var(--ease-out)}.faq-item[open] summary:after{transform:rotate(-135deg) translate(-3px,-3px)}.faq-item p{padding:0 0 24px;color:var(--tinta-2);max-width:60ch;line-height:1.65}.arrive-hint{font-size:1rem!important;margin-top:-16px}.arrive-map{position:relative;display:grid;place-items:center}.arrive-map img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}.arrive-map:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,rgba(18,28,23,.7),transparent 55%);pointer-events:none}.map-load{position:absolute;z-index:2;bottom:52px}.map-load-note{position:absolute;z-index:2;bottom:16px;left:16px;right:16px;text-align:center;font-size:.8rem;color:#ffffffd9}.map-load-note a{color:var(--ambar)}.arrive-map.is-loaded:after,.arrive-map.is-loaded img,.arrive-map.is-loaded .map-load,.arrive-map.is-loaded .map-load-note{display:none}.arrive-map iframe{position:absolute;top:0;right:0;bottom:0;left:0}.booking-legal{grid-column:1 / -1;font-size:.8rem;color:var(--tinta-2);margin-top:-8px}.booking-legal a{color:var(--tinta)}.footer-legal{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:var(--step--1)}.footer-legal a{opacity:.7;text-decoration:none}.footer-legal a:hover{opacity:1;color:var(--ambar)}.legal-top{background:var(--pino);color:var(--blanco);padding:calc(var(--header-h) + 64px) 0 56px}.legal-top h1{font-size:var(--step-4);max-width:20ch}.legal-top p{margin-top:14px;color:#ffffffbf}.legal-body{padding:clamp(48px,7vw,90px) 0 clamp(80px,10vw,120px)}.legal-body .wrap{max-width:760px}.legal-body h2{font-size:var(--step-2);margin:48px 0 14px}.legal-body h2:first-child{margin-top:0}.legal-body h3{font-size:1.25rem;margin:28px 0 10px}.legal-body p,.legal-body li{color:var(--tinta-2);line-height:1.7}.legal-body p+p{margin-top:12px}.legal-body ul{padding-left:1.2em;margin:10px 0}.legal-body li+li{margin-top:6px}.legal-body a{color:var(--tinta);text-decoration-color:var(--ambar);text-decoration-thickness:2px;text-underline-offset:3px}.legal-body strong{color:var(--tinta)}.legal-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:.95rem}.legal-scroll{overflow-x:auto}.legal-table th,.legal-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--niebla-2);vertical-align:top;color:var(--tinta-2)}.legal-table th{color:var(--tinta);font-weight:600;background:var(--blanco)}.legal-page .site-header{background:var(--pino)}.legal-page .menu-toggle{display:none}.legal-nav{margin-left:auto;display:flex;gap:24px}.legal-nav a{text-decoration:none;opacity:.85;font-weight:500}.legal-nav a:hover{opacity:1;color:var(--ambar)}@media(max-width:1100px){.booking-form{grid-template-columns:repeat(2,1fr)}.booking-form h2,.booking-form .btn{grid-column:1 / -1}.tips-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){:root{--header-h: 64px}.main-nav{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;flex-direction:column;justify-content:center;gap:8px;padding:calc(var(--header-h) + 40px) var(--gutter) 40px;background:var(--pino);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}.main-nav a{font-family:var(--serif);font-size:2rem;opacity:1}body.menu-open .main-nav{opacity:1;visibility:visible}body.menu-open .site-header{background:var(--pino)}.menu-toggle{display:block}.header-cta{margin-left:auto}.hero{display:block;min-height:0}.hero-bg{display:none}.hero-media{aspect-ratio:1087 / 1446;max-height:115svh}.hero-img{object-position:50% 30%}.hero-shade{background:linear-gradient(0deg,var(--pino) 0%,rgba(30,43,36,.85) 16%,rgba(30,43,36,.15) 34%,transparent 42%),linear-gradient(180deg,rgba(18,28,23,.45) 0%,transparent 14%)}.hero-copy{margin-top:-36%;padding:0 var(--gutter) 96px}.hero-title{font-size:clamp(2.5rem,11.4vw,4.4rem)}.hero-lead{font-size:1.05rem;margin-bottom:24px}.hero-actions{margin-bottom:24px}.hero-actions .btn-ghost,.hero-scroll{display:none}.intro-grid,.rooms-grid,.todo-intro,.explore-grid,.arrive-grid,.spaces-head,.faq-grid{grid-template-columns:1fr}.spaces-grid{grid-template-columns:repeat(2,1fr)}.faq-head{position:static}.legal-nav a:not(:last-child){display:none}.rooms-media{position:relative;top:0}.rooms-frame{aspect-ratio:4 / 3.6}.suite{grid-template-columns:1fr;min-height:0}.suite-photo{min-height:60svh}.map-wrap{position:relative;top:0;order:-1}.map{height:380px}.places{max-height:none;overflow:visible}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:42vw}.footer-grid{grid-template-columns:1fr}.footer-grid nav{justify-content:flex-start}}@media(max-width:560px){.booking{margin-top:-40px}.booking-form{grid-template-columns:1fr 1fr;padding:22px 18px;gap:12px}.tips-grid,.spaces-grid{grid-template-columns:1fr}.site-header .brand span,.wa-float span{display:none}.wa-float{padding:14px}.lightbox[open]{grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;padding-bottom:20px}.lightbox figure{grid-column:1 / -1;grid-row:1}.lb-prev,.lb-next{grid-row:2}.lb-prev{grid-column:1}.lb-next{grid-column:2}.contact div{flex-direction:column;gap:2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
