/* Shared spacing pass: readable headings, useful image scale, no empty title screens. */
.detail-page .detail-content{padding:48px 0 64px}
.detail-page .detail-hero{padding-top:24px}
.detail-page .detail-hero-layout{min-height:0;gap:32px;align-items:center}
.detail-page .detail-hero-copy{padding:28px 24px 28px 0;min-height:0}
.detail-page .detail-hero h1,.detail-page.page-rooms .detail-hero h1,
html[lang="en"] .detail-page.page-rooms .detail-hero h1,
.detail-page.page-offers-coop-members-2026 .detail-hero h1{font-size:clamp(2rem,3.3vw,3rem);line-height:1.12;margin:16px 0 18px;letter-spacing:-.045em}
.detail-page .detail-hero-image{height:360px;min-height:0;margin-bottom:0}
.detail-page .text-only-hero{padding-top:0}
.detail-page .text-only-hero .detail-hero-layout{display:block;min-height:0}
.detail-page .text-only-hero .detail-hero-copy{min-height:0;padding:30px 0 22px}
.detail-page .text-only-hero+.detail-content{padding-top:22px}
.detail-page.page-hotel-services .detail-hero-image{height:auto;aspect-ratio:3/2}
.detail-page.page-hotel-services .detail-content{padding-top:40px}
.detail-intro{margin-bottom:32px;padding-bottom:26px}
.detail-page .detail-two{margin-bottom:40px;gap:5%}
.detail-page .detail-two h2,.detail-page .detail-note h2{font-size:clamp(1.65rem,2.35vw,2.25rem);line-height:1.2;margin:12px 0 20px;letter-spacing:-.04em}
.detail-page .detail-two>img{height:380px}
.detail-note{margin-top:38px;padding:30px 34px}
.detail-page .detail-offers a{min-height:240px;padding:28px}
.detail-page .detail-offers h2{font-size:clamp(1.55rem,2.1vw,2rem);line-height:1.22;margin:22px 0 14px}
.detail-page .detail-card-grid h2,.detail-page .detail-type-list h2{font-size:clamp(1.5rem,2vw,2rem);line-height:1.25}
.detail-page .room-spec-card h3{font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.22}
.room-spec-body{padding:25px 28px}
.detail-page .room-service-strip{margin-top:36px;padding:30px;gap:24px}
.detail-page .room-service-strip h2{font-size:clamp(1.4rem,2vw,1.85rem)}
.detail-page .hotel-about h2{font-size:clamp(1.8rem,2.6vw,2.5rem);line-height:1.2;margin:12px 0 20px}
.detail-page .hotel-about img{height:370px}
.hotel-facilities,.hotel-wellness{margin-top:56px}
.detail-page .hotel-facilities-heading h2,.detail-page .hotel-wellness-heading h2{font-size:clamp(1.65rem,2.35vw,2.25rem);line-height:1.2;margin-bottom:24px}
.hotel-practical{margin-top:56px;padding-top:30px}
.detail-page .wellness-grid h3{font-size:clamp(1.4rem,1.9vw,1.8rem);line-height:1.25}
.wellness-grid article>div{padding:26px 28px}
.legacy-nearby,.legacy-conference{margin-top:48px;padding-top:30px}
.detail-page .sights-heading h2,.detail-page .legacy-conference>h2{font-size:clamp(1.65rem,2.35vw,2.25rem);line-height:1.2}
.legacy-service-note{padding:26px 30px;margin-top:24px}
.detail-page .legacy-service-note h2{font-size:1.4rem;line-height:1.4}
.detail-page .venue-copy h2{font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.25}
.detail-page .detail-gallery{align-items:stretch;gap:18px}
.detail-page .detail-gallery img,.detail-page .detail-gallery img:first-child,
.detail-page .detail-gallery img:nth-child(2),.detail-page .detail-gallery img:nth-child(3n+4){height:240px;margin-top:0}
.detail-photo-pair{gap:20px;margin-top:32px;padding-bottom:0}
.detail-photo-pair img,.detail-photo-pair img:nth-child(2){height:280px;margin-top:0}
.location-map{height:400px}

