@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-500-normal.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-600-normal.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-400-italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../fonts/dm-sans-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../fonts/dm-sans-500-normal.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../fonts/dm-sans-600-normal.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}

:root{--paper:#f2f1eb;--paper-light:#f8f7f2;--ink:#292a25;--muted:#76776e;--quiet:#a8a99f;--rule:rgba(41,42,37,.18);--forest:#344038;--forest-deep:#242d28;--clay:#a65f46;--sand:#c0ad8c;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--gutter:clamp(22px,5.4vw,88px);--header-height:94px;--ease:cubic-bezier(.22,.61,.36,1);color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 18px);background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;width:100%;height:auto;object-fit:cover}
figure{margin:0;min-width:0}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
::selection{background:#d7c8ac;color:var(--ink)}
:focus-visible{outline:2px solid var(--clay);outline-offset:4px}
[hidden]{display:none!important}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:100;top:10px;left:10px;padding:10px 16px;background:var(--paper);transform:translateY(-150%);transition:transform .2s}
.skip-link:focus{transform:translateY(0)}
.container-wide{width:calc(100% - var(--gutter) - var(--gutter));max-width:1560px;margin-inline:auto}
.section-pad{padding:clamp(78px,9.5vw,154px) var(--gutter)}
.eyebrow,.footer-label{font-size:10px;font-weight:600;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 24px}
.eyebrow--light{color:rgba(255,255,255,.73)}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:.99}
h1{font-size:clamp(4rem,8.7vw,9.5rem)}
h2{font-size:clamp(3rem,6.2vw,6.8rem)}
h3{font-size:clamp(1.9rem,3vw,3rem)}
h1 em,h2 em,h3 em{font-style:italic;font-weight:400}
p{max-width:64ch}
.small-note{font-size:12px;color:var(--muted);max-width:72ch}
.editorial-caption{display:block;margin-top:34px;font-size:9px;letter-spacing:.13em;color:var(--muted);text-transform:uppercase}
.photo-credit{display:block;font-size:9px;line-height:1.5;letter-spacing:.025em;color:rgba(41,42,37,.58);margin-top:7px}
.photo-credit a{text-decoration:underline;text-underline-offset:2px}
.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:0 22px;border:1px solid transparent;font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;transition:background .28s var(--ease),color .28s var(--ease),border-color .28s var(--ease),transform .28s var(--ease);cursor:pointer}
.button span{font-size:15px;transition:transform .25s var(--ease)}
.button:hover{transform:translateY(-2px)}
.button:hover span{transform:translate(3px,-2px)}
.button--dark{background:var(--ink);color:var(--paper-light)}
.button--dark:hover{background:var(--clay);color:#fff}
.button--line{border-color:var(--ink);background:transparent;color:var(--ink)}
.button--line:hover{background:var(--ink);color:var(--paper-light)}
.button--light{background:var(--paper-light);color:var(--ink)}
.button--light:hover{background:var(--sand);color:var(--ink)}
.button--light-ghost{color:#fff;border-color:rgba(255,255,255,.66);background:rgba(255,255,255,.03)}
.button--light-ghost:hover{background:rgba(255,255,255,.14);border-color:#fff}
.text-link,.source-link{display:inline-flex;align-items:center;gap:13px;font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;border-bottom:1px solid currentColor;padding:0 0 7px;transition:color .2s,border-color .2s}
.text-link:hover,.source-link:hover{color:var(--clay)}
.text-link b,.source-link span{font-size:14px;font-weight:400;transition:transform .2s}
.text-link:hover b,.source-link:hover span{transform:translate(3px,-2px)}
.source-link{font-size:9px;color:var(--forest)}
.demo-pill{display:inline-flex;align-items:center;min-height:30px;padding:6px 12px;border:1px solid rgba(166,95,70,.45);color:#884a37;font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.section-marker{display:flex;gap:20px;align-items:center;color:var(--muted);font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.section-marker span:first-child{font-family:var(--serif);font-size:24px;letter-spacing:0;color:var(--clay)}
.section-marker--light{color:rgba(255,255,255,.62)}
.section-marker--light span:first-child{color:#d4b98e}
.section-center{text-align:center;margin-top:54px}

/* Header / navigation */
.site-header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-height);display:flex;align-items:center;padding:0 var(--gutter);color:var(--ink);background:transparent;border-bottom:1px solid transparent;transition:background .3s,border-color .3s,color .3s,backdrop-filter .3s}
.site-header--solid,.site-header.is-scrolled{color:var(--ink);background:rgba(242,241,235,.96);border-color:rgba(41,42,37,.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.page-home .site-header:not(.is-scrolled){color:#fff}
.site-header__inner{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;gap:10px;width:max-content;line-height:1}
.brand__mark{width:32px;height:36px;display:grid;place-items:center;color:var(--clay)}
.brand__mark svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.brand__mark circle{fill:currentColor;stroke:none}
.brand__type{display:flex;flex-direction:column;gap:5px}
.brand__type strong{font-family:var(--serif);font-weight:500;font-size:23px;letter-spacing:-.02em}
.brand__type small{font-family:var(--sans);font-size:7px;letter-spacing:.17em;font-weight:600;opacity:.72}
.main-nav{display:flex;align-items:center;justify-content:center;gap:clamp(15px,2vw,31px)}
.nav-link,.nav-group>summary{position:relative;display:flex;align-items:center;gap:7px;padding:10px 0;color:inherit;font-size:9px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;cursor:pointer}
.nav-link:after,.nav-group>summary:after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:currentColor;transition:right .25s var(--ease)}
.nav-link:hover:after,.nav-group[open]>summary:after,.nav-group>summary:hover:after,.nav-link.is-current:after,.nav-group.is-current>summary:after{right:0}
.nav-group.is-current>summary{color:var(--clay)}
.nav-group{position:relative}
.nav-group>summary{list-style:none}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary span{font-size:12px;transition:transform .2s}
.nav-group[open]>summary span{transform:rotate(180deg)}
.nav-menu{position:absolute;left:-18px;top:calc(100% + 12px);min-width:205px;padding:11px 0;background:var(--paper-light);color:var(--ink);box-shadow:0 12px 35px rgba(25,26,23,.13);border:1px solid rgba(41,42,37,.08);display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,visibility .2s,transform .2s}
.nav-group[open] .nav-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-menu a{padding:10px 18px;font-size:11px;color:var(--muted);transition:background .2s,color .2s}
.nav-menu a:hover{background:#ebe9e0;color:var(--ink)}
.page-home .site-header:not(.is-scrolled) .nav-menu{background:rgba(35,38,33,.97);color:#fff;border-color:rgba(255,255,255,.12)}
.page-home .site-header:not(.is-scrolled) .nav-menu a{color:rgba(255,255,255,.78)}
.page-home .site-header:not(.is-scrolled) .nav-menu a:hover{background:rgba(255,255,255,.1);color:#fff}
.header-cta{justify-self:end;display:inline-flex;align-items:center;gap:13px;padding:12px 15px;border:1px solid currentColor;font-size:8px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.header-cta:hover{background:var(--ink);color:var(--paper-light);border-color:var(--ink)}
.page-home .site-header:not(.is-scrolled) .header-cta:hover{background:#fff;color:var(--ink);border-color:#fff}
.header-cta span{font-size:13px}
.menu-toggle{display:none}

/* Hero */
.hero{position:relative;isolation:isolate;min-height:620px;overflow:hidden;background:var(--forest-deep);color:#fff}
.hero--home{height:min(900px,100svh);min-height:680px}
.hero__image,.hero__shade,.hero__image img{position:absolute;inset:0;width:100%;height:100%}
.hero__image img{object-fit:cover;object-position:50% 56%;animation:hero-enter 1.2s var(--ease) both}
.hero__shade{z-index:1;background:linear-gradient(90deg,rgba(20,25,22,.72) 0%,rgba(20,25,22,.42) 43%,rgba(20,25,22,.04) 100%),linear-gradient(0deg,rgba(20,25,22,.48),transparent 35%)}
.hero__content{position:absolute;z-index:2;left:var(--gutter);bottom:15.5%;width:min(800px,75vw);padding-top:var(--header-height)}
.hero__content .eyebrow{margin-bottom:25px}
.hero__content h1{margin:0 0 24px;font-size:clamp(5rem,9.3vw,10rem);line-height:.84;letter-spacing:-.055em}
.hero__content h1 em{color:#e4d4bb}
.hero__lead{font-size:clamp(14px,1.16vw,17px);line-height:1.7;max-width:480px;color:rgba(255,255,255,.84);margin-bottom:32px}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.hero__location{position:absolute;left:var(--gutter);bottom:35px;z-index:3;display:flex;gap:22px;font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.78)}
.hero__scroll{position:absolute;z-index:3;right:var(--gutter);bottom:33px;display:flex;align-items:center;gap:13px;color:#fff;font-size:8px;letter-spacing:.17em;writing-mode:vertical-rl}
.hero__scroll i{display:block;width:1px;height:42px;background:rgba(255,255,255,.7);transform-origin:top;animation:scroll-line 2s infinite}
.hero__index{position:absolute;right:var(--gutter);top:50%;z-index:3;display:flex;align-items:center;gap:8px;transform:rotate(90deg) translateX(50%);font-size:9px;letter-spacing:.16em;color:rgba(255,255,255,.8)}
.hero__index i{display:inline-block;width:32px;height:1px;background:rgba(255,255,255,.72)}
.hero__disclaimer{position:absolute;right:var(--gutter);bottom:26px;z-index:3;margin:0;font-size:8px;color:rgba(255,255,255,.56);letter-spacing:.04em}
.hero--interior{height:min(830px,95svh);min-height:650px}
.hero--interior .hero__content{bottom:14%;max-width:760px}
.hero--destination .hero__image img{object-position:center 52%}
.hero--destination .hero__shade{background:linear-gradient(90deg,rgba(19,27,25,.63),rgba(19,27,25,.14) 68%),linear-gradient(0deg,rgba(19,27,25,.42),transparent 38%)}
.hero--destination .hero__content{max-width:820px}
.hero--destination .hero__location{bottom:29px}
.hero--destination .hero__disclaimer{left:var(--gutter);right:auto;bottom:11px}
.hero--activities .hero__image img{object-position:center 45%}

/* Split page hero */
.page-hero{min-height:650px;display:grid;grid-template-columns:.86fr 1.14fr;align-items:stretch;padding-top:var(--header-height);background:var(--paper)}
.page-hero__copy{align-self:center;padding:clamp(55px,7vw,112px) clamp(25px,5.2vw,82px) clamp(55px,7vw,112px) var(--gutter)}
.page-hero__copy h1{font-size:clamp(4.2rem,7.4vw,7.8rem);line-height:.83;margin:0 0 25px}
.page-hero__copy h1 em{color:var(--clay)}
.page-hero__lead{max-width:500px;color:#65665f;font-size:14px;line-height:1.8;margin-bottom:40px}
.page-hero__rule{display:flex;justify-content:space-between;gap:12px;max-width:370px;border-top:1px solid var(--rule);padding-top:12px;font-size:8px;font-weight:600;letter-spacing:.12em;color:var(--muted)}
.page-hero__visual{position:relative;min-height:550px;max-height:760px;overflow:hidden}
.page-hero__image{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.page-hero__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,28,25,.22),transparent 35%);pointer-events:none}
.page-hero--property{grid-template-columns:.82fr 1.18fr}
.page-hero--rooms{grid-template-columns:.9fr 1.1fr}
.page-hero--gallery{grid-template-columns:.84fr 1.16fr}
.page-hero--experiences{grid-template-columns:.86fr 1.14fr}
.page-hero--reservations{grid-template-columns:.9fr 1.1fr}
.page-hero--contact{grid-template-columns:.95fr 1.05fr}
.page-hero--activities{grid-template-columns:.9fr 1.1fr}
.page-hero--activities .page-hero__visual img{object-position:50% 42%}

/* Home editorial */
.home-intro{display:grid;grid-template-columns:.45fr 1.3fr .8fr;gap:clamp(26px,5vw,78px);align-items:start}
.home-intro__body h2{font-size:clamp(3.7rem,7vw,7.2rem);margin:0 0 27px;line-height:.88}
.home-intro__body h2 em{color:var(--clay)}
.home-intro__body p{max-width:550px;color:#696a62;line-height:1.85;font-size:14px;margin-bottom:28px}
.home-intro__facts{display:flex;flex-direction:column;gap:20px;border-top:1px solid var(--rule);padding-top:20px}
.home-intro__facts div{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--rule);padding-bottom:17px}
.home-intro__facts strong{font-family:var(--serif);font-size:35px;font-weight:400;line-height:1;color:var(--clay)}
.home-intro__facts span{font-size:10px;line-height:1.5;color:var(--muted)}
.editorial-feature{position:relative;display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(35px,7vw,110px);align-items:center;padding-top:40px;padding-bottom:80px}
.editorial-feature__copy{position:relative;z-index:2;padding:40px 0 70px 7%}
.editorial-feature__copy h2{font-size:clamp(3.2rem,5.7vw,5.8rem);margin:0 0 28px;max-width:550px;line-height:.9}
.editorial-feature__copy p:not(.eyebrow){color:var(--muted);max-width:430px;line-height:1.8;font-size:13px;margin-bottom:29px}
.editorial-feature__photo{position:relative;height:clamp(460px,61vw,820px);margin-right:calc(var(--gutter)*-1)}
.editorial-feature__photo img{height:100%;object-fit:cover}
.editorial-feature__photo figcaption{position:absolute;left:18px;bottom:15px;color:#fff;font-size:9px;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.editorial-feature__photo figcaption small{display:block;font-size:8px;letter-spacing:.04em;text-transform:none;opacity:.75}
.editorial-feature__note{position:absolute;bottom:0;left:7%;font-size:8px;letter-spacing:.15em;color:var(--muted)}
.editorial-feature__stamp{position:absolute;z-index:3;left:49%;top:45%;width:76px;height:76px;display:grid;place-content:center;text-align:center;border-radius:50%;background:var(--paper);color:var(--clay);font-family:var(--serif);font-size:27px;line-height:.7;transform:rotate(-8deg)}
.room-preview{background:#e9e8e0}
.section-head{margin-bottom:52px}
.section-head h2{margin:0;line-height:.9}
.section-head--split{display:flex;justify-content:space-between;align-items:end;gap:45px}
.section-head--split>p{max-width:360px;color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 5px}
.section-head--center{text-align:center;max-width:800px;margin-inline:auto;margin-bottom:66px}
.section-head--center h2{margin-bottom:17px}
.section-head--center>p:last-child{color:var(--muted);font-size:13px;max-width:500px;margin:0 auto}
.room-preview__grid{display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(18px,3.6vw,54px);align-items:start}
.room-preview__grid>a{position:relative;overflow:hidden;color:#fff}
.room-preview__grid>a:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(0deg,rgba(24,28,25,.6),transparent);pointer-events:none}
.room-preview__grid>a img{height:100%;min-height:440px;transition:transform .8s var(--ease)}
.room-preview__grid>a:hover img{transform:scale(1.035)}
.room-preview__large{height:clamp(430px,54vw,700px)}
.room-preview__small{height:clamp(360px,42vw,570px);margin-top:95px}
.room-preview__label{position:absolute;z-index:1;left:24px;right:24px;bottom:22px;display:grid;grid-template-columns:1fr auto;align-items:end}
.room-preview__label small{grid-column:1/-1;font-size:8px;letter-spacing:.15em;margin-bottom:6px;color:rgba(255,255,255,.72)}
.room-preview__label strong{font-family:var(--serif);font-size:clamp(2rem,3.4vw,3.5rem);font-weight:400;line-height:1}
.room-preview__label i{font-style:normal;font-size:20px}
.pool-story{height:min(850px,86vh);min-height:600px;position:relative;isolation:isolate;color:#fff;overflow:hidden}
.pool-story__image,.pool-story__image img,.pool-story__veil{position:absolute;inset:0;width:100%;height:100%}
.pool-story__image img{object-fit:cover;object-position:center 55%;transition:transform 1.2s var(--ease)}
.pool-story:hover .pool-story__image img{transform:scale(1.02)}
.pool-story__veil{z-index:1;background:linear-gradient(90deg,rgba(24,30,27,.7),rgba(24,30,27,.08) 76%),linear-gradient(0deg,rgba(24,30,27,.32),transparent 45%)}
.pool-story__copy{position:absolute;z-index:2;left:var(--gutter);top:50%;transform:translateY(-50%);max-width:600px}
.pool-story__copy h2{font-size:clamp(4.2rem,8vw,8rem);line-height:.82;margin:0 0 22px}
.pool-story__copy h2 em{color:#e0cfb2}
.pool-story__copy p:not(.eyebrow){max-width:380px;color:rgba(255,255,255,.8);line-height:1.8;font-size:13px;margin-bottom:25px}
.pool-story__vertical{position:absolute;right:var(--gutter);top:50%;z-index:2;writing-mode:vertical-rl;font-size:8px;letter-spacing:.22em;color:rgba(255,255,255,.7)}
.pool-story__caption{position:absolute;z-index:2;right:var(--gutter);bottom:22px;font-size:8px;color:rgba(255,255,255,.62)}
.experience-section{background:var(--paper-light)}
.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,46px)}
.experience-card{display:block;position:relative;border-top:1px solid var(--rule);padding-top:13px}
.experience-card figure{overflow:hidden;aspect-ratio:4/4.8;margin-bottom:19px}
.experience-card img{height:100%;transition:transform .8s var(--ease)}
.experience-card:hover img{transform:scale(1.035)}
.experience-card__number{display:block;font-size:8px;letter-spacing:.14em;color:var(--clay);margin-bottom:7px}
.experience-card h3{font-size:clamp(2rem,3vw,3.1rem);margin:0 0 9px}
.experience-card p{color:var(--muted);font-size:12px;line-height:1.7;max-width:360px;margin-bottom:18px}
.experience-card .text-link{font-size:9px}
.home-gallery{background:#e5e4dc}
.home-gallery__grid{display:grid;grid-template-columns:1.08fr .72fr .78fr 1.12fr;gap:11px;align-items:start}
.home-gallery__item{position:relative;height:clamp(190px,25vw,390px);overflow:hidden;color:#fff}
.home-gallery__item:nth-child(even){margin-top:50px;height:clamp(160px,21vw,330px)}
.home-gallery__item:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(0deg,rgba(20,24,21,.6),transparent)}
.home-gallery__item img{height:100%;transition:transform .65s var(--ease)}
.home-gallery__item:hover img{transform:scale(1.04)}
.home-gallery__item span{position:absolute;z-index:1;left:14px;right:10px;bottom:13px;font-size:10px;letter-spacing:.06em}
.destination-teaser{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(30px,8vw,120px);padding:clamp(85px,10vw,150px) var(--gutter)}
.destination-teaser__photo{height:clamp(420px,55vw,720px);position:relative}
.destination-teaser__photo img{height:100%}
.destination-teaser__photo figcaption{position:absolute;bottom:12px;left:16px;color:#fff;font-size:8px;letter-spacing:.1em;text-shadow:0 1px 9px rgba(0,0,0,.5)}
.destination-teaser__copy{max-width:540px;padding-right:3vw}
.destination-teaser__copy h2{font-size:clamp(3.3rem,5.8vw,6rem);line-height:.9;margin-bottom:25px}
.destination-teaser__copy h2 em{color:var(--clay)}
.destination-teaser__copy p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.85;margin-bottom:30px}
.destination-teaser__secondary{display:block;margin-top:18px;font-size:9px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
.destination-teaser__secondary span{padding-left:6px}
.testimonials{display:grid;grid-template-columns:.45fr 1.55fr;background:var(--forest-deep);color:#f6f4ed}
.testimonials__body{max-width:840px}
.testimonials__body h2{font-size:clamp(3rem,5.7vw,6rem);line-height:.93;margin:0 0 40px}
.testimonials__byline{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.2);padding-top:13px;font-size:8px;letter-spacing:.15em;color:rgba(255,255,255,.58)}
.testimonials__dots{display:flex;gap:8px;margin-top:30px}
.testimonials__dots span{width:5px;height:5px;border:1px solid rgba(255,255,255,.55);border-radius:50%}
.testimonials__dots .is-active{background:#d1b68e;border-color:#d1b68e}
.home-reserve{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}
.home-reserve h2{margin:0;font-size:clamp(3.7rem,7vw,7.2rem);line-height:.85}
.home-reserve__action{max-width:430px}
.home-reserve__action p{color:var(--muted);font-size:13px;line-height:1.8;margin-bottom:24px}

/* La casa */
.manifesto{display:grid;grid-template-columns:.45fr 1.55fr;gap:50px;align-items:start;background:#e7e6de}
.manifesto__copy{max-width:920px}
.manifesto__copy h2{font-size:clamp(3.4rem,6.6vw,7rem);line-height:.87;margin:0 0 28px}
.manifesto__copy h2 em{color:var(--clay)}
.manifesto__copy p:not(.eyebrow){max-width:650px;color:var(--muted);font-size:14px;line-height:1.9}
.origin-story{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(38px,8vw,128px);align-items:center;padding-top:100px;padding-bottom:100px}
.origin-story__image{height:clamp(430px,55vw,690px);overflow:hidden}
.origin-story__image img{height:100%}
.origin-story__copy{max-width:540px}
.origin-story__copy h2{font-size:clamp(3.1rem,5.4vw,5.8rem);line-height:.91;margin-bottom:25px}
.origin-story__copy h2 em{color:var(--clay)}
.origin-story__copy p:not(.eyebrow){font-size:13px;line-height:1.85;color:var(--muted)}
.principles{background:var(--forest);color:#f6f4ed}
.principles .section-head h2{max-width:800px;margin-inline:auto}
.principles .section-head h2 em{color:#d5c09a}
.principles__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.25)}
.principles__grid article{padding:28px 30px 12px 0;border-right:1px solid rgba(255,255,255,.22);margin-right:30px}
.principles__grid article:last-child{border:0;margin:0}
.principles__grid article span{font-size:9px;letter-spacing:.15em;color:#d1b68e}
.principles__grid h3{font-size:clamp(2.3rem,4vw,4rem);margin:20px 0 13px}
.principles__grid p{font-size:12px;line-height:1.8;color:rgba(255,255,255,.68);max-width:320px}
.wide-photo-story{position:relative;margin:0 var(--gutter) 105px;height:clamp(370px,56vw,780px);overflow:hidden}
.wide-photo-story figure,.wide-photo-story img{width:100%;height:100%}
.wide-photo-story img{object-fit:cover;object-position:center 58%}
.wide-photo-story:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(0deg,rgba(20,24,22,.58),transparent)}
.wide-photo-story__caption{position:absolute;left:22px;bottom:20px;z-index:1;color:#fff;display:flex;align-items:end;gap:25px}
.wide-photo-story__caption span{font-size:8px;letter-spacing:.16em;opacity:.8}
.wide-photo-story__caption p{font-family:var(--serif);font-size:clamp(1.7rem,3vw,3rem);line-height:1;margin:0}
.property-details{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;background:#e7e6de}
.property-details__intro h2{font-size:clamp(3.2rem,6vw,6.6rem);line-height:.86;margin:0 0 26px}
.property-details__intro h2 em{color:var(--clay)}
.property-details__intro p:not(.eyebrow){max-width:460px;color:var(--muted);font-size:13px;line-height:1.8}
.property-details__list{border-top:1px solid var(--rule)}
.property-details__list div{display:grid;grid-template-columns:45px 1fr;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--rule)}
.property-details__list span{font-size:9px;color:var(--clay)}
.property-details__list strong{font-family:var(--serif);font-size:29px;font-weight:400;grid-column:2}
.property-details__list small{grid-column:2;color:var(--muted);font-size:10px}
.photo-triptych{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:90px var(--gutter)}
.photo-triptych figure{height:clamp(220px,32vw,430px);position:relative;overflow:hidden}
.photo-triptych img{height:100%;transition:transform .6s var(--ease)}
.photo-triptych figure:hover img{transform:scale(1.035)}
.photo-triptych figcaption{position:absolute;left:14px;bottom:13px;color:#fff;font-size:10px;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.capacity-band{display:grid;grid-template-columns:1fr 1fr auto;gap:40px;align-items:center;padding:70px var(--gutter);background:var(--forest-deep);color:#fff}
.capacity-band h2{font-size:clamp(3.7rem,6vw,6rem);margin:0;line-height:.8}
.capacity-band h2 em{color:#d5c09a}
.capacity-band>p{max-width:380px;font-size:12px;line-height:1.8;color:rgba(255,255,255,.68);margin:0}
.property-end{text-align:center}
.property-end h2{font-size:clamp(3.3rem,6.5vw,6.8rem);margin:0 auto 34px}
.property-end h2 em{color:var(--clay)}
.property-end__actions{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap}

/* Habitaciones */
.section-intro{max-width:1100px;margin-inline:auto;text-align:center}
.section-intro h2{font-size:clamp(3.5rem,7vw,7rem);margin:0 auto 20px}
.section-intro h2 em{color:var(--clay)}
.section-intro>p:last-child{max-width:620px;margin-inline:auto;color:var(--muted);font-size:13px;line-height:1.85}
.room-row{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(40px,8vw,120px);align-items:center;padding:0 var(--gutter) clamp(82px,10vw,150px)}
.room-row--reverse{grid-template-columns:.92fr 1.08fr}
.room-row--reverse .room-row__photo{order:2}
.room-row--reverse .room-row__copy{order:1}
.room-row__photo{height:clamp(430px,55vw,720px);position:relative;overflow:hidden}
.room-row__photo img{height:100%}
.room-row__photo figcaption{position:absolute;bottom:13px;left:16px;color:#fff;font-size:8px;letter-spacing:.16em;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.room-row__copy{max-width:510px}
.room-row__copy .eyebrow{margin-bottom:16px}
.room-row__copy h2{font-size:clamp(3.5rem,6vw,6.1rem);margin:0 0 8px;line-height:.85}
.room-row__capacity{color:var(--clay);font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:28px}
.room-row__copy ul{list-style:none;padding:0;margin:0 0 28px;border-top:1px solid var(--rule)}
.room-row__copy li{padding:10px 0;border-bottom:1px solid var(--rule);font-size:11px;color:var(--muted)}
.common-spaces{background:#e8e7df}
.common-spaces__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;align-items:start}
.common-spaces__grid figure{position:relative;overflow:hidden}
.common-spaces__grid figure:first-child{grid-row:span 2;height:clamp(500px,66vw,850px)}
.common-spaces__grid figure:not(:first-child){height:clamp(240px,31vw,410px)}
.common-spaces__grid img{height:100%}
.common-spaces__grid figcaption{position:absolute;bottom:15px;left:15px;color:#fff;font-size:10px;text-shadow:0 1px 10px rgba(0,0,0,.7)}
.common-spaces__grid figcaption small{display:block;font-size:8px;opacity:.78}
.amenities-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:0 var(--gutter)}
.amenities-strip>div{padding:24px 24px 25px 0;border-right:1px solid var(--rule);margin-right:24px}
.amenities-strip>div:last-child{border:0;margin-right:0}
.amenities-strip span{font-size:8px;letter-spacing:.15em;color:var(--clay)}
.amenities-strip p{font-size:11px;color:var(--muted);margin:8px 0 0}
.room-final{text-align:center}
.room-final h2{margin:0 auto 20px;font-size:clamp(3.3rem,6.5vw,6.6rem)}
.room-final h2 em{color:var(--clay)}
.room-final>p:not(.eyebrow){color:var(--muted);font-size:13px;margin:0 auto 28px}

/* Exteriores */
.exterior-intro{display:grid;grid-template-columns:.42fr 1.58fr;gap:70px;align-items:start}
.exterior-intro h2{font-size:clamp(3.5rem,6.5vw,6.7rem);margin:0 0 25px;line-height:.86}
.exterior-intro h2 em{color:var(--clay)}
.exterior-intro>div:last-child>p:not(.eyebrow){max-width:630px;color:var(--muted);font-size:13px;line-height:1.85}
.exterior-collage{display:grid;grid-template-columns:1.45fr .55fr;grid-template-rows:1fr 1fr;gap:12px;padding:0 var(--gutter) 115px}
.exterior-collage figure{position:relative;overflow:hidden;min-height:270px}
.exterior-collage__main{grid-row:span 2;min-height:600px!important}
.exterior-collage img{height:100%;position:absolute;inset:0;transition:transform .7s var(--ease)}
.exterior-collage figure:hover img{transform:scale(1.03)}
.exterior-collage figcaption{position:absolute;z-index:2;bottom:14px;left:14px;color:#fff;font-size:10px;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.exterior-collage figcaption small{display:block;font-size:8px;opacity:.8}
.quincho-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,8vw,120px);align-items:center;padding-bottom:130px}
.quincho-story__copy h2{font-size:clamp(3.3rem,6vw,6.2rem);line-height:.86;margin-bottom:24px}
.quincho-story__copy h2 em{color:var(--clay)}
.quincho-story__copy p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.8}
.quincho-story figure{height:clamp(400px,52vw,690px);position:relative}
.quincho-story img{height:100%}
.quincho-story figcaption{position:absolute;bottom:13px;left:15px;color:#fff;font-size:9px;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.quiet-list{list-style:none;padding:0;margin:22px 0 27px;border-top:1px solid var(--rule)}
.quiet-list li{padding:9px 0;border-bottom:1px solid var(--rule);font-size:10px;color:var(--muted)}
.garden-note{background:#e8e7df;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);align-items:center}
.garden-note figure{height:clamp(420px,54vw,700px)}
.garden-note img{height:100%}
.garden-note h2{font-size:clamp(3.5rem,6vw,6.1rem);line-height:.86;margin-bottom:20px}
.garden-note h2 em{color:var(--clay)}
.garden-note p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.85}
.garden-note .text-link{margin-top:16px}
.exterior-amenities{display:grid;grid-template-columns:repeat(4,1fr);background:var(--forest-deep);color:#fff;padding:30px var(--gutter)}
.exterior-amenities>div{position:relative;display:flex;flex-direction:column;gap:10px;padding:8px 22px 8px 0;margin-right:20px;border-right:1px solid rgba(255,255,255,.22)}
.exterior-amenities>div:last-child{border:0;margin:0}
.exterior-amenities span{font-size:8px;letter-spacing:.15em;color:#d1b68e}
.exterior-amenities strong{font-family:var(--serif);font-size:25px;font-weight:400}
.exterior-amenities small{font-size:9px;color:rgba(255,255,255,.57)}
.exterior-final{text-align:center}
.exterior-final h2{font-size:clamp(3.4rem,6.5vw,6.8rem);margin:0 auto 30px}
.exterior-final h2 em{color:var(--clay)}

/* Galería y lightbox */
.gallery-note{display:grid;grid-template-columns:.7fr 1.3fr;gap:55px;align-items:start;padding-top:75px;padding-bottom:35px}
.gallery-note .eyebrow{margin:0}
.gallery-note>p:last-child{max-width:760px;color:var(--muted);font-size:12px;line-height:1.8;margin:0}
.gallery-section{padding-top:40px}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:14px 0;margin-bottom:22px}
.gallery-filters,.activity-filters{display:flex;flex-wrap:wrap;gap:7px}
.gallery-filter,.activity-filter{border:1px solid transparent;background:transparent;padding:9px 12px;color:var(--muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.gallery-filter:hover,.activity-filter:hover{color:var(--ink)}
.gallery-filter.is-active,.activity-filter.is-active{background:var(--ink);color:var(--paper-light)}
.gallery-count{white-space:nowrap;font-size:8px;letter-spacing:.14em;color:var(--muted)}
.gallery-count b{font-weight:500;color:var(--clay);padding-right:5px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:88px;gap:10px}
.gallery-item{grid-row:span 4;position:relative;min-width:0;overflow:hidden;background:#deddd5}
.gallery-item--wide{grid-column:span 2;grid-row:span 5}
.gallery-item--tall{grid-row:span 6}
.gallery-item__button{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:left;color:#fff;overflow:hidden}
.gallery-item__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}
.gallery-item__button:hover .gallery-item__image{transform:scale(1.045)}
.gallery-item__button:after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(0deg,rgba(18,22,20,.74),transparent);opacity:.86;transition:opacity .25s}
.gallery-item__zoom{position:absolute;z-index:2;top:12px;right:12px;width:33px;height:33px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.7);font-size:14px;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s}
.gallery-item__caption{position:absolute;z-index:2;left:15px;right:14px;bottom:14px;display:flex;flex-direction:column;gap:3px;transform:translateY(3px);transition:transform .25s}
.gallery-item__caption small{font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.gallery-item__caption strong{font-family:var(--serif);font-weight:400;font-size:clamp(1.4rem,2.2vw,2.3rem);line-height:1.05}
.gallery-item__button:hover .gallery-item__zoom{opacity:1;transform:translateY(0)}
.gallery-item__button:hover .gallery-item__caption{transform:translateY(0)}
.gallery-item>.photo-credit{margin:5px 0 0}
.gallery-empty{padding:40px 0;text-align:center;color:var(--muted)}
.lightbox{position:fixed;inset:0;margin:auto;width:min(94vw,1400px);max-width:none;max-height:92vh;height:auto;border:0;padding:40px 66px 30px;background:#1f2420;color:#fff;overflow:visible}
.lightbox::backdrop{background:rgba(12,15,13,.94);backdrop-filter:blur(3px)}
.lightbox[open]{animation:lightbox-in .28s var(--ease) both}
.lightbox__figure{width:100%;height:min(78vh,850px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px}
.lightbox__figure img{width:100%;height:calc(100% - 48px);object-fit:contain}
.lightbox__figure figcaption{width:100%;display:flex;justify-content:space-between;gap:20px;align-items:center;font-family:var(--serif);font-size:24px}
.lightbox__figure small{font-family:var(--sans);font-size:9px;letter-spacing:.07em;color:rgba(255,255,255,.55)}
.lightbox__close,.lightbox__arrow{position:absolute;z-index:4;border:1px solid rgba(255,255,255,.4);background:rgba(20,24,21,.35);color:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.lightbox__close:hover,.lightbox__arrow:hover{background:rgba(255,255,255,.15);border-color:#fff}
.lightbox__close{right:12px;top:0;width:42px;height:42px;font-size:28px;line-height:1}
.lightbox__arrow{top:50%;width:42px;height:55px;transform:translateY(-50%);font-family:var(--serif);font-size:36px;line-height:1}
.lightbox__arrow--prev{left:5px}.lightbox__arrow--next{right:5px}
.lightbox__count{position:absolute;right:16px;bottom:-28px;font-size:9px;letter-spacing:.15em;color:rgba(255,255,255,.6)}

/* Encarnación editorial */
.destination-manifesto{display:grid;grid-template-columns:.42fr 1.58fr;gap:65px;align-items:start;background:#e7e6de}
.destination-manifesto h2{font-size:clamp(3.5rem,6.7vw,7rem);line-height:.86;margin:0 0 22px}
.destination-manifesto h2 em{color:var(--clay)}
.destination-manifesto>div:last-child>p:not(.eyebrow){max-width:670px;color:var(--muted);font-size:13px;line-height:1.85;margin-bottom:26px}
.city-feature{display:grid;grid-template-columns:.87fr 1.13fr;gap:clamp(36px,7vw,105px);align-items:center;padding-top:110px;padding-bottom:120px}
.city-feature__copy{max-width:510px}
.city-feature__copy h2{font-size:clamp(3.4rem,5.7vw,5.9rem);line-height:.87;margin:0 0 24px}
.city-feature__copy h2 em{color:var(--clay)}
.city-feature__copy p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted)}
.city-feature__photo{height:clamp(430px,56vw,740px);position:relative}
.city-feature__photo img{height:100%}
.city-feature__photo figcaption,.river-story figcaption,.city-mosaic figcaption,.heritage-feature figcaption{font-size:8px;color:var(--muted);margin-top:8px}
.city-feature__photo .photo-credit,.river-story .photo-credit,.city-mosaic .photo-credit,.heritage-feature .photo-credit{display:inline;font-size:8px}
.river-story{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,8vw,120px);align-items:center;background:#e8e7df;padding:clamp(76px,9vw,132px) var(--gutter)}
.river-story figure{height:clamp(420px,55vw,700px)}
.river-story figure img{height:100%}
.river-story h2{font-size:clamp(3.4rem,5.7vw,6rem);line-height:.88;margin:0 0 23px}
.river-story h2 em{color:var(--clay)}
.river-story>div p:not(.eyebrow){font-size:13px;line-height:1.85;color:var(--muted)}
.city-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:110px var(--gutter);align-items:center}
.city-mosaic figure{height:clamp(320px,41vw,560px);position:relative}
.city-mosaic figure img{height:100%}
.city-mosaic figure figcaption{position:absolute;bottom:9px;left:12px;z-index:1;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.city-mosaic figure .photo-credit{display:block;color:rgba(255,255,255,.8)}
.city-mosaic__copy{padding:30px 9%;max-width:600px}
.city-mosaic__copy h2{font-size:clamp(3.2rem,5.3vw,5.6rem);line-height:.88;margin:0 0 22px}
.city-mosaic__copy h2 em{color:var(--clay)}
.city-mosaic__copy p:not(.eyebrow){font-size:12px;line-height:1.85;color:var(--muted)}
.heritage-feature{background:var(--forest-deep);color:#f6f4ed}
.heritage-feature__intro{max-width:840px;margin-bottom:44px}
.heritage-feature__intro h2{font-size:clamp(3.5rem,6.5vw,6.8rem);line-height:.85;margin:0 0 22px}
.heritage-feature__intro h2 em{color:#d5c09a}
.heritage-feature__intro p:not(.eyebrow){max-width:700px;font-size:13px;line-height:1.85;color:rgba(255,255,255,.68)}
.heritage-feature .source-link{color:#e2d3b7;border-color:rgba(226,211,183,.55)}
.heritage-feature__photos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.heritage-feature__photos figure{height:clamp(320px,42vw,560px)}
.heritage-feature__photos img{height:100%}
.heritage-feature__photos figcaption{color:rgba(255,255,255,.72)}
.heritage-feature .photo-credit{color:rgba(255,255,255,.63)}
.heritage-feature .small-note{margin-top:25px;color:rgba(255,255,255,.56)}
.destination-final{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;padding:80px var(--gutter);background:var(--clay);color:#fff}
.destination-final h2{font-size:clamp(3.5rem,6vw,6.5rem);line-height:.85;margin:0}
.destination-final h2 em{color:#f0d6b7}
.destination-final p:not(.eyebrow){font-size:12px;color:rgba(255,255,255,.75);margin:18px 0 0}
.destination-final__actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.destination-final__actions .button--dark{background:rgba(40,39,32,.25);color:#fff;border-color:rgba(255,255,255,.65)}
.destination-final__actions .button--dark:hover{background:#fff;color:var(--ink)}

/* Qué hacer */
.guide-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;background:#e8e7df}
.guide-intro h2{font-size:clamp(3.3rem,6vw,6.3rem);line-height:.87;margin:0}
.guide-intro h2 em{color:var(--clay)}
.guide-intro>div:last-child p{font-size:13px;line-height:1.85;color:var(--muted)}
.activity-guide{padding-top:68px}
.activity-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--rule);padding-bottom:13px;margin-bottom:34px}
.activity-toolbar>span{font-size:8px;letter-spacing:.15em;color:var(--muted);white-space:nowrap}
.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 26px;align-items:start}
.activity-card:nth-child(even){margin-top:95px}
.activity-card figure{position:relative;height:clamp(300px,39vw,520px);overflow:hidden;margin-bottom:20px}
.activity-card figure img{height:100%;transition:transform .65s var(--ease)}
.activity-card:hover figure img{transform:scale(1.035)}
.activity-card figure figcaption{position:absolute;bottom:13px;left:14px;color:#fff;font-size:8px;letter-spacing:.15em;text-shadow:0 1px 8px rgba(0,0,0,.65)}
.activity-card__body{padding:0 8% 0 0}
.activity-card__body h2{font-size:clamp(2.8rem,4.4vw,4.5rem);line-height:.9;margin:0 0 15px}
.activity-card__body>p:not(.eyebrow){font-size:12px;line-height:1.8;color:var(--muted)}
.activity-card__why,.activity-card__practical{border-top:1px solid var(--rule);padding-top:12px;margin-top:16px}
.activity-card__why span,.activity-card__practical span{font-size:8px;letter-spacing:.15em;color:var(--clay)}
.activity-card__why p,.activity-card__practical p{font-size:10px;line-height:1.7;color:var(--muted);margin:5px 0 0}
.activity-card__links{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px}
.activity-card__links .text-link,.activity-card__links .source-link{font-size:8px}
.activity-empty{text-align:center;padding:25px;color:var(--muted)}
.source-note{background:#e7e6de}
.source-note h2{font-size:clamp(3.3rem,6vw,6.2rem);line-height:.86;margin:0 0 20px}
.source-note h2 em{color:var(--clay)}
.source-note>p:not(.eyebrow){font-size:13px;line-height:1.85;color:var(--muted);max-width:720px}
.source-note__links{display:flex;gap:25px;flex-wrap:wrap;margin-top:25px}
.activity-cta{padding:78px var(--gutter);background:var(--forest-deep);color:#fff}
.activity-cta h2{font-size:clamp(3.7rem,7vw,7.1rem);line-height:.85;margin:0 0 27px}
.activity-cta h2 em{color:#d3bd98}

/* Experiencias */
.packages-intro{text-align:center;max-width:1040px;margin-inline:auto}
.packages-intro h2{font-size:clamp(3.5rem,6.8vw,6.9rem);line-height:.85;margin:0 auto 22px}
.packages-intro h2 em{color:var(--clay)}
.packages-intro>p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted);max-width:690px;margin:0 auto 25px}
.package-row{display:grid;grid-template-columns:45px 1fr 1fr;gap:clamp(20px,4vw,58px);align-items:center;padding:0 var(--gutter) 100px}
.package-row__number{align-self:start;padding-top:18px;font-family:var(--serif);font-size:26px;color:var(--clay)}
.package-row figure{height:clamp(370px,48vw,630px);position:relative}
.package-row figure img{height:100%}
.package-row figure figcaption{position:absolute;bottom:13px;left:14px;color:#fff;font-size:8px;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.package-row__copy{max-width:510px}
.package-row__copy h2{font-size:clamp(3rem,5vw,5.2rem);line-height:.86;margin:0 0 18px}
.package-row__copy>p:not(.eyebrow){font-size:12px;line-height:1.8;color:var(--muted)}
.package-row__copy ul{list-style:none;padding:0;margin:22px 0;border-top:1px solid var(--rule)}
.package-row__copy li{padding:8px 0;border-bottom:1px solid var(--rule);font-size:10px;color:var(--muted)}
.package-row__price{display:flex;justify-content:space-between;align-items:end;gap:20px;border-bottom:1px solid var(--rule);padding:14px 0;margin-bottom:19px}
.package-row__price span{font-size:8px;letter-spacing:.12em;color:var(--muted)}
.package-row__price strong{font-family:var(--serif);font-size:25px;font-weight:400;white-space:nowrap}
.seasonal-package{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,115px);align-items:center;background:#e8e7df}
.seasonal-package figure{height:clamp(390px,53vw,700px)}
.seasonal-package figure img{height:100%}
.seasonal-package figcaption{margin-top:8px;font-size:8px;color:var(--muted)}
.seasonal-package h2{font-size:clamp(3.5rem,6vw,6.2rem);line-height:.86;margin:0 0 22px}
.seasonal-package h2 em{color:var(--clay)}
.seasonal-package p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.8}
.seasonal-package ul{padding-left:17px;color:var(--muted);font-size:10px;line-height:2}
.packages-final{text-align:center}
.packages-final h2{font-size:clamp(3.4rem,6vw,6.4rem);line-height:.86;margin:0 auto 20px}
.packages-final h2 em{color:var(--clay)}
.packages-final>p:not(.eyebrow){font-size:12px;color:var(--muted);max-width:570px;margin:0 auto 26px}

/* Reservas y formularios */
.rates-intro{text-align:center;max-width:970px;margin-inline:auto}
.rates-intro h2{font-size:clamp(3.5rem,6.5vw,6.6rem);line-height:.85;margin:0 auto 20px}
.rates-intro h2 em{color:var(--clay)}
.rates-intro>p:not(.eyebrow){font-size:12px;color:var(--muted);max-width:640px;margin:0 auto 22px}
.rates-table{padding-top:25px}
.rate-row{display:grid;grid-template-columns:1.2fr 1fr 1.4fr .55fr;gap:20px;align-items:center;padding:21px 12px;border-bottom:1px solid var(--rule)}
.rate-row--head{padding:10px 12px;color:var(--muted);font-size:8px;letter-spacing:.14em}
.rate-row strong{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.1}
.rate-row>span{font-size:10px;color:var(--muted)}
.rate-row>b{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.1}
.rate-row--featured{background:#e7e6de}
.rate-link{justify-self:end;font-size:8px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px}
.rate-link:hover{color:var(--clay)}
.rate-footnote{font-size:9px;color:var(--muted);margin-top:15px}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:rgba(41,42,37,.06);padding:2px 5px}
.included{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;background:#e8e7df}
.included h2{font-size:clamp(3.2rem,5.7vw,5.9rem);line-height:.86;margin:0}
.included h2 em{color:var(--clay)}
.included-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.included-list li{padding:14px 0;border-bottom:1px solid var(--rule);font-size:11px;color:var(--muted)}
.included-list li:before{content:"+";color:var(--clay);padding-right:13px}
.booking-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(35px,7vw,100px);padding:clamp(75px,9vw,135px) var(--gutter);background:var(--forest-deep);color:#fff}
.booking-section__intro h2{font-size:clamp(3.4rem,6vw,6.3rem);line-height:.85;margin:0 0 22px}
.booking-section__intro h2 em{color:#d7c09b}
.booking-section__intro>p:not(.eyebrow){max-width:350px;font-size:12px;line-height:1.8;color:rgba(255,255,255,.65)}
.booking-section__contact{display:flex;flex-direction:column;gap:6px;margin-top:48px;padding-top:15px;border-top:1px solid rgba(255,255,255,.23)}
.booking-section__contact span{font-size:8px;letter-spacing:.15em;color:#d7c09b}
.booking-section__contact a{font-family:var(--serif);font-size:23px}
.booking-section__contact small{font-size:8px;color:rgba(255,255,255,.48)}
.inquiry-form{width:100%;max-width:850px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 20px}
.inquiry-form label,.contact-form>label{display:flex;flex-direction:column;gap:7px;color:rgba(255,255,255,.74);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.form-grid__wide{grid-column:1/-1}
.inquiry-form input,.inquiry-form select,.inquiry-form textarea,.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.35);border-radius:0;background:transparent;color:#fff;padding:10px 2px 12px;outline:none;transition:border-color .2s;font-size:13px;letter-spacing:0;text-transform:none;resize:vertical}
.inquiry-form input::placeholder,.inquiry-form textarea::placeholder,.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.38)}
.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus,.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#e2cda7}
.inquiry-form select option,.contact-form select option{color:var(--ink);background:var(--paper-light)}
.inquiry-form input[type=date]{color-scheme:dark}
.form-legal{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px}
.check-label{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;max-width:470px;color:rgba(255,255,255,.61)!important;font-size:9px!important;letter-spacing:0!important;text-transform:none!important;line-height:1.5}
.check-label input{width:15px!important;height:15px!important;min-width:15px;margin:1px 0 0;accent-color:#c9ae80}
.form-feedback{min-height:17px;margin:18px 0 0;color:#dbc9a6;font-size:11px}
.form-feedback.is-error{color:#ffb8a1}
.form-summary{margin-top:8px;padding:18px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);font-size:11px;line-height:1.8;color:rgba(255,255,255,.8)}
.form-summary strong{color:#fff}
.form-summary__intro{margin:0 0 12px}
.form-summary__list{display:grid;grid-template-columns:minmax(120px,.45fr) 1fr;gap:5px 14px;margin:0;padding:13px 0;border-top:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17)}
.form-summary__list dt{font-size:9px;letter-spacing:.04em;color:rgba(255,255,255,.55)}
.form-summary__list dd{margin:0;overflow-wrap:anywhere;color:#fff}
.form-summary__note{font-size:9px;line-height:1.65;color:rgba(255,255,255,.57);margin:12px 0 0}
.form-summary__actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 17px;margin-top:10px}
.form-summary button,.form-summary__email{display:inline-flex;margin:0;border:0;border-bottom:1px solid rgba(255,255,255,.5);background:none;color:#fff;font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:0 0 4px;cursor:pointer}
.form-summary__email{align-items:center;color:#e0cba7}
.form-summary button:hover,.form-summary__email:hover{color:#e0cba7;border-color:#e0cba7}
.form-note{font-size:9px;line-height:1.6;color:rgba(255,255,255,.47);margin:14px 0 0}
.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start}
.faq-section h2{font-size:clamp(3.3rem,5.5vw,5.8rem);line-height:.85;margin:0}
.faq-section h2 em{color:var(--clay)}
.faq-list{border-top:1px solid var(--rule)}
.faq-item{border-bottom:1px solid var(--rule)}
.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:19px 0;cursor:pointer;font-family:var(--serif);font-size:24px;line-height:1.2}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary span{font-family:var(--sans);font-size:18px;color:var(--clay);transition:transform .2s}
.faq-item[open] summary span{transform:rotate(45deg)}
.faq-item div{padding:0 35px 18px 0}
.faq-item p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}
.reservations-whatsapp{text-align:center;background:#e8e7df}
.reservations-whatsapp h2{font-size:clamp(3.2rem,5.8vw,6rem);line-height:.86;margin:0 auto 16px}
.reservations-whatsapp h2 em{color:var(--clay)}
.reservations-whatsapp>p:not(.eyebrow){max-width:580px;margin:0 auto 24px;color:var(--muted);font-size:12px}

/* Contacto */
.contact-grid{display:grid;grid-template-columns:1fr .9fr;gap:clamp(40px,8vw,115px);align-items:start}
.contact-details h2{font-size:clamp(3.2rem,5.6vw,5.8rem);line-height:.86;margin:0 0 32px}
.contact-details h2 em{color:var(--clay)}
.contact-details__items{border-top:1px solid var(--rule)}
.contact-details__items>div{display:flex;flex-direction:column;gap:3px;padding:13px 0;border-bottom:1px solid var(--rule)}
.contact-details__items span{font-size:8px;letter-spacing:.15em;color:var(--clay)}
.contact-details__items strong,.contact-details__items a{font-family:var(--serif);font-size:23px;font-weight:400}
.contact-details__items small{font-size:9px;color:var(--muted)}
.map-link{display:inline-flex;gap:15px;margin:18px 0 15px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid currentColor;padding-bottom:5px}
.contact-map{border:1px solid var(--rule);height:245px;overflow:hidden;background:#dedfd7}
.contact-map svg{width:100%;height:100%;object-fit:cover}
.contact-map figcaption{position:absolute;left:-9999px}
.contact-form{background:var(--forest-deep);color:#fff;padding:clamp(26px,4vw,52px)}
.contact-form h3{font-size:35px;margin:0 0 26px}
.contact-form>label{margin-bottom:18px}
.contact-form>.button{margin-top:22px}
.contact-form .check-label{margin:22px 0 0}
.contact-bottom{background:#e7e6de}
.contact-bottom h2{font-size:clamp(3.3rem,6vw,6.4rem);line-height:.85;margin:0 0 25px}
.contact-bottom h2 em{color:var(--clay)}
.contact-bottom>div{display:flex;gap:28px;flex-wrap:wrap}

/* Legales, créditos, 404 */
.legal-hero{padding-top:calc(var(--header-height) + 70px);background:#e7e6de}
.legal-hero h1{font-size:clamp(3.5rem,7vw,7rem);max-width:1050px;line-height:.86;margin:0 0 18px}
.legal-hero h1 em{color:var(--clay)}
.legal-hero>p:not(.eyebrow){font-size:11px;color:var(--muted)}
.legal-copy{max-width:950px;padding-top:60px}
.legal-copy h2{font-family:var(--sans);font-size:14px;letter-spacing:.04em;font-weight:600;line-height:1.4;margin:32px 0 8px}
.legal-copy p{font-size:12px;color:var(--muted);line-height:1.9}
.legal-copy .legal-contact{margin-top:40px;padding-top:15px;border-top:1px solid var(--rule)}
.legal-copy a{text-decoration:underline;text-underline-offset:3px}
.credits-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:65px;align-items:start}
.credits-section--stock{background:#e7e6de}
.credits-intro{position:sticky;top:125px}
.credits-intro h2{font-size:clamp(3rem,5.3vw,5.5rem);line-height:.86;margin:0 0 19px}
.credits-intro h2 em{color:var(--clay)}
.credits-intro p:not(.eyebrow){font-size:11px;line-height:1.8;color:var(--muted)}
.credit-list,.stock-credit-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.credit-list li,.stock-credit-list li{padding:15px 0;border-bottom:1px solid var(--rule);font-size:11px;line-height:1.65;color:var(--muted)}
.credit-list strong{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--ink)}
.credit-list a{display:inline-block;margin-top:4px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.stock-credit-list li span{color:var(--muted);font-size:9px}
.not-found{min-height:84vh;padding:calc(var(--header-height) + 80px) var(--gutter) 100px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:var(--forest-deep);color:#fff}
.not-found__index{font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.57);margin-bottom:60px}
.not-found__index span{color:#d5c09a;padding:0 8px}
.not-found h1{font-size:clamp(5rem,10vw,10rem);line-height:.8;margin:0 0 27px}
.not-found h1 em{color:#d5c09a}
.not-found>p:not(.eyebrow){max-width:470px;font-size:13px;color:rgba(255,255,255,.68);line-height:1.8}
.not-found__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:19px}
.not-found__actions .button--line{border-color:rgba(255,255,255,.65);color:#fff}
.not-found__actions .button--line:hover{background:#fff;color:var(--ink)}

/* Closing invitation and footer */
.closing-cta{position:relative;isolation:isolate;min-height:clamp(490px,62vw,790px);overflow:hidden;color:#fff;background:var(--forest-deep)}
.closing-cta__image-wrap,.closing-cta__image-wrap img,.closing-cta__veil{position:absolute;inset:0;width:100%;height:100%}
.closing-cta__image-wrap img{object-fit:cover;object-position:center 52%}
.closing-cta__veil{z-index:1;background:linear-gradient(90deg,rgba(26,32,28,.76),rgba(26,32,28,.15) 80%),linear-gradient(0deg,rgba(26,32,28,.48),transparent 45%)}
.closing-cta__content{position:absolute;z-index:2;left:var(--gutter);top:50%;transform:translateY(-50%);max-width:750px}
.closing-cta__content h2{font-size:clamp(4.2rem,8vw,8.6rem);line-height:.8;margin:0 0 32px}
.closing-cta__content h2 em{color:#decaaa}
.closing-cta__caption{position:absolute;z-index:2;right:var(--gutter);bottom:16px;font-size:8px;color:rgba(255,255,255,.6)}
.site-footer{background:#222924;color:#f3f1e9;padding:60px var(--gutter) 24px}
.site-footer__top{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:40px;padding-bottom:53px}
.brand--footer .brand__mark{color:#d1b68e}
.site-footer__brand>p{margin:19px 0 0 42px;color:rgba(255,255,255,.52);font-size:11px;line-height:1.7}
.site-footer__column{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.site-footer__column .footer-label{color:#d1b68e;margin:0 0 8px}
.site-footer__column>a{font-size:10px;color:rgba(255,255,255,.74);transition:color .2s}
.site-footer__column>a:hover,.site-footer__bottom a:hover{color:#e2cda7}
.footer-small{font-size:8px;color:rgba(255,255,255,.4)}
.site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.16);padding:17px 0;font-size:8px;color:rgba(255,255,255,.46)}
.site-footer__bottom div{display:flex;gap:17px}
.site-footer__bottom a{transition:color .2s}
.footer-demo{font-size:7px;letter-spacing:.13em;color:rgba(255,255,255,.42)}
.site-footer__disclosure{max-width:1050px;margin:10px 0 0;font-size:8px;line-height:1.65;color:rgba(255,255,255,.36)}
.toast{position:fixed;z-index:80;left:50%;bottom:22px;transform:translate(-50%,20px);max-width:min(90vw,520px);padding:13px 18px;background:var(--ink);color:#fff;font-size:11px;line-height:1.5;box-shadow:0 8px 28px rgba(0,0,0,.18);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s}
.toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}

/* Scroll reveal */
.js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.js [data-reveal].is-visible{opacity:1;transform:translateY(0)}
@keyframes hero-enter{from{transform:scale(1.035);opacity:.65}to{transform:scale(1);opacity:1}}
@keyframes scroll-line{0%,100%{transform:scaleY(.35);opacity:.55}50%{transform:scaleY(1);opacity:1}}
@keyframes lightbox-in{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}

@media (max-width:1200px){
  :root{--header-height:84px}
  .site-header__inner{grid-template-columns:1fr auto}
  .main-nav{gap:15px}
  .nav-link,.nav-group>summary{font-size:8px}
  .header-cta{padding:11px 12px;font-size:7px}
  .home-intro{grid-template-columns:.35fr 1.3fr .75fr;gap:30px}
  .editorial-feature{gap:44px}
  .destination-teaser{gap:50px}
}
@media (max-width:980px){
  :root{--header-height:78px}
  .site-header__inner{grid-template-columns:1fr auto}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;border:1px solid currentColor;background:transparent;cursor:pointer}
  .menu-toggle span{display:block;width:18px;height:1px;background:currentColor;margin:auto;transition:transform .25s,opacity .25s}
  .site-header.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .site-header.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100svh - var(--header-height));overflow-y:auto;padding:25px var(--gutter) 33px;background:var(--paper);color:var(--ink);box-shadow:0 16px 25px rgba(0,0,0,.08);align-items:stretch;flex-direction:column;gap:0}
  .site-header.menu-open .main-nav{display:flex}
  .page-home .site-header:not(.is-scrolled) .main-nav{background:rgba(242,241,235,.98);color:var(--ink)}
  .main-nav .nav-link,.main-nav .nav-group>summary{padding:13px 0;font-size:10px;border-bottom:1px solid var(--rule)}
  .main-nav .nav-group>summary:after,.main-nav .nav-link:after{display:none}
  .nav-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-bottom:1px solid var(--rule);background:transparent;padding:0 0 10px 14px;min-width:0}
  .nav-group[open] .nav-menu{display:flex}
  .nav-menu a{padding:8px 8px;font-size:10px}
  .page-home .site-header:not(.is-scrolled) .nav-menu{background:transparent;color:var(--ink)}
  .page-home .site-header:not(.is-scrolled) .nav-menu a{color:var(--muted)}
  .header-cta{align-self:flex-start;margin-top:18px;padding:14px 18px;font-size:9px}
  .site-header__inner{width:100%}
  .home-intro{grid-template-columns:.3fr 1.4fr;}
  .home-intro__facts{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
  .home-intro__facts div{display:flex;flex-direction:column;align-items:flex-start;border-bottom:0;padding:12px 0}
  .editorial-feature{grid-template-columns:.8fr 1.2fr}
  .testimonials{grid-template-columns:.3fr 1.7fr}
  .capacity-band{grid-template-columns:1fr 1fr}
  .capacity-band .button{grid-column:2;justify-self:start}
  .booking-section{grid-template-columns:.65fr 1.35fr;gap:40px}
  .site-footer__top{grid-template-columns:1.3fr 1fr 1fr;gap:28px}
  .site-footer__brand{grid-row:span 2}
  .credits-section{grid-template-columns:.6fr 1.4fr;gap:35px}
}
@media (max-width:760px){
  :root{--gutter:22px;--header-height:72px}
  body{font-size:14px}
  .section-pad{padding-top:76px;padding-bottom:76px}
  .site-header{padding:0 var(--gutter)}
  .brand__mark{width:28px}.brand__mark svg{width:28px;height:28px}
  .brand__type strong{font-size:21px}.brand__type small{font-size:6px}
  .hero--home{height:92svh;min-height:620px;max-height:900px}
  .hero__image img{object-position:57% 50%}
  .hero__shade{background:linear-gradient(90deg,rgba(20,25,22,.66),rgba(20,25,22,.18) 92%),linear-gradient(0deg,rgba(20,25,22,.52),transparent 55%)}
  .hero__content{left:var(--gutter);bottom:15%;width:calc(100% - 2*var(--gutter));padding-top:var(--header-height)}
  .hero__content h1{font-size:clamp(4.5rem,17vw,7.1rem);margin-bottom:17px}
  .hero__content .eyebrow{font-size:8px;max-width:250px;margin-bottom:17px}
  .hero__lead{font-size:12px;max-width:350px;margin-bottom:22px}
  .hero__actions{gap:8px}
  .hero__actions .button{min-height:45px;padding:0 13px;gap:12px;font-size:8px}
  .hero__location{left:var(--gutter);bottom:18px;gap:9px;flex-direction:column;font-size:7px}
  .hero__scroll{right:var(--gutter);bottom:18px;font-size:7px}
  .hero__scroll i{height:27px}
  .hero__index{display:none}
  .hero__disclaimer{right:var(--gutter);bottom:13px;max-width:48%;text-align:right;font-size:7px}
  .hero--interior{height:89svh;min-height:600px}
  .hero--interior .hero__content{bottom:14%}
  .page-hero{grid-template-columns:1fr;padding-top:var(--header-height);min-height:0}
  .page-hero__copy{padding:52px var(--gutter) 38px}
  .page-hero__copy h1{font-size:clamp(4.1rem,16vw,6.6rem);margin-bottom:17px}
  .page-hero__copy .eyebrow{margin-bottom:18px}
  .page-hero__lead{font-size:12px;margin-bottom:25px}
  .page-hero__rule{max-width:none;font-size:7px}
  .page-hero__visual{min-height:0;height:68vw;max-height:470px}
  .home-intro{grid-template-columns:1fr;gap:28px;padding-top:70px;padding-bottom:77px}
  .home-intro__body h2{font-size:clamp(3.7rem,15vw,6rem)}
  .home-intro__body p{font-size:12px}
  .home-intro__facts{grid-column:1;grid-template-columns:repeat(3,1fr);gap:8px}
  .home-intro__facts div{gap:7px}
  .home-intro__facts strong{font-size:31px}
  .home-intro__facts span{font-size:8px}
  .editorial-feature{grid-template-columns:1fr;padding-top:30px;padding-bottom:65px;gap:15px}
  .editorial-feature__copy{padding:35px 0 48px}
  .editorial-feature__copy h2{font-size:clamp(3.5rem,14vw,5.5rem)}
  .editorial-feature__photo{margin:0 calc(var(--gutter)*-1);height:75vw;max-height:530px}
  .editorial-feature__note{left:0;bottom:0;font-size:7px}
  .editorial-feature__stamp{left:auto;right:12px;top:44%;width:54px;height:54px;font-size:20px}
  .section-head--split{display:block}
  .section-head h2{font-size:clamp(3.2rem,13vw,5.2rem)}
  .section-head--split>p{margin-top:20px;font-size:12px}
  .room-preview__grid{grid-template-columns:1fr;gap:13px}
  .room-preview__large{height:88vw;max-height:550px}
  .room-preview__small{height:70vw;max-height:450px;margin:0 0 0 14%}
  .room-preview__grid>a img{min-height:0}
  .room-preview__label{left:15px;bottom:14px;right:15px}
  .room-preview__label strong{font-size:2rem}
  .pool-story{height:84svh;min-height:570px}
  .pool-story__image img{object-position:56% center}
  .pool-story__copy{left:var(--gutter);right:var(--gutter);top:52%;max-width:460px}
  .pool-story__copy h2{font-size:clamp(4.1rem,16vw,6.4rem)}
  .pool-story__copy p:not(.eyebrow){font-size:12px;max-width:310px}
  .pool-story__vertical{display:none}
  .pool-story__caption{font-size:7px;right:var(--gutter);bottom:12px}
  .experience-grid{grid-template-columns:1fr;gap:34px}
  .experience-card figure{aspect-ratio:1.2/1;max-height:420px}
  .experience-card h3{font-size:2.6rem}
  .home-gallery__grid{grid-template-columns:1fr 1fr;gap:8px}
  .home-gallery__item{height:53vw;max-height:310px}
  .home-gallery__item:nth-child(even){height:48vw;margin-top:23px}
  .home-gallery__item span{font-size:8px;left:9px;bottom:9px}
  .destination-teaser{grid-template-columns:1fr;gap:31px;padding-top:77px;padding-bottom:77px}
  .destination-teaser__photo{height:72vw;max-height:470px}
  .destination-teaser__copy{padding:0}
  .destination-teaser__copy h2{font-size:clamp(3.5rem,14vw,5.8rem)}
  .testimonials{grid-template-columns:1fr;gap:28px}
  .testimonials__body h2{font-size:clamp(3rem,12vw,5rem)}
  .testimonials__byline{gap:18px;font-size:7px}
  .home-reserve{grid-template-columns:1fr;gap:25px}
  .home-reserve h2{font-size:clamp(3.6rem,14vw,5.8rem)}
  .home-reserve__action p{font-size:12px}
  .manifesto,.destination-manifesto{grid-template-columns:1fr;gap:25px}
  .manifesto__copy h2,.destination-manifesto h2{font-size:clamp(3.4rem,14vw,5.8rem)}
  .manifesto__copy p:not(.eyebrow),.destination-manifesto>div:last-child>p:not(.eyebrow){font-size:12px}
  .origin-story{grid-template-columns:1fr;gap:30px;padding-top:70px;padding-bottom:70px}
  .origin-story__image{height:76vw;max-height:500px}
  .origin-story__copy h2{font-size:clamp(3.3rem,13vw,5.5rem)}
  .principles__grid{grid-template-columns:1fr}
  .principles__grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);margin:0;padding:22px 0}
  .principles__grid h3{margin:12px 0 8px;font-size:2.6rem}
  .wide-photo-story{margin:0 var(--gutter) 75px;height:72vw;min-height:330px}
  .wide-photo-story__caption{left:12px;bottom:12px;display:block}
  .wide-photo-story__caption p{margin-top:7px;font-size:1.7rem}
  .property-details{grid-template-columns:1fr;gap:30px}
  .property-details__intro h2{font-size:clamp(3.3rem,13vw,5.7rem)}
  .property-details__list strong{font-size:25px}
  .photo-triptych{grid-template-columns:1fr 1fr;padding:70px var(--gutter);gap:8px}
  .photo-triptych figure{height:47vw;max-height:330px}
  .photo-triptych figure:last-child{grid-column:span 2;height:54vw}
  .capacity-band{grid-template-columns:1fr;gap:18px;padding:56px var(--gutter)}
  .capacity-band h2{font-size:4rem}
  .capacity-band .button{grid-column:1}
  .property-end h2{font-size:clamp(3.2rem,13vw,5.5rem)}
  .property-end__actions{flex-direction:column}
  .section-intro{padding-top:65px;padding-bottom:70px}
  .section-intro h2{font-size:clamp(3.4rem,14vw,5.7rem)}
  .section-intro>p:last-child{font-size:12px}
  .room-row,.room-row--reverse{grid-template-columns:1fr;gap:28px;padding:0 var(--gutter) 70px}
  .room-row--reverse .room-row__photo,.room-row--reverse .room-row__copy{order:initial}
  .room-row__photo{height:74vw;max-height:500px}
  .room-row__copy h2{font-size:clamp(3.4rem,13vw,5.3rem)}
  .common-spaces__grid{grid-template-columns:1fr;gap:9px}
  .common-spaces__grid figure:first-child{grid-row:auto;height:74vw;max-height:500px}
  .common-spaces__grid figure:not(:first-child){height:56vw;max-height:380px}
  .amenities-strip{grid-template-columns:1fr;margin-inline:var(--gutter)}
  .amenities-strip>div{border-right:0;border-bottom:1px solid var(--rule);margin:0;padding:17px 0}
  .room-final h2{font-size:clamp(3.2rem,13vw,5.4rem)}
  .exterior-intro{grid-template-columns:1fr;gap:23px}
  .exterior-intro h2{font-size:clamp(3.5rem,14vw,5.8rem)}
  .exterior-collage{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;padding:0 var(--gutter) 70px;gap:8px}
  .exterior-collage__main{grid-column:span 2;grid-row:auto;min-height:0!important;height:72vw}
  .exterior-collage figure:not(.exterior-collage__main){height:48vw;min-height:0}
  .quincho-story{grid-template-columns:1fr;gap:27px;padding-bottom:75px}
  .quincho-story figure{height:72vw;max-height:490px}
  .quincho-story__copy h2{font-size:clamp(3.2rem,13vw,5.4rem)}
  .garden-note{grid-template-columns:1fr;gap:26px}
  .garden-note figure{height:72vw;max-height:490px}
  .garden-note h2{font-size:clamp(3.5rem,13vw,5.5rem)}
  .exterior-amenities{grid-template-columns:1fr 1fr;gap:22px}
  .exterior-amenities>div{margin:0;padding:6px 10px 6px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}
  .exterior-amenities>div:last-child{border-bottom:0}
  .exterior-amenities strong{font-size:21px}
  .exterior-final h2{font-size:clamp(3.2rem,13vw,5.5rem)}
  .gallery-note{grid-template-columns:1fr;gap:12px;padding-top:56px}
  .gallery-toolbar{align-items:flex-start;flex-direction:column}
  .gallery-filters{gap:4px}
  .gallery-filter,.activity-filter{font-size:8px;padding:8px 9px}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:52px;gap:7px}
  .gallery-item{grid-row:span 5}
  .gallery-item--wide{grid-column:span 2;grid-row:span 6}
  .gallery-item--tall{grid-row:span 7}
  .gallery-item__caption{left:9px;bottom:9px}
  .gallery-item__caption strong{font-size:1.4rem}
  .gallery-item__caption small{font-size:7px}
  .gallery-item__zoom{opacity:1;transform:none;width:27px;height:27px;top:7px;right:7px}
  .lightbox{width:100vw;height:100dvh;max-height:100dvh;padding:48px 38px 28px;inset:0}
  .lightbox__figure{height:calc(100dvh - 110px)}
  .lightbox__figure img{height:calc(100% - 58px)}
  .lightbox__figure figcaption{font-size:20px;display:block}
  .lightbox__figure small{display:block;margin-top:4px}
  .lightbox__arrow{width:33px;height:45px;font-size:30px}
  .lightbox__arrow--prev{left:1px}.lightbox__arrow--next{right:1px}
  .lightbox__close{right:5px;top:4px}
  .destination-manifesto{gap:23px}
  .city-feature{grid-template-columns:1fr;gap:27px;padding-top:70px;padding-bottom:75px}
  .city-feature__copy h2{font-size:clamp(3.3rem,13vw,5.5rem)}
  .city-feature__photo{height:72vw;max-height:500px}
  .river-story{grid-template-columns:1fr;gap:26px}
  .river-story figure{height:72vw;max-height:500px}
  .river-story h2{font-size:clamp(3.3rem,13vw,5.5rem)}
  .city-mosaic{grid-template-columns:1fr;padding:70px var(--gutter);gap:10px}
  .city-mosaic figure{height:70vw;max-height:480px}
  .city-mosaic__copy{padding:28px 0}
  .city-mosaic__copy h2{font-size:clamp(3.2rem,13vw,5.3rem)}
  .heritage-feature__intro h2{font-size:clamp(3.3rem,13vw,5.7rem)}
  .heritage-feature__photos{grid-template-columns:1fr;gap:19px}
  .heritage-feature__photos figure{height:66vw;max-height:450px}
  .destination-final{grid-template-columns:1fr;gap:25px;padding:58px var(--gutter)}
  .destination-final h2{font-size:clamp(3.5rem,13vw,5.7rem)}
  .destination-final__actions{flex-direction:row;flex-wrap:wrap}
  .guide-intro{grid-template-columns:1fr;gap:21px}
  .guide-intro h2{font-size:clamp(3.2rem,13vw,5.4rem)}
  .activity-toolbar{align-items:flex-start;flex-direction:column}
  .activity-grid{grid-template-columns:1fr;gap:44px}
  .activity-card:nth-child(even){margin-top:0}
  .activity-card figure{height:68vw;max-height:460px}
  .activity-card__body{padding:0}
  .activity-card__body h2{font-size:clamp(2.8rem,12vw,4.5rem)}
  .activity-cta{padding:58px var(--gutter)}
  .activity-cta h2{font-size:clamp(3.4rem,13vw,5.8rem)}
  .packages-intro h2{font-size:clamp(3.3rem,13vw,5.7rem)}
  .package-row{grid-template-columns:28px 1fr;gap:10px;padding:0 var(--gutter) 62px}
  .package-row__number{grid-column:1;grid-row:1;padding-top:0}
  .package-row figure{grid-column:2;grid-row:1;height:67vw;max-height:450px}
  .package-row__copy{grid-column:2;grid-row:2}
  .package-row__copy h2{font-size:clamp(2.9rem,12vw,4.6rem)}
  .package-row__price{align-items:flex-start;flex-direction:column;gap:5px}
  .seasonal-package{grid-template-columns:1fr;gap:26px}
  .seasonal-package figure{height:70vw;max-height:480px}
  .seasonal-package h2{font-size:clamp(3.3rem,13vw,5.4rem)}
  .packages-final h2{font-size:clamp(3.2rem,13vw,5.5rem)}
  .rates-intro h2{font-size:clamp(3.3rem,13vw,5.7rem)}
  .rates-table{padding-inline:var(--gutter)}
  .rate-row--head{display:none}
  .rate-row{grid-template-columns:1fr auto;gap:6px 12px;padding:18px 2px}
  .rate-row strong{font-size:24px}
  .rate-row>span{grid-column:1;grid-row:2;font-size:9px}
  .rate-row>b{grid-column:2;grid-row:1/3;text-align:right;font-size:22px}
  .rate-link{grid-column:1/3;justify-self:start;margin-top:7px}
  .included{grid-template-columns:1fr;gap:26px}
  .included h2{font-size:clamp(3.2rem,13vw,5.4rem)}
  .booking-section{grid-template-columns:1fr;gap:35px}
  .booking-section__intro h2{font-size:clamp(3.3rem,13vw,5.5rem)}
  .booking-section__contact{margin-top:28px}
  .form-grid{grid-template-columns:1fr;gap:17px}
  .form-grid__wide{grid-column:1}
  .form-summary__list{grid-template-columns:1fr;gap:1px}
  .form-summary__list dd{margin-bottom:7px}
  .form-legal{align-items:flex-start;flex-direction:column}
  .form-legal .button{width:100%}
  .faq-section{grid-template-columns:1fr;gap:27px}
  .faq-section h2{font-size:clamp(3.3rem,13vw,5.5rem)}
  .faq-item summary{font-size:21px}
  .reservations-whatsapp h2{font-size:clamp(3.2rem,12vw,5.5rem)}
  .contact-grid{grid-template-columns:1fr;gap:40px}
  .contact-details h2{font-size:clamp(3.2rem,12vw,5.4rem)}
  .contact-form{padding:25px 21px}
  .contact-form h3{font-size:31px}
  .contact-bottom h2{font-size:clamp(3.2rem,13vw,5.4rem)}
  .legal-hero{padding-top:calc(var(--header-height) + 52px)}
  .legal-hero h1{font-size:clamp(3.5rem,14vw,6rem)}
  .legal-copy{padding-top:45px}
  .credits-section{grid-template-columns:1fr;gap:26px}
  .credits-intro{position:static}
  .credits-intro h2{font-size:clamp(3rem,12vw,5.3rem)}
  .not-found{min-height:80vh;padding-top:calc(var(--header-height) + 65px)}
  .not-found h1{font-size:clamp(5rem,19vw,8rem)}
  .closing-cta{min-height:75svh;max-height:700px}
  .closing-cta__content{left:var(--gutter);right:var(--gutter)}
  .closing-cta__content h2{font-size:clamp(4rem,15vw,6.5rem)}
  .closing-cta__caption{left:var(--gutter);right:var(--gutter);bottom:10px;text-align:right}
  .site-footer{padding:44px var(--gutter) 20px}
  .site-footer__top{grid-template-columns:1fr 1fr;gap:28px 18px;padding-bottom:34px}
  .site-footer__brand{grid-column:1/-1;grid-row:auto}
  .site-footer__brand>p{margin-left:38px}
  .site-footer__column>a{font-size:9px}
  .site-footer__bottom{align-items:flex-start;flex-direction:column;gap:11px;font-size:7px}
  .site-footer__bottom div{flex-wrap:wrap;gap:13px}
  .site-footer__disclosure{font-size:7px}
}
@media (max-width:420px){
  .hero__actions{align-items:flex-start;flex-direction:column}
  .hero__actions .button{width:max-content}
  .hero__location{max-width:55%}
  .hero__disclaimer{max-width:42%}
  .home-intro__facts{gap:5px}
  .destination-final__actions{flex-direction:column;align-items:flex-start}
  .activity-card__links{gap:12px}
  .gallery-toolbar .gallery-count{align-self:flex-end}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js [data-reveal]{opacity:1;transform:none}
}
