@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400;1,500&family=Manrope:wght@400;500;600&display=swap');
:root{--ivory:#f7f4eb;--paper:#fdfbf7;--sand:#e9e2d3;--olive:#626947;--ink:#323a2f;--muted:#6c7060;--line:#d8d8c8;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ivory);color:var(--ink);font:14px/1.8 var(--sans)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ad8d5b;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05}h1{font-size:clamp(44px,5.3vw,79px);letter-spacing:-2px}h2{font-size:clamp(38px,4.6vw,65px);letter-spacing:-1.3px}h3{font-size:32px}em{font-weight:400}img{display:block;width:100%;height:100%;object-fit:cover}button{color:inherit}a{text-decoration:none}.header{position:sticky;top:0;z-index:20;background:var(--ivory);border-bottom:1px solid var(--line)}.header-inner{max-width:1520px;margin:auto;padding:21px 4%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font:28px/1.05 var(--serif);letter-spacing:3px;white-space:nowrap}.brand small{display:block;font:8px/1.5 var(--sans);letter-spacing:2.7px;margin-top:8px}.desktop-nav{display:flex;gap:25px;align-items:center;font-size:12px}.desktop-nav a:hover{color:var(--olive);text-decoration:underline;text-underline-offset:6px}.header-actions{display:flex;align-items:center;gap:18px}.lang{background:none;border:0;padding:10px 0;font-size:11px;letter-spacing:1px;white-space:nowrap}.lang span{opacity:.5}.lang b{font-weight:600}.button{display:inline-flex;gap:20px;align-items:center;justify-content:center;padding:15px 24px;border:1px solid var(--olive);background:var(--olive);color:#fffdf6;font-size:12px;letter-spacing:.3px;transition:background .2s}.button:hover{background:#4d5637}.button.outline{color:var(--ink);background:transparent;border-color:#90967a}.button.outline:hover{background:var(--sand)}.text-link{display:inline-block;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:5px}.menu-button{display:none;border:0;background:none;padding:7px;font-size:24px}.hero-photo{height:clamp(360px,48vw,710px);background:var(--sand)}.hero-photo img{object-position:center 56%;filter:none}.hero-intro{max-width:1400px;margin:auto;padding:43px 5% 48px;display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}.eyebrow{display:block;font-size:10px;line-height:1.7;letter-spacing:2.8px;text-transform:uppercase;margin-bottom:20px;color:var(--olive)}.hero-intro h1 em{display:block}.hero-right{max-width:405px;justify-self:end}.hero-right p{color:var(--muted);margin-bottom:23px}.facts{border-block:1px solid var(--line);padding:25px 4%;display:flex;justify-content:center;gap:50px;flex-wrap:wrap;font-size:12px}.facts span+span:before{content:'·';margin-right:45px;color:#999d82}.section{max-width:1300px;margin:auto;padding:105px 5%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:43px}.section-head p{max-width:390px;color:var(--muted)}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:75px;align-items:center}.split.reverse{grid-template-columns:.9fr 1.1fr}.copy p{color:var(--muted);margin-top:24px}.copy .button,.copy .text-link{margin-top:27px}.picture{height:560px}.picture.arch{border-radius:260px 260px 0 0;overflow:hidden;height:550px}.picture.short{height:420px}.smallnote{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:15px}.sand-section{background:#ece8dc}.olive-section{background:#e4e7da}.floor-layout{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:45px;padding-top:30px;border-top:1px solid var(--line)}.floor-layout h3{font-size:29px;margin-bottom:14px}.floor-layout p{color:var(--muted);font-size:13px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.room-grid .room:first-child{grid-column:span 2}.room-photo{height:290px;position:relative;overflow:hidden;display:block;width:100%;padding:0;border:0;background:var(--sand)}.room-photo img{transition:transform .5s}.room-photo:hover img{transform:scale(1.035)}.room-caption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:17px 0}.room-caption h3{font-size:27px}.room-caption span{font-size:11px;color:var(--muted)}.full-photo{height:540px;position:relative}.full-photo img{object-position:center 55%}.full-photo .photo-caption{position:absolute;bottom:24px;left:5%;padding:10px 17px;background:var(--ivory);font-size:11px;letter-spacing:1px}.two-photos{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:52px}.two-photos figure{height:360px}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 35px;margin-top:47px}.feature{border-top:1px solid #c7ceba;padding-top:22px}.feature .num{font:italic 25px var(--serif);color:#81896b}.feature h3{font-size:26px;margin:14px 0 10px}.feature p{font-size:12px;color:var(--muted)}.gallery-filters{display:flex;flex-wrap:wrap;gap:9px;margin:30px 0}.gallery-filter{padding:10px 17px;border:1px solid var(--line);background:transparent;font-size:11px;color:var(--muted)}.gallery-filter[aria-pressed=true]{background:var(--olive);border-color:var(--olive);color:var(--paper)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-item{border:0;background:var(--sand);padding:0;aspect-ratio:4/3;position:relative;overflow:hidden}.gallery-item img{transition:transform .5s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item:after{content:'↗';position:absolute;right:12px;bottom:12px;background:var(--ivory);color:var(--ink);width:29px;height:29px;line-height:29px}.gallery-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:28px}.gallery-count{font-size:12px;color:var(--muted)}.reservation{background:var(--sand);padding:65px 6%;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.reservation h2{font-size:58px}.reservation p{margin-top:24px;color:var(--muted)}.reservation-panel{background:var(--paper);padding:37px;border:1px solid #d9d2c2}.reservation-panel h3{font-size:32px}.reservation-panel p{font-size:13px}.reservation-panel .button{margin-top:25px;width:100%}.reservation-panel .smallnote{text-align:center}.stay-list{list-style:none;margin:27px 0 0;padding:0;font-size:12px}.stay-list li{padding:11px 0;border-bottom:1px solid #cfc9b9}.stay-list li:before{content:'✓';margin-right:12px;color:var(--olive)}.region{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:50px}.region h3{font-size:29px}.region p{font-size:13px;color:var(--muted);margin-top:15px}.faq{max-width:900px;margin:auto}.faq h2{margin-bottom:35px}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq summary{cursor:pointer;font-size:14px;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+';font:24px var(--serif)}.faq details[open] summary:after{content:'−'}.faq details p{color:var(--muted);font-size:13px;margin-top:17px;max-width:730px}.footer{background:#e3e3d5;padding:60px 5% 25px}.footer-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:60px}.footer p{font-size:12px;color:var(--muted);margin-top:20px}.footer .eyebrow{margin-bottom:12px}.footer a{font-size:12px;display:block;margin-bottom:9px}.footer .brand{font-size:30px}.footer-base{max-width:1200px;margin:40px auto 0;border-top:1px solid #c5cab5;padding-top:22px;display:flex;gap:30px;justify-content:space-between;font-size:10px;color:var(--muted)}.footer-base button{background:none;border:0;padding:0;font-size:10px;text-decoration:underline}.mobile-stay{display:none}dialog{border:0;padding:0;max-width:none}dialog::backdrop{background:#1d251ddd}.lightbox{background:transparent;color:white;width:min(1400px,96vw);overflow:visible}.lightbox-inner{position:relative}.lightbox img{max-height:80vh;object-fit:contain;min-height:160px;width:100%}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;margin-top:15px;gap:15px;font-size:12px}.lightbox button{background:var(--ivory);border:0;color:var(--ink);padding:12px 18px;min-height:44px}.lightbox .close{position:absolute;right:0;top:-47px;padding:8px 13px}.legal{padding:40px;background:var(--ivory);width:min(650px,92vw);max-height:85vh;color:var(--ink)}.legal h2{font-size:38px;margin-bottom:22px}.legal p{font-size:13px;margin:15px 0}.legal button{margin-top:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}[hidden]{display:none!important}
@media(min-width:1600px){.hero-photo{height:760px}}@media(max-width:1050px){.desktop-nav{gap:15px}.header-inner{gap:15px}.desktop-nav a:nth-child(3){display:none}.brand{font-size:24px}.split,.split.reverse{gap:40px}.facts{gap:20px}.facts span+span:before{margin-right:20px}.reservation{gap:35px}.hero-intro{gap:35px}.section{padding-top:80px;padding-bottom:80px}}@media(max-width:760px){html{scroll-padding-top:90px}.header-inner{padding:18px 5%;gap:10px}.brand{font-size:23px}.brand small{font-size:7px;letter-spacing:1.9px}.header-actions{gap:15px}.header-actions>.button{display:none}.menu-button{display:block}.desktop-nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--ivory);padding:22px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:20px;font-size:14px}.desktop-nav.open{display:flex}.desktop-nav a:nth-child(3){display:block}.hero-photo{height:auto;aspect-ratio:3/2}.hero-photo img{object-fit:contain}.hero-intro{padding:33px 6% 36px;grid-template-columns:1fr;gap:24px}.hero-right{max-width:none;justify-self:stretch}.hero-intro h1{font-size:49px;letter-spacing:-1px}.eyebrow{margin-bottom:15px;font-size:9px;letter-spacing:2px}.hero-right p{font-size:13px;margin-bottom:20px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:23px 6%;font-size:11px}.facts span+span:before{display:none}.section{padding:63px 6%}.section-head{display:block;margin-bottom:30px}.section-head p{margin-top:22px}.split,.split.reverse{grid-template-columns:1fr;gap:32px}.picture,.picture.arch{height:410px}.picture.short{height:310px}.split.reverse .copy{order:2}.copy p{margin-top:20px;font-size:13px}.floor-layout{grid-template-columns:1fr;gap:25px;margin-top:32px}.room-grid{grid-template-columns:1fr 1fr;gap:18px}.room-grid .room:first-child{grid-column:span 2}.room-photo{height:230px}.room-grid .room:first-child .room-photo{height:280px}.room-caption{display:block}.room-caption h3{font-size:25px;margin-bottom:6px}.room-caption span{font-size:10px}.full-photo{height:350px}.two-photos{gap:15px;margin-top:30px}.two-photos figure{height:235px}.features{grid-template-columns:1fr 1fr;gap:28px 22px;margin-top:32px}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-filters{gap:7px}.gallery-filter{padding:9px 12px;font-size:10px}.gallery-bottom{flex-direction:column;align-items:flex-start}.reservation{padding:40px 7%;grid-template-columns:1fr;gap:32px}.reservation h2{font-size:46px}.reservation-panel{padding:28px}.region{grid-template-columns:1fr;gap:35px;margin-top:32px}.faq summary{font-size:13px}.footer{padding-bottom:100px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-base{flex-direction:column;gap:14px;margin-top:30px}.mobile-stay{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;background:var(--ivory);z-index:25;padding:12px 5%;box-shadow:0 -3px 15px #39422b12;border-top:1px solid var(--line)}.mobile-stay small{font-size:10px;display:block;color:var(--muted)}.mobile-stay span{font:21px var(--serif)}.mobile-stay .button{padding:12px 20px;font-size:11px}.lightbox img{max-height:70vh}.lightbox-controls{flex-wrap:wrap}.lightbox-controls p{width:100%;order:3;text-align:center}.lightbox button{padding:10px 14px}.legal{padding:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

#reservation .reservation{grid-template-columns:1fr}#booking-panel{padding:24px;background:var(--paper);min-width:0}#booking-online{width:100%}@media(max-width:760px){#reservation .reservation{padding:30px 5%}#booking-panel{padding:12px}}