/* Offers keep their complete prices and terms in a tighter editorial grid. */
.offer-page h2,.offer-page .offer-overview-main h2{font-size:clamp(1.6rem,2.3vw,2.2rem);line-height:1.22;letter-spacing:-.04em}
.offer-page .offer-overview,.offer-page-conference .offer-overview{padding-bottom:42px;gap:5%}
.offer-overview-main{padding:0}
.offer-overview-main>p:last-child{margin-top:20px}
.offer-overview-meta{padding:26px 30px}
.offer-overview-meta>div{padding:17px 0}
.offer-page .offer-section{padding:44px 0;gap:5%}
.offer-page .offer-notes{padding-bottom:44px;gap:5%}
.offer-property{margin-top:44px;padding:30px;gap:5%}
.offer-property+.offer-section{padding-top:44px}
.offer-page .offer-conditions{padding:44px 0 30px;gap:5%}
.offer-conditions h2{margin-bottom:22px}
.offer-page .offer-extras{padding:30px 0 44px;gap:5%}
.offer-page .offer-notes h2,.offer-page .offer-extras h2{font-size:1.3rem}
.offer-contact{padding:30px 34px;align-items:center;gap:25px}
.offer-page .offer-contact h2{font-size:clamp(1.5rem,2.1vw,2rem)}
.offer-contact p:last-child{margin-top:16px}

/* Utility pages lead directly to the map, booking form or full policy text. */
.reservation-intro{gap:28px;padding-bottom:26px}
.reservation-intro h2{font-size:clamp(1.6rem,2.3vw,2.15rem);line-height:1.2;margin-top:12px;letter-spacing:-.04em}
.booking-form-host{margin-top:24px;padding:26px}
.page-hotel-policy .detail-hero-copy,.page-privacy-policy .detail-hero-copy{max-width:890px;margin-inline:auto}
.detail-legal h2,.detail-legal h3{margin:28px 0 16px}

/* A distinct aerial winter image for the hotel, with the whole building visible. */
.hotel-story-hero{display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,.66fr);max-width:1400px;margin:24px auto 0}
.hotel-story-hero:after{display:none}
.hotel-story-image{grid-column:2;grid-row:1;aspect-ratio:auto;height:auto;width:100%;align-self:center}
.hotel-story-copy{position:static;grid-column:1;grid-row:1;align-self:center;transform:none;width:auto;min-width:0;padding:30px}
.hotel-story-copy h1{font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.15;margin-bottom:18px}
.hotel-story-copy>p:not(.eyebrow){font-size:.9rem}
.hotel-story-stars{margin:18px 0}
.hotel-story-links{margin-top:24px;gap:18px}

/* Homepage section scale; its approved main photograph and snowfall are retained. */
body:not(.detail-page) main .section{padding:64px 0}
body:not(.detail-page) main h2,body:not(.detail-page) main .split-copy h2{font-size:clamp(1.85rem,3vw,2.8rem);line-height:1.18;letter-spacing:-.04em}
body:not(.detail-page) .section-top{margin-bottom:30px;gap:30px}
body:not(.detail-page) .room-card{height:420px}
body:not(.detail-page) .room-overlay strong{font-size:clamp(1.7rem,2.3vw,2.3rem)}
body:not(.detail-page) .split-section{min-height:0;padding:28px;gap:20px}
body:not(.detail-page) .split-image{min-height:0;height:420px}
body:not(.detail-page) .split-copy-inner{padding:30px}
body:not(.detail-page) .meeting-grid>img{height:400px}
body:not(.detail-page) .gallery-grid{align-items:stretch;gap:18px}
body:not(.detail-page) .gallery-grid img,body:not(.detail-page) .gallery-grid img:first-child,
body:not(.detail-page) .gallery-grid img:last-child{height:310px;margin-top:0}
body:not(.detail-page) .offer-card-body{min-height:0;padding:25px 70px 26px 26px}
body:not(.detail-page) .offer-card img{height:260px}
body:not(.detail-page) .offer-card strong{font-size:1.7rem}
body:not(.detail-page) .intro.section{padding:42px 0}

