:root{--wine:#9c3b3b;--wine-dark:#702a30;--gold:#e0d0b8;--ivory:#fdfaf7;--cream:#f2ece4;--ink:#282525;--muted:#655e58;--line:#ddd1c4;--serif:'Playfair Display',Georgia,serif;--sans:'Montserrat',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:125px}body{margin:0;background:var(--ivory);color:var(--ink);font:1.0625rem/1.85 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;width:100%;height:auto;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer;background:none;border:0}button,a{-webkit-tap-highlight-color:transparent}input,select,textarea{max-width:100%}h1,h2,h3,h4,p,figure,blockquote{margin:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.19;letter-spacing:-.035em}h1{font-size:clamp(3rem,5.3vw,5rem)}h2{font-size:clamp(2rem,3.5vw,3.35rem)}h3{font-size:1.85rem}em{color:var(--wine);font-weight:400}p{color:var(--muted)}p+p{margin-top:1.15rem}address{font-style:normal}small{font-size:.875rem}ul,ol{padding-left:1.3rem}li+li{margin-top:.65rem}[hidden]{display:none!important}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #af7637;outline-offset:5px}a:hover{color:var(--wine)}.shell{width:min(1280px,calc(100% - 96px));margin-inline:auto}.section{padding-block:90px}.eyebrow{font-size:.875rem;letter-spacing:.15em;line-height:1.6;text-transform:uppercase;font-weight:600;color:var(--wine);margin-bottom:20px}.lead{font-size:1.25rem;line-height:1.8}.actions{display:flex;gap:16px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:58px;padding:15px 25px;background:var(--wine);border:1px solid var(--wine);color:#fff;font-size:1rem;line-height:1.5;font-weight:600;transition:background .2s,border-color .2s;text-align:left}.button:hover{background:var(--wine-dark);border-color:var(--wine-dark);color:white}.button>span{font-size:1.5rem;font-weight:400}.button.gold{background:var(--gold);border-color:var(--gold);color:#332823}.button.gold:hover{background:#f3e6d3;border-color:#f3e6d3}.button.outline-light{background:transparent;color:white;border-color:#ffffff80}.button.outline-light:hover{background:#ffffff15;border-color:white}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font-size:1rem;font-weight:600;line-height:1.6;min-height:48px;padding-block:12px;border-bottom:1px solid #af8d79;color:var(--wine);text-align:left}.text-link>span{font-size:1.5rem;font-weight:400}.text-link:hover{color:var(--wine-dark);border-color:var(--wine-dark)}.skip-link{position:fixed;left:20px;top:-150px;background:white;padding:15px;z-index:1000}.skip-link:focus{top:20px}
.utility{background:var(--wine-dark);color:#faeee4;min-height:36px;padding:5px max(48px,calc((100% - 1280px)/2));display:flex;align-items:center;justify-content:space-between;font-size:.8125rem;line-height:1.5;gap:20px}.utility a:hover{color:white}.utility b{font-weight:500;margin-left:14px}.header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:98px;padding:12px max(36px,calc((100% - 1320px)/2));background:#fdfaf7f7;border-bottom:1px solid #e5dcd2;backdrop-filter:blur(16px)}.brand{flex:none;display:block;width:168px}.brand img{height:67px;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:26px}.desktop-nav>a{font-size:.9375rem;font-weight:500;white-space:nowrap;min-height:48px;display:flex;align-items:center;border-bottom:1px solid transparent}.desktop-nav>a[aria-current=page]{color:var(--wine);border-color:var(--wine)}.header-actions{display:flex;align-items:center;gap:20px}.header-book{min-height:50px;padding:12px 21px;gap:24px}.menu>summary{display:flex;align-items:center;gap:12px;cursor:pointer;min-height:50px;font-size:.875rem;font-weight:600;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu summary i{font-style:normal;font-size:1.5rem;font-weight:400}.menu[open]>summary{color:var(--wine)}.menu-panel{position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 160px);overflow:auto;background:var(--ivory);border-top:1px solid var(--line);box-shadow:0 30px 45px #20171930;padding:30px max(48px,calc((100% - 1280px)/2)) 35px}.menu-title{font:2rem/1.4 var(--serif);color:var(--wine);margin-bottom:20px}.menu-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 42px}.menu-links>a{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:1rem;padding:12px 0;border-bottom:1px solid var(--line);min-height:50px}.menu-links>a>span{font-size:1.4rem}.menu-phone{display:inline-block;margin-top:25px;font-size:1.25rem;color:var(--wine)}.menu-phone small{display:block;color:var(--muted)}
.home-hero{position:relative;background:#322421;color:white;min-height:650px;height:calc(100svh - 134px);max-height:900px;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-photo{object-position:center 44%}.hero-shade{background:linear-gradient(90deg,#1f1118c9 0%,#25171b8c 43%,#1f181d2e 100%),linear-gradient(0deg,#241717b3,transparent 45%)}.hero-content{position:relative;z-index:1;display:flex;justify-content:center;flex-direction:column;height:100%;padding-block:75px 120px;align-items:flex-start}.hero-content>.eyebrow{color:var(--gold);margin-bottom:28px}.home-hero h1{font-size:clamp(3.5rem,5.5vw,5.4rem);max-width:1000px;line-height:1.14;letter-spacing:-.04em}.home-hero h1 em{color:var(--gold);font-size:.92em}.hero-content>p:not(.eyebrow){color:#fff4ea;font-size:1.2rem;line-height:1.85;margin-top:28px}.hero-content>.actions{margin-top:35px}.hero-caption{position:absolute;left:0;right:0;bottom:30px;border-top:1px solid #e0d0b850;padding-top:20px;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:#ecded0;gap:20px}.hero-caption>a{font-weight:600;display:flex;align-items:center;gap:20px;min-height:44px}.hero-caption>a:hover{color:white}.benefits{background:var(--cream);border-bottom:1px solid var(--line)}.benefits>.shell{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:25px;gap:20px}.benefits a{display:flex;align-items:center;gap:15px;min-height:72px}.benefit-icon{font:1.6rem/1 var(--serif);border:1px solid #c7b298;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;flex:none;color:var(--wine)}.benefits a>span:last-child{font-size:.9375rem;font-weight:500;line-height:1.5}.benefits small{display:block;color:var(--muted);font-weight:400;margin-top:6px;font-size:.8125rem}.welcome,.hotel-intent{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.welcome .lead{color:var(--ink);margin-bottom:22px}.welcome .text-link,.hotel-intent .text-link{margin-top:20px}.section-heading{display:grid;grid-template-columns:1fr minmax(310px,.75fr);align-items:end;gap:80px;margin-bottom:40px}.section-heading>div:last-child>p{max-width:500px}.section-heading .text-link{margin-top:17px}.rooms-home{padding-top:20px}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 28px}.room-card{min-width:0}.room-picture{position:relative;display:block;overflow:hidden;background:#e9ded2}.room-picture img{aspect-ratio:1.19;height:auto;transition:transform .6s ease}.room-picture:hover img{transform:scale(1.035)}.picture-tag{position:absolute;left:18px;top:18px;padding:6px 12px;background:#fdfaf7f0;font-size:.8125rem;color:var(--wine-dark)}.picture-arrow{position:absolute;right:16px;bottom:16px;background:#fdfaf7f0;color:var(--wine);width:45px;height:45px;display:grid;place-items:center;font-size:1.5rem}.room-card-copy{padding-top:24px}.room-card h3{font-size:1.9rem}.room-tags{display:flex;gap:5px 14px;flex-wrap:wrap;margin-block:15px;color:#67574b;font-size:.875rem;line-height:1.65}.room-tags span+span:before{content:'·';margin-right:14px}.room-card p{font-size:1rem;line-height:1.8;min-height:85px}.room-card .text-link{width:100%;margin-top:16px}
.editorial{display:grid;grid-template-columns:1fr 1fr;background:var(--cream);align-items:center}.editorial-images{position:relative;min-height:650px;align-self:stretch;padding:0 50px 70px 0}.editorial-images>img:first-child{height:100%;min-height:550px}.editorial-images .inset-photo{position:absolute;right:0;bottom:0;width:40%;height:290px;border:12px solid var(--cream)}.editorial-copy{padding:80px min(9vw,135px) 80px 75px}.editorial-copy>p:not(.eyebrow){margin-top:25px}.editorial-copy .text-link{margin-top:25px}.wellness-home{background:#272223;color:var(--ivory)}.wellness-home .eyebrow,.wellness-home em{color:var(--gold)}.wellness-home p{color:#dbd0c7}.wellness-home .text-link{color:var(--gold);border-color:#837264}.wellness-home a:hover{color:white}.wellness-grid,.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.feature-card{min-width:0}.feature-photo{position:relative;display:block;overflow:hidden}.feature-photo>img{aspect-ratio:1.24;transition:transform .55s;height:auto}.feature-photo:hover img{transform:scale(1.035)}.feature-photo>span{position:absolute;bottom:16px;right:16px;display:grid;place-items:center;background:#fdfaf7f0;color:var(--wine);width:45px;height:45px;font-size:1.5rem}.feature-card>div{padding-top:25px}.feature-card .eyebrow{font-size:.8125rem;margin-bottom:13px}.feature-card h3{font-size:1.8rem;letter-spacing:-.02em}.feature-card p{margin-top:18px;font-size:1rem;line-height:1.8}.feature-card .text-link{margin-top:16px;width:100%}.wellness-bottom{margin-top:40px;border-top:1px solid #705f58;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.9375rem;color:var(--gold)}.arrival-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}.arrival-grid .feature-card{display:grid;grid-template-columns:.85fr 1fr;gap:25px;align-items:start}.arrival-grid .feature-photo{height:100%;min-height:355px}.arrival-grid .feature-photo>img{height:100%;object-fit:cover}.arrival-grid .feature-card>div{padding-top:6px}.arrival-grid h3{font-size:1.7rem}.group-promo{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;background:var(--cream);position:relative;margin-top:12px}.group-promo>div:first-child{padding:60px 60px 60px 50px}.group-promo p:not(.eyebrow){margin-top:25px}.group-promo .button{margin-top:28px}.group-promo>div:last-child{height:100%;min-height:510px;position:relative}.group-promo img{height:100%;position:absolute;inset:0}.number-stamp{position:absolute;bottom:25px;right:25px;background:var(--wine);color:#fff5ea;padding:20px 25px;text-align:center;display:flex;flex-direction:column;line-height:1.4;font-size:.875rem}.number-stamp b{font:3.7rem/1.1 var(--serif);margin-bottom:5px}.reviews-home{background:var(--cream);text-align:center}.reviews-home .shell{max-width:950px}.review-slider{margin-top:40px}.review-slider blockquote{min-height:180px}.review-slider blockquote>p{font:1.65rem/1.7 var(--serif);color:var(--ink)}blockquote footer{display:flex;flex-direction:column;gap:6px;margin-top:24px;font-size:1rem}blockquote footer span{font-size:.8125rem;color:var(--muted)}.review-controls{display:flex;gap:20px;align-items:center;justify-content:center;margin:26px 0 12px;font-size:.875rem}.review-controls button{border:1px solid #c2ab94;border-radius:50%;width:48px;height:48px;font-size:1.4rem;display:grid;place-items:center}.review-controls button:hover{background:var(--wine);color:white;border-color:var(--wine)}.hotel-intent{border-bottom:1px solid var(--line)}.home-faq{padding-top:70px}.faq-row{border-bottom:1px solid var(--line);padding-block:2px}.faq-row>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;font-weight:500;cursor:pointer;padding:21px 0;font-size:1.0625rem;line-height:1.7;min-height:66px}.faq-row>summary::-webkit-details-marker{display:none}.faq-row>summary:after{content:'+';font:1.65rem/1 var(--sans);font-weight:300;flex:none;color:var(--wine)}.faq-row[open]>summary:after{content:'−'}.faq-row[open]>summary{color:var(--wine)}.faq-row>div{padding:0 45px 25px 0;color:var(--muted);max-width:1000px}.faq-row>div a{color:var(--wine);text-decoration:underline;text-underline-offset:4px}.info-links{display:grid;margin-top:26px}.info-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.65;min-height:60px}.info-link>span{font-size:1.4rem;flex:none;color:var(--wine)}.home-faq>.info-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-top:45px}.closing{padding:82px 0;background:var(--wine-dark);color:#fff5eb;text-align:center}.closing .eyebrow,.closing em{color:var(--gold)}.closing h2{font-size:clamp(2.6rem,4.8vw,4.4rem)}.closing p:not(.eyebrow){color:#f1dcd0;margin-top:20px}.closing .button{margin-top:30px}
body>footer{background:#262223;color:#f1e8df;padding:68px 0 0}.footer-main{display:grid;grid-template-columns:1.25fr 1fr 1.1fr 1fr;gap:45px}.footer-brand img{width:180px;height:auto;object-fit:contain;margin-bottom:25px}.footer-brand p{color:#d5c5b8;font-size:.9375rem;margin-bottom:20px}.footer-brand address{font-size:.9375rem;color:#dfd3c9;line-height:1.9;margin-bottom:16px}.footer-brand>a{display:block;font-size:.875rem;overflow-wrap:anywhere;padding-block:5px;min-height:36px}.footer-column h3{font:500 1rem/1.6 var(--sans);margin-bottom:17px;color:var(--gold)}.footer-column>a{font-size:.875rem;line-height:1.7;display:block;padding-block:7px;min-height:38px;color:#e0d5cc}.footer-column>a:hover,.footer-brand>a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid #534743;margin-top:45px;padding-block:24px;display:flex;justify-content:space-between;gap:20px;font-size:.8125rem;color:#cbbbae}.footer-bottom>div{display:flex;gap:22px;flex-wrap:wrap}.footer-bottom a:hover{color:white}.mobile-dock{display:none}
.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:.875rem;color:var(--muted);line-height:1.7;margin-bottom:32px}.breadcrumbs a{min-height:36px;display:inline-flex;align-items:center}.breadcrumbs [aria-current]{color:var(--wine)}.masthead{padding:30px 0 62px;background:var(--cream)}.masthead h1{max-width:1060px}.masthead .lead{max-width:860px;margin-top:25px}.masthead.with-photo{padding-bottom:0}.masthead.with-photo>.shell{padding-bottom:45px}.masthead.with-photo>img{height:clamp(300px,34vw,470px);object-position:center}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.filter-button{border:1px solid #cab9a7;padding:12px 19px;min-height:50px;font-size:.9375rem;line-height:1.5;transition:background .2s}.filter-button[aria-pressed=true]{background:var(--wine);color:white;border-color:var(--wine)}.filter-button:hover{border-color:var(--wine)}.results-count{font-size:.875rem;margin-bottom:28px;min-height:26px}.room-guide{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line)}.room-guide h2{margin-bottom:25px}.room-guide .button{margin-top:25px}.amenity-grid{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;font-size:1rem;margin:28px 0}.amenity-grid li{display:flex;align-items:flex-start;gap:10px;margin:0}.amenity-grid li>span{color:var(--wine);font-size:1rem}.room-detail{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:60px;padding-block:60px 40px;align-items:start}.inline-gallery{min-width:0}.gallery-main{position:relative;background:var(--cream);scroll-margin-top:120px}.gallery-main>img{width:100%;height:auto;aspect-ratio:1.4;object-fit:cover}.photo-number{position:absolute;bottom:18px;right:18px;background:#fdfaf7f2;padding:7px 15px;font-size:.875rem;color:var(--wine-dark)}.thumbnails{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.thumbnails>button{padding:4px;border:2px solid transparent;display:block}.thumbnails>button[aria-pressed=true]{border-color:var(--wine)}.thumbnails img{aspect-ratio:1.6;height:auto}.booking-card{position:sticky;top:128px;background:var(--cream);padding:30px;border-top:4px solid var(--wine);min-width:0}.booking-card h2{font-size:2.1rem}.booking-card p{margin-top:20px;font-size:1rem;line-height:1.8}.booking-card .button{width:100%;margin-top:25px;font-size:.9375rem;padding-inline:17px;gap:12px}.booking-benefits{display:grid;gap:12px;font-size:.9375rem;margin-top:25px;color:#5e5047}.phone-link{display:block;border-top:1px solid var(--line);margin-top:25px;padding-top:20px;font-size:.875rem}.phone-link b{display:block;font-size:1.1rem;color:var(--wine);font-weight:500}.room-description{padding-top:50px}.room-description h2{font-size:2rem;margin-bottom:22px}.room-description p{margin-bottom:18px}.room-description h2:not(:first-child){margin-top:38px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:100px;padding-block:70px;align-items:start}.article-section{margin-bottom:45px}.article-section:last-child{margin:0}.article-section h2{font-size:2.2rem;margin-bottom:22px}.article-copy p,.article-copy li{font-size:1.0625rem;line-height:1.95}.article-copy a:not(.text-link){color:var(--wine);text-decoration:underline;text-underline-offset:4px}.article-aside{position:sticky;top:128px;border-top:2px solid var(--wine);padding-top:24px}.article-aside h2{font-size:1.9rem;margin-bottom:20px}.article-aside p{font-size:1rem}.article-aside>.button{margin-top:25px;width:100%}.article-aside>.large-phone{margin-top:25px}.article-aside>a:not(.button){overflow-wrap:anywhere}.photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:30px 0}.photo-strip>img{height:auto;aspect-ratio:1.25}.photo-strip:has(>img:only-child){grid-template-columns:1fr;max-width:920px}.photo-strip:has(>img:only-child)>img{aspect-ratio:1.8}.practical-panel{background:var(--cream);padding:35px}.practical-panel ul{margin:0 0 20px}.steps{counter-reset:step;list-style:none;padding:0;margin-top:25px}.steps li{position:relative;padding:5px 0 24px 65px;counter-increment:step}.steps li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:0;width:43px;height:43px;display:grid;place-items:center;background:var(--cream);color:var(--wine);font-size:1rem}.steps strong{font-weight:600}.steps p{margin-top:10px}.large-phone{display:block;font-size:1.5rem;color:var(--wine);font-weight:500;line-height:1.8;overflow-wrap:anywhere}.fact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-block:1px solid var(--line);padding-block:25px}.fact-grid>div{display:flex;flex-direction:column;text-align:center;gap:8px}.fact-grid b{font:3.7rem/1.4 var(--serif);color:var(--wine)}.fact-grid span{font-size:.9375rem;color:var(--muted)}
.form-section{padding-block:30px 90px;max-width:1000px}.inquiry-form{background:var(--cream);padding:48px}.inquiry-form>p:not(.eyebrow){margin-top:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:32px 0}.form-grid label{display:flex;flex-direction:column;gap:9px;font-size:.9375rem;color:#4e4640}.form-grid .wide{grid-column:1/-1}input:not([type=checkbox]),select,textarea{background:var(--ivory);border:1px solid #b9a996;padding:13px 15px;min-height:52px;width:100%;border-radius:0;font-size:1rem;color:var(--ink)}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--wine)}fieldset{border:1px solid #c8b9a7;padding:18px 22px;margin:0 0 28px}fieldset legend{font-size:.9375rem}fieldset label{display:flex;gap:12px;align-items:center;font-size:1rem;min-height:40px}fieldset input{width:20px;height:20px;accent-color:var(--wine)}.form-note{font-size:.875rem!important;line-height:1.8;color:var(--muted);margin-top:20px}.form-note a{text-decoration:underline;text-underline-offset:4px}.draft-output{padding:25px;background:var(--ivory);margin-top:30px;border:1px solid var(--line);overflow-wrap:anywhere}.draft-output pre{white-space:pre-wrap;font:1rem/1.9 var(--sans);margin-block:20px}.draft-output .actions{margin-top:20px}.search-controls{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;margin-bottom:22px}.search-controls label{display:flex;flex-direction:column;gap:10px;font-size:.9375rem;font-weight:500}.attractions-list{border-top:1px solid var(--line)}.attraction{display:grid;grid-template-columns:80px minmax(0,1fr);gap:28px;padding-block:38px;border-bottom:1px solid var(--line);scroll-margin-top:125px}.attraction-number{font:2.5rem/1.5 var(--serif);color:#9e7a63}.attraction h2{font-size:2rem;margin-bottom:18px}.attraction p{max-width:950px}.attraction .eyebrow{font-size:.8125rem;margin-bottom:10px}.attraction .text-link{margin-top:12px}.empty-state{background:var(--cream);padding:35px;text-align:center;margin-block:20px}.empty-state a{text-decoration:underline}.faq-page{max-width:1050px}.gallery-page{padding-block:55px 90px}.gallery-page .gallery-main{max-width:1100px;margin:auto}.gallery-page .gallery-main>img{aspect-ratio:1.7;object-fit:contain;background:#ede4d9}.gallery-caption{text-align:center;margin:20px auto 40px;font-size:.9375rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-tile{padding:0;text-align:left;border:2px solid transparent;background:var(--cream);min-width:0}.gallery-tile[aria-pressed=true]{border-color:var(--wine)}.gallery-tile img{aspect-ratio:1.4;height:auto}.gallery-tile>span{padding:12px 14px;display:flex;justify-content:space-between;gap:15px;font-size:.8755rem;line-height:1.6}.gallery-tile i{font-style:normal;font-size:1.2rem;color:var(--wine)}.reviews-list{display:grid;grid-template-columns:1fr 1fr;gap:30px}.reviews-list blockquote{position:relative;background:var(--cream);padding:35px}.reviews-list blockquote>p{font:1.35rem/1.85 var(--serif);color:var(--ink)}.quote-symbol{font:4.5rem/1 var(--serif);color:var(--wine);display:block;height:58px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:70px}.contact-card{border-bottom:1px solid var(--line);padding-bottom:40px}.contact-card address{margin:25px 0;font-size:1.2rem;line-height:1.85}.contact-card .large-phone{margin:25px 0 15px}.contact-card .text-link{overflow-wrap:anywhere;font-size:.9375rem;word-break:break-word}.arrival-note{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;border-top:1px solid var(--line)}.arrival-note>img{aspect-ratio:1.15;height:auto}.arrival-note h2{margin-bottom:25px}.reservation-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:50px;padding-block:60px 90px;align-items:start}.reservation-main>img{aspect-ratio:1.7;height:auto}.reservation-main>div{padding:35px;background:var(--cream)}.reservation-main p{margin-top:22px}.reservation-main .button{margin-top:25px}.reservation-layout .booking-card{background:var(--ivory)}.reservation-layout li{font-size:1rem;line-height:1.8}.document-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:70px;padding-block:65px 90px;align-items:start}.document-nav{position:sticky;top:128px}.document-nav h2{font-size:1.8rem}.document-nav .info-link{font-size:.9375rem}.document-copy{min-width:0;overflow-wrap:anywhere}.document-copy h2{font-size:1.75rem;margin-block:38px 22px}.document-copy h3{font-size:1.4rem;margin-block:25px 15px}.document-copy p,.document-copy li{font-size:1rem;line-height:1.95;color:var(--muted)}.document-copy p+p{margin-top:16px}.document-copy ul{margin-block:18px 28px}.document-copy a{color:var(--wine);text-decoration:underline;text-underline-offset:4px}.document-copy .rule-card{border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:26px}.document-copy .rule-subheading{font-size:1.05rem;font-weight:600;margin:24px 0 14px}.document-copy .alert-box{padding:22px;background:var(--cream);margin-block:25px}.document-copy .alert-title{font-weight:600;color:var(--wine);margin-bottom:12px}.document-copy details{border-bottom:1px solid var(--line);padding:15px 0}.document-copy summary{cursor:pointer;padding:10px 0;font-weight:500;font-size:1rem;line-height:1.7;min-height:48px}.document-copy details>div{padding-block:15px;color:var(--muted);font-size:1rem;line-height:1.95}.document-copy .rules-tag{font-size:.875rem;color:var(--wine)}.document-copy img{max-height:480px;width:auto}.document-copy .faq-answer{display:block!important}.document-copy .willa-legal-notice{padding:20px;background:var(--cream)}
@media(max-width:1200px){.shell{width:calc(100% - 64px)}.header{padding-inline:28px;gap:18px}.desktop-nav{gap:18px}.desktop-nav>a{font-size:.875rem}.brand{width:145px}.header-actions{gap:16px}.header-book{padding-inline:16px;gap:16px}.menu>summary>span{display:none}.utility{padding-inline:32px}.benefits>.shell{gap:12px}.benefits a{gap:10px}.benefit-icon{width:38px;height:38px;font-size:1.3rem}.benefits a>span:last-child{font-size:.875rem}.welcome,.hotel-intent,.section-heading{gap:50px}.editorial-copy{padding:55px 40px 55px 50px}.editorial-images{min-height:580px}.arrival-grid .feature-card{grid-template-columns:1fr}.arrival-grid .feature-photo{min-height:0;height:330px}.arrival-grid .feature-card>div{padding-top:0}.group-promo>div:first-child{padding:40px}.article-layout{gap:55px;grid-template-columns:minmax(0,1fr) 275px}.room-detail{gap:35px;grid-template-columns:minmax(0,1fr) 300px}.booking-card{padding:25px}.footer-main{gap:28px;grid-template-columns:1.1fr 1fr 1.1fr}.footer-column:last-child{grid-column:2/4}.footer-column:last-child>a{display:inline-block;margin-right:25px}.document-layout{gap:40px;grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:1000px){.desktop-nav{display:none}.header{min-height:88px;padding-block:10px}.brand{width:157px}.brand img{height:60px}.menu>summary>span{display:block}.menu-links{grid-template-columns:1fr 1fr}.home-hero{height:720px;min-height:0}.home-hero h1{font-size:4rem}.hero-content{padding-block:65px 105px}.benefits>.shell{grid-template-columns:1fr 1fr;padding-block:20px;gap:8px 30px}.benefits a{gap:16px}.benefits a>span:last-child{font-size:1rem}.benefits small{font-size:.875rem}.section{padding-block:65px}.welcome,.hotel-intent{gap:40px}.section-heading{grid-template-columns:1fr 1fr;gap:30px}.room-grid{grid-template-columns:1fr 1fr;gap:40px 24px}.rooms-home .room-card:last-child{display:none}.wellness-grid,.area-grid{gap:24px}.feature-card h3{font-size:1.55rem}.editorial-images{min-height:520px;padding-right:25px}.editorial-images>img:first-child{min-height:420px}.editorial-images .inset-photo{width:50%;height:220px;border-width:8px}.editorial-copy{padding:45px 30px}.editorial-copy h2{font-size:2.25rem}.group-promo{grid-template-columns:1fr 1fr}.group-promo>div:first-child{padding:35px}.group-promo>div:last-child{min-height:530px}.footer-main{grid-template-columns:1fr 1fr;gap:40px}.footer-column:last-child{grid-column:auto}.footer-column:last-child>a{display:block;margin-right:0}.footer-bottom{flex-wrap:wrap}.room-detail{grid-template-columns:minmax(0,1fr) 280px;gap:25px}.room-card p{min-height:0}.article-layout{gap:38px;grid-template-columns:minmax(0,1fr) 260px}.article-section h2{font-size:1.9rem}.photo-strip{gap:14px}.room-guide{gap:40px}.amenity-grid{grid-template-columns:1fr}.room-description .amenity-grid{grid-template-columns:1fr 1fr}.reservation-layout{grid-template-columns:minmax(0,1fr) 280px;gap:25px}.document-layout{grid-template-columns:1fr}.document-nav{position:static}.document-nav .info-links{grid-template-columns:1fr 1fr;gap:0 30px}.contact-grid,.arrival-note{gap:40px}.fact-grid{gap:20px}.fact-grid b{font-size:3rem}}
@media(max-width:760px){html{scroll-padding-top:105px}body{font-size:1rem}.shell{width:calc(100% - 40px)}.section{padding-block:52px}.utility{padding:7px 20px;min-height:32px;justify-content:center;font-size:.75rem}.utility>span{display:none}.utility b{margin-left:9px}.header{padding:8px 20px;min-height:82px;gap:12px}.brand{width:145px}.brand img{height:58px}.header-actions{gap:18px}.header-book{display:none}.menu>summary{font-size:.9375rem;gap:11px}.menu-panel{padding:22px 20px 28px;max-height:calc(100dvh - 160px)}.menu-title{font-size:1.65rem}.menu-links{grid-template-columns:1fr;gap:0}.menu-links>a{font-size:1rem;min-height:52px}.menu-phone{font-size:1.15rem}.home-hero{height:660px;max-height:none;min-height:0}.hero-photo{object-position:59% center}.hero-shade{background:linear-gradient(0deg,#29171be6,#29171b66 90%),linear-gradient(90deg,#1f111a66,transparent)}.hero-content{padding-block:45px 95px;justify-content:center}.hero-content>.eyebrow{font-size:.75rem;line-height:1.8;letter-spacing:.12em;max-width:280px;margin-bottom:22px}.home-hero h1{font-size:clamp(2.8rem,7.7vw,3.8rem);line-height:1.18;letter-spacing:-.04em}.home-hero h1 em{font-size:.91em}.hero-content>p:not(.eyebrow){font-size:1rem;line-height:1.9;margin-top:25px}.hero-content>.actions{display:grid;width:100%;max-width:400px;gap:12px;margin-top:25px}.hero-content .button{min-height:56px}.hero-caption{bottom:16px;padding-top:12px;font-size:.8125rem;gap:12px}.hero-caption>span{display:none}.hero-caption>a{width:100%;justify-content:space-between}.button{font-size:1rem;min-height:56px;padding:14px 20px}.benefits>.shell{padding-block:20px;gap:16px 12px}.benefits a{align-items:flex-start;gap:9px;min-height:76px}.benefit-icon{width:32px;height:32px;font-size:1.2rem;margin-top:2px}.benefits a>span:last-child{font-size:.875rem;line-height:1.65}.benefits small{font-size:.75rem;line-height:1.55;margin-top:5px}.eyebrow{font-size:.8125rem;letter-spacing:.12em;margin-bottom:16px}h1{font-size:clamp(2.6rem,8vw,3.3rem)}h2{font-size:2.25rem;line-height:1.23}h3{font-size:1.8rem}.lead{font-size:1.1rem}.welcome,.hotel-intent,.section-heading{grid-template-columns:1fr;gap:27px}.welcome .lead{margin-bottom:18px}.welcome .text-link{margin-top:15px}.rooms-home{padding-top:0}.section-heading{margin-bottom:30px}.section-heading .text-link{margin-top:13px}.room-grid{grid-template-columns:1fr;gap:38px}.rooms-home .room-card:last-child{display:block}.room-picture img{aspect-ratio:1.28}.room-card-copy{padding-top:20px}.room-card h3{font-size:1.9rem}.room-tags{font-size:.875rem;gap:3px 12px;margin-block:12px}.room-card p{font-size:1rem;min-height:0}.room-card .text-link{margin-top:12px}.text-link{font-size:1rem;min-height:50px}.picture-tag{font-size:.8125rem;left:13px;top:13px}.editorial{grid-template-columns:1fr}.editorial-images{height:410px;min-height:0;padding:0 45px 55px 0}.editorial-images>img:first-child{min-height:0;height:100%}.editorial-images .inset-photo{height:210px;width:38%;right:16px}.editorial-copy{padding:38px 20px 50px}.editorial-copy h2{font-size:2.25rem}.editorial-copy>p:not(.eyebrow){margin-top:20px}.wellness-grid,.area-grid{grid-template-columns:1fr;gap:38px}.feature-photo>img{aspect-ratio:1.35}.feature-card>div{padding-top:20px}.feature-card h3{font-size:1.8rem}.feature-card p{margin-top:15px}.feature-card .text-link{margin-top:12px}.wellness-bottom{flex-direction:column;align-items:stretch;font-size:.875rem;gap:5px;margin-top:30px}.arrival-grid{grid-template-columns:1fr;gap:40px}.arrival-grid .feature-card{gap:22px}.arrival-grid .feature-photo{height:300px}.arrival-grid .feature-card:first-child .feature-photo>img{object-fit:contain;background:#eee5d9}.arrival-grid h3{font-size:1.8rem}.group-promo{grid-template-columns:1fr;margin-top:0}.group-promo>div:first-child{padding:35px 25px}.group-promo>div:last-child{min-height:330px}.group-promo p:not(.eyebrow){margin-top:20px}.number-stamp{bottom:18px;right:18px;padding:16px 22px}.number-stamp b{font-size:3rem}.review-slider{margin-top:30px}.review-slider blockquote{min-height:0}.review-slider blockquote>p{font-size:1.35rem;line-height:1.75}blockquote footer{font-size:.9375rem}blockquote footer span{font-size:.8125rem}.review-controls{margin-top:25px}.faq-row>summary{font-size:1rem;line-height:1.75;gap:18px;padding-block:18px}.faq-row>div{font-size:1rem;padding-right:10px;line-height:1.9}.home-faq>.info-links{grid-template-columns:1fr;margin-top:30px}.info-link{font-size:1rem;padding-block:17px;min-height:58px}.closing{padding-block:55px}.closing h2{font-size:2.7rem}.closing p:not(.eyebrow){font-size:1rem}.closing .button{width:100%;max-width:380px}.masthead{padding:15px 0 40px}.breadcrumbs{font-size:.8125rem;gap:8px;margin-bottom:24px}.masthead .lead{margin-top:20px;font-size:1.1rem;line-height:1.8}.masthead.with-photo>.shell{padding-bottom:32px}.masthead.with-photo>img{height:280px}.filter-bar{gap:9px;margin-bottom:14px}.filter-button{padding:11px 15px;font-size:.875rem;min-height:48px}.results-count{font-size:.875rem;margin-bottom:22px}.room-guide{grid-template-columns:1fr;gap:35px}.room-guide h2{margin-bottom:20px}.amenity-grid{grid-template-columns:1fr 1fr;font-size:.9375rem;gap:13px 15px}.room-detail{grid-template-columns:1fr;padding-block:30px 10px;gap:35px}.booking-card{position:static;padding:26px}.booking-card .button{font-size:1rem}.room-description{padding-top:35px}.room-description h2{font-size:1.9rem}.room-description p{font-size:1rem}.room-description .amenity-grid{font-size:.9375rem}.room-description .info-links{margin-top:20px}.room-detail>.booking-card{grid-row:2}.gallery-main>img{aspect-ratio:1.25;object-fit:contain}.photo-number{font-size:.8125rem;bottom:12px;right:12px}.thumbnails{gap:8px;margin-top:8px}.thumbnails>button{padding:2px}.thumbnails img{aspect-ratio:1.4}.article-layout{grid-template-columns:1fr;padding-block:45px;gap:35px}.article-aside{position:static;padding:28px;background:var(--cream)}.article-section h2{font-size:1.85rem;margin-bottom:18px}.article-section{margin-bottom:35px}.article-copy p,.article-copy li{font-size:1rem;line-height:1.9}.photo-strip{grid-template-columns:1fr 1fr;gap:12px;margin-block:25px}.photo-strip:has(>img:only-child)>img{aspect-ratio:1.35}.practical-panel{padding:26px}.steps li{padding-left:52px}.steps li:before{width:35px;height:35px;font-size:.875rem}.large-phone{font-size:1.35rem}.fact-grid{grid-template-columns:1fr 1fr;gap:24px 12px}.fact-grid b{font-size:3rem}.fact-grid span{font-size:.8755rem}.form-section{padding-block:15px 55px}.inquiry-form{padding:28px 20px}.form-grid{grid-template-columns:1fr;gap:20px;margin-block:25px}.form-grid .wide{grid-column:auto}.form-grid label{font-size:1rem}.inquiry-form h2{font-size:1.9rem}.inquiry-form .button{width:100%;font-size:.9375rem;gap:15px}fieldset{padding:15px}fieldset label{font-size:.9375rem;line-height:1.7}.draft-output{padding:18px}.draft-output pre{font-size:.9375rem}.search-controls{grid-template-columns:1fr;gap:18px}.search-controls label{font-size:.9375rem}.attraction{grid-template-columns:38px minmax(0,1fr);gap:16px;padding-block:28px}.attraction-number{font-size:1.6rem}.attraction h2{font-size:1.65rem}.attraction .eyebrow{font-size:.75rem;letter-spacing:.08em}.attraction .text-link{font-size:.9375rem;width:100%;gap:12px}.gallery-page{padding-block:30px 55px}.gallery-page .gallery-main>img{aspect-ratio:1.2}.gallery-caption{font-size:.875rem;margin-block:16px 25px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-tile img{aspect-ratio:1.2}.gallery-tile>span{font-size:.875rem;padding:10px;gap:6px}.gallery-tile i{font-size:1rem}.reviews-list{grid-template-columns:1fr;gap:22px}.reviews-list blockquote{padding:27px}.reviews-list blockquote>p{font-size:1.2rem}.contact-grid{grid-template-columns:1fr;padding-block:40px;gap:35px}.contact-card{padding-bottom:30px}.contact-card h2{font-size:2.1rem}.contact-card .text-link{font-size:.9375rem;line-height:1.8}.arrival-note{grid-template-columns:1fr;gap:30px}.arrival-note>img{aspect-ratio:1.4}.reservation-layout{grid-template-columns:1fr;gap:30px;padding-block:30px 50px}.reservation-main>div{padding:26px 22px}.reservation-main h2{font-size:1.95rem}.reservation-main .button{width:100%;font-size:.9375rem;gap:18px}.reservation-layout .booking-card{background:var(--cream)}.document-layout{padding-block:30px 55px;gap:35px}.document-nav .info-links{grid-template-columns:1fr;margin-top:12px}.document-copy h2{font-size:1.6rem;margin-block:30px 18px}.document-copy p,.document-copy li{font-size:1rem;line-height:1.9}.document-copy .alert-box{padding:18px}.document-copy ul{padding-left:20px}.document-copy summary{font-size:1rem}.document-nav h2{font-size:1.7rem}body>footer{padding-top:48px;padding-bottom:84px}.footer-main{grid-template-columns:1fr 1fr;gap:30px 22px}.footer-brand{grid-column:1/-1}.footer-brand img{width:175px;margin-bottom:20px}.footer-brand>a{font-size:.9375rem;min-height:44px}.footer-column h3{font-size:.9375rem;margin-bottom:12px}.footer-column>a{font-size:.875rem;min-height:44px;padding-block:8px}.footer-column:last-child{grid-column:1/-1}.footer-bottom{margin-top:30px;padding-block:20px;flex-direction:column;gap:12px;font-size:.8125rem}.footer-bottom>div{gap:20px}.footer-bottom a{min-height:40px;display:inline-flex;align-items:center}.mobile-dock{display:flex;align-items:center;justify-content:space-between;gap:20px;position:fixed;z-index:45;bottom:0;left:0;right:0;background:#fdfaf7fa;border-top:1px solid #c9b4a1;padding:10px 20px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -8px 25px #2b1b1510}.mobile-dock>a:first-child{font-size:.9375rem;line-height:1.5;color:var(--wine);font-weight:600;min-height:44px;display:flex;flex-direction:column;justify-content:center}.mobile-dock small{font-size:.75rem;font-weight:400;color:var(--muted)}.mobile-dock .button{min-height:50px;padding:11px 17px;font-size:.9375rem;gap:22px}}
@media(max-width:370px){.shell{width:calc(100% - 32px)}.header{padding-inline:16px}.home-hero{height:650px}.home-hero h1{font-size:2.7rem}.hero-content>p:not(.eyebrow){font-size:.9375rem}.hero-content>p:not(.eyebrow)>br{display:none}.benefit-icon{display:none}.editorial-images{height:345px}.editorial-images .inset-photo{height:170px}.amenity-grid,.room-description .amenity-grid{grid-template-columns:1fr}.mobile-dock{padding-inline:16px;gap:12px}.mobile-dock .button{padding-inline:15px;gap:15px}.footer-main{gap:26px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.utility,.header,.mobile-dock,body>footer,.closing,.article-aside,.document-nav,.button,.filter-bar,.search-controls{display:none!important}body{color:#000;background:white;font-size:12pt}.shell{width:100%}.masthead{padding:0 0 20px;background:white}.document-layout,.article-layout{display:block;padding:0}.document-copy details>div{display:block}.document-copy h2{break-after:avoid}.document-copy li,.document-copy p{break-inside:avoid}.masthead h1{font-size:28pt}a{color:#000;text-decoration:none}}
/* Preserve legibility when text is enlarged or a long Polish label wraps. */
h1,h2,h3,h4{overflow-wrap:break-word}.footer-column,.footer-brand,.header-actions{min-width:0}.footer-column a{overflow-wrap:anywhere}

.dock-call-label{display:inline-flex;align-items:center;gap:8px}.dock-phone-icon{width:20px;height:20px;flex:none}

.welcome{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,5vw,76px);align-items:center}.welcome-photo{display:block;position:relative;min-width:0;overflow:hidden;background:var(--cream)}.welcome-photo>img{display:block;width:100%;height:auto;aspect-ratio:4/5;max-height:620px;object-fit:cover;object-position:center 60%;transition:transform .4s ease}.welcome-photo:hover>img{transform:scale(1.025)}.welcome-photo>span{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;color:#fff;background:linear-gradient(transparent,#28171bd9);padding-top:48px;font-size:1rem}.welcome-copy{min-width:0}.welcome-copy h2{margin-bottom:26px}.welcome-copy h2 em{font-size:.95em}
@media(max-width:760px){.welcome{grid-template-columns:1fr;gap:28px}.welcome-copy{order:-1}.welcome-photo>img{aspect-ratio:5/4;max-height:none;object-position:center 65%}.welcome-copy h2{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.welcome-photo>img{transition:none}.welcome-photo:hover>img{transform:none}}

.room-filters{display:flex;align-items:end;gap:24px;padding:26px;background:var(--cream);border:1px solid #dfd2c4}.room-filter-category{flex:1;min-width:0}.room-filter-category>label,.room-filter-features legend{display:block;font-size:.9375rem;font-weight:600;margin-bottom:10px;color:var(--wine)}.room-filters select{width:100%;min-height:50px;padding:12px 36px 12px 14px;border:1px solid #b9a495;background:var(--paper,#fdfaf7);color:var(--ink);font:inherit;font-size:1rem;border-radius:0}.room-filter-features{flex:1.3;min-width:0;border:0;padding:0;margin:0;display:flex;align-items:center;gap:20px}.room-filter-features select{flex:1;min-width:0}.room-bed-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.balcony-toggle{display:flex;align-items:center;gap:9px;white-space:nowrap;min-height:50px;font-size:1rem;cursor:pointer}.balcony-toggle input{width:20px;height:20px;accent-color:var(--wine)}.room-filter-reset{min-height:50px;padding:10px 0;background:none;border:0;text-decoration:underline;text-underline-offset:4px;color:var(--wine);font:inherit;font-size:.9375rem;cursor:pointer}.room-filters :focus-visible{outline:2px solid var(--wine);outline-offset:4px}
@media(max-width:1000px){.room-filters{flex-wrap:wrap;gap:18px}.room-filter-category{flex-basis:40%}.room-filter-features{flex-basis:50%}.room-filter-reset{margin-top:-10px}}
@media(max-width:760px){.room-filters{display:grid;grid-template-columns:minmax(0,1fr);padding:20px;gap:20px}.room-filter-features{display:flex;flex-wrap:wrap;gap:10px}.room-filter-features select{flex-basis:100%;width:100%}.room-filter-reset{justify-self:start;margin-top:-10px}}



.footer-company-mini{margin-top:18px;padding:13px 14px;border:1px solid #534743;font-size:.8125rem;line-height:1.65;color:#cbbbae;max-width:280px}.footer-company-mini>a{display:block;color:#e0d0b8;font-size:.875rem;font-weight:500;padding:4px 0;margin-bottom:3px}.footer-company-mini>a:hover{text-decoration:underline}.footer-company-mini>span{display:block;margin-top:5px}.company-contact{padding-block:34px 50px;border-top:1px solid #dfd2c4}.company-contact h2{font-size:1.4rem;margin-bottom:18px}.company-contact p{font-size:.9375rem;line-height:1.8;margin-bottom:8px}

/* Restrained motion and a touch-friendly room carousel. */
.room-track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;scrollbar-width:thin;scrollbar-color:#b6977e transparent;padding:4px 2px 18px;overscroll-behavior-x:contain}.room-track>.room-card{flex:0 0 calc((100% - 56px)/3);min-width:0;scroll-snap-align:start;display:block!important}.carousel-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.carousel-toolbar p{font-size:.9375rem}.carousel-controls{display:flex;gap:10px;flex-shrink:0}.carousel-controls button{display:grid;place-items:center;width:50px;height:50px;border:1px solid #bea48d;border-radius:50%;font-size:1.5rem;color:var(--wine);transition:background .2s,color .2s,transform .2s}.carousel-controls button:hover:not(:disabled){background:var(--wine);color:white;transform:translateY(-2px)}.carousel-controls button:disabled{opacity:.35;cursor:default}.carousel-foot{display:flex;align-items:center;gap:22px;margin-top:14px;font-size:.875rem;color:var(--wine)}.carousel-progress{height:2px;flex:1;background:var(--line);overflow:hidden}.carousel-progress>span{display:block;height:100%;width:14.285%;background:var(--wine);transition:width .3s}.room-track:focus-visible{outline:2px solid var(--wine);outline-offset:6px}
@media(max-width:1000px){.room-track>.room-card{flex-basis:calc((100% - 28px)/2)}}
@media(max-width:760px){.room-track{gap:18px}.room-track>.room-card{flex-basis:87%}.carousel-toolbar{align-items:center;gap:12px}.carousel-toolbar p{font-size:.875rem;line-height:1.6;max-width:180px}.carousel-controls button{width:46px;height:46px}.carousel-controls{gap:8px}}
@media(prefers-reduced-motion:no-preference){.button{transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease}.button:active{transform:scale(.98)}.room-picture img,.feature-photo img,.gallery-tile img{transition:transform .65s cubic-bezier(.2,.65,.3,1)}.room-picture:hover img,.feature-photo:hover img,.gallery-tile:hover img{transform:scale(1.045)}.text-link>span{display:inline-block;transition:transform .25s}.text-link:hover>span{transform:translateX(5px)}.home-hero .hero-photo{animation:hero-settle 4.5s ease-out both}.hero-content>h1,.hero-content>p,.hero-content>.actions{animation:copy-arrive .8s ease-out both}.hero-content>.actions{animation-delay:.12s}.reveal-pending{opacity:0;transform:translateY(22px)}.reveal-ready{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1)}.reveal-pending:focus-within{opacity:1;transform:none}@media(hover:hover){.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #702a301c}}}
@keyframes hero-settle{from{transform:scale(1.055)}to{transform:scale(1)}}@keyframes copy-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-pending{opacity:1;transform:none}.carousel-progress>span,.carousel-controls button{transition:none}}

/* Gentle recurring emphasis for the two persistent booking actions. */
@keyframes booking-breathe{0%,70%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(156,59,59,0)}25%{transform:none;box-shadow:0 0 0 5px rgba(156,59,59,.13)}48%{transform:scale(1);box-shadow:0 0 0 10px rgba(156,59,59,0)}}
@media(prefers-reduced-motion:no-preference){.header-book,.mobile-dock>.button{animation:booking-breathe 3.8s ease-in-out infinite;transform-origin:center}.header-book:hover,.header-book:focus-visible,.header-book:active,.mobile-dock>.button:hover,.mobile-dock>.button:focus-visible,.mobile-dock>.button:active{animation:none}}
@media(prefers-reduced-motion:reduce){.header-book,.mobile-dock>.button{animation:none}}

/* Booking clarity and reserved layout: no late banners, no moving targets. */
.hero-assurance{list-style:none;display:flex;flex-wrap:wrap;gap:6px 20px;padding:0;margin:22px 0 0;color:#fff4ea;font-size:.875rem;line-height:1.65}.hero-assurance li:before{content:"✓";margin-right:7px;color:var(--gold)}
.stay-paths{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.stay-paths a{min-height:44px;display:inline-flex;align-items:center;font-size:.9375rem;text-decoration:underline;text-underline-offset:4px}
.reservation-fast{padding-block:0 28px}.reservation-fast>p{margin-top:14px}.reservation-fast .form-note{font-size:.9375rem}
/* A fixed image frame survives any photograph's intrinsic aspect ratio. */
.gallery-main{aspect-ratio:1.4}.gallery-main>img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}.gallery-page .gallery-main{aspect-ratio:1.7}
.review-slider{display:grid}.review-slider blockquote,.review-slider blockquote[hidden]{display:block;grid-area:1/1;min-width:0}.review-slider blockquote[hidden]{display:block!important;visibility:hidden;pointer-events:none}
@media(max-width:760px){.hero-assurance{font-size:.8125rem;gap:5px 14px;margin-top:18px;max-width:350px}.home-hero{height:auto;min-height:660px}.hero-content{min-height:660px;height:auto;padding-block:45px 95px}.gallery-main{aspect-ratio:1.25}.gallery-page .gallery-main{aspect-ratio:1.2}.reservation-fast .button{width:100%}.stay-paths{gap:8px 16px}}

/* Burgundy and champagne navigation, identical on all pages. */
.desktop-nav{gap:8px}.desktop-nav>a{padding:10px 15px;border:1px solid #d8c4b3;border-radius:5px;background:linear-gradient(145deg,#fffdf9,#f2e9df);color:var(--wine);font-weight:600;font-size:.875rem;box-shadow:0 2px 5px #702a3006;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
.desktop-nav>a:hover,.desktop-nav>a[aria-current=page]{background:var(--wine);border-color:var(--wine);color:#fff7ef;box-shadow:0 5px 14px #702a301f}.desktop-nav>a:hover{transform:translateY(-2px)}
.menu>summary{min-height:48px;padding:9px 14px;border:1px solid #d8c4b3;border-radius:5px;background:#f4ece3;color:var(--wine)}.menu[open]>summary{background:var(--wine);border-color:var(--wine);color:#fff7ef}.menu-links{gap:10px 18px}.menu-links>a{padding:12px 16px;border:1px solid #dbc9b9;border-radius:5px;background:#f8f2eb;color:var(--wine);transition:background .2s,transform .2s,border-color .2s}.menu-links>a:hover{background:#eadac9;border-color:#b6977e;transform:translateX(3px)}
@media(max-width:1350px){.desktop-nav{gap:5px}.desktop-nav>a{padding-inline:10px;font-size:.8125rem}.header{gap:18px}.header-actions{gap:12px}}
@media(max-width:1150px){.desktop-nav{display:none}.header-actions{margin-left:auto}}
@media(max-width:760px){.menu>summary{padding:8px 12px;min-height:46px}.menu-links{gap:9px}.menu-links>a{min-height:52px;font-size:1rem}}

/* Photo story with a stable content area and tactile controls. */
.home-hero.hero-carousel{min-height:760px;height:auto;max-height:none;isolation:isolate}.hero-images{position:absolute;inset:0;overflow:hidden}.home-hero .hero-slide{animation:none;opacity:0;transform:scale(1);transition:opacity .85s ease,transform 7.5s ease-out;object-fit:cover;pointer-events:none}.home-hero .hero-slide.is-active{opacity:1;transform:scale(1.018)}
.hero-carousel .hero-shade{background:linear-gradient(90deg,rgba(31,17,24,.88),rgba(31,17,24,.58) 48%,rgba(31,17,24,.12)),linear-gradient(0deg,rgba(31,17,24,.72),transparent 45%)}
.hero-carousel .hero-content{min-height:760px;height:auto;padding-block:65px 150px}.hero-carousel h1{font-size:clamp(3rem,4.4vw,4.65rem);max-width:980px}.hero-carousel h1 em{display:block;min-height:1.14em;max-width:930px;line-height:1.14}.hero-carousel .hero-description{max-width:620px;min-height:3.7em;margin-top:8px!important}.hero-carousel .actions{margin-top:24px}.hero-carousel .actions .button{min-width:245px}.hero-carousel .hero-assurance{margin-top:22px}
.hero-controls{position:absolute;z-index:3;bottom:28px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #eadac947;padding-top:18px}.hero-dots{display:flex;gap:10px}.hero-dots>button{display:flex;align-items:center;gap:10px;padding:12px 14px;min-height:48px;border:1px solid #eadac94d;background:#26171d42;color:#fff6eb;border-radius:4px;font:inherit;font-size:.875rem;cursor:pointer;transition:background .25s,border-color .25s}.hero-dots>button>span:first-child{font-size:.8125rem;color:var(--gold);font-variant-numeric:tabular-nums}.hero-dots>button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#372127}.hero-dots>button[aria-pressed=true]>span:first-child{color:#702a30}.hero-playback{display:flex;align-items:center;gap:8px}.hero-playback button{display:grid;place-items:center;min-width:46px;height:46px;border:1px solid #eadac973;color:#fff7ee;border-radius:50%;background:#26171d42;font-size:1.3rem;cursor:pointer}.hero-playback button:hover,.hero-dots>button:hover{background:#eadac940}.hero-status{font-size:.875rem;min-width:45px;text-align:center;font-variant-numeric:tabular-nums}.hero-controls :focus-visible{outline:2px solid #fff;outline-offset:4px}.hero-playback button[data-hero-pause]{font-size:1rem;margin-left:5px}
@media(max-width:1000px){.hero-dot-label{display:none}.hero-dots>button{min-width:48px;justify-content:center}.hero-carousel .hero-content{padding-block:55px 140px}.hero-carousel h1{font-size:3.6rem}}
@media(max-width:760px){.home-hero.hero-carousel{min-height:730px}.hero-carousel .hero-content{min-height:730px;padding-block:38px 155px}.hero-carousel h1{font-size:clamp(2.5rem,8vw,3.5rem);line-height:1.16}.hero-carousel h1 em{min-height:2.32em}.hero-carousel .hero-description{font-size:1rem;line-height:1.8;min-height:7.2em;max-width:450px;margin-top:12px!important}.hero-carousel .hero-content>.eyebrow{margin-bottom:18px}.hero-carousel .actions{margin-top:18px;width:100%;max-width:420px}.hero-carousel .actions .button{min-width:0;white-space:normal;text-align:center}.hero-carousel .hero-assurance{margin-top:18px}.hero-controls{bottom:20px;gap:10px;flex-wrap:wrap;padding-top:14px}.hero-dots{gap:7px}.hero-dots>button{min-height:44px;min-width:44px;padding:8px}.hero-playback{gap:4px}.hero-playback button{min-width:44px;height:44px}.hero-status{min-width:38px}.hero-carousel .hero-shade{background:linear-gradient(90deg,#211219d9,#21121975),linear-gradient(0deg,#211219cc,transparent 70%)}}
@media(max-width:430px){.hero-controls{display:grid;grid-template-columns:1fr;gap:10px}.hero-dots{justify-content:space-between}.hero-dots>button{flex:1}.hero-playback{justify-content:center}.hero-carousel .hero-content{padding-bottom:190px}}
/* Shared entrance and image treatment for room, service, information and legal pages. */
@media(prefers-reduced-motion:no-preference){.masthead>.shell{animation:copy-arrive .65s ease-out both}.masthead>img{animation:subpage-image .9s ease-out both}.photo-strip>img,.arrival-note>img,.thumbnails img{transition:filter .35s ease,transform .5s ease}.thumbnails button:hover img{transform:scale(1.035)}.photo-strip>img:hover,.arrival-note>img:hover{filter:brightness(1.045)}}
@keyframes subpage-image{from{opacity:.45;clip-path:inset(2% 0 0 0)}to{opacity:1;clip-path:inset(0)}}
@media(prefers-reduced-motion:reduce){.home-hero .hero-slide{transition:none;transform:none!important}.desktop-nav>a:hover,.menu-links>a:hover,.thumbnails button:hover img{transform:none}.masthead>.shell,.masthead>img{animation:none}}

.hero-playback button:disabled{opacity:.5;cursor:default}

/* Quiet navigation and discreet slideshow pagination. */
.desktop-nav>a{border:1px solid #cbb9a866;border-radius:24px;background:transparent;box-shadow:none;padding:9px 17px;font-weight:500;letter-spacing:.01em;color:var(--ink);transition:color .25s,background .25s,border-color .25s}.desktop-nav>a:hover,.desktop-nav>a[aria-current=page]{background:#702a300a;border-color:#9c3b3b70;color:var(--wine);box-shadow:none;transform:none}.menu>summary{border-radius:24px;background:transparent;border-color:#cbb9a866}.menu-links{gap:0 32px}.menu-links>a{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:15px 3px;transition:color .2s}.menu-links>a:hover{background:transparent;color:var(--wine);transform:none;border-color:var(--wine)}
.hero-controls{display:flex!important;justify-content:center;align-items:center;border:0;padding:0;bottom:25px;gap:0}.hero-controls[hidden]{display:none!important}.hero-dots{display:flex;justify-content:center;gap:0}.hero-dots>button,.hero-dots>button[aria-pressed=true],.hero-dots>button:hover{min-width:40px;width:40px;min-height:44px;height:44px;padding:0;border:0;border-radius:0;background:transparent;flex:none;display:grid;place-items:center}.hero-dots>button>span:first-child{width:6px;height:6px;border-radius:50%;background:#fff7eb70;transition:background .6s,transform .6s}.hero-dots>button[aria-pressed=true]>span:first-child{background:#fff7eb;transform:scale(1.4)}.hero-dots>button:hover>span:first-child{background:#fff7eb}.hero-playback{position:absolute;right:0;bottom:0}.hero-playback button[data-hero-pause]{border:0;background:transparent;box-shadow:none;min-width:44px;height:44px;font-size:.8rem;color:#fff7ebb0;margin:0}.hero-playback button[data-hero-pause]:hover{color:white;background:transparent}.hero-status{position:absolute;width:1px;height:1px;min-width:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.home-hero .hero-slide{transition:opacity 1.3s ease,transform 8s ease-out}.hero-carousel .hero-content{padding-bottom:105px}
@media(max-width:1350px){.desktop-nav>a{padding-inline:12px}}
@media(max-width:760px){.hero-carousel .hero-content{padding-bottom:105px}.hero-controls{bottom:18px}.hero-playback{right:0}}
@media(prefers-reduced-motion:reduce){.home-hero .hero-slide,.hero-dots>button>span:first-child{transition:none}}

.form-honeypot{display:none}.form-status{margin-top:24px;padding:18px 22px;border:1px solid var(--line);font-size:1rem;line-height:1.7;background:var(--cream)}.form-status[data-state=error]{border-color:var(--wine);color:var(--wine)}.form-status[data-state=success]{border-left:3px solid var(--wine)}.inquiry-form button:disabled{opacity:.6;cursor:wait}.inquiry-form:not([aria-busy]) button:disabled{cursor:default}

/* The same Montserrat typeface for all actions, including the hero. */
button,input,textarea,select{font-family:var(--sans)}.button,.hero-carousel .actions .button{font-family:var(--sans);font-style:normal;font-weight:600;letter-spacing:0}.desktop-nav>a{font-family:var(--sans)}.form-provider-note{font-size:.875rem;line-height:1.65;color:var(--muted);margin-top:10px}.desktop-nav{flex-shrink:1;gap:6px}.desktop-nav>a{padding-inline:12px}
@media(min-width:1251px) and (max-width:1450px){.header{padding-inline:24px;gap:14px}.brand{width:145px}.header-actions{gap:10px}.header-book{padding-inline:15px;gap:10px}.desktop-nav>a{font-size:.8125rem;padding-inline:9px}.desktop-nav{gap:5px}}
@media(max-width:1250px){.desktop-nav{display:none}}
