:root{--wine:#9c3b3b;--wine-dark:#9c3b3b;--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:#9c3b3b}.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}}

/* Direct-booking promotion with code INTERNET. */
.direct-booking-popup{position:fixed;z-index:60;top:122px;right:max(24px,calc((100vw - 1440px)/2));width:min(430px,calc(100% - 48px));padding:22px 23px 20px;background:#fffaf4f7;border:1px solid #d8c4b3;border-top:4px solid var(--wine);box-shadow:0 18px 55px #2b1b1530;backdrop-filter:blur(14px);color:var(--ink);transition:opacity .18s ease,transform .18s ease}.direct-booking-popup.is-closing{opacity:0;transform:translateY(-8px);pointer-events:none}.direct-promo-eyebrow{margin:0 0 7px!important;color:var(--wine)!important;font-size:.72rem!important;line-height:1.4!important;letter-spacing:.13em;font-weight:700}.direct-booking-popup h2{font:500 1.72rem/1.22 var(--serif);letter-spacing:-.025em;margin:0 0 10px}.direct-booking-popup h2 code,.direct-booking-bar code{font-family:var(--sans);font-weight:700;letter-spacing:.04em;color:var(--wine);background:#f0e2d6;border:1px solid #d6bda9;border-radius:4px;padding:.08em .38em;white-space:nowrap}.direct-booking-popup>p:not(.direct-promo-eyebrow){font-size:.92rem;line-height:1.65;color:var(--muted)}.direct-booking-popup strong{color:var(--ink)}.direct-promo-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;margin-top:16px}.direct-promo-actions>*{min-height:46px;display:flex;align-items:center;justify-content:center;padding:10px 14px;font:600 .9rem/1.35 var(--sans);border:1px solid var(--wine)}.direct-promo-close{background:transparent;color:var(--wine)}.direct-promo-close:hover{background:#702a3008}.direct-promo-book{background:var(--wine);color:#fff!important;gap:16px}.direct-promo-book:hover{background:var(--wine-dark);border-color:var(--wine-dark);color:#fff!important}.direct-promo-book span{font-size:1.15rem}.direct-booking-bar{background:#f1e4d8;border-bottom:1px solid #dac8b8;color:var(--ink)}.direct-booking-bar-inner{min-height:47px;display:flex;align-items:center;justify-content:center;gap:28px;padding-block:7px;font-size:.86rem;line-height:1.4}.direct-booking-bar-inner>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.direct-booking-bar strong{color:var(--wine);font-weight:700}.direct-booking-bar a{display:inline-flex;align-items:center;gap:10px;color:var(--wine);font-weight:700;white-space:nowrap}.direct-booking-bar a:hover{text-decoration:underline}.direct-booking-bar a span{font-size:1.05rem}
@media(max-width:760px){.direct-booking-popup{top:94px;left:12px;right:12px;width:auto;padding:15px 16px 14px;border-top-width:3px;box-shadow:0 12px 34px #2b1b152b}.direct-promo-eyebrow{font-size:.65rem!important;margin-bottom:5px!important}.direct-booking-popup h2{font-size:1.4rem;margin-bottom:7px}.direct-booking-popup>p:not(.direct-promo-eyebrow){font-size:.82rem;line-height:1.5}.direct-promo-actions{margin-top:12px;gap:8px}.direct-promo-actions>*{min-height:42px;padding:8px 10px;font-size:.84rem}.direct-booking-bar-inner{width:calc(100% - 28px);min-height:45px;justify-content:space-between;gap:8px;padding-block:6px;font-size:.75rem}.direct-booking-bar-inner>div{gap:5px;line-height:1.35}.direct-booking-bar-inner>div span{display:inline}.direct-booking-bar a{font-size:.75rem;gap:6px}.direct-booking-bar a span{font-size:.95rem}}
@media(max-width:420px){.direct-booking-popup{top:88px}.direct-booking-popup h2{font-size:1.3rem}.direct-promo-actions{grid-template-columns:.9fr 1.25fr}.direct-booking-bar-inner{align-items:center}.direct-booking-bar-inner>div{display:block;max-width:64%}.direct-booking-bar-inner>div span{display:block;margin-top:2px}.direct-booking-bar a{max-width:36%;white-space:normal;text-align:right;justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){.direct-booking-popup{transition:none}}



/* 2026-09 direct-booking promotion refresh and Promotions page. */
.menu-links>a.menu-promo-link{color:var(--wine);font-weight:650}
.menu-links>a.menu-promo-link:before{content:'5%';display:inline-grid;place-items:center;flex:none;min-width:31px;height:22px;margin-right:8px;padding:0 5px;border:1px solid #b99276;border-radius:12px;font-size:.68rem;line-height:1;letter-spacing:.03em;color:var(--wine);background:#f4e8dd}
.menu-links>a.menu-promo-link>span{margin-left:auto}

.direct-booking-popup{width:min(455px,calc(100% - 48px));padding:0;overflow:hidden;border-top:0}
.direct-promo-media{position:relative;display:block;height:108px;overflow:hidden;background:#e8d9cb}
.direct-promo-media img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.direct-promo-media>span{position:absolute;right:14px;bottom:12px;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#9c3b3b;color:#fff;font:700 1.2rem/1 var(--sans);box-shadow:0 6px 20px #2b1b153d}
.direct-promo-content{padding:17px 21px 19px}
.direct-promo-content>p:not(.direct-promo-eyebrow){font-size:.9rem;line-height:1.58;color:var(--muted)}
.direct-promo-more{display:inline-flex;align-items:center;gap:9px;margin-top:10px;color:var(--wine);font-size:.82rem;font-weight:650;border-bottom:1px solid #bfa58f}
.direct-promo-more:hover{color:var(--wine-dark);border-color:var(--wine-dark)}
.direct-promo-actions{margin-top:13px}

.direct-booking-bar{position:sticky;top:98px;z-index:49;background:#f4e8ddf7;backdrop-filter:blur(12px);box-shadow:0 5px 16px #2b1b150b}
.direct-booking-bar-inner{justify-content:space-between;gap:18px}
.direct-booking-bar-copy{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.direct-booking-bar-links{display:flex;align-items:center;gap:18px;flex:none}
.direct-booking-bar-links>a{min-height:34px;display:inline-flex;align-items:center;color:var(--wine);font-size:.82rem;font-weight:650;white-space:nowrap}
.direct-booking-bar-links>a:first-child{font-weight:550;text-decoration:underline;text-underline-offset:3px}
.direct-booking-bar-links>a:hover{color:var(--wine-dark)}
.direct-booking-bar-book{gap:8px}

.promo-masthead>img{object-position:center 52%}
.promotions-layout{padding-bottom:85px}
.promotion-offer{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);overflow:hidden;background:var(--cream);border-top:4px solid var(--wine);box-shadow:0 16px 40px #2b1b150c}
.promotion-offer-copy{padding:38px 40px 42px}
.promotion-offer>img{width:100%;height:100%;min-height:390px;object-fit:cover;object-position:center 48%}
.promotion-value{display:inline-flex;align-items:center;justify-content:center;min-width:84px;height:50px;padding:0 15px;margin-bottom:22px;background:var(--wine);color:#fff;font:700 1.45rem/1 var(--sans);letter-spacing:.02em}
.promotion-offer h2{font-size:2.25rem;margin-bottom:18px}
.promotion-offer h2 code,.promotion-code{font-family:var(--sans);font-weight:700;letter-spacing:.045em;color:var(--wine);background:#f0e2d6;border:1px solid #d6bda9;border-radius:4px;padding:.08em .38em;white-space:nowrap}
.promotion-offer p{font-size:1rem;line-height:1.85}
.promotion-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}
.promotion-actions .button{min-width:245px}
.promotion-code{display:inline-block;margin:4px 0 20px;padding:.28em .55em;font-size:1.25rem}
.promo-aside h2{margin-top:2px}

@media(max-width:1000px){.direct-booking-bar{top:88px}.promotion-offer{grid-template-columns:1fr}.promotion-offer>img{height:340px;min-height:0;order:-1}.promotion-offer-copy{padding:34px 32px 38px}}
@media(max-width:760px){.direct-booking-popup{top:91px;left:10px;right:10px;width:auto}.direct-promo-media{height:76px}.direct-promo-media>span{right:10px;bottom:8px;width:46px;height:46px;font-size:1rem}.direct-promo-content{padding:12px 14px 13px}.direct-promo-content>p:not(.direct-promo-eyebrow){font-size:.79rem;line-height:1.47}.direct-promo-more{margin-top:7px;font-size:.75rem}.direct-promo-actions{margin-top:10px}.direct-promo-actions>*{min-height:40px}.direct-booking-bar{top:82px}.direct-booking-bar-inner{width:calc(100% - 28px);gap:7px;padding-block:5px}.direct-booking-bar-copy{display:block;line-height:1.28;max-width:52%}.direct-booking-bar-copy span{display:block;margin-top:1px}.direct-booking-bar-links{gap:10px}.direct-booking-bar-links>a{font-size:.71rem;min-height:34px}.direct-booking-bar-book{gap:4px}.promotion-offer-copy{padding:27px 22px 30px}.promotion-offer>img{height:255px}.promotion-offer h2{font-size:1.85rem}.promotion-value{height:44px;min-width:74px;font-size:1.2rem;margin-bottom:18px}.promotion-actions{display:grid;gap:11px;margin-top:22px}.promotion-actions .button{min-width:0;width:100%}.promotions-layout{padding-bottom:55px}}
@media(max-width:390px){.direct-booking-popup{top:88px}.direct-promo-media{height:68px}.direct-promo-content{padding:11px 12px 12px}.direct-booking-popup h2{font-size:1.2rem}.direct-promo-content>p:not(.direct-promo-eyebrow){font-size:.75rem}.direct-promo-more{font-size:.72rem}.direct-promo-actions>*{font-size:.8rem}.direct-booking-bar-copy{max-width:49%}.direct-booking-bar-links{gap:7px}.direct-booking-bar-links>a{font-size:.68rem}}


/* 2026-09 promotions v4: multi-offer campaign, compact homepage popup, sticky reminder and 3-item mobile dock. */
.menu-links>a.menu-promo-link:before{content:'do 12%';min-width:48px;padding-inline:7px}
.direct-booking-popup{width:min(470px,calc(100% - 48px));padding:0;overflow:hidden;border-top:4px solid var(--wine);background:#fffaf4fa}
.direct-promo-content{padding:21px 23px 22px}
.direct-promo-topline{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:8px}
.direct-promo-topline .direct-promo-eyebrow{margin:0!important}
.direct-promo-badge{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 10px;background:var(--wine);color:white;font:700 .78rem/1 var(--sans);letter-spacing:.04em;white-space:nowrap}
.direct-booking-popup h2{font-size:1.78rem;margin-bottom:10px}
.direct-promo-note{margin-top:9px!important;font-size:.76rem!important;line-height:1.5!important;color:#74675e!important;border-left:2px solid #d6bda9;padding-left:10px}
.direct-promo-more{margin-top:11px}
.direct-promo-actions{margin-top:15px}
.direct-promo-actions>*{min-height:44px}

.direct-booking-bar{position:sticky;top:98px;z-index:49;background:#f4e8ddf7;backdrop-filter:blur(12px);box-shadow:0 5px 16px #2b1b150b}
.direct-booking-bar-copy strong{display:inline-flex;align-items:center;gap:7px;color:var(--wine);animation:promoAttention 4.8s ease-in-out infinite}
.direct-booking-bar-copy strong>span{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid #b99276;border-radius:50%;font-size:.72rem;background:#fff8f1}
.direct-booking-bar-copy>span{color:#574e48}
.direct-booking-bar-links>a:first-child{text-decoration:underline;text-underline-offset:4px}
@keyframes promoAttention{0%,72%,100%{transform:translateX(0);opacity:1}78%{transform:translateX(3px);opacity:.78}84%{transform:translateX(0);opacity:1}90%{transform:translateX(3px);opacity:.82}}

.promo-intro{padding-bottom:42px}
.promotions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;padding-bottom:74px}
.promotion-card{display:flex;flex-direction:column;min-width:0;padding:34px;background:var(--cream);border-top:3px solid #cbb5a1;box-shadow:0 12px 34px #2b1b1509}
.promotion-card.is-featured{border-top-color:var(--wine);box-shadow:0 16px 42px #702a3014}
.promotion-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}
.promotion-card .promotion-value{margin:0;min-width:80px;height:46px;font-size:1.28rem}
.promotion-tag{font-size:.68rem;line-height:1.4;letter-spacing:.11em;font-weight:700;color:var(--wine);text-align:right}
.promotion-card h2{font-size:2.05rem;margin-bottom:12px}
.promotion-card-lead{font-size:1rem;line-height:1.75;color:var(--muted);min-height:84px}
.promotion-code-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 20px;padding:13px 15px;background:#fffaf5;border:1px solid #ddcbbb;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.promotion-code-row code{font:700 1rem/1 var(--sans);letter-spacing:.06em;color:var(--wine)}
.promo-conditions{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px;font-size:.92rem;line-height:1.65;color:#574f49}
.promo-conditions li{position:relative;padding-left:18px}
.promo-conditions li:before{content:'•';position:absolute;left:0;color:var(--wine);font-weight:700}
.promotion-card>.button{margin-top:auto;align-self:flex-start}
.promo-rules{padding-top:0}
.promo-rules-box{background:#272223;color:#f6ede6;padding:48px 50px}
.promo-rules-box .eyebrow{color:var(--gold)}
.promo-rules-box h2{color:white;margin-bottom:28px}
.promo-rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 36px}
.promo-rules-grid p{color:#ddd0c6;font-size:.95rem;line-height:1.75}
.promo-rules-grid strong{color:white;font-weight:600}
.promo-fineprint{margin-top:30px;padding-top:22px;border-top:1px solid #5b4d48;color:#cbbcb0;font-size:.82rem;line-height:1.7}

@media(max-width:1000px){
 .direct-booking-bar{top:88px}
 .promotions-grid{gap:20px}
 .promotion-card{padding:28px}
 .promotion-card-lead{min-height:0}
}
@media(max-width:760px){
 .direct-booking-popup{top:91px;left:10px;right:10px;width:auto}
 .direct-promo-content{padding:15px 15px 16px}
 .direct-promo-topline{margin-bottom:7px}
 .direct-promo-badge{min-height:29px;font-size:.7rem}
 .direct-booking-popup h2{font-size:1.38rem;margin-bottom:7px}
 .direct-promo-content>p:not(.direct-promo-eyebrow){font-size:.8rem;line-height:1.48}
 .direct-promo-note{font-size:.7rem!important;margin-top:7px!important}
 .direct-promo-more{font-size:.76rem;margin-top:8px}
 .direct-promo-actions{margin-top:11px}
 .direct-promo-actions>*{min-height:40px;font-size:.8rem}
 .direct-booking-bar{top:82px}
 .direct-booking-bar-inner{width:calc(100% - 24px);min-height:48px;gap:8px;padding-block:5px}
 .direct-booking-bar-copy{max-width:61%;display:block;line-height:1.22}
 .direct-booking-bar-copy strong{display:flex;font-size:.72rem;white-space:nowrap}
 .direct-booking-bar-copy strong>span{width:20px;height:20px;font-size:.62rem}
 .direct-booking-bar-copy>span{display:block;margin-top:2px;font-size:.67rem;white-space:nowrap}
 .direct-booking-bar-links{gap:8px}
 .direct-booking-bar-links>a{font-size:.68rem;min-height:34px}
 .direct-booking-bar-book{display:none!important}
 .promotions-grid{grid-template-columns:1fr;padding-bottom:52px}
 .promotion-card{padding:25px 22px}
 .promotion-card h2{font-size:1.8rem}
 .promotion-card-top{margin-bottom:16px}
 .promotion-tag{font-size:.62rem}
 .promotion-card>.button{width:100%;justify-content:space-between}
 .promo-rules-box{padding:34px 24px}
 .promo-rules-grid{grid-template-columns:1fr;gap:18px}
 .promo-fineprint{font-size:.78rem}
 .mobile-dock{display:grid;grid-template-columns:1fr 1fr 1.22fr;align-items:stretch;gap:0;padding:0 0 env(safe-area-inset-bottom);background:#fdfaf7fa}
 .mobile-dock>a,.mobile-dock>a:first-child{min-width:0;min-height:62px;margin:0;padding:7px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-right:1px solid #e0d2c5;color:var(--wine);font-size:.72rem;line-height:1.15;font-weight:650;text-align:center}
 .mobile-dock>a:last-child{border-right:0}
 .mobile-dock .dock-book{min-height:62px;padding:7px 8px;border:0;border-radius:0;flex-direction:row;gap:7px;color:white;font-size:.78rem}
 .dock-icon-line{display:grid;place-items:center;min-height:22px}
 .dock-phone-icon{width:19px;height:19px}
 .dock-promo-icon{display:grid;place-items:center;width:24px;height:24px;border:1px solid currentColor;border-radius:50%;font:700 .75rem/1 var(--sans)}
}
@media(max-width:380px){
 .direct-booking-bar-copy{max-width:65%}
 .direct-booking-bar-copy>span{font-size:.62rem}
 .mobile-dock>a,.mobile-dock>a:first-child{font-size:.67rem}
 .mobile-dock .dock-book{font-size:.72rem}
}
@media(prefers-reduced-motion:reduce){.direct-booking-bar-copy strong{animation:none}}


/* 2026-09 promotions v5: restored mobile dock style, cleaner promo messaging and richer offer cards. */
.menu-links>a.menu-promo-link:before{content:'do 15%'}
.direct-booking-popup{width:min(440px,calc(100% - 48px))}
.direct-promo-content{padding:18px 21px 19px}
.direct-booking-popup h2{font-size:1.62rem;margin-bottom:8px}
.direct-promo-content>p:not(.direct-promo-eyebrow){font-size:.87rem;line-height:1.55}
.direct-promo-actions{margin-top:13px}
.direct-promo-view{background:var(--wine);color:#fff!important;gap:14px}
.direct-promo-view:hover{background:var(--wine-dark);border-color:var(--wine-dark);color:#fff!important}
.direct-promo-view span{font-size:1.15rem}
.hero-promo-button{background:transparent}

.promotion-card{overflow:hidden}
.promotion-card-image{display:block;width:calc(100% + 68px);max-width:none;height:210px;margin:-34px -34px 25px;object-fit:cover;object-position:center}
.promotion-card.is-super{grid-column:1/-1;border-top-color:var(--wine);background:#efe5db}
.promotion-card.is-super .promotion-card-image{height:280px}
.promotion-card.is-super .promotion-value{background:var(--wine);color:white;border-color:var(--wine)}

@media(min-width:761px){
 .promo-masthead>img{display:none}
 .promo-masthead{padding-bottom:62px}
 .promo-masthead>.shell{padding-bottom:0}
}

@media(max-width:1000px) and (min-width:761px){
 .promotion-card-image{width:calc(100% + 56px);margin:-28px -28px 23px}
}

@media(max-width:760px){
 .direct-booking-popup{top:91px;left:10px;right:10px;width:auto}
 .direct-promo-content{padding:13px 14px 14px}
 .direct-booking-popup h2{font-size:1.3rem;margin-bottom:6px}
 .direct-promo-content>p:not(.direct-promo-eyebrow){font-size:.77rem;line-height:1.45}
 .direct-promo-actions{margin-top:10px;grid-template-columns:.9fr 1.35fr}
 .direct-promo-actions>*{min-height:40px;font-size:.78rem;padding:8px 9px}
 .direct-booking-bar-copy{max-width:67%}
 .direct-booking-bar-copy strong{font-size:.7rem}
 .direct-booking-bar-copy>span{font-size:.64rem}
 .direct-booking-bar-links>a{font-size:.68rem}
 .promotion-card{padding:25px 22px}
 .promotion-card-image{width:calc(100% + 44px);height:185px;margin:-25px -22px 22px}
 .promotion-card.is-super{grid-column:auto}
 .promotion-card.is-super .promotion-card-image{height:200px}

 /* Keep the familiar mobile bottom dock, but give all three actions equal width for a cleaner layout. */
 .mobile-dock{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:stretch;gap:8px;position:fixed;z-index:45;bottom:0;left:0;right:0;background:#fdfaf7fa;border-top:1px solid #c9b4a1;padding:8px 14px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -8px 25px #2b1b1510}
 .mobile-dock>a,.mobile-dock>a:first-child{border:0;margin:0;padding:8px 7px;min-height:52px;min-width:0;background:transparent;color:var(--wine);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.8rem;line-height:1.2;font-weight:600;text-align:center;border-radius:16px}
 .mobile-dock small{display:block;font-size:.62rem;line-height:1.18;font-weight:400;color:var(--muted);white-space:normal}
 .dock-call-label{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
 .dock-phone-icon{width:17px;height:17px;flex:none}
 .dock-promo-icon{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;font:700 .62rem/1 var(--sans);flex:none}
 .mobile-dock .dock-book{min-height:52px;padding:8px 7px;background:var(--wine);border:1px solid var(--wine);color:#fff;font-size:.8rem;line-height:1.2;gap:6px;flex-direction:column;align-items:center;justify-content:center;text-align:center}
 .mobile-dock .dock-book:hover{background:var(--wine-dark);border-color:var(--wine-dark);color:white}
 .mobile-dock .dock-book>span:last-child{font-size:1rem;line-height:1}
}
@media(max-width:390px){
 .mobile-dock{padding-inline:10px;gap:6px}
 .mobile-dock>a,.mobile-dock>a:first-child{font-size:.72rem;padding-inline:5px}
 .mobile-dock small{font-size:.56rem}
 .dock-call-label{gap:4px}
 .dock-phone-icon{width:16px;height:16px}
 .dock-promo-icon{width:17px;height:17px;font-size:.58rem}
 .mobile-dock .dock-book{font-size:.72rem;gap:4px}
 .direct-booking-bar-copy{max-width:69%}
}


/* Promotional graphics instead of photos on the promotions page */
.promotion-card-visual{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;min-height:210px;margin:-34px -34px 25px;padding:28px;overflow:hidden;color:#fff;border-bottom:1px solid rgba(255,255,255,.16)}
.promotion-card-visual::before,.promotion-card-visual::after{content:"";position:absolute;border-radius:999px;pointer-events:none}
.promotion-card-visual::before{width:210px;height:210px;top:-70px;right:-55px;background:rgba(255,255,255,.12)}
.promotion-card-visual::after{width:150px;height:150px;bottom:-58px;left:-34px;background:rgba(255,255,255,.08)}
.promo-visual>*{position:relative;z-index:1}
.promo-visual-kicker{display:inline-flex;align-self:flex-start;padding:7px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font:700 .72rem/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;background:rgba(32,14,20,.16);backdrop-filter:blur(4px)}
.promo-visual-percent{display:block;font:700 clamp(3rem,5vw,4.5rem)/.92 var(--sans);letter-spacing:-.04em;text-shadow:0 10px 24px rgba(0,0,0,.14)}
.promo-visual-subtitle{display:block;max-width:22ch;font-size:1rem;line-height:1.5;color:rgba(255,255,255,.94)}
.promo-internet{background:linear-gradient(135deg,#8a2f39 0%,#b54e44 54%,#d19a6b 100%)}
.promo-longer{background:linear-gradient(135deg,#51315f 0%,#7f466f 48%,#d38f6a 100%)}
.promo-midweek{background:linear-gradient(135deg,#39586c 0%,#4d8b8d 52%,#d5b16d 100%)}
.promo-reset{background:linear-gradient(135deg,#5d3d35 0%,#9c6b54 50%,#d7b98a 100%)}
.promo-week{background:linear-gradient(135deg,#2c1a22 0%,#7e2f3c 45%,#d6aa68 100%);min-height:240px}
.promo-week .promo-visual-percent{font-size:clamp(3.5rem,6vw,5rem)}
.promotion-card.is-super .promotion-card-visual{margin-bottom:28px}
@media(max-width:980px){.promotion-card-visual{margin:-28px -28px 23px;padding:24px;min-height:196px}.promo-week{min-height:220px}}
@media(max-width:760px){.promotion-card-visual{margin:-25px -22px 22px;padding:22px;min-height:175px}.promo-visual-kicker{font-size:.66rem;padding:6px 10px}.promo-visual-percent{font-size:clamp(2.55rem,10vw,3.6rem)}.promo-visual-subtitle{font-size:.92rem;max-width:20ch}.promo-week{min-height:190px}}


/* Direct booking conversion enhancements v8 */
.direct-sales-section{background:#2b2324;color:#f8f1eb;border-top:1px solid #4f4140;border-bottom:1px solid #4f4140}
.direct-sales-shell{padding-block:58px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:46px 64px;align-items:start}
.direct-sales-copy .eyebrow{color:#d5aa7c}
.direct-sales-copy h2{color:#fff;margin:0;max-width:620px}
.direct-sales-copy h2 em{color:#e4b18a}
.direct-sales-copy>p:not(.eyebrow):not(.direct-booking-security){max-width:650px;color:#dacdc5;font-size:1.02rem;line-height:1.85;margin-top:22px}
.direct-sales-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}
.direct-sales-actions .text-link{color:#f4e6dc;border-bottom-color:#846d66}
.direct-sales-actions .text-link:hover{color:#fff}
.direct-booking-security{display:flex;align-items:flex-start;gap:9px;margin-top:20px;color:#cdbeb6;font-size:.82rem;line-height:1.6;max-width:690px}
.direct-booking-security>span{display:grid;place-items:center;width:22px;height:22px;border:1px solid #957970;border-radius:50%;color:#e4b18a;flex:none;margin-top:1px}
.direct-sales-points{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#5a4947;border:1px solid #5a4947}
.direct-sales-points>div{background:#342b2c;padding:25px 23px;min-height:138px;display:flex;flex-direction:column;justify-content:center}
.direct-sales-points b{font:500 2rem/1 var(--serif);color:#e6b383;margin-bottom:11px}
.direct-sales-points span{font-size:.86rem;line-height:1.55;color:#d9ccc4}
.direct-sales-proof{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:28px;border-top:1px solid #514344}
.direct-proof-head{grid-column:1/-1;display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#fff}
.direct-proof-head strong{font-size:.92rem}
.direct-proof-head a{margin-left:auto;font-size:.82rem;color:#e8c2a5;text-decoration:underline;text-underline-offset:4px}
.review-source-badge{display:inline-flex;align-items:center;min-height:25px;padding:5px 9px;border:1px solid #b89a86;border-radius:999px;color:#d8b89e;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.direct-sales-proof blockquote{margin:0;padding:18px 20px;background:#332a2b;border-left:2px solid #9c3b3b}
.direct-sales-proof blockquote p{font:400 1rem/1.65 var(--serif);color:#f7eee8;margin:0}
.direct-sales-proof blockquote footer{margin-top:9px;color:#baa9a1;font-size:.75rem}

.room-card-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:14px}
.room-card-actions .text-link{margin-top:0!important}
.room-book-link{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;padding:9px 14px;border:1px solid #9c3b3b;color:#9c3b3b;font-size:.82rem;font-weight:650;line-height:1.25;transition:.2s ease}
.room-book-link:hover{background:#9c3b3b;color:#fff;border-color:#9c3b3b}
.room-card-promo{display:flex;align-items:center;gap:7px;margin-top:12px!important;min-height:0!important;font-size:.75rem!important;color:#7b655c!important;line-height:1.45!important}
.room-card-promo>span{display:grid;place-items:center;width:20px;height:20px;border:1px solid #b8917b;border-radius:50%;color:#9c3b3b;font-weight:700;flex:none}

.room-direct-promo{margin:18px 0 12px!important;padding:12px 14px;background:#f4ebe4;border-left:3px solid #9c3b3b;font-size:.82rem!important;line-height:1.55!important;color:#5e504a!important}
.room-direct-promo strong{color:#9c3b3b}
.room-direct-promo a{color:#9c3b3b;font-weight:650;text-decoration:underline;text-underline-offset:3px}
.booking-secure-note{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0!important;color:#736760!important;font-size:.75rem!important;line-height:1.55!important}
.booking-secure-note>span{color:#9c3b3b;font-weight:700;flex:none}
.booking-review-mini{margin-top:18px;padding-top:17px;border-top:1px solid #daccc1}
.booking-review-mini p{font:400 .9rem/1.6 var(--serif);margin:7px 0 5px;color:#3f3533}
.booking-review-mini small{display:block;color:#81736b;font-size:.7rem;line-height:1.4}
.booking-review-mini a{display:inline-flex;margin-top:8px;color:#9c3b3b;font-size:.72rem;font-weight:650;text-decoration:underline;text-underline-offset:3px}

.rooms-trust-strip{margin-top:45px;margin-bottom:15px;padding:25px 28px;background:#f3ebe4;border-top:1px solid #d9c7b8;border-bottom:1px solid #d9c7b8;display:grid;grid-template-columns:1fr 1fr;gap:20px 45px;align-items:center}
.rooms-trust-strip>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rooms-trust-strip strong{color:#342b2b;font-size:.9rem}
.rooms-trust-strip a{font-size:.78rem;color:#9c3b3b;text-decoration:underline;text-underline-offset:3px}
.rooms-trust-strip>p{font-size:.8rem;line-height:1.6;color:#6d6058;margin:0}

@media(max-width:1000px){
 .direct-sales-shell{grid-template-columns:1fr;gap:34px}
 .direct-sales-proof{grid-template-columns:1fr 1fr}
 .rooms-trust-strip{grid-template-columns:1fr;gap:12px}
}
@media(max-width:760px){
 .direct-sales-shell{padding-block:42px;gap:28px}
 .direct-sales-copy h2{font-size:2.15rem}
 .direct-sales-copy>p:not(.eyebrow):not(.direct-booking-security){font-size:.94rem;line-height:1.75;margin-top:18px}
 .direct-sales-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:22px}
 .direct-sales-actions .button{width:100%;justify-content:space-between}
 .direct-sales-actions .text-link{width:100%;justify-content:space-between}
 .direct-sales-points{grid-template-columns:1fr 1fr}
 .direct-sales-points>div{min-height:120px;padding:19px 16px}
 .direct-sales-points b{font-size:1.7rem}
 .direct-sales-points span{font-size:.78rem}
 .direct-sales-proof{grid-template-columns:1fr;gap:10px;padding-top:22px}
 .direct-proof-head{gap:9px}
 .direct-proof-head a{margin-left:0;width:100%}
 .direct-sales-proof blockquote{padding:15px 16px}
 .room-card-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}
 .room-book-link{width:100%;min-height:48px}
 .room-card-promo{font-size:.72rem!important;margin-top:9px!important}
 .rooms-trust-strip{margin-top:28px;padding:20px 18px}
 .booking-review-mini p{font-size:.86rem}
}
@media(max-width:380px){
 .direct-sales-points{grid-template-columns:1fr}
 .direct-sales-points>div{min-height:96px}
}


/* Reviews and direct-booking refinement v9 */
.direct-sales-shell{padding-block:46px;gap:32px 52px}
.direct-sales-copy>p:not(.eyebrow):not(.direct-booking-security){font-size:.96rem;line-height:1.72;margin-top:17px}
.direct-sales-actions{margin-top:21px}.direct-booking-security{margin-top:15px}
.direct-sales-points>div{padding:20px;min-height:112px}.direct-sales-points b{font-size:1.8rem;margin-bottom:8px}.direct-sales-points span{font-size:.82rem}
.direct-sales-proof{display:block;padding-top:20px}.direct-proof-head{margin-bottom:12px}
.quote-rotator{position:relative;min-width:0}.quote-rotator-stage{position:relative}
.quote-rotator-card{margin:0;padding:27px 30px;background:#fffaf5;border:1px solid #e1d4c9;border-left:3px solid #9c3b3b;min-height:225px;display:flex;flex-direction:column;justify-content:center}
.quote-rotator-card[hidden]{display:none!important}.quote-stars{display:block;color:#9c3b3b;font:600 .78rem/1 var(--sans);letter-spacing:.12em;margin-bottom:15px}
.quote-rotator-card p{font:400 1.25rem/1.68 var(--serif);color:#342c2a;margin:0;max-width:920px}.quote-rotator-card footer{margin-top:17px;display:flex;flex-direction:column;gap:3px}
.quote-rotator-card footer strong{font:650 .82rem/1.4 var(--sans);color:#3b302e}.quote-rotator-card footer span{font-size:.7rem;color:#85756d}
.quote-rotator-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}.quote-rotator-controls button{width:38px;height:38px;border:1px solid #cdb9aa;background:transparent;color:#9c3b3b;cursor:pointer;font-size:1rem;transition:.2s ease}.quote-rotator-controls button:hover{background:#9c3b3b;color:#fff;border-color:#9c3b3b}.quote-rotator-controls span{min-width:56px;text-align:center;font-size:.72rem;color:#76665f}
.direct-proof-rotator .quote-rotator-card{background:#332a2b;border-color:#514344;border-left-color:#9c3b3b;min-height:126px;padding:16px 19px}.direct-proof-rotator .quote-stars{color:#e4b18a;margin-bottom:9px;font-size:.68rem}.direct-proof-rotator .quote-rotator-card p{font-size:.98rem;line-height:1.58;color:#f7eee8}.direct-proof-rotator .quote-rotator-card footer{margin-top:8px}.direct-proof-rotator .quote-rotator-card footer strong{color:#fff;font-size:.74rem}.direct-proof-rotator .quote-rotator-card footer span{color:#baa9a1;font-size:.66rem}.direct-proof-rotator .quote-rotator-controls{margin-top:8px}.direct-proof-rotator .quote-rotator-controls button{width:32px;height:32px;border-color:#6e5955;color:#e8c2a5}.direct-proof-rotator .quote-rotator-controls button:hover{background:#9c3b3b;border-color:#9c3b3b}.direct-proof-rotator .quote-rotator-controls span{color:#bca9a0}
.reviews-home-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.reviews-home-heading .text-link{flex:none}.home-review-rotator{max-width:1040px}.home-review-rotator .quote-rotator-card{min-height:250px}
.reviews-overview{padding-block:48px 10px}.reviews-themes{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:14px 0 24px;border-bottom:1px solid #ddcfc4}.reviews-themes>span{font-size:.76rem;color:#74675f;margin-right:7px}.reviews-themes b{display:inline-flex;padding:7px 11px;border:1px solid #d3c0b1;border-radius:999px;color:#9c3b3b;background:#fffaf5;font-size:.7rem;font-weight:650}.reviews-featured{display:grid;grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr);gap:55px;align-items:center;padding-block:46px}.reviews-featured-copy h2{margin:0}.reviews-featured-copy>p:not(.eyebrow){margin-top:18px;color:#766960;line-height:1.75;font-size:.92rem}.reviews-page-rotator .quote-rotator-card{min-height:300px}.reviews-wall-section{padding-top:38px}.reviews-wall{columns:2;column-gap:24px}.review-wall-card{break-inside:avoid;margin:0 0 24px;padding:28px 29px;background:#f5eee8;border-top:2px solid #c6a991}.review-wall-card .quote-stars{margin-bottom:13px}.review-wall-card p{font:400 1rem/1.75 var(--serif);color:#3c3330;margin:0}.review-wall-card footer{margin-top:17px;display:flex;flex-direction:column;gap:3px}.review-wall-card footer strong{font-size:.78rem;color:#342d2b}.review-wall-card footer span{font-size:.68rem;color:#81746c}
@media(max-width:1000px){.reviews-featured{grid-template-columns:1fr;gap:26px}.reviews-page-rotator .quote-rotator-card{min-height:250px}}
@media(max-width:760px){.direct-sales-shell{padding-block:36px;gap:22px}.direct-sales-copy h2{font-size:2rem}.direct-sales-copy>p:not(.eyebrow):not(.direct-booking-security){font-size:.9rem;line-height:1.68;margin-top:14px}.direct-sales-actions{margin-top:18px}.direct-sales-points>div{min-height:102px;padding:16px 14px}.direct-sales-points b{font-size:1.55rem}.direct-sales-points span{font-size:.74rem}.direct-sales-proof{padding-top:16px}.quote-rotator-card{min-height:230px;padding:22px 20px}.quote-rotator-card p{font-size:1.08rem;line-height:1.62}.quote-rotator-controls{justify-content:space-between}.direct-proof-rotator .quote-rotator-card{min-height:144px;padding:15px 16px}.direct-proof-rotator .quote-rotator-card p{font-size:.9rem}.reviews-home-heading{align-items:start;flex-direction:column;margin-bottom:22px}.home-review-rotator .quote-rotator-card{min-height:260px}.reviews-overview{padding-block:32px 0}.reviews-themes{padding-bottom:18px}.reviews-featured{padding-block:32px;gap:20px}.reviews-page-rotator .quote-rotator-card{min-height:260px}.reviews-wall{columns:1}.review-wall-card{padding:23px 21px;margin-bottom:17px}}
@media(prefers-reduced-motion:reduce){.quote-rotator-card{animation:none!important}}

.quote-source{display:inline-flex;align-self:flex-start;padding:5px 9px;margin-bottom:13px;border:1px solid #cdb9aa;border-radius:999px;color:#9c3b3b;font:700 .64rem/1.2 var(--sans);letter-spacing:.05em;text-transform:uppercase;background:#fffaf5}
.direct-proof-rotator .quote-source{border-color:#6e5955;color:#e8c2a5;background:transparent;margin-bottom:8px}
.review-wall-card .quote-source{margin-bottom:12px}


/* Guide / SEO content hub v10 */
.guide-masthead>img{object-position:center 48%}.guide-intro{padding-block:58px 35px;display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:start}.guide-intro h2{margin:0}.guide-intro>div:last-child p{color:var(--muted);line-height:1.85;margin:0 0 14px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-bottom:72px}.guide-card{position:relative;padding:35px 34px;background:#f4ede6;border-top:2px solid #c9b09d;min-height:315px;display:flex;flex-direction:column}.guide-card:nth-child(3n+2){background:#efe6de}.guide-card:nth-child(3n){background:#f7f1eb}.guide-card-kicker{font:700 .68rem/1.4 var(--sans);letter-spacing:.11em;color:#9c3b3b;text-transform:uppercase;margin-bottom:18px}.guide-card h2{font-size:2rem;line-height:1.22;margin:0 0 17px}.guide-card h2 em{color:#9c3b3b}.guide-card p{color:#71645d;line-height:1.72;font-size:.91rem;margin:0 0 20px}.guide-card .text-link{margin-top:auto;align-self:flex-start}.guide-trust{background:#2c2526;color:#eee3db;padding-block:48px}.guide-trust .eyebrow{color:#d5aa7c}.guide-trust h2{color:#fff;margin:0}.guide-trust p:not(.eyebrow){max-width:850px;color:#d4c7bf;line-height:1.8;margin-top:17px}.guide-cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}.ghost-light{background:transparent!important;color:#f6e9df!important;border-color:#8f756b!important}.ghost-light:hover{background:#fff!important;color:#342829!important}.guide-article-head{padding-bottom:56px}.guide-article-head .lead{max-width:820px}.guide-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:70px;padding-block:55px 75px;align-items:start}.guide-article-copy{max-width:820px}.guide-article-copy>p,.guide-article-copy li{font-size:1rem;line-height:1.9;color:#514843}.guide-article-copy>p{margin:0 0 23px}.guide-article-copy h2{font-size:2.05rem;line-height:1.3;margin:46px 0 18px}.guide-article-copy h3{font:650 1.05rem/1.5 var(--sans);color:#9c3b3b;margin:30px 0 9px}.guide-article-aside{position:relative}.guide-sticky-card{position:sticky;top:125px;padding:28px 26px;background:#f1e8e0;border-top:3px solid #9c3b3b}.guide-sticky-card h2{font-size:1.8rem;margin:0 0 12px}.guide-sticky-card>p:not(.eyebrow){font-size:.86rem;line-height:1.7;color:#70615a;margin-bottom:19px}.guide-sticky-card .button{width:100%;justify-content:space-between}.guide-sticky-card .text-link{margin-top:12px;width:100%;justify-content:space-between;font-size:.78rem}.guide-aside-links{display:grid;margin-top:22px;padding-top:17px;border-top:1px solid #d3c0b1}.guide-aside-links a{padding:9px 0;border-bottom:1px solid #dfd0c5;font-size:.77rem;color:#5d504a}.guide-sources{margin-top:55px;padding:30px;background:#f5eee8;border-left:3px solid #9c3b3b}.guide-sources h2{font-size:1.55rem;margin:0 0 10px}.guide-sources>p:not(.eyebrow){font-size:.82rem;line-height:1.7;color:#75665e}.guide-sources ul{list-style:none;padding:0;margin:18px 0 0}.guide-sources li+li{border-top:1px solid #dccbbf}.guide-sources a{display:flex;justify-content:space-between;gap:18px;padding:12px 0;font-size:.78rem;font-weight:600;color:#9c3b3b}.guide-next{background:#efe7df;padding-block:48px}.guide-next h2{margin:0 0 22px}.guide-next-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d6c4b6}.guide-next-links a{background:#f8f3ee;padding:20px 18px;display:flex;justify-content:space-between;gap:14px;font-size:.82rem;font-weight:650;color:#4b3e39}.guide-next-links a:hover{background:#9c3b3b;color:white}.guide-crosslink{margin-top:38px;padding:26px 30px;background:#2d2526;color:#f3e8e0;display:flex;align-items:center;justify-content:space-between;gap:35px}.guide-crosslink .eyebrow{color:#d5aa7c;margin-bottom:7px}.guide-crosslink h2{color:#fff;font-size:1.7rem;margin:0 0 7px}.guide-crosslink p:not(.eyebrow){color:#cabcb4;font-size:.82rem;line-height:1.6;margin:0;max-width:700px}.guide-crosslink .button{flex:none}.guide-page .menu-links>a[aria-current="page"],.guide-article-page .menu-links>a[aria-current="page"]{color:#9c3b3b;font-weight:700}
@media(max-width:1000px){.guide-article-layout{grid-template-columns:1fr;gap:35px}.guide-sticky-card{position:static}.guide-intro{grid-template-columns:1fr;gap:25px}.guide-next-links{grid-template-columns:1fr}.guide-crosslink{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.guide-masthead>img{height:245px}.guide-intro{padding-block:38px 25px}.guide-grid{grid-template-columns:1fr;gap:14px;padding-bottom:50px}.guide-card{min-height:0;padding:27px 22px}.guide-card h2{font-size:1.75rem}.guide-trust{padding-block:38px}.guide-cta-actions{display:grid}.guide-cta-actions .button{width:100%;justify-content:space-between}.guide-article-head{padding-bottom:35px}.guide-article-layout{padding-block:35px 52px}.guide-article-copy>p,.guide-article-copy li{font-size:.96rem;line-height:1.82}.guide-article-copy h2{font-size:1.75rem;margin-top:37px}.guide-sources{margin-top:40px;padding:24px 20px}.guide-next{padding-block:38px}.guide-crosslink{margin-top:24px;padding:23px 20px;gap:17px}.guide-crosslink .button{width:100%;justify-content:space-between}}

/* ========================================================================== */
/* v12 — unified pre-booking, responsive header and mobile navigation         */
/* ========================================================================== */

/* On smaller laptops keep the header clean instead of squeezing the full nav. */
@media (max-width:1320px){
  .desktop-nav{display:none!important}
  .header-actions{margin-left:auto}
}

/* Four equal mobile actions: call, offers, directions, booking. */
@media (max-width:760px){
  .mobile-dock{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom))!important}
  .mobile-dock>a,.mobile-dock>a:first-child{min-width:0!important;min-height:54px!important;margin:0!important;padding:7px 4px!important;border:0!important;border-radius:14px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;font-size:.7rem!important;line-height:1.15!important;text-align:center!important;white-space:normal!important}
  .mobile-dock small{font-size:.53rem!important;line-height:1.15!important;white-space:normal!important;display:block!important}
  .mobile-dock .dock-call-label{gap:4px!important;white-space:nowrap!important}
  .dock-phone-icon,.dock-route-icon{width:15px!important;height:15px!important;flex:none}
  .dock-promo-icon{width:16px!important;height:16px!important;font-size:.54rem!important}
  .mobile-dock .dock-book{background:var(--wine)!important;color:#fff!important;border:1px solid var(--wine)!important}
  .mobile-dock .dock-book small{color:#f5ded5!important}
  .mobile-dock .dock-book:hover{background:var(--wine-dark)!important;color:#fff!important}
  body>footer{padding-bottom:88px}
}
@media (max-width:390px){
  .mobile-dock{gap:4px!important;padding-inline:6px!important}
  .mobile-dock>a,.mobile-dock>a:first-child{font-size:.65rem!important;padding-inline:2px!important}
  .mobile-dock small{font-size:.49rem!important}
}

/* Promotion cards: compact booking entry without changing the card identity. */
.promo-quickbook{margin-top:24px;padding-top:22px;border-top:1px solid #d8c8bb}
.promo-quickbook-title{font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--wine);margin:0 0 11px}
.promo-quickbook-fields{display:grid;grid-template-columns:1fr 1fr .72fr;gap:8px;margin-bottom:9px}
.promo-booking-field{min-width:0;min-height:60px;padding:9px 11px;border:1px solid #cdb9aa;background:#fffaf5;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:2px;color:var(--ink);transition:border-color .18s,background .18s}
.promo-booking-field:hover,.promo-booking-field:focus-visible{border-color:var(--wine);background:#fff}
.promo-booking-field span{font-size:.64rem;letter-spacing:.07em;text-transform:uppercase;color:#806f65}
.promo-booking-field strong{font-size:.78rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#342c2a}
.promo-quickbook-submit{width:100%;min-height:52px;margin-top:0!important;padding:12px 16px;font-size:.85rem;gap:12px}
.promo-quickbook-note{font-size:.72rem!important;line-height:1.55!important;color:#796a62!important;margin:10px 0 0!important}
@media(max-width:760px){
  .promo-quickbook{margin-top:20px;padding-top:18px}
  .promo-quickbook-fields{grid-template-columns:1fr 1fr;gap:7px}
  .promo-booking-guests{grid-column:1/-1}
  .promo-booking-field{min-height:56px}
  .promo-quickbook-submit{min-height:50px;font-size:.82rem}
}

/* Shared pre-booking layer. */
body.booking-open{overflow:hidden}
.booking-layer[hidden]{display:none!important}
.booking-layer{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:24px}
.booking-backdrop{position:absolute;inset:0;background:#24171bcf;backdrop-filter:blur(5px)}
.booking-panel{position:relative;width:min(900px,calc(100vw - 48px));max-height:calc(100dvh - 48px);overflow:auto;background:var(--ivory);border:1px solid #d6c6ba;box-shadow:0 34px 90px #160d124f;color:var(--ink)}
.booking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:26px 28px 20px;border-bottom:1px solid var(--line)}
.booking-head .eyebrow{margin:0 0 6px;font-size:.7rem}
.booking-head h2{font-size:1.85rem;line-height:1.2}
.booking-close{width:44px;height:44px;display:grid;place-items:center;border:1px solid #d3c0b1;color:var(--wine);font-size:1.35rem;line-height:1;flex:none}
.booking-close:hover{background:var(--wine);color:white;border-color:var(--wine)}
.booking-body{padding:26px 28px 28px}
.booking-details{display:grid;grid-template-columns:minmax(245px,.72fr) minmax(340px,1.28fr);gap:28px;align-items:start}
.booking-summary{display:flex;flex-direction:column;gap:12px}
.booking-date-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.booking-date-tab{min-height:68px;padding:10px 12px;text-align:left;border:1px solid #cdb9aa;background:#fffaf5;display:flex;flex-direction:column;justify-content:center;gap:3px}
.booking-date-tab span{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#806f65}
.booking-date-tab strong{font-size:.92rem;color:#332b28;line-height:1.3}
.booking-date-tab[aria-pressed="true"]{border-color:var(--wine);box-shadow:inset 0 0 0 1px var(--wine);background:#fff}
.booking-guests{padding:14px 14px;border:1px solid #d8c8bc;background:#f6efe9}
.booking-guests>span{display:block;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#806f65;margin-bottom:8px}
.booking-guest-control{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:7px}
.booking-guest-control button{width:44px;height:44px;border:1px solid #cbb8a9;background:#fffaf5;font-size:1.2rem;color:var(--wine)}
.booking-guest-control output{text-align:center;font-weight:650;font-size:.92rem}
.booking-context-note{padding:12px 13px;background:#f1e7df;border-left:2px solid var(--wine);font-size:.76rem;line-height:1.55;color:#655851}
.booking-error{margin:0;color:#8f2431;font-size:.76rem;line-height:1.5;font-weight:600}
.booking-check{width:100%;margin-top:2px}
.booking-security{font-size:.69rem!important;line-height:1.55!important;color:#82736b!important;margin:0!important}
.booking-calendar{border:1px solid #d8c8bc;background:#fffaf5;padding:18px}
.booking-calendar-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:13px}
.booking-calendar-head button{width:44px;height:44px;border:1px solid #d1bfb0;background:transparent;color:var(--wine);font-size:1.25rem}
.booking-calendar-head button:hover{background:#f1e6de}
.booking-month-title{text-align:center;font:500 1.2rem/1.3 var(--serif);color:#342d2a;text-transform:capitalize}
.booking-weekdays,.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.booking-weekdays span{text-align:center;font-size:.62rem;font-weight:700;color:#8a7b71;padding:5px 0;text-transform:uppercase}
.booking-day{aspect-ratio:1;min-height:42px;border:1px solid transparent;background:transparent;color:#3a312e;font-size:.8rem;display:grid;place-items:center;position:relative}
.booking-day:hover:not(:disabled){background:#f1e5dc;border-color:#d3bcaa}
.booking-day.is-today:after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--wine)}
.booking-day.is-selected{background:var(--wine)!important;color:white!important;border-color:var(--wine)!important;font-weight:700}
.booking-day.is-range{background:#f2e3df;border-color:#ead5d0}
.booking-day:disabled{opacity:.28;cursor:not-allowed;text-decoration:line-through;text-decoration-thickness:1px}
.booking-day.is-empty{visibility:hidden;pointer-events:none}
.booking-calendar-help{margin:12px 2px 0;font-size:.69rem;line-height:1.5;color:#7a6b63}
.booking-result{padding:5px 0 0}
.booking-result-back{display:inline-flex;align-items:center;gap:8px;color:var(--wine);font-size:.8rem;font-weight:650;margin-bottom:18px}
.booking-result h3{font-size:2rem;margin:0 0 12px}
.booking-result>p{font-size:.9rem;line-height:1.7;max-width:680px}
.booking-offer{margin-top:22px;padding:22px;border:1px solid #d8c4b5;background:#f4ebe4;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.booking-offer-copy{min-width:0}
.booking-offer-kicker{display:block;font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--wine);font-weight:700;margin-bottom:6px}
.booking-offer strong{font:500 1.55rem/1.25 var(--serif);color:#342c2a}
.booking-offer p{font-size:.78rem;line-height:1.55;margin-top:7px;color:#716159}
.booking-offer-badge{min-width:88px;text-align:center;background:var(--wine);color:white;padding:13px 12px;font-size:1.25rem;font-weight:750}
.booking-result-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px}
.booking-result-actions .button{min-width:260px}
.booking-result-actions .text-link{min-height:48px}
.booking-result-note{font-size:.7rem!important;line-height:1.55!important;color:#81716a!important;margin-top:15px!important}

@media(max-width:760px){
  .booking-layer{align-items:end;padding:0}
  .booking-backdrop{background:#24171bb8}
  .booking-panel{width:100%;max-height:calc(100dvh - 10px);border:0;border-top:1px solid #d6c6ba;border-radius:18px 18px 0 0;box-shadow:0 -24px 55px #160d1238}
  .booking-head{padding:18px 20px 14px}
  .booking-head h2{font-size:1.55rem}
  .booking-close{width:40px;height:40px;border-radius:50%}
  .booking-body{padding:18px 20px calc(22px + env(safe-area-inset-bottom))}
  .booking-details{grid-template-columns:1fr;gap:17px}
  .booking-summary{gap:9px}
  .booking-date-tab{min-height:60px;padding:8px 10px}
  .booking-guests{padding:10px 12px}
  .booking-guest-control{grid-template-columns:42px 1fr 42px}
  .booking-guest-control button{width:42px;height:42px}
  .booking-calendar{padding:12px}
  .booking-calendar-head{margin-bottom:8px}
  .booking-calendar-head button{width:40px;height:40px}
  .booking-month-title{font-size:1.1rem}
  .booking-day{min-height:38px;font-size:.76rem}
  .booking-check{min-height:52px}
  .booking-offer{grid-template-columns:1fr auto;padding:17px 15px;gap:12px}
  .booking-offer strong{font-size:1.3rem}
  .booking-offer-badge{min-width:72px;padding:10px 8px;font-size:1rem}
  .booking-result h3{font-size:1.65rem}
  .booking-result-actions{display:grid;gap:8px}
  .booking-result-actions .button,.booking-result-actions .text-link{width:100%;min-width:0;justify-content:space-between}
}
@media(max-width:390px){
  .booking-head{padding-inline:15px}
  .booking-body{padding-inline:15px}
  .booking-day{min-height:35px}
  .booking-weekdays,.booking-days{gap:2px}
}

/* Updated direct-booking promo banner: one message, one booking action. */
.direct-promo-book{background:var(--wine);color:#fff!important;border:1px solid var(--wine);display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;padding:9px 13px;font-weight:650;font-size:.8rem}
.direct-promo-book:hover{background:var(--wine-dark);border-color:var(--wine-dark)}
.direct-booking-bar-links{display:flex;align-items:center;gap:12px}
.direct-booking-bar-links button{color:var(--wine);font-weight:700;font-size:.78rem;min-height:40px;padding:7px 10px;border:1px solid #c9b4a1;background:#fffaf5}
.direct-booking-bar-links button:hover{background:var(--wine);color:#fff;border-color:var(--wine)}
@media(max-width:760px){
  .direct-booking-bar-links{gap:6px}
  .direct-booking-bar-links button{font-size:.64rem;min-height:36px;padding:6px 8px}
}

/* Prevent scrollable carousels and long controls from widening the page itself. */
body{overflow-x:clip}
.booking-check{gap:12px;padding-inline:18px;font-size:.9rem}


/* ========================================================================== */
/* v13 — final mobile booking polish                                          */
/* ========================================================================== */

/* Primary action in pre-booking: burgundy, clear and slightly animated. */
.booking-check{
  position:relative;
  overflow:hidden;
  background:var(--wine)!important;
  border:1px solid var(--wine)!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(112,42,48,.16);
  transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.booking-check:hover,.booking-check:focus-visible{
  background:var(--wine-dark)!important;
  border-color:var(--wine-dark)!important;
  color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(112,42,48,.22);
}
.booking-check::after{
  content:"";
  position:absolute;
  top:-45%;
  bottom:-45%;
  left:-38%;
  width:24%;
  transform:skewX(-22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  animation:bookingCtaSheen 3.6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes bookingCtaSheen{
  0%,58%{left:-38%;opacity:0}
  64%{opacity:1}
  82%{left:118%;opacity:1}
  83%,100%{left:118%;opacity:0}
}
.booking-panel{scroll-behavior:smooth}

/* On mobile the small direct-booking strip has one clean action only. */
@media(max-width:760px){
  .direct-booking-bar-inner{
    width:calc(100% - 24px)!important;
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    padding-block:5px!important;
  }
  .direct-booking-bar-copy{
    max-width:none!important;
    min-width:0!important;
    flex:1 1 auto!important;
    display:block!important;
    line-height:1.2!important;
  }
  .direct-booking-bar-copy strong{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    font-size:.72rem!important;
    white-space:nowrap!important;
    animation:none!important;
  }
  .direct-booking-bar-copy strong>span{
    width:19px!important;
    height:19px!important;
    font-size:.58rem!important;
    flex:none!important;
  }
  .direct-booking-bar-copy>span{display:none!important}
  .direct-booking-bar-links{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    gap:0!important;
  }
  .direct-booking-bar-links button{
    min-height:36px!important;
    padding:7px 10px!important;
    font-size:.68rem!important;
    white-space:nowrap!important;
  }
  .direct-booking-bar-promos{display:none!important}

  /* The bottom dock must remain fixed and identical on every page. */
  .mobile-dock{
    position:fixed!important;
    z-index:120!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    top:auto!important;
    width:100%!important;
    margin:0!important;
    transform:none!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-items:stretch!important;
    gap:5px!important;
    padding:7px 7px calc(7px + env(safe-area-inset-bottom))!important;
    background:#fdfaf7fa!important;
    border-top:1px solid #c9b4a1!important;
    box-shadow:0 -8px 25px #2b1b1510!important;
  }
  .mobile-dock>a,.mobile-dock>a:first-child{
    min-width:0!important;
    max-width:none!important;
    min-height:54px!important;
    margin:0!important;
    padding:7px 3px!important;
    border-radius:14px!important;
    overflow:hidden!important;
  }
  .mobile-dock .dock-call-label{
    max-width:100%!important;
    min-width:0!important;
    gap:3px!important;
    font-size:.66rem!important;
    letter-spacing:-.01em!important;
    white-space:nowrap!important;
  }
  .mobile-dock .dock-book{
    min-width:0!important;
    padding-inline:2px!important;
    font-size:.64rem!important;
  }
  .mobile-dock .dock-book .dock-call-label{
    font-size:.62rem!important;
    gap:2px!important;
  }
  .mobile-dock .dock-book .dock-call-label>span[aria-hidden="true"]{
    font-size:.78rem!important;
    line-height:1!important;
  }
  .mobile-dock small{
    max-width:100%!important;
    font-size:.50rem!important;
    line-height:1.1!important;
  }

  /* Keep the calendar interaction obvious in the bottom-sheet layout. */
  .booking-panel{overscroll-behavior:contain}
  .booking-calendar{scroll-margin-top:8px}
}

@media(max-width:390px){
  .mobile-dock{gap:4px!important;padding-inline:5px!important}
  .mobile-dock>a,.mobile-dock>a:first-child{padding-inline:2px!important}
  .mobile-dock .dock-call-label{font-size:.62rem!important}
  .mobile-dock .dock-book .dock-call-label{font-size:.58rem!important}
  .mobile-dock small{font-size:.47rem!important}
  .direct-booking-bar-copy strong{font-size:.68rem!important}
  .direct-booking-bar-links button{font-size:.64rem!important;padding-inline:8px!important}
}

@media(prefers-reduced-motion:reduce){
  .booking-check::after{animation:none!important}
  .booking-check{transition:none!important}
}

/* Multi-room controls in the shared pre-booking widget. */
.booking-rooms{padding:13px 14px;border:1px solid #d8c8bc;background:#f6efe9}
.booking-rooms-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px}
.booking-rooms-head>span{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#806f65}
.booking-rooms-head>strong{font-size:.72rem;color:#5f514a;text-align:right}
.booking-room-list{display:grid;gap:7px}
.booking-room{display:grid;grid-template-columns:minmax(78px,1fr) minmax(150px,1.55fr) auto;gap:8px;align-items:center;padding:9px 9px;background:#fffaf5;border:1px solid #ddcec2}
.booking-room-label{display:grid;gap:1px;min-width:0}
.booking-room-label strong{font-size:.8rem;color:#3c312d}
.booking-room-label small{font-size:.61rem;color:#8a786e}
.booking-room .booking-guest-control{grid-template-columns:38px minmax(70px,1fr) 38px;gap:5px}
.booking-room .booking-guest-control button{width:38px;height:38px}
.booking-room .booking-guest-control output{font-size:.8rem}
.booking-remove-room{padding:0 7px;min-height:38px;color:#8f2431;font-size:.66rem;font-weight:650;text-decoration:underline;text-underline-offset:3px}
.booking-remove-room:hover{color:var(--wine-dark)}
.booking-add-room{margin-top:8px;width:100%;min-height:40px;border:1px dashed #b99d8b;background:transparent;color:var(--wine);font-size:.75rem;font-weight:700}
.booking-add-room:hover{background:#efe2d9}
.booking-room-help{margin:7px 1px 0!important;font-size:.65rem!important;line-height:1.45!important;color:#796a62!important}
.booking-multiroom-note{margin-top:18px;padding:15px 16px;border:1px solid #d1b7a5;background:#fff8f3;display:grid;gap:5px}
.booking-multiroom-note[hidden]{display:none!important}
.booking-multiroom-note strong{font-size:.78rem;color:var(--wine)}
.booking-multiroom-note span{font-size:.76rem;font-weight:650;color:#403632}
.booking-multiroom-note p{margin:2px 0 0;font-size:.72rem;line-height:1.55;color:#70615a}
@media(max-width:760px){
  .booking-rooms{padding:10px}
  .booking-rooms-head{align-items:flex-start}
  .booking-rooms-head>strong{font-size:.67rem}
  .booking-room{grid-template-columns:minmax(62px,.8fr) minmax(142px,1.55fr) auto;padding:8px 7px;gap:6px}
  .booking-room-label small{font-size:.57rem}
  .booking-room .booking-guest-control{grid-template-columns:36px minmax(62px,1fr) 36px}
  .booking-room .booking-guest-control button{width:36px;height:36px}
  .booking-room .booking-guest-control output{font-size:.74rem}
  .booking-remove-room{padding-inline:4px;font-size:.61rem}
}
@media(max-width:390px){
  .booking-room{grid-template-columns:58px minmax(132px,1fr) auto;gap:4px}
  .booking-room .booking-guest-control{grid-template-columns:34px minmax(58px,1fr) 34px;gap:3px}
  .booking-room .booking-guest-control button{width:34px;height:34px}
  .booking-room .booking-guest-control output{font-size:.7rem}
  .booking-remove-room{font-size:.58rem}
}


/* ========================================================================== */
/* v16 — clearer final booking CTA + business-travel landing page             */
/* ========================================================================== */
.booking-result-actions .booking-final-promo{
  position:relative;
  overflow:hidden;
  background:var(--wine)!important;
  border-color:var(--wine)!important;
  color:#fff!important;
  box-shadow:0 10px 26px rgba(112,42,48,.20);
  font-weight:700;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
  animation:bookingFinalPulse 2.6s ease-in-out infinite;
}
.booking-result-actions .booking-final-promo:hover,
.booking-result-actions .booking-final-promo:focus-visible{
  background:var(--wine-dark)!important;
  border-color:var(--wine-dark)!important;
  color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(112,42,48,.28);
}
.booking-result-actions .booking-final-promo::after{
  content:"";
  position:absolute;
  top:-55%;
  bottom:-55%;
  left:-42%;
  width:25%;
  transform:skewX(-22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);
  animation:bookingFinalSheen 3.2s ease-in-out infinite;
  pointer-events:none;
}
@keyframes bookingFinalPulse{
  0%,100%{box-shadow:0 10px 26px rgba(112,42,48,.18)}
  50%{box-shadow:0 12px 32px rgba(112,42,48,.34)}
}
@keyframes bookingFinalSheen{
  0%,56%{left:-42%;opacity:0}
  62%{opacity:1}
  82%{left:122%;opacity:1}
  83%,100%{left:122%;opacity:0}
}
.booking-result-actions [data-booking-final-standard]{font-weight:650}

.business-page .business-lead{max-width:900px}
.business-benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);margin:26px 0 6px;border:1px solid var(--line)}
.business-benefit{background:#fbf7f3;padding:20px 18px;min-height:130px}
.business-benefit span{display:block;font:700 .66rem/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--wine);margin-bottom:8px}
.business-benefit strong{display:block;font:500 1.25rem/1.35 var(--serif);color:var(--ink);margin-bottom:6px}
.business-benefit p{font-size:.82rem!important;line-height:1.6!important;margin:0!important;color:var(--muted)!important}
.business-room-picks{margin-top:30px}
.business-room-picks>h2{margin-bottom:10px}
.business-room-picks>.business-room-intro{max-width:780px;margin-bottom:23px!important}
.business-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.business-room-card{background:#f5ede6;display:flex;flex-direction:column;min-width:0}
.business-room-card img{width:100%;aspect-ratio:1.18;object-fit:cover}
.business-room-card>div{padding:19px 18px 20px;display:flex;flex-direction:column;flex:1}
.business-room-card .eyebrow{margin-bottom:8px;font-size:.61rem}
.business-room-card h3{font-size:1.35rem;margin:0 0 8px}
.business-room-card p{font-size:.78rem!important;line-height:1.6!important;margin:0 0 14px!important;color:var(--muted)!important;min-height:0!important}
.business-room-card .text-link{margin-top:auto;width:100%}
.business-single-cta{margin-top:28px;padding:24px 22px;background:#2f2728;color:#f7ece4;display:flex;align-items:center;justify-content:space-between;gap:28px}
.business-single-cta .eyebrow{color:var(--gold);margin-bottom:7px}
.business-single-cta h3{font-size:1.55rem;color:#fff;margin:0 0 7px}
.business-single-cta p{font-size:.82rem!important;line-height:1.6!important;color:#d4c7bf!important;margin:0!important;max-width:650px}
.business-single-cta .button{flex:none}
.business-aside-note{margin-top:15px;padding:13px 14px;border-left:2px solid var(--wine);background:#f5ece5;font-size:.74rem;line-height:1.55;color:#685951}
@media(max-width:1000px){
  .business-room-grid{grid-template-columns:1fr 1fr}
  .business-single-cta{align-items:flex-start;flex-direction:column}
}
@media(max-width:760px){
  .business-benefit-grid,.business-room-grid{grid-template-columns:1fr}
  .business-benefit{min-height:0;padding:17px 16px}
  .business-room-card>div{padding:17px 16px 18px}
  .business-single-cta{padding:21px 18px;gap:17px}
  .business-single-cta .button{width:100%;justify-content:space-between}
  .booking-result-actions .booking-final-promo{min-height:56px;font-size:.84rem;padding-inline:16px}
}
@media(prefers-reduced-motion:reduce){
  .booking-result-actions .booking-final-promo,
  .booking-result-actions .booking-final-promo::after{animation:none!important;transition:none!important}
}

/* ========================================================================== */
/* v18 — quieter check-in presentation + mobile pre-booking date drawer       */
/* ========================================================================== */

@media(max-width:760px){
  /* On phones the month calendar is not shown when the booking sheet opens.
     It unfolds directly below the tapped arrival/departure fields. */
  .booking-summary .booking-calendar{
    width:100%;
    box-sizing:border-box;
    max-height:0;
    margin:0;
    padding:0 12px;
    border-width:0;
    opacity:0;
    visibility:hidden;
    overflow:hidden;
    transform:translateY(-8px);
    pointer-events:none;
    transition:max-height .28s ease,opacity .18s ease,transform .22s ease,padding .22s ease,margin .22s ease,border-width .22s ease,visibility 0s linear .28s;
  }
  .booking-summary .booking-calendar.is-mobile-open{
    max-height:560px;
    margin:2px 0 4px;
    padding:12px;
    border-width:1px;
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
    transition:max-height .28s ease,opacity .2s ease,transform .22s ease,padding .22s ease,margin .22s ease,border-width .22s ease,visibility 0s linear 0s;
  }
  .booking-summary .booking-calendar.is-mobile-collapsed{
    max-height:0;
  }
  .booking-date-tab{position:relative;padding-right:30px}
  .booking-date-tab::after{
    content:"⌄";
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
    color:var(--wine);
    font-size:1rem;
    line-height:1;
    opacity:.75;
    transition:transform .2s ease;
  }
  .booking-date-tab[aria-expanded="true"]::after{transform:translateY(-50%) rotate(180deg)}
}

@media(prefers-reduced-motion:reduce){
  .booking-summary .booking-calendar,
  .booking-date-tab::after{transition:none!important}
}