@media(max-width:1000px){
 .detail-page .detail-hero-layout{gap:20px}.detail-page .detail-hero-image{height:300px}
 .detail-page .text-only-hero .detail-hero-layout{display:block}
 .detail-page.page-hotel-services .detail-hero-image{height:auto}
 .hotel-story-copy{padding:22px}.hotel-story-copy h1{font-size:1.85rem}.hotel-story-links .button{padding:14px;font-size:.59rem}
 .hotel-story-copy .eyebrow{font-size:.55rem}
}
@media(max-width:650px){
 .detail-page .detail-content{padding:32px 0 44px}
 .detail-page .detail-hero{padding-top:0}
 .detail-page .detail-hero-layout{gap:0}
 .detail-page .detail-hero-copy{padding:28px 20px 24px}
 .detail-page .detail-hero h1,.detail-page.page-rooms .detail-hero h1,
 html[lang="en"] .detail-page.page-rooms .detail-hero h1,
 .detail-page.page-offers-coop-members-2026 .detail-hero h1{font-size:clamp(1.65rem,7.5vw,2.05rem);line-height:1.16;margin:12px 0 14px}
 .detail-page .detail-hero .eyebrow{font-size:.6rem;margin-bottom:14px}
 .detail-page .detail-hero-image{height:220px;margin-bottom:0}
 .detail-page .text-only-hero .detail-hero-copy{padding:26px 20px 18px}
 .detail-page .text-only-hero+.detail-content{padding-top:16px}
 .detail-page.page-hotel-services .detail-hero-image{height:auto}
 .detail-page.page-hotel-services .detail-content{padding-top:30px}
 .detail-intro{margin-bottom:26px;padding-bottom:22px}
 .detail-page .detail-two{gap:22px;margin-bottom:30px}
 .detail-page .detail-two h2,.detail-page .detail-note h2{font-size:1.65rem;line-height:1.25;margin:10px 0 18px}
 .detail-page .detail-two>img{height:240px}.detail-note{padding:24px 20px;margin-top:30px}
 .detail-page .detail-offers a{min-height:0;padding:23px}
 .detail-page .detail-offers h2{font-size:1.5rem;margin:18px 0 12px}
 .detail-page .room-spec-card h3{font-size:1.45rem}
 .detail-page .room-service-strip{margin-top:26px;padding:24px}
 .detail-page .hotel-about h2{font-size:1.8rem}.detail-page .hotel-about img{height:250px}
 .hotel-facilities,.hotel-wellness,.hotel-practical{margin-top:40px}
 .detail-page .hotel-facilities-heading h2,.detail-page .hotel-wellness-heading h2,
 .detail-page .sights-heading h2,.detail-page .legacy-conference>h2{font-size:1.65rem}
 .wellness-grid article>div{padding:22px}.detail-page .wellness-grid h3{font-size:1.45rem}
 .legacy-nearby,.legacy-conference{margin-top:36px;padding-top:26px}
 .detail-page .legacy-service-note h2{font-size:1.15rem}.legacy-service-note{padding:22px}
 .detail-page .venue-copy h2{font-size:1.5rem}
 .detail-page .detail-gallery{gap:12px}
 .detail-page .detail-gallery img,.detail-page .detail-gallery img:nth-child(2),.detail-page .detail-gallery img:nth-child(3n+4){height:155px;margin-top:0}
 .detail-page .detail-gallery img:first-child{height:220px}
 .detail-photo-pair img,.detail-photo-pair img:nth-child(2){height:180px;margin-top:0}.location-map{height:300px}
 .offer-page .offer-overview,.offer-page-conference .offer-overview{gap:22px;padding-bottom:30px}
 .offer-page h2,.offer-page .offer-overview-main h2,.offer-page .offer-section-heading h2,
 .offer-page .offer-property h2{font-size:1.6rem;line-height:1.25}
 .offer-page .offer-section{padding:32px 0;gap:20px}.offer-page .offer-notes{padding-bottom:32px;gap:20px}
 .offer-page .offer-property{margin-top:32px;padding:24px}.offer-property+.offer-section{padding-top:32px}
 .offer-page .offer-conditions{padding-top:32px;gap:30px}.offer-page .offer-extras{padding:26px 0 32px;gap:18px}
 .offer-page .offer-contact{padding:25px 22px}.offer-page .offer-contact h2{font-size:1.5rem}
 .offer-contact .button{margin-top:22px}
 .detail-page:has(.offer-page) .detail-content{padding-top:32px}
 .reservation-intro{gap:22px;padding-bottom:22px}.reservation-intro h2{font-size:1.5rem;line-height:1.25}
 .booking-form-host{margin-top:20px;padding:18px}
 .hotel-story-hero{display:flex;flex-direction:column;margin-top:0}.hotel-story-image{width:100%;height:auto;object-fit:contain;aspect-ratio:auto}.hotel-story-copy{width:100%;padding:24px 22px}.hotel-story-copy h1{font-size:1.9rem}.hotel-story-links{margin-top:18px}
 body:not(.detail-page) main .section{padding:44px 0}
 body:not(.detail-page) main h2,body:not(.detail-page) main .split-copy h2{font-size:1.85rem;line-height:1.22}
 body:not(.detail-page) .section-top{margin-bottom:24px}
 body:not(.detail-page) .room-card{height:300px}
 body:not(.detail-page) .room-overlay strong{font-size:1.7rem}
 body:not(.detail-page) .split-section{padding:18px;gap:0}
 body:not(.detail-page) .split-image{height:250px}
 body:not(.detail-page) .split-copy-inner{padding:28px 4px 18px}
 body:not(.detail-page) .meeting-grid>img{height:250px}
 body:not(.detail-page) .gallery-grid{gap:10px}
 body:not(.detail-page) .gallery-grid img,body:not(.detail-page) .gallery-grid img:last-child{height:180px;margin-top:0}
 body:not(.detail-page) .gallery-grid img:first-child{height:240px}
 body:not(.detail-page) .offer-card img{height:200px}
 body:not(.detail-page) .offer-card strong{font-size:1.5rem}
 body:not(.detail-page) .intro.section{padding:36px 0}
}
.hotel-story-picture{display:block;grid-column:2;grid-row:1;align-self:center;min-width:0;width:100%}
@media(max-width:650px){.hotel-story-picture{width:100%}}
/* Offer index: real photographs and concise, factual package highlights. */
.offer-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.offer-preview{display:flex;flex-direction:column;min-width:0;background:var(--chalk);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.offer-preview-photo{position:relative;aspect-ratio:2/1;overflow:hidden;background:var(--stone)}
.offer-preview-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.offer-preview:hover .offer-preview-photo img{transform:scale(1.025)}
.offer-preview-category{position:absolute;left:22px;top:20px;background:var(--chalk);color:var(--ink);padding:7px 12px;font-size:.6rem;line-height:1.4;letter-spacing:.1em;text-transform:uppercase}
.offer-preview-body{display:flex;flex:1;flex-direction:column;padding:24px 28px 22px}
.offer-preview-dates{margin:0 0 12px;color:var(--brass-dark);font-size:.72rem}
.offer-preview h2{margin:0 0 22px;font-size:clamp(1.5rem,2.2vw,2.05rem);line-height:1.22;letter-spacing:-.04em}
.offer-preview-facts{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:26px}
.offer-preview-facts>span{display:flex;align-items:center;gap:9px;font-size:.78rem;color:var(--body)}
.offer-preview-facts .service-icon{width:21px;height:21px;color:var(--brass-dark);flex:none}
.offer-preview-link{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:17px;border-top:1px solid var(--line);font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.offer-preview-link>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;font-size:1rem;transition:background .2s}
.offer-preview:hover .offer-preview-link>span{background:var(--brass)}
@media(max-width:650px){.offer-preview-grid{grid-template-columns:1fr;gap:22px}.offer-preview-photo{aspect-ratio:16/9}.offer-preview-body{padding:22px}.offer-preview h2{font-size:1.5rem;margin-bottom:18px}.offer-preview-facts{gap:12px 18px;margin-bottom:22px}.offer-preview-facts>span{font-size:.73rem}.offer-preview-category{left:16px;top:16px}}
@media(prefers-reduced-motion:reduce){.offer-preview-photo img{transition:none}.offer-preview:hover .offer-preview-photo img{transform:none}}
/* A quieter mobile header, with a compact wordmark and two-line menu control. */
@media(max-width:1290px){
 .site-header{--mobile-header-height:60px;height:var(--mobile-header-height);background:#292521;border-bottom:1px solid rgba(239,226,207,.09);box-shadow:none}
 .site-header.is-scrolled{--mobile-header-height:50px;height:var(--mobile-header-height);background:#292521}
 .site-header .header-inner{grid-template-columns:minmax(0,1fr) 34px 44px;gap:8px}
 .site-header .brand-text strong{font-size:25px;letter-spacing:.18em;padding-left:.18em;line-height:.86}
 .site-header .brand-text small{font-size:9px;font-weight:500;margin-top:5px;letter-spacing:.025em;color:#dec69d}
 .site-header .brand-text:after{font-size:7px;letter-spacing:.2em;margin-top:4px;color:#dec69d}
 .site-header.is-scrolled .brand-text strong{font-size:23px}
 .site-header.is-scrolled .brand-text small{font-size:8.5px;margin-top:4px}
 .site-header.is-scrolled .brand-text:after{font-size:6px;margin-top:3px}
 .site-header .header-actions{justify-content:center}
 .site-header .lang{display:grid;place-items:center;width:34px;height:44px;color:#eee7dd;font-size:.62rem;font-weight:500;letter-spacing:.1em}
 .site-header .menu-toggle{position:relative;width:44px;height:44px;padding:0;gap:0;color:#eee7dd}
 .site-header .menu-toggle span{position:absolute;left:50%;top:50%;width:22px;height:1px;border-radius:1px;background:currentColor;transform-origin:center;transition:transform .2s,opacity .2s}
 .site-header .menu-toggle span:first-child{transform:translate(-50%,-50%) translateY(-3.5px)}
 .site-header .menu-toggle span:nth-child(2){display:none}
 .site-header .menu-toggle span:last-child{transform:translate(-50%,-50%) translateY(3.5px)}
 .site-header .menu-toggle[aria-expanded="true"] span:first-child{transform:translate(-50%,-50%) rotate(45deg)}
 .site-header .menu-toggle[aria-expanded="true"] span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}
 .site-header .main-nav.open{background:#292521}
}
@media(max-width:800px){.site-header{--mobile-header-height:58px}.site-header .header-inner{width:calc(100% - 36px)}}
.sight-photo{position:relative}
.legacy-sights .sight-photo-credit{position:absolute;left:0;right:0;bottom:0;padding:8px 10px 6px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-size:.53rem;font-weight:400;line-height:1.5;letter-spacing:0}
@media(max-width:650px){.legacy-sights .sight-photo-credit{font-size:.5rem;padding:10px 7px 5px}}
/* Translucent mobile navigation, with an opaque fallback for older browsers. */
@media(max-width:1290px){
 .site-header.menu-open{background:#242527}
 .site-header .main-nav.open{background:#242527;border-top:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
 .site-header .main-nav.open:before{color:#f1dfbf}
 .site-header .main-nav.open a:not(.nav-reservation){color:#fffaf2;border-bottom-color:rgba(255,255,255,.13)}
 .site-header .main-nav.open a[aria-current="page"]{color:#f0d4a3}
 .site-header .main-nav.open .nav-reservation{background:rgba(228,207,166,.12);color:#f7e5c3;border:1px solid rgba(234,211,168,.48)}
 @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .site-header .main-nav.open{background:linear-gradient(145deg,rgba(24,25,27,.72),rgba(24,25,27,.67));-webkit-backdrop-filter:blur(16px) saturate(.9);backdrop-filter:blur(16px) saturate(.9)}
 }
}
@media(prefers-reduced-transparency:reduce){.site-header .main-nav.open{background:#242527;-webkit-backdrop-filter:none;backdrop-filter:none}}

/* A lighter footer with compact link groups and a single closing divider. */
footer{padding:44px 0 22px;background:#eee8df;color:var(--ink);border-top:1px solid var(--line)}
footer .footer-grid{gap:30px}
footer .brand-footer{color:var(--ink);margin-bottom:0}
footer .brand-text strong{font-size:27px;letter-spacing:.14em;padding-left:.14em}
footer .brand-text small{font-size:9px;font-weight:600;color:var(--brass-dark)}
footer .brand-text:after{font-size:7px;color:var(--brass-dark)}
footer .footer-grid h3{margin-bottom:9px;color:#756752;font-size:.61rem;letter-spacing:.1em;font-weight:600}
footer .footer-grid>div{gap:9px}
footer .footer-grid a:not(.brand),footer .footer-grid span:not(.brand-text):not(.brand-mark){font-size:.77rem;color:#514a41;line-height:1.6}
footer .footer-grid a:not(.brand):hover{color:var(--brass-dark)}
footer .footer-grid p{margin:13px 0 0;font-size:.76rem;line-height:1.7;color:#71685d}
footer .footer-bottom{margin-top:28px;padding-top:16px;border-top-color:#d5cbbb;color:#756b5e;font-size:.67rem;letter-spacing:0}
@media(max-width:800px){
 .site-header{--mobile-header-height:54px}
 .site-header.is-scrolled{--mobile-header-height:48px}
 .site-header .brand-text strong{font-size:23px;letter-spacing:.12em;padding-left:.12em}
 .site-header .brand-text small{font-size:8.5px;margin-top:4px}
 .site-header .brand-text:after{font-size:6.5px;margin-top:3px}
 .site-header.is-scrolled .brand-text strong{font-size:22px;letter-spacing:.12em}
 .site-header.is-scrolled .brand-text small{font-size:8.5px}
 .site-header.is-scrolled .brand-text:after{font-size:6px}
 footer{padding:30px 0 20px}
 footer .footer-grid{grid-template-columns:1fr 1fr;gap:24px 20px}
 footer .footer-grid>div:first-child{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:center;gap:20px;grid-column:1/-1;padding:0;border:0}
 footer .footer-grid>div:first-child p{margin:0;max-width:220px;font-size:.74rem;line-height:1.65}
 footer .footer-grid>div:nth-child(2),footer .footer-grid>div:nth-child(4){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1/-1;gap:10px 20px;padding:0;border:0}
 footer .footer-grid>div:nth-child(2) h3,footer .footer-grid>div:nth-child(4) h3{grid-column:1/-1;margin:0 0 2px}
 footer .footer-grid>div:nth-child(3){display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;grid-column:1/-1;gap:8px 18px;padding:0;border:0}
 footer .footer-grid>div:nth-child(3) h3{width:100%;margin:0 0 2px}
 footer .footer-grid>div:nth-child(3)>span{width:100%}
 footer .footer-grid h3{margin-bottom:0}
 footer .footer-grid a:not(.brand),footer .footer-grid span:not(.brand-text):not(.brand-mark){font-size:.75rem;line-height:1.65;overflow-wrap:anywhere}
 footer .footer-bottom{margin-top:24px;padding-top:14px}
}
.menu-open .hero-snow .snow-dot{animation-play-state:paused;will-change:auto}
/* Keep blur on a separate surface so the fixed mobile menu retains its own backdrop. */
:root{--header-overlay-height:78px}
.site-header,.site-header.is-scrolled,.site-header.menu-open{background:transparent;border-bottom-color:rgba(255,255,255,.12)}
.site-header:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:#242527}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .site-header:before{background:linear-gradient(145deg,rgba(24,25,27,.72),rgba(24,25,27,.67));-webkit-backdrop-filter:blur(16px) saturate(.9);backdrop-filter:blur(16px) saturate(.9)}
}
body:not(.detail-page) main,.page-hotel main{margin-top:calc(-1 * var(--header-overlay-height))}
.page-hotel .hotel-story-hero{margin-top:0}
@media(max-width:1290px){:root{--header-overlay-height:60px}}
@media(max-width:800px){
 :root{--header-overlay-height:54px}
 body:not(.detail-page) .hero-image{width:100%;margin:0;border-radius:0 0 18px 18px;height:calc(min(74vw,350px) + var(--header-overlay-height))}
}
@media(prefers-reduced-transparency:reduce){.site-header:before{background:#242527;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(max-width:1290px){
 .site-header.menu-open{border-bottom:0}
 .site-header .main-nav.open{border-top:0;box-shadow:none;top:calc(var(--mobile-header-height) - 1px);height:calc(100dvh - var(--mobile-header-height) + 1px)}
}
/* Desktop inner pages: reveal the photograph behind glass; use light glass on text-only pages. */
@media(min-width:1291px){
 .detail-page:not(:has(.text-only-hero)) main{margin-top:calc(-1 * var(--header-overlay-height))}
 .detail-page:not(:has(.text-only-hero)) .detail-hero{padding-top:0}
 .detail-page:not(:has(.text-only-hero)) .detail-hero-image{height:438px;border-radius:0 0 18px 18px}
 .detail-page:not(:has(.text-only-hero)) .detail-hero-copy{padding-top:106px}
 .detail-page.page-hotel-services .detail-hero-image{aspect-ratio:auto}
 .detail-page.page-hotel-services .detail-hero-image img{object-fit:cover}
 .detail-page:has(.text-only-hero) .site-header{color:var(--ink);border-bottom-color:rgba(80,65,45,.1)}
 .detail-page:has(.text-only-hero) .site-header:before{background:#f7f3ec}
 .detail-page:has(.text-only-hero) .site-header .brand{color:var(--ink)}
 .detail-page:has(.text-only-hero) .site-header .brand-text small,
 .detail-page:has(.text-only-hero) .site-header .brand-text:after{color:var(--brass-dark)}
 .detail-page:has(.text-only-hero) .site-header .main-nav a,
 .detail-page:has(.text-only-hero) .site-header .lang{color:var(--ink)}
 .detail-page:has(.text-only-hero) .site-header .main-nav a:hover,
 .detail-page:has(.text-only-hero) .site-header .main-nav a[aria-current="page"]{color:var(--brass-dark)}
 .detail-page:has(.text-only-hero) .site-header .header-actions .button{color:var(--ink);border-color:var(--brass-dark)}
 @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .detail-page:has(.text-only-hero) .site-header:before{background:linear-gradient(145deg,rgba(247,243,236,.78),rgba(247,243,236,.68))}
 }
}
@media(min-width:1291px) and (prefers-reduced-transparency:reduce){.detail-page:has(.text-only-hero) .site-header:before{background:#f7f3ec}}
/* Visible direct booking, without loading the external booking engine on the homepage. */
.site-header .header-actions .button{background:var(--brass);color:var(--ink);border-color:var(--brass)}
.site-header .header-actions .button:hover{background:#dfc89d;border-color:#dfc89d}
.home-availability{padding:26px 0;background:var(--stone);scroll-margin-top:90px}
.availability-form{display:grid;grid-template-columns:1fr 1.1fr 1.1fr .65fr auto;gap:16px;align-items:center}
.availability-title{font-size:1.25rem;font-weight:500;letter-spacing:-.035em;color:var(--ink)}
.availability-form label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:.62rem;font-weight:600;letter-spacing:.06em;color:var(--brass-dark)}
.availability-form input[type=date],.availability-form select{width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid #cfc1ad;border-radius:6px;background:var(--chalk);color:var(--ink);font:400 1rem/1.2 Manrope,Arial,sans-serif;color-scheme:light}
.availability-form .button{align-self:end;min-height:46px;cursor:pointer;gap:22px;font-size:.66rem}
.availability-more{grid-column:5;text-align:right;font-size:.65rem;text-decoration:underline;text-underline-offset:4px;margin-top:-7px}
.booking-score{display:inline-flex;align-items:center;gap:14px;color:var(--ink);line-height:1.4}
.booking-score>strong{display:flex;align-items:baseline;gap:7px;padding:16px 14px;background:#003b95;border-radius:8px 8px 8px 0;color:white;font-size:3.25rem;font-weight:600;letter-spacing:-.04em;line-height:1}
.booking-score>strong small{font-size:1.8rem;letter-spacing:-.03em;font-weight:500}
.booking-score>span{max-width:160px;font-size:1.1rem;font-weight:600}
.booking-score>span small{display:block;margin-top:4px;color:var(--body);font-size:.8rem;font-weight:400}
.hero-copy .hero-score{color:white;gap:11px;margin:0 0 20px}
.hero-score>strong{padding:12px;font-size:2.4rem;border-radius:5px 5px 5px 0}
.hero-score>strong small{font-size:1.4rem}.hero-score>span{font-size:.96rem}
.hero-copy .hero-score>span small{color:#eee3d1;font-size:.76rem;margin-top:2px}
@media(min-width:801px){body:not(.detail-page) .hero-copy{padding-top:25px;padding-bottom:25px}}
.guest-reviews{padding:28px 0;background:var(--chalk);border-bottom:1px solid var(--line)}
.reviews-layout{display:grid;grid-template-columns:minmax(230px,.36fr) minmax(0,.64fr);align-items:center;gap:40px}
.reviews-layout>div>p{margin:14px 0 0;font-size:.94rem;line-height:1.6;color:var(--body)}
.review-carousel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:25px;min-width:0}
.review-slides{min-width:0;min-height:78px;display:grid;align-items:center}
.review-slide{grid-area:1/1;min-width:0}
.review-slide[hidden]{display:block;visibility:hidden;pointer-events:none}
.review-slide .review-text{margin:0 0 10px;font-size:clamp(1rem,1.35vw,1.25rem);font-weight:500;line-height:1.5;letter-spacing:-.025em;color:var(--ink)}
.review-slide>a{font-size:.67rem;color:var(--brass-dark)}
.review-controls{display:flex;align-items:center;gap:7px}
.review-controls button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font:400 .9rem/1 Manrope,Arial,sans-serif;cursor:pointer}
.review-controls button:hover{background:var(--stone)}
.booking-dock{display:none}
.room-spec-photo{display:block;cursor:pointer}.room-spec-photo:focus-visible{outline-offset:-4px}
.room-spec-photo:hover img{transform:scale(1.025)}
@media(max-width:1000px){.availability-form{grid-template-columns:1fr 1fr .6fr;gap:14px}.availability-title{grid-column:1/-1}.availability-form .button{grid-column:1/3}.availability-more{grid-column:3;margin:0;align-self:center}.reviews-layout{grid-template-columns:1fr 1.6fr;gap:24px}.review-carousel{grid-template-columns:1fr;gap:12px}.review-controls{justify-content:flex-start}}
@media(max-width:800px){
 .booking-dock{position:fixed;z-index:110;right:16px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 12px));display:inline-flex;align-items:center;gap:24px;min-height:48px;padding:13px 19px;background:var(--brass);color:var(--ink);border:1px solid rgba(80,60,30,.15);border-radius:28px;font-size:.74rem;font-weight:700;box-shadow:0 5px 24px rgba(30,25,18,.18);transition:opacity .2s,visibility .2s}
 .booking-dock.is-covered,.menu-open .booking-dock,.lightbox-open .booking-dock{opacity:0;visibility:hidden;pointer-events:none}
 body:has(.booking-dock) footer{padding-bottom:88px}
}
@media(max-width:650px){
 .home-availability{padding:24px 0}.availability-form{grid-template-columns:1fr 1fr;gap:15px 12px}.availability-title{font-size:1.15rem}
 .availability-form label:nth-of-type(3){grid-column:1}.availability-form .button{grid-column:1/-1;grid-row:4;font-size:.72rem}
 .availability-more{grid-column:2;grid-row:3;align-self:end;padding-bottom:14px;line-height:1.4}
 .availability-form input[type=date],.availability-form select{padding:11px 8px;min-height:46px;font-size:1rem}
 .reviews-layout{grid-template-columns:1fr;gap:22px}.guest-reviews{padding:24px 0}.review-carousel{grid-template-columns:minmax(0,1fr) auto;gap:12px}
 .review-controls{flex-direction:column;gap:6px}.review-controls button{width:34px;height:34px}.review-slides{min-height:110px}
 .review-slide .review-text{font-size:1.06rem}.hero-copy .hero-score{margin-bottom:18px}
}

@media(max-width:380px){.guest-reviews .booking-score{gap:12px}.guest-reviews .booking-score>strong{font-size:3rem;padding:14px 12px}.guest-reviews .booking-score>strong small{font-size:1.65rem}.guest-reviews .booking-score>span{font-size:.95rem}}

@media(max-width:800px){.hero-copy .hero-score{display:none}}
@media(max-width:650px){.review-carousel{grid-template-columns:minmax(0,1fr);gap:16px}.review-controls{flex-direction:row;justify-content:flex-start}.review-controls button{width:40px;height:40px}.review-slide .review-text{font-size:1rem;line-height:1.7}.review-slide>a{font-size:.75rem;line-height:1.6}}
