:root{--ivory:#f5efe6;--sand:#ddd0bd;--taupe:#d0baa5;--wood:#8f6d56;--cacao:#47362e;--deep:#30241e;--gold:#d4bb88;--olive:#85846c;--text:#49372f;--copy:#65564c;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--ease:cubic-bezier(.2,.65,.22,1);--nav-h:88px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ivory);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}em{font-weight:400}::selection{background:var(--gold);color:var(--deep)}.skip-link{position:fixed;z-index:9999;top:-80px;left:20px;padding:12px 22px;background:var(--gold);color:var(--deep)}.skip-link:focus{top:12px}.eyebrow{font-family:var(--sans);font-size:.66rem;letter-spacing:.23em;font-weight:700;line-height:1.6;color:var(--gold)}.eyebrow-dark{color:#856748}.body-copy{color:var(--copy);font-size:clamp(.89rem,1.1vw,1rem);line-height:2;max-width:480px}.tiny-diamond{font-size:1.2em;padding:0 .75em}.small-rule{width:56px;height:1px;background:#a68562;margin:30px 0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:16px 25px;border-radius:99px;font-size:.73rem;font-weight:700;letter-spacing:.02em;transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease);white-space:nowrap}.button:hover{transform:translateY(-3px)}.button-gold{background:var(--gold);color:var(--deep)}.button-gold:hover{background:#f1d69b}.button-outline-light{border:1px solid rgba(255,255,255,.54);color:white}.button-outline-light:hover{background:rgba(255,255,255,.14)}.text-link{display:inline-flex;gap:44px;align-items:center;justify-content:space-between;font-size:.78rem;font-weight:700;border-bottom:1px solid #876a50;padding:0 0 12px;transition:gap .3s var(--ease)}.text-link:hover{gap:56px}.text-link span{font-size:1.2rem;font-weight:400}.simple-link{font-size:.8rem;line-height:1.7;border-bottom:1px solid rgba(71,54,46,.35);padding-bottom:5px;align-self:flex-start}.site-header{position:fixed;top:0;left:0;width:100%;z-index:100;height:var(--nav-h);transition:background .3s,color .3s,box-shadow .3s;isolation:isolate}.site-header.is-dark{color:var(--ivory);background:rgba(39,30,25,.36);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.site-header.is-light{color:var(--deep);background:rgba(245,239,230,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 rgba(72,47,36,.08)}.site-header.is-on-hero{background:linear-gradient(180deg,rgba(20,17,15,.42),transparent);backdrop-filter:none;-webkit-backdrop-filter:none}.header-inner{height:100%;width:min(100% - 112px,1536px);margin:0 auto;display:flex;align-items:center;gap:35px}.brand{position:relative;display:block;flex:0 0 auto;width:155px;height:79px;overflow:visible}.brand img{position:absolute;top:50%;left:0;transform:translateY(-50%);width:155px;height:auto;transition:opacity .25s}.brand .brand-light{opacity:1}.brand .brand-dark{opacity:0}.is-light .brand .brand-light{opacity:0}.is-light .brand .brand-dark{opacity:1}.desktop-nav{display:flex;justify-content:center;align-items:center;gap:clamp(20px,3vw,45px);flex:1;margin-left:55px}.desktop-nav a{position:relative;font-size:.7rem;font-weight:600;letter-spacing:.035em;opacity:.83;white-space:nowrap;transition:opacity .2s}.desktop-nav a:hover,.desktop-nav .nav-active{opacity:1}.desktop-nav .nav-active:after{position:absolute;content:'';width:18px;height:1px;background:currentColor;left:50%;bottom:-11px;transform:translateX(-50%)}.header-cta{border-radius:50px;background:var(--gold);color:var(--deep);font-size:.72rem;font-weight:700;padding:12px 22px;display:flex;gap:20px;align-items:center;transition:transform .2s,background .2s;white-space:nowrap}.header-cta:hover{transform:translateY(-2px);background:#eed5a4}.menu-toggle{display:none;border:0;background:transparent;color:inherit;cursor:pointer;width:44px;height:44px;position:relative;align-items:center;justify-content:center;flex-direction:column;gap:7px;z-index:102}.menu-toggle span{width:24px;height:1.5px;background:currentColor;display:block;transition:transform .25s}.menu-open .menu-toggle span:first-child{transform:translateY(4.25px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4.25px) rotate(-45deg)}.mobile-nav{display:none}
/* cinematic opening */
.hero{min-height:690px;height:100svh;position:relative;isolation:isolate;display:flex;align-items:flex-end;overflow:hidden;background:#352821;color:var(--ivory)}.hero-image-wrap,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(1.01);will-change:transform}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(23,23,21,.76) 0%,rgba(23,22,20,.65) 30%,rgba(23,22,20,.15) 73%,rgba(23,22,20,.09) 100%),linear-gradient(0deg,rgba(21,18,15,.45),transparent 55%)}.hero-content{width:min(100% - 12vw,1460px);margin:0 auto;padding-bottom:clamp(130px,17vh,190px);position:relative}.hero h1{font-size:clamp(4.3rem,8vw,9rem);line-height:.83;letter-spacing:-.042em;max-width:1000px;margin:26px 0 32px;text-wrap:balance}.hero h1 em,.welcome h2 em,.rooms-teaser h2 em,.services h2 em,.location h2 em,.closing h2 em,.rooms-page-hero h1 em,.room-catalog h2 em,.rooms-bottom-cta h2 em{font-style:italic;font-weight:400}.hero-sub{font-size:clamp(.82rem,1.13vw,1.03rem);line-height:1.9;max-width:475px;color:rgba(255,255,255,.88)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.hero-enter{animation:hero-rise .8s var(--ease) both}.hero .eyebrow{animation-delay:.1s}.hero h1{animation-delay:.22s}.hero-sub{animation-delay:.35s}.hero-actions{animation-delay:.48s}@keyframes hero-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-scroll{position:absolute;left:6vw;bottom:48px;display:flex;align-items:center;gap:18px;font-size:.6rem;letter-spacing:.17em;font-weight:700;color:rgba(255,255,255,.86)}.scroll-line{width:1px;height:52px;background:rgba(255,255,255,.7);position:relative;overflow:hidden}.scroll-line::after{content:'';width:100%;height:15px;background:white;position:absolute;left:0;top:-15px;animation:scroll-indicator 2.5s infinite}@keyframes scroll-indicator{to{top:54px}}.hero-coordinate{position:absolute;right:6vw;bottom:53px;font-size:.61rem;letter-spacing:.15em;color:rgba(255,255,255,.72)}
/* long form imagery */
.welcome{display:grid;grid-template-columns:55% 45%;align-items:center;background:var(--ivory);padding:150px 0 150px;position:relative;border-radius:30px 30px 0 0;margin-top:-27px;z-index:2}.welcome-photo{height:min(65vw,750px);position:relative;overflow:hidden}.welcome-photo img{width:100%;height:100%;object-fit:cover;object-position:53% 50%}.photo-caption{position:absolute;bottom:25px;left:30px;padding:9px 13px;background:rgba(40,30,24,.65);color:white;backdrop-filter:blur(8px);font-size:.59rem;letter-spacing:.11em;font-weight:600}.welcome-copy{padding:8% clamp(36px,6vw,125px) 7% clamp(45px,7vw,132px)}.welcome h2,.rooms-teaser h2,.location h2{font-size:clamp(3.8rem,5.3vw,7.2rem);letter-spacing:-.048em;line-height:.92;margin-top:25px}.welcome-facts{margin-top:55px;border-top:1px solid rgba(101,75,56,.25);display:grid;grid-template-columns:repeat(3,1fr)}.welcome-facts>div{padding:19px 10px 0 0;display:flex;gap:9px;align-items:flex-start;color:var(--copy);font-size:.68rem;line-height:1.8}.fact-index{font-size:.62rem;color:#927d6d;padding-top:3px}.welcome-facts strong{font-weight:700;color:var(--deep)}.rooms-teaser{background:#e0d1bf;display:grid;grid-template-columns:43% 57%;align-items:center;position:relative;min-height:790px;padding:115px 0 130px;overflow:hidden}.rooms-teaser::before{content:"";position:absolute;top:0;left:0;right:0;height:95px;background:linear-gradient(to bottom,var(--ivory),rgba(224,209,191,0));pointer-events:none;z-index:1}.section-watermark{font-family:var(--serif);font-style:italic;font-size:clamp(11rem,22vw,34rem);font-weight:500;letter-spacing:-.09em;line-height:.8;position:absolute;left:-5%;top:-2%;pointer-events:none;color:rgba(123,91,68,.052)}.rooms-copy{padding:60px 5vw 70px 9vw;position:relative;z-index:1}.rooms-teaser h2{margin-bottom:35px}.rooms-teaser .body-copy{margin-bottom:35px}.rooms-photo{height:min(60vw,730px);overflow:hidden;position:relative}.rooms-photo img{width:100%;height:100%;object-fit:cover;object-position:47% center}.photo-detail{position:absolute;bottom:28px;left:28px;right:28px;display:flex;justify-content:space-between;color:white;text-shadow:0 2px 12px rgba(0,0,0,.6);font-size:.6rem;letter-spacing:.12em;font-weight:700}.rooms-bottom-note{position:absolute;bottom:40px;left:9vw;letter-spacing:.25em;font-size:.54rem;font-weight:700;color:#876953}
.services{background:var(--cacao);color:var(--ivory);padding:170px max(7vw,26px) 105px;position:relative;overflow:hidden}.services::before,.services::after{content:"";position:absolute;left:0;right:0;height:105px;pointer-events:none}.services::before{top:0;background:linear-gradient(to bottom,#e0d1bf,var(--cacao))}.services::after{bottom:0;background:linear-gradient(to bottom,var(--cacao),var(--ivory))}.services-head{max-width:1100px;margin:0 auto 92px;text-align:center}.services-head h2{font-size:clamp(4rem,6.2vw,8rem);letter-spacing:-.055em;line-height:.94;margin:24px auto 30px;text-wrap:balance}.services-head>p:last-child{color:#d9c9bb;font-size:.91rem;line-height:1.9}.services-list{max-width:1120px;margin:auto}.service-item{display:grid;grid-template-columns:80px 1fr 45px;gap:20px;align-items:start;padding:31px 0 38px;border-top:1px solid rgba(232,220,207,.28)}.service-item:last-child{border-bottom:1px solid rgba(232,220,207,.28)}.service-num{font-size:.75rem;color:var(--gold);padding-top:10px}.service-item h3{font-size:clamp(2.45rem,3.8vw,4.4rem);line-height:1.1;letter-spacing:-.035em}.service-item p{font-size:.79rem;color:#d9c9bb;line-height:1.9;margin-top:8px}.service-mark{text-align:right;font-family:var(--serif);font-size:2rem;color:var(--gold);opacity:.65}.services-tail{min-height:350px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:var(--serif);font-size:clamp(3.7rem,7.1vw,7.5rem);font-style:italic;letter-spacing:-.035em;gap:0;text-align:center}.big-asterisk{font-style:normal;font-size:2rem;color:var(--gold);line-height:1.5}
.location{background:var(--ivory);display:grid;grid-template-columns:41% 59%;align-items:center;min-height:880px;padding:145px 0}.location-copy{padding:40px 5vw 40px 9vw}.location h2{margin-bottom:39px}.location .body-copy{margin-bottom:37px}.location-actions{display:flex;flex-direction:column;align-items:flex-start;gap:28px}.location-photo{height:min(59vw,760px);position:relative;overflow:hidden}.location-photo img{width:100%;height:100%;object-fit:cover;object-position:53% center}.location .photo-caption{left:auto;right:30px}
.closing{background:var(--deep);color:var(--ivory);min-height:700px;padding:150px 24px 100px;text-align:center;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.closing::before{content:"";position:absolute;top:0;left:0;right:0;height:115px;background:linear-gradient(to bottom,var(--ivory),var(--deep));pointer-events:none}.closing-orbit{font-family:var(--serif);position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);font-size:min(95vw,900px);opacity:.025;pointer-events:none}.closing h2{font-size:clamp(5rem,9vw,11rem);line-height:.83;letter-spacing:-.052em;margin:24px 0 32px}.closing>p:not(.eyebrow){font-size:.89rem;max-width:470px;color:#decfc1;line-height:1.9;margin-bottom:35px}.site-footer{background:var(--deep);color:var(--ivory);padding:0 6vw}.footer-top{padding:70px 0 95px;display:grid;grid-template-columns:1.8fr 1fr 1.6fr 1fr;gap:34px;border-top:1px solid rgba(245,239,230,.18)}.footer-brand img{width:230px;height:auto;max-width:100%}.footer-brand p{color:#d3c0b2;font-size:.79rem;margin-top:13px}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.footer-column h3{font-family:var(--sans);font-size:.62rem;color:var(--gold);letter-spacing:.18em;font-weight:700;margin-bottom:13px}.footer-column a,.footer-column p{font-size:.76rem;line-height:1.8;color:#e0d4c8;overflow-wrap:anywhere}.footer-column a:hover,.footer-bottom a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid rgba(245,239,230,.17);padding:24px 0 32px;display:flex;justify-content:space-between;gap:15px;font-size:.65rem;color:#bbaea3}.footer-bottom a{color:var(--ivory)}.mobile-reserve{display:none}
/* revelation: no JS means fully visible */
.js-motion .reveal{opacity:0;transform:translateY(22px);transition:transform .9s var(--ease),opacity .9s var(--ease)}.js-motion .reveal.is-visible{opacity:1;transform:translateY(0)}.js-motion .image-reveal{clip-path:inset(0 8% 0 0);transition:clip-path 1.1s var(--ease)}.js-motion .image-reveal.is-visible{clip-path:inset(0 0 0 0)}
/* page of rooms */
.page-rooms{background:var(--ivory)}.rooms-page-hero{padding-top:var(--nav-h);min-height:790px;display:grid;grid-template-columns:47% 53%;align-items:stretch}.rooms-page-intro{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:90px 5vw 90px 9vw}.rooms-page-intro h1{font-size:clamp(4.9rem,7.3vw,9rem);letter-spacing:-.06em;line-height:.85;margin:29px 0 35px}.rooms-page-intro>p:not(.eyebrow){max-width:455px;color:var(--copy);font-size:.91rem;line-height:1.95;margin-bottom:42px}.rooms-page-visual{min-height:670px;overflow:hidden}.rooms-page-visual img{width:100%;height:100%;object-fit:cover;object-position:43% center}.room-catalog{padding:135px 8vw 160px}.catalog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.catalog-head h2{font-size:clamp(4rem,6vw,7rem);letter-spacing:-.055em;line-height:1;margin-top:15px}.catalog-head>p{max-width:380px;color:var(--copy);font-size:.84rem;line-height:1.9}.catalog-filter{display:flex;gap:9px;flex-wrap:wrap;margin:65px 0 27px}.filter-chip{background:transparent;border:1px solid rgba(85,60,44,.27);padding:11px 19px;border-radius:99px;font-size:.76rem;color:var(--cacao);cursor:pointer;transition:background .25s,color .25s,border-color .25s}.filter-chip span{font-size:.59rem;opacity:.55;padding-left:5px}.filter-chip:hover{border-color:var(--cacao)}.filter-chip.is-selected{background:var(--cacao);border-color:var(--cacao);color:var(--ivory)}.catalog-count{font-size:.68rem;color:#89766b;margin-bottom:12px}.room-list{border-top:1px solid rgba(85,60,44,.25)}.room-row{min-height:143px;border-bottom:1px solid rgba(85,60,44,.25);display:grid;grid-template-columns:100px 1fr 130px;gap:16px;align-items:center;transition:background .25s,padding .25s;padding:20px 25px 20px 0}.room-row:hover{background:rgba(139,111,84,.07);padding-left:17px}.room-row[hidden]{display:none!important}.room-index{font-size:.77rem;color:#998575}.room-row h3{font-size:clamp(2.3rem,3.6vw,4.1rem);letter-spacing:-.025em;line-height:1.05}.room-row p{font-size:.76rem;color:var(--copy);margin-top:8px}.room-row>a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #7f6552;font-size:.73rem;font-weight:700;padding-bottom:9px}.room-row>a:hover{color:#9a6e3f}.rooms-services{background:#e5d8c9;padding:65px clamp(25px,5vw,80px);margin-top:110px}.rooms-services h2{margin:16px 0 18px}.rooms-services>p:last-child{font-size:.82rem;line-height:2;color:var(--copy);max-width:900px}.rooms-bottom-cta{background:var(--cacao);color:var(--ivory);text-align:center;padding:130px 20px 150px;display:flex;flex-direction:column;align-items:center}.rooms-bottom-cta h2{font-size:clamp(4.7rem,8vw,9rem);line-height:.9;letter-spacing:-.045em;margin:28px 0}.rooms-bottom-cta>p:not(.eyebrow){color:#e0d4c8;line-height:1.8;font-size:.89rem;margin-bottom:38px}
@media(max-width:1100px){:root{--nav-h:78px}.header-inner{width:calc(100% - 54px)}.desktop-nav{margin-left:12px;gap:20px}.hero-content{width:calc(100% - 10vw)}.welcome{padding:115px 0}.welcome-copy{padding:5%}.welcome h2,.rooms-teaser h2,.location h2{font-size:clamp(3.6rem,6vw,5.2rem)}.welcome-facts{grid-template-columns:1fr;gap:5px;margin-top:30px}.welcome-facts>div{padding-top:6px}.rooms-copy{padding-left:6vw}.services{padding-top:130px}.location-copy{padding-left:6vw}.room-row{grid-template-columns:60px 1fr 120px}}
@media(max-width:800px){:root{--nav-h:74px}.desktop-nav,.header-cta{display:none}.header-inner{width:calc(100% - 38px);justify-content:space-between}.brand,.brand img{width:133px}.menu-toggle{display:flex}.mobile-nav{display:flex;flex-direction:column;gap:0;position:fixed;top:0;left:0;right:0;height:100svh;background:var(--ivory);color:var(--deep);padding:calc(var(--nav-h) + 45px) 30px 40px;z-index:99;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-20px);transition:transform .35s var(--ease),opacity .35s,visibility .35s;overflow:auto}.menu-open .mobile-nav{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.mobile-nav>a:not(.mobile-nav-contact){font-family:var(--serif);font-size:clamp(2.9rem,9vw,4.8rem);border-bottom:1px solid #d7c7b9;padding:16px 2px}.mobile-nav-contact{background:var(--cacao);color:var(--ivory);text-align:center;padding:19px;border-radius:99px;margin-top:31px;font-size:.8rem;font-weight:700}.menu-open .site-header,.site-header.menu-active{background:var(--ivory)!important;color:var(--deep)!important;backdrop-filter:none!important}.menu-open .site-header .brand-light,.site-header.menu-active .brand-light{opacity:0}.menu-open .site-header .brand-dark,.site-header.menu-active .brand-dark{opacity:1}.hero{min-height:0;height:100svh;max-height:960px;align-items:flex-end}.hero-content{width:calc(100% - 12vw);padding-bottom:150px}.hero h1{font-size:clamp(4.7rem,12vw,7.8rem);margin:22px 0}.hero-shade{background:linear-gradient(0deg,rgba(29,23,18,.92) 0%,rgba(29,23,18,.68) 31%,rgba(29,23,18,.13) 85%),linear-gradient(90deg,rgba(29,23,18,.35),transparent 80%)}.hero-scroll{left:6vw;bottom:28px}.hero-coordinate{right:6vw;bottom:38px}.welcome,.rooms-teaser,.location{display:flex;flex-direction:column;min-height:initial}.welcome{padding:0 0 100px;border-radius:22px 22px 0 0;margin-top:-21px}.welcome-photo{width:100%;height:58vw;min-height:330px;order:1}.welcome-copy{order:2;width:100%;padding:75px 8vw 0}.welcome h2,.rooms-teaser h2,.location h2{font-size:clamp(4.4rem,9vw,6.8rem)}.welcome-facts{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:50px}.welcome-facts>div{display:block}.fact-index{display:block;margin-bottom:9px}.rooms-teaser{padding:100px 0 75px}.rooms-copy{order:1;padding:0 8vw 55px;width:100%}.rooms-photo{order:2;width:100%;height:65vw;min-height:360px}.rooms-bottom-note{order:3;position:static;margin:25px 8vw 0;align-self:flex-start}.section-watermark{top:0;font-size:32vw}.services{padding:110px 8vw 45px}.services-head{margin-bottom:70px}.services-head h2{font-size:clamp(4.1rem,8.5vw,6.5rem)}.service-item{grid-template-columns:50px 1fr 20px;padding:23px 0 30px}.service-item h3{font-size:clamp(2.4rem,5.2vw,3.9rem)}.service-mark{font-size:1.35rem}.services-tail{min-height:270px;font-size:clamp(3.8rem,9vw,6.5rem)}.location{padding:0 0 100px}.location-copy{width:100%;padding:100px 8vw 55px}.location-photo{height:65vw;min-height:320px;width:100%}.closing{min-height:620px;padding:125px 7vw}.closing h2{font-size:clamp(5rem,11vw,8rem)}.footer-top{grid-template-columns:1.4fr 1fr;gap:40px;padding:65px 0}.site-footer{padding:0 8vw}.footer-bottom{flex-direction:column;gap:10px}.rooms-page-hero{display:flex;flex-direction:column;min-height:0}.rooms-page-intro{padding:100px 8vw 75px}.rooms-page-intro h1{font-size:clamp(5.5rem,10vw,8rem)}.rooms-page-visual{height:65vw;min-height:410px}.room-catalog{padding:105px 8vw 115px}.catalog-head{align-items:flex-start;flex-direction:column;gap:20px}.catalog-filter{margin-top:38px}.rooms-bottom-cta{padding:100px 7vw 120px}}
@media(max-width:560px){:root{--nav-h:69px}.brand,.brand img{width:115px}.hero{height:100svh;min-height:640px;max-height:900px}.hero-image{object-position:53% 25%}.hero-content{width:calc(100% - 42px);padding-bottom:126px}.hero .eyebrow{font-size:.55rem;letter-spacing:.15em}.hero h1{font-size:clamp(3.15rem,13.5vw,5.2rem);letter-spacing:-.049em;margin:20px 0 18px;line-height:.93}.hero h1 br{display:initial}.hero-sub{font-size:.83rem;line-height:1.8;max-width:355px}.hero-actions{gap:10px;align-items:flex-start;margin-top:26px}.hero-actions .button{padding:15px 19px;font-size:.67rem;gap:13px}.hero-actions .button-outline-light{display:none}.hero-coordinate{display:none}.hero-scroll{bottom:29px;left:22px;font-size:.48rem;letter-spacing:.12em}.scroll-line{height:29px}.welcome{padding-bottom:83px}.welcome-photo{height:65vw;min-height:275px}.photo-caption{left:18px;bottom:16px;font-size:.53rem}.welcome-copy{padding:64px 24px 0}.welcome h2,.rooms-teaser h2,.location h2{font-size:clamp(3.8rem,13vw,5.4rem)}.body-copy{font-size:.87rem;line-height:1.9}.small-rule{margin:25px 0}.welcome-facts{margin-top:35px;gap:7px}.welcome-facts>div{font-size:.59rem}.rooms-teaser{padding-top:80px}.rooms-copy{padding:0 24px 50px}.rooms-teaser h2{margin-bottom:24px}.rooms-photo{height:74vw;min-height:290px}.rooms-bottom-note{margin:20px 24px 0;font-size:.47rem}.services{padding:90px 24px 40px}.services-head{text-align:left;margin-bottom:55px}.services-head h2{font-size:clamp(3.65rem,11.5vw,5.3rem);margin-top:20px}.services-head>p:last-child{font-size:.83rem}.service-item{grid-template-columns:32px 1fr;gap:8px;padding:24px 0}.service-item h3{font-size:clamp(2.35rem,8.5vw,3.5rem)}.service-item p{font-size:.73rem;margin-top:6px}.service-mark{display:none}.service-num{font-size:.66rem}.services-tail{min-height:220px;font-size:clamp(3rem,10vw,5rem)}.big-asterisk{font-size:1.5rem}.location{padding-bottom:90px}.location-copy{padding:90px 24px 55px}.location h2{margin-bottom:27px}.location-photo{height:75vw;min-height:265px}.location .photo-caption{left:14px;right:auto}.closing{min-height:560px;padding:100px 24px}.closing h2{font-size:clamp(4.3rem,14vw,6rem)}.closing>p:not(.eyebrow){font-size:.82rem}.footer-top{grid-template-columns:1fr 1fr;gap:36px 22px;padding:55px 0 70px}.footer-brand{grid-column:1/-1}.footer-brand img{width:180px}.footer-column:nth-of-type(3){grid-column:1/-1;grid-row:auto}.footer-column h3{font-size:.56rem;margin-bottom:4px}.footer-column a,.footer-column p{font-size:.7rem}.footer-bottom{font-size:.6rem;padding-bottom:95px}.mobile-reserve{position:fixed;z-index:89;bottom:14px;left:50%;transform:translate(-50%,120px);display:flex;align-items:center;justify-content:space-between;gap:40px;width:min(calc(100% - 30px),410px);padding:16px 22px;background:var(--gold);border:1px solid #d5b77f;color:var(--deep);border-radius:999px;box-shadow:0 7px 30px rgba(30,20,12,.22);font-size:.77rem;font-weight:700;transition:transform .3s var(--ease);pointer-events:none}.mobile-reserve.is-visible{transform:translate(-50%,0);pointer-events:auto}.menu-open .mobile-reserve{transform:translate(-50%,120px)!important;pointer-events:none}.room-catalog{padding:85px 24px 100px}.rooms-page-intro{padding:93px 24px 65px}.rooms-page-intro h1{font-size:clamp(4.8rem,14vw,6.5rem)}.rooms-page-intro>p:not(.eyebrow){font-size:.84rem}.rooms-page-visual{height:73vw;min-height:290px}.catalog-head h2{font-size:clamp(3.6rem,11.4vw,5.4rem)}.catalog-head>p{font-size:.8rem}.catalog-filter{gap:7px}.filter-chip{font-size:.68rem;padding:11px 13px}.room-row{grid-template-columns:30px 1fr;min-height:142px;gap:10px 12px;padding:18px 0}.room-row:hover{padding-left:6px}.room-row h3{font-size:2.75rem}.room-row>a{grid-column:2;justify-self:start;min-width:115px}.rooms-services{padding:35px 24px;margin-top:80px}.rooms-bottom-cta h2{font-size:clamp(4.2rem,12vw,5.5rem)}}
@media(max-width:375px){.hero h1{font-size:13.2vw}.hero-sub{font-size:.78rem}.hero-actions .button{font-size:.61rem}.welcome-facts{grid-template-columns:1fr 1fr}.welcome-facts>div{font-size:.64rem}.footer-top{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-motion .reveal{opacity:1!important;transform:none!important}.js-motion .image-reveal{clip-path:none!important}.hero-image{transform:none!important}}

/* V2.1 — shared iconography, responsive media and refined footer */
body{overflow-x:hidden}
.icon{display:inline-block;flex:0 0 auto;width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.header-cta .icon,.mobile-nav-contact .icon,.mobile-reserve .icon{width:16px;height:16px}
.whatsapp-icon{display:inline-block;flex:0 0 auto;width:20px;height:20px;background-color:currentColor;-webkit-mask:url("assets/icons/whatsapp.svg") center/contain no-repeat;mask:url("assets/icons/whatsapp.svg") center/contain no-repeat}
.header-cta .whatsapp-icon,.mobile-nav-contact .whatsapp-icon{width:18px;height:18px}
.room-row>a .whatsapp-icon{width:18px;height:18px}
.mobile-reserve .whatsapp-icon{width:20px;height:20px}
.rooms-page-visual picture{display:block;width:100%;height:100%}
.site-footer{background:#2b211c;padding:0 max(6vw,28px)}
.footer-main{display:grid;grid-template-columns:minmax(220px,1fr) minmax(430px,1.45fr) auto;align-items:start;gap:clamp(40px,6vw,100px);padding:74px 0 72px;border-top:1px solid rgba(245,239,230,.18)}
.footer-brand img{width:210px;height:auto}
.footer-brand p{max-width:250px;color:#d3c0b2;font-size:.77rem;line-height:1.7;margin-top:12px}
.footer-links{display:grid;grid-template-columns:.72fr 1.45fr;gap:clamp(32px,5vw,84px)}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-column h3{font-family:var(--sans);font-size:.6rem;color:var(--gold);letter-spacing:.18em;font-weight:700;margin-bottom:10px}
.footer-column a{font-size:.74rem;line-height:1.75;color:#e0d4c8;overflow-wrap:anywhere;transition:color .2s}
.footer-column a:hover,.footer-column a:focus-visible{color:var(--gold)}
.footer-socials{display:flex;gap:10px}
.footer-socials a{display:grid;place-items:center;width:39px;height:39px;border:1px solid rgba(245,239,230,.24);border-radius:50%;color:#e0d4c8;transition:color .2s,border-color .2s,background .2s}
.footer-socials a:hover,.footer-socials a:focus-visible{color:var(--deep);border-color:var(--gold);background:var(--gold)}
.footer-socials .icon{width:16px;height:16px}
.footer-bottom{border-top:1px solid rgba(245,239,230,.17);padding:22px 0 27px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.63rem;color:#bbaea3}
.footer-credit{display:inline-flex;align-items:center;gap:9px;color:var(--ivory)}
.footer-credit img{width:24px;height:24px;object-fit:contain}
.room-row>a .icon{width:15px;height:15px}

@media(max-width:900px){
  .footer-main{grid-template-columns:1fr auto;gap:44px 28px}
  .footer-brand{grid-column:1/-1}
  .footer-links{grid-template-columns:minmax(120px,.72fr) minmax(230px,1.4fr)}
}

@media(max-width:560px){
  .mobile-nav-contact{display:flex;align-items:center;justify-content:center;gap:12px}
  .site-footer{padding:0 24px}
  .footer-main{display:block;padding:50px 0 47px}
  .footer-brand{text-align:center;padding-bottom:35px;margin-bottom:34px;border-bottom:1px solid rgba(245,239,230,.17)}
  .footer-brand img{width:180px;margin:0 auto}
  .footer-brand p{margin:11px auto 0}
  .footer-links{grid-template-columns:.78fr 1.35fr;gap:22px}
  .footer-column{gap:10px}
  .footer-column h3{font-size:.55rem;margin-bottom:5px}
  .footer-column a{font-size:.67rem;line-height:1.7}
  .footer-socials{justify-content:center;margin-top:34px}
  .footer-socials a{width:42px;height:42px}
  .footer-bottom{padding:22px 0 96px;align-items:center;text-align:center;flex-direction:column;gap:14px;font-size:.58rem}
  .footer-credit{gap:8px}
  .footer-credit img{width:22px;height:22px}
  .mobile-reserve .icon{width:17px;height:17px}
  .rooms-page-visual img{object-position:50% 50%}
}

/* Habitaciones — directorio editorial de servicios */
.rooms-services-editorial{scroll-margin-top:0;margin-top:clamp(105px,11vw,165px);padding-top:clamp(82px,8vw,122px);border-top:1px solid rgba(85,60,44,.25)}
.rooms-services-editorial__intro{display:grid;grid-template-columns:minmax(180px,.62fr) minmax(0,1.55fr);align-items:start;gap:clamp(36px,7vw,110px)}
.rooms-services-editorial__intro .eyebrow{margin-top:12px}
.rooms-services-editorial__intro h2{max-width:880px;font-size:clamp(4.1rem,6.4vw,7.3rem);line-height:.9;letter-spacing:-.052em;text-wrap:balance}
.rooms-services-editorial__intro h2 em{font-style:italic;font-weight:400}
.rooms-services-directory{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(70px,7vw,105px) 0 0;padding:0;border-bottom:1px solid rgba(85,60,44,.22)}
.rooms-services-directory li{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:18px;min-height:145px;padding:28px clamp(18px,2.5vw,38px) 30px 0;border-top:1px solid rgba(85,60,44,.22)}
.rooms-services-directory li:not(:nth-child(3n+1)){padding-left:clamp(18px,2.5vw,38px);border-left:1px solid rgba(85,60,44,.16)}
.service-icon{width:29px;height:29px;color:#9a6e3f;overflow:visible}
.rooms-services-directory li div>span{display:block;margin:1px 0 12px;color:#9a8272;font-size:.6rem;font-weight:700;letter-spacing:.13em}
.rooms-services-directory h3{max-width:270px;font-size:clamp(1.65rem,2.1vw,2.45rem);line-height:1.03;letter-spacing:-.025em;text-wrap:balance}

@media(max-width:800px){
  .rooms-services-editorial{margin-top:95px;padding-top:76px}
  .rooms-services-editorial__intro{display:block}
  .rooms-services-editorial__intro .eyebrow{margin:0 0 22px}
  .rooms-services-editorial__intro h2{max-width:680px;font-size:clamp(3.7rem,9vw,5.6rem);line-height:.92}
  .rooms-services-directory{display:block;margin-top:58px}
  .rooms-services-directory li{grid-template-columns:42px minmax(0,1fr);gap:17px;min-height:0;padding:22px 0 24px;border-left:0!important}
  .rooms-services-directory li:not(:nth-child(3n+1)){padding-left:0}
  .service-icon{width:27px;height:27px}
  .rooms-services-directory li div>span{margin-bottom:8px}
  .rooms-services-directory h3{max-width:none;font-size:clamp(1.8rem,4.6vw,2.5rem)}
}

@media(max-width:560px){
  .rooms-services-editorial{margin-top:82px;padding-top:64px}
  .rooms-services-editorial__intro .eyebrow{margin-bottom:19px}
  .rooms-services-editorial__intro h2{font-size:clamp(3.1rem,13vw,4.45rem);line-height:.9}
  .rooms-services-directory{margin-top:48px}
  .rooms-services-directory li{grid-template-columns:36px minmax(0,1fr);gap:13px;padding:19px 0 21px}
  .service-icon{width:25px;height:25px}
  .rooms-services-directory li div>span{font-size:.55rem;margin-bottom:7px}
  .rooms-services-directory h3{font-size:clamp(1.58rem,7vw,2.05rem);line-height:1.05}
}
