/* Figma 2:22 — shared WordPress design, September 2026. */
@font-face{font-family:'EB Garamond';src:url('assets/eb-garamond.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:Blair;src:url('assets/fonts/blair-light.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Blair;src:url('assets/fonts/blair-medium.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{--wine:#61001a;--paper:#ece6da;--ink:#151515;--muted:#675c54;--serif:'EB Garamond',Georgia,serif;--sans:Blair,Arial,sans-serif;--gutter:clamp(24px,3.125vw,64px)}
*{box-sizing:border-box}
/* Square corners throughout the site, including WordPress and plugin controls. */
*,*::before,*::after{border-radius:0!important}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:#fff;color:var(--ink);font:24px/1.42 var(--serif);-webkit-font-smoothing:antialiased; text-algn:justify}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;border:0}
a{color:inherit;text-decoration:none}
a:hover{color:var(--wine)}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2,h3,ul,ol{margin:0}
h1,h2,h3{font-family:var(--sans);font-weight:400;line-height:1.18;letter-spacing:0;color:inherit;overflow-wrap:break-word}
h1{font-size:clamp(28px,3.125vw,44px)}
h2{font-size:clamp(25px,2.8125vw,36px)}
h3{font-size:23px}
p+p{margin-top:1em}
:is(a,button,input,textarea,select,summary):focus-visible{outline:2px solid currentColor;outline-offset:5px}
[hidden]{display:none!important}
.screen-reader-text:not(:focus){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;top:-100px;left:20px;z-index:10000;background:var(--paper);color:var(--wine);padding:10px 20px}
.skip-link:focus{top:10px}
.wp-block-group:where(.is-layout-flow)>*{margin-block-start:0}
.wp-block-spacer{display:none}
.wp-block-image{margin:0;min-width:0;overflow:hidden}
.wp-block-image img,.hdc-photo img{width:100%;height:100%;object-fit:cover}
.photo-link{display:block;width:100%;height:100%}
.photo-link:focus-visible{outline-offset:-5px}
.eyebrow{font:14px/1.5 var(--serif);letter-spacing:.03em;color:var(--muted)}
.button,.wp-block-button__link{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:12px 28px;background:var(--wine);color:#fff;border:0;border-radius:0;font:13px/1.5 var(--sans);text-decoration:none;text-align:center;transition:background .2s}
.button:hover,.wp-block-button__link:hover{background:#430014;color:#fff}
.text-link{display:inline-block;max-width:100%;padding:12px 0;font:14px/1.5 var(--sans);text-decoration:none;color:inherit}
.text-link:hover{opacity:.65;color:inherit}
.wp-block-buttons{display:flex;gap:16px;flex-wrap:wrap}
.hdc-menu{list-style:none;margin:0;padding:0}
.desktop-nav>.hdc-menu{display:flex;align-items:center;gap:inherit}
.desktop-nav{--menu-gap:40px}
.desktop-nav>.hdc-menu{gap:var(--menu-gap)}
.footer-navigation .hdc-menu{display:flex;flex-direction:column;gap:12px}
.footer-contact>a{overflow-wrap:anywhere}
.brand-custom{display:block;width:auto;max-width:100%;max-height:64px;object-fit:contain}
.content-width{max-width:1280px;margin-inline:auto;padding-inline:var(--gutter)}

/* A single logo lockup and the four links from the Figma navigation. */
.site-header{position:fixed;inset:0 0 auto;z-index:30;height:120px;padding:30px clamp(24px,6.25vw,100px);display:flex;align-items:center;gap:clamp(20px,2.5vw,40px);background:#fff;color:var(--ink);transition:background .2s,height .2s}
.site-header.scrolled{height:90px}
.brand{flex:none;width:188px}
.brand-lockup{display:flex;align-items:center;gap:12px;width:100%}
.brand-lockup .brand-symbol{width:26px;height:36px;flex:none}
.brand-lockup .brand-wordmark{width:150px;height:auto}
.brand-lockup--light{filter:brightness(0) invert(1)}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(24px,3.2vw,46px);flex:1;white-space:nowrap;font:500 22px/1.4 var(--serif)}
.desktop-nav a{padding-block:12px}
.desktop-nav a:hover,.desktop-nav a[aria-current]{opacity:.65;color:inherit}
.header-booking{flex:none;white-space:nowrap;min-width:134px}
.header-languages{position:relative;flex:none;font:18px/1.4 var(--serif)}
.header-languages summary{display:flex;align-items:center;justify-content:center;gap:7px;min-width:52px;min-height:44px;cursor:pointer;list-style:none}
.header-languages summary::-webkit-details-marker{display:none}
.header-languages nav{position:absolute;top:100%;right:0;min-width:148px;padding:8px;background:var(--paper);color:var(--wine)}
.header-languages nav a{display:flex;align-items:center;min-height:44px;padding:8px 12px;white-space:nowrap}
.header-languages nav a:hover{background:#61001a0d;color:var(--wine)}
.header-languages nav a[aria-current]{font-weight:700}
.header-languages[open] summary{background:var(--paper);color:var(--wine)}
.menu-toggle{display:none}
.hdc-role-home .site-header:not(.scrolled){background:transparent;color:#fff}
.hdc-role-home .site-header:not(.scrolled)::after{content:'';position:absolute;left:10%;bottom:0;width:80%;height:1px;background:#ffffffb3;pointer-events:none}
.hdc-role-home .site-header:not(.scrolled) .brand-lockup{filter:brightness(0) invert(1)}
body.admin-bar .site-header{top:32px}
.menu-toggle,.menu-close{min-height:44px;padding:8px 0;background:none;color:inherit;font:14px var(--serif)}
.menu-lines{display:inline-block;width:22px;height:12px;border-block:1px solid currentColor;margin-right:10px}
dialog{max-width:none;max-height:none;border:0;margin:0;padding:0}
dialog:not([open]){display:none}
dialog::backdrop{background:#19080ddb}
.dialog-open{overflow:hidden}
.site-menu{position:fixed;inset:0;background:var(--wine);color:var(--paper);width:100%;height:100dvh;overflow-y:auto}
.menu-top{height:110px;padding:24px var(--gutter);display:flex;justify-content:space-between;align-items:center}
.menu-top>img{width:180px}
.menu-close{display:flex;align-items:center;gap:14px}
.menu-close span{font:30px Arial,sans-serif}
.menu-inner{max-width:1240px;margin:auto;padding:50px var(--gutter);display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:start}
.menu-inner ol{list-style:none;padding:0}
.menu-inner nav a{display:block;padding:12px 0;font:clamp(23px,2.5vw,32px)/1.4 var(--sans)}
.menu-inner aside{display:flex;flex-direction:column;gap:16px}
.menu-curtain{display:none}
.site-menu a:hover,.site-footer a:hover{color:inherit;opacity:.65}
.language-links{display:flex;gap:24px;font:16px var(--serif);margin-top:15px}
.language-links [aria-current]{font-weight:600}
.nojs-nav{padding:130px var(--gutter) 20px;display:flex;flex-wrap:wrap;gap:24px}

/* Home: photograph, two-column introduction, rooms and paired feature panels. */
.home-hero{position:relative;width:100%;height:100vh;height:100dvh;min-height:0;max-height:none;background:var(--ink)}
.home-hero-photo{position:absolute;inset:0}
.home-hero-photo img{object-position:center bottom}
.home-hero::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#0009,#0005 125px,transparent 42%)}
.quick-booking{position:absolute;z-index:2;left:50%;bottom:46px;transform:translateX(-50%);display:grid;grid-template-columns:1.25fr 1.15fr .85fr 134px;gap:20px;align-items:center;width:738px;max-width:calc(100% - 48px);padding:15px;background:#ffffff50}
.quick-booking label{display:block;position:relative;min-width:0}
.quick-booking input[type=date],.quick-booking select{display:block;width:100%;height:38px;min-width:0;border:0;background:#fff;color:#151515b3;border-radius:0;padding:6px 12px;font:17px var(--serif)}
.quick-booking select{appearance:none;background:#fff url('assets/figma/chevron.svg') no-repeat right 14px center;background-size:11px 7px}
.quick-booking input::-webkit-calendar-picker-indicator{background:url('assets/figma/calendar.svg') center/20px 20px no-repeat;cursor:pointer;width:20px;height:20px;opacity:1}
.quick-booking button{height:38px;padding:8px 14px;background:var(--wine);color:#fff;font:13px var(--sans)}
.quick-booking button:hover{background:#430014}
.home-intro{display:grid;grid-template-columns:341px minmax(0,668px);justify-content:space-between;gap:60px;max-width:1280px;margin:auto;padding:150px 60px 150px 11.25%}
.home-intro h1{font-size:36px;line-height:1.15;text-algn:left}
.home-intro>p{font-size:24px;line-height:1.3;margin:0;font-weight:500;text-algn:justify}
.room-showcase{position:relative;overflow:hidden;overflow:clip;background:var(--paper);padding:69px 100px 73px}
.room-showcase-inner{position:relative;max-width:1320px;margin:auto}
.showcase-room{display:grid;grid-template-columns:minmax(0,548fr) minmax(0,508fr);grid-template-rows:minmax(220px,auto) 237px;gap:24px;min-width:0}
.showcase-room+.showcase-room{margin-top:60px}
.room-showcase.is-ready .showcase-room+.showcase-room{margin-top:0}
.showcase-main{grid-row:1/3;display:block;min-width:0}
.showcase-main>figure{height:100%}
.showcase-copy{grid-column:2;grid-row:1;min-width:0}
.showcase-copy h2{font-size:23px;margin:0 0 8px}
.showcase-facts{font:17px/1.3 var(--serif)}
.showcase-facts p{margin:0}
.showcase-facts p:last-child{display:none}
.showcase-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:12px 0 16px;font:20px/1.35 var(--serif)}
.showcase-preview-slot{grid-column:2;grid-row:2;width:70.3%;display:block;min-width:0}
.room-controls{position:relative;z-index:2;display:flex;justify-content:center;gap:8px;margin-top:26px}
.room-controls button{width:44px;height:44px;background:transparent;color:var(--ink);font:25px var(--serif)}
.room-controls button:hover{color:var(--wine)}
.home-features{max-width:1680px;margin:auto;padding:76px var(--gutter) 0;display:grid;gap:34px}
.home-feature{display:grid;gap:24px;align-items:stretch}
.home-feature--rex{grid-template-columns:690fr 487fr;min-height:626px}
.home-feature-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:80px clamp(32px,7.97vw,120px);gap:28px;background:var(--paper)}
.home-feature-copy h2{font-size:36px;max-width:400px}
.home-feature-copy>p{margin:0;font-size:24px;line-height:1.3;font-weight:500}
.home-feature-copy .text-link{font-size:14px;line-height:1.6;padding:0}
.home-feature--rex .home-feature-copy{background:var(--wine);color:var(--paper)}
.home-feature-photo{min-height:0;position:relative}
.home-feature-photo img{position:absolute;inset:0;width:100%;height:100%}
.home-feature--rex .home-feature-photo img{object-position:center top}
.home-feature--lounge{grid-template-columns:1fr 1fr;min-height:466px}
.home-feature--lounge .home-feature-copy{padding:65px clamp(32px,6vw,100px)}
.home-feature--lounge .home-feature-photo img{object-position:center bottom}

/* Interior pages reuse the same calm type, photo proportions and solid panels. */
.page-heading{max-width:1200px;margin:auto;padding:190px var(--gutter) 70px;text-align:left}
.page-heading .eyebrow{margin-bottom:22px}
.page-heading h1{max-width:900px;margin-bottom:24px}
.page-heading>p:not(.eyebrow){max-width:650px}
.intro{max-width:1200px;padding:60px var(--gutter);margin:auto}
.intro .curtain{display:none}
.intro .eyebrow,.intro h2{margin-bottom:24px}
.intro .wp-block-buttons{justify-content:center}
.editorial-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:34px 24px;max-width:1600px;margin:auto;padding:154px var(--gutter) 0;text-algn:justify}
.editorial-layout>*{grid-column:1/-1;min-width:0}
.editorial-layout>.page-heading{grid-column:1/6;grid-row:1;padding:50px clamp(20px,4vw,70px);margin:0;align-self:center}
.editorial-layout>.page-heading h1{font-size:clamp(28px,3.1vw,40px);margin:0}
.editorial-layout>.page-hero{grid-column:6/13;grid-row:1;height:470px;margin:0}
.editorial-layout>.intro{padding:35px 0;width:100%}
.services-introduction{width:100%;max-width:1040px;margin:0 auto;padding:50px 0;display:block}
.services-introduction h2{font-size:clamp(24px,2.35vw,30px);line-height:1.25;margin-bottom:26px}
.services-introduction p{font-size:22px;line-height:1.5}
.services-introduction p+p{margin-top:20px}
.services-introduction strong{font-weight:600}
.editorial-section{max-width:1200px;margin:auto;padding:50px var(--gutter)}
.editorial-section h2{font-size:28px;margin-bottom:26px}
.editorial-section p+p{margin-top:18px}
.editorial-section ul{padding-left:24px;margin-top:18px}
.editorial-section li{margin-block:8px}
.editorial-card{width:100%;max-width:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.editorial-card .editorial-copy{min-width:0;padding:clamp(30px,4.8vw,76px);background:var(--paper);display:flex;flex-direction:column;justify-content:center}
.editorial-copy p{font-size:22px;line-height:1.45;text-align:justify}
.editorial-copy h2{font-size:clamp(24px,2.35vw,30px);line-height:1.25}
.editorial-card:not(:has(.photo-mosaic)){display:block}
.editorial-card:not(:has(.photo-mosaic)) .editorial-copy{display:grid;grid-template-columns:1fr 1.4fr;gap:50px;background:transparent;padding-block:60px}
.editorial-card:not(:has(.photo-mosaic)) h2{margin:0}
.editorial-card:is(.lounge-courtyard,.area-rex,.service-request) .editorial-copy{background:var(--wine);color:var(--paper)}
.editorial-card:is(.lounge-courtyard,.area-rex,.service-request):not(:has(.photo-mosaic)) .editorial-copy{padding:60px}
.photo-mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;min-height:0}
.photo-mosaic figure{position:relative;margin:0;width:100%;min-width:0;min-height:0;overflow:hidden}
.photo-mosaic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-mosaic--1{grid-template-columns:1fr}
.photo-mosaic--1 figure{min-height:400px}
.photo-mosaic--2 figure{aspect-ratio:4/5;min-height:280px}
.photo-mosaic--3{grid-template-rows:minmax(270px,1fr) auto}
.photo-mosaic--3>figure:first-child{grid-column:1/-1;min-height:270px}
.photo-mosaic--3>figure:not(:first-child){aspect-ratio:3/2}
.editorial-card:nth-child(even of .editorial-card:has(.photo-mosaic))>.photo-mosaic{order:2}
.editorial-details{margin-top:26px;padding-top:10px}
.editorial-details summary,.room-copy summary,.quote summary{cursor:pointer;font:18px/1.5 var(--serif);padding-block:12px}
.editorial-details-body{padding-top:20px}
.editorial-details-body p,.editorial-details-body ul{font-size:20px}
.editorial-card.area-guide:not(:has(.photo-mosaic)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.editorial-card.area-guide .editorial-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,4.8vw,76px);background:var(--paper)}
.area-guide-links{display:flex;align-items:center;min-width:0;padding:clamp(30px,4.8vw,76px);background:var(--wine);color:#fff;font:20px/1.45 var(--serif)}
.area-guide-links ul{list-style:none;padding:0;margin:0;display:grid;gap:24px}
.area-guide-links li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:16px;margin:0}
.area-guide-links svg{width:24px;height:24px;margin-top:3px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.area-guide-links li:not(:has(svg)){display:block;position:relative;padding-left:40px}
.area-guide-links li:not(:has(svg))::before{content:"";position:absolute;left:0;top:0;width:24px;height:24px;margin-top:3px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m10 13 4-4m-6 6-2 2a4.24 4.24 0 0 1-6-6l4-4a4.24 4.24 0 0 1 6 0m4 2 2-2a4.24 4.24 0 0 1 6 6l-4 4a4.24 4.24 0 0 1-6 0' transform='translate(1 -1)'/%3E%3C/svg%3E") center/contain no-repeat}
.area-guide-links a{display:block;width:fit-content;max-width:100%;padding-block:5px;overflow-wrap:anywhere;color:inherit}
.area-guide-links a:hover{color:inherit;opacity:.7}
.room-index{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin:0 0 54px}
.room-section{scroll-margin-top:10px;max-width:1600px;margin:0 auto 34px;padding:60px var(--gutter);display:grid;grid-template-columns:1.16fr 1fr;gap:50px;background:var(--paper);align-items:start}
.single-room{padding-top:154px}
.room-photo-pending{background:var(--paper)}
.room-photo-pending img{object-fit:contain!important;padding:12%}
.room-section:nth-child(even of .room-section){background:#fff}
.room-section:nth-child(even of .room-section)>.hdc-gallery{order:2}
.room-copy{padding:20px clamp(0px,2vw,30px)}
.room-copy>.eyebrow{display:none}
.room-copy h2{font-size:30px;margin-bottom:18px}
.room-copy>p{font-size:22px;line-height:1.4}
.room-facts{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:24px;font:18px/1.5 var(--serif)}
.room-facts p{margin:0}
.room-copy .room-amenities{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px 24px;list-style:none;padding:0;margin:28px 0;font:19px/1.4 var(--serif)}
.room-amenities>li{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:12px;margin:0}
.room-amenities>li::before{content:'';display:block;width:28px;height:28px;background:var(--amenity-icon) center/contain no-repeat}
.amenity-shower{--amenity-icon:url('../../uploads/2024/10/Icon-Douche.png')}
.amenity-bed{--amenity-icon:url('../../uploads/2024/10/Icon-Lit.png')}
.amenity-dryer{--amenity-icon:url('../../uploads/2024/10/Icon-Seche.png')}
.amenity-tv{--amenity-icon:url('../../uploads/2024/10/Icon-TV.png')}
.amenity-minibar{--amenity-icon:url('../../uploads/2024/10/Icon-Minibar.png')}
.amenity-phone{--amenity-icon:url('../../uploads/2024/10/Icon-Telephone.png')}
.amenity-climate{--amenity-icon:url('../../uploads/2024/10/Icon-Clim.png')}
.amenity-safe{--amenity-icon:url('../../uploads/2024/10/Icon-Coffre.png')}
.room-copy .wp-block-buttons{margin-top:25px}
.room-copy details{margin-top:20px;font-size:19px}
.room-copy details>div{padding-top:20px}
.room-copy details ul{padding-left:22px;margin-top:15px}
.hdc-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hdc-gallery figure:first-child{grid-column:1/-1}
.hdc-gallery a{display:block}
.hdc-gallery img{width:100%;aspect-ratio:3/2;object-fit:cover}
.hdc-gallery figure:first-child img{aspect-ratio:1.4}
.photo-placeholder{display:grid;place-content:center;gap:12px;background:var(--paper);padding:30px;min-height:180px;text-align:center}
.placeholder-number{font:36px var(--serif)}
.placeholder-label{font:15px var(--serif)}
.contact-arrival{max-width:1280px;margin:0 auto 34px;padding-inline:var(--gutter);grid-template-columns:1.4fr 1fr}
.contact-arrival figure{height:390px}
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;max-width:1280px;margin:auto;padding:0 var(--gutter) 40px;align-items:start}
.contact-info{padding:50px clamp(24px,3vw,50px)}
.contact-grid h2{font-size:28px;margin-bottom:26px}
.contact-grid h3{font-size:22px;margin-block:26px 16px}
.contact-grid a{overflow-wrap:anywhere}
.contact-grid ul{padding-left:24px;margin-block:20px}
.contact-grid li{margin-bottom:10px}
.contact-form{background:var(--paper);padding:50px clamp(24px,4vw,60px)}
.contact-editorial{max-width:1040px;padding-block:24px}
.map-panel{margin:40px var(--gutter)}
.map-panel iframe{display:block;width:100%;height:400px;border:0}
.wpcf7 form p{margin-bottom:22px}
.wpcf7 :is(input:not([type=checkbox]):not([type=submit]),textarea,select){width:100%;padding:12px 15px;border:0;border-radius:0;background:#fff;color:var(--ink);font:19px/1.4 var(--serif)}
.wpcf7 textarea{height:140px;resize:vertical}
.wpcf7 input::placeholder,.wpcf7 textarea::placeholder{color:var(--muted);opacity:1}
.hdc-field-label{display:block;font:17px/1.5 var(--serif);margin-bottom:7px}
.hdc-field-label+.wpcf7-form-control-wrap :is(input,textarea)::placeholder{color:transparent}
.wpcf7 label,.wpcf7-list-item{font:17px/1.5 var(--serif)}
.wpcf7-list-item{margin:0}
.wpcf7 input[type=submit]{background:var(--wine);color:#fff;min-height:46px;padding:12px 28px;border:0;border-radius:0;font:13px/1.5 var(--sans);cursor:pointer}
.wpcf7 input[type=checkbox]{accent-color:var(--wine);width:18px;height:18px;vertical-align:middle}
.wpcf7-not-valid-tip,.wpcf7-response-output{font:17px/1.5 var(--serif)}
.prose{max-width:1050px;margin:auto;padding-bottom:50px;font-size:21px}
.prose h2,.prose h3{font-size:25px;margin:38px 0 20px}
.prose p{margin-bottom:20px}
.prose ul{padding-left:24px}
/* FAQ: native details blocks, one rule per question, no script (see inc/faq.php).
   The Services pages keep their own editorial-details variant above. */
.wp-block-details:not(.editorial-details){overflow:visible;border-top:1px solid #d9d2c5}
.wp-block-details:not(.editorial-details):last-of-type{border-bottom:1px solid #d9d2c5}
.wp-block-details:not(.editorial-details)>summary{display:flex;justify-content:space-between;align-items:baseline;gap:28px;padding:20px 0;cursor:pointer;list-style:none;font:400 clamp(20px,1.7vw,23px)/1.3 var(--sans)}
.wp-block-details:not(.editorial-details)>summary::-webkit-details-marker{display:none}
.wp-block-details:not(.editorial-details)>summary:hover{color:var(--wine)}
.wp-block-details:not(.editorial-details)>summary::after{content:'+';flex:none;font:400 30px/1 var(--serif);color:var(--wine);transition:transform .25s}
.wp-block-details:not(.editorial-details)[open]>summary::after{transform:rotate(45deg)}
.wp-block-details:not(.editorial-details)>:not(summary){max-width:900px}
.wp-block-details {text-align:justify!important}
.booking-surface{max-width:1200px;margin:0 auto;padding:24px;background:var(--paper)}
.booking-surface .fb-widget{min-height:480px}
.booking-help{text-align:center;padding:28px var(--gutter) 40px;font-size:20px}
.booking-help a{display:inline-block}
.lightbox{position:fixed;inset:0;background:#170b0ef5;color:var(--paper);width:100%;height:100dvh}
.lightbox[open]{display:flex;align-items:center;justify-content:center;gap:20px;padding:70px 80px}
.lightbox figure{max-width:1300px;max-height:85dvh;display:flex;flex-direction:column;align-items:center}
.lightbox img{max-height:75dvh;object-fit:contain;min-height:0}
.lightbox button{background:none;color:inherit;width:48px;height:48px;flex-shrink:0;font:30px var(--serif)}
.lightbox-close{position:absolute;right:24px;top:18px}

/* Footer composition supplied by the client, using the hotel identity. */
.site-footer{margin-top:90px;padding:80px clamp(24px,6.25vw,100px) 38px;background:var(--wine);color:var(--paper)}
.footer-main{display:grid;grid-template-columns:2fr 1fr 1.2fr .6fr;gap:clamp(30px,4vw,70px);max-width:1440px;margin:auto;padding-bottom:65px;align-items:start}
.footer-brand{display:block;max-width:310px;padding-top:5px}
.footer-brand .brand-symbol{width:44px;height:61px}
.footer-brand .brand-wordmark{width:240px}
.footer-main h2{font:18px/1.4 var(--serif);margin:0 0 28px;color:var(--paper);opacity:.7}
.footer-main nav{display:flex;flex-direction:column;align-items:flex-start;gap:16px;font:12px/1.6 var(--sans)}
.footer-contact address{font-style:normal;font-size:19px;line-height:1.45;margin-bottom:20px}
.footer-contact>a{display:block;font:18px/1.5 var(--serif);overflow-wrap:anywhere;margin-top:8px}
.footer-social>a{display:inline-flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:48px;max-width:100%;color:inherit;font:18px/1.4 var(--serif)}
.footer-social svg{display:block;width:30px;height:30px;fill:currentColor}
.footer-bottom{max-width:1440px;margin:auto;border-top:1px solid #ece6da55;padding-top:30px;display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;font:16px/1.5 var(--serif)}
.footer-bottom>span:first-child{margin-right:auto}
.footer-cookie-settings{display:contents}
.footer-cookie-settings button{border:0;padding:0;background:none;color:inherit;font:inherit}
/* The motion toggle lives in the menu. The footer shows it only while animations are reduced,
   so a visitor above 1200px (no menu button) can still undo a stored choice. */
.footer-motion-settings{display:none;max-width:1440px;margin:18px auto 0;text-align:right}
.hdc-reduced-motion .footer-motion-settings{display:block}
.motion-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:7px 0;border:0;background:none;color:inherit;font:15px/1.5 var(--serif);text-align:left}
.motion-toggle::before{content:'';width:15px;height:15px;border:1px solid currentColor;border-radius:0;flex:none}
.motion-toggle[aria-pressed=true]::before{background:currentColor;box-shadow:inset 0 0 0 3px var(--wine)}
.mobile-booking{display:none}
/* Original Cookie Notice bottom banner, with the hotel's current type and CTAs. */
#cookie-notice{z-index:60!important}
#cookie-notice .cookie-notice-container{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px 28px;padding:16px 64px;font:18px/1.4 var(--serif)}
#cookie-notice #cn-notice-text{flex:1 1 480px;max-width:920px;margin:0;text-align:left}
#cookie-notice #cn-notice-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
#cookie-notice .cn-button:not(.cn-button-custom){display:inline-flex;align-items:center;justify-content:center;min-width:100px;min-height:44px;margin:0;padding:12px 18px;background:var(--wine);color:#fff;font:12px/1.4 var(--sans);letter-spacing:0;border-radius:0}
#cookie-notice .cn-button:not(.cn-button-custom):hover{background:#430014}
#cookie-notice .cn-button:focus-visible{outline:2px solid #fff;outline-offset:3px}
#cookie-notice #cn-close-notice{width:44px;height:44px;right:8px;top:50%;margin-top:-22px;opacity:1;color:#fff}
#cookie-notice #cn-close-notice::before,#cookie-notice #cn-close-notice::after{top:14px;left:21px;background:#fff}
.grecaptcha-badge{z-index:9}

@media(min-width:1600px){.home-intro{padding-left:144px;padding-right:60px;max-width:1400px}.room-showcase{padding-inline:max(100px,calc((100vw - 1320px)/2))}}
@media(max-width:1100px){
 .site-header{gap:24px;padding-inline:32px}.desktop-nav{gap:25px}.brand{width:178px}.brand-lockup .brand-wordmark{width:140px}
 .home-intro{padding:100px 7%;grid-template-columns:1fr 1.6fr;gap:50px}.home-intro h1{font-size:30px}
 .home-feature-copy{padding:60px 42px}.home-feature-copy h2{font-size:30px}.home-feature--rex{min-height:560px}.home-feature--lounge .home-feature-copy{padding:48px 40px}
 .room-showcase{padding-inline:60px}.showcase-copy h2{font-size:20px}
 .footer-main{grid-template-columns:1.4fr 1fr 1.2fr;gap:35px}.footer-social{grid-column:1/-1}.footer-social>a{flex-direction:row;align-items:center}.footer-brand .brand-symbol{width:30px;height:42px}.footer-brand .brand-wordmark{width:170px}
 .room-section{gap:24px}.editorial-layout>.page-heading{padding-inline:15px}.editorial-card:not(:has(.photo-mosaic)) .editorial-copy{gap:30px}
}
@media(max-width:900px){
 .desktop-nav{display:none}.menu-toggle{display:block;order:2;margin-left:auto}.header-booking{order:3}.site-header{height:100px}.site-header.scrolled{height:84px}
 .home-hero{height:100dvh;min-height:0}.home-intro{padding-block:90px}.home-intro h1{font-size:28px}.home-intro>p{font-size:22px}
 .room-showcase{padding-inline:40px}.showcase-room{grid-template-columns:1.2fr 1fr;grid-template-rows:minmax(220px,auto) 210px}.showcase-copy h2{font-size:20px}.showcase-preview-slot{width:100%}
 .home-feature--rex{grid-template-columns:1.15fr 1fr}.home-feature-copy,.home-feature--lounge .home-feature-copy{padding:40px 30px}.home-feature-copy h2{font-size:28px}.home-feature-copy>p{font-size:22px}
 .editorial-layout{padding-top:125px}.editorial-layout>.page-hero{height:380px}.editorial-layout>.page-heading h1{font-size:28px}.editorial-copy p{font-size:21px}
 .editorial-card .editorial-copy{padding:30px}.contact-form,.contact-info{padding:32px 24px}.contact-grid h2{font-size:24px}
}
@media(max-width:650px){
 body{font-size:21px}html{scroll-padding-top:90px}.site-header,.site-header.scrolled{height:88px;padding:18px 24px;gap:20px}.brand{width:173px}.brand-lockup .brand-symbol{width:25px;height:35px}.brand-lockup .brand-wordmark{width:136px}.header-booking{display:none}.menu-toggle{font-size:20px}
 body.admin-bar .site-header{top:46px}.menu-top{height:88px}.menu-inner{display:flex;flex-direction:column;padding:28px 24px 60px;gap:35px}.menu-inner nav a{font-size:23px}.menu-inner aside{font-size:20px}.menu-top>img{width:155px}
 .home-hero{height:100dvh;min-height:0;max-height:none}.home-hero-photo img{object-position:52% bottom}
 .quick-booking{width:calc(100% - 48px);max-width:none;bottom:34px;padding:14px;grid-template-columns:1fr 1fr;gap:12px}.quick-booking input[type=date],.quick-booking select,.quick-booking button{height:44px}.quick-booking input[type=date]{padding-inline:8px;font-size:16px}.quick-booking button{font-size:12px}
 .home-intro{display:grid;grid-template-columns:1fr;gap:28px;padding:68px 24px 72px}.home-intro h1{font-size:28px;max-width:340px}.home-intro>p{font-size:22px;line-height:1.4}
 .room-showcase{padding:32px 24px}.showcase-room{display:grid;grid-template-columns:1fr;grid-template-rows:auto;gap:24px}.showcase-main{grid-row:1;grid-column:1}.showcase-main img{aspect-ratio:1.27}.showcase-copy{grid-row:2;grid-column:1}.showcase-copy h2{font-size:23px}.showcase-facts{font-size:18px}.showcase-preview-slot{grid-row:3;grid-column:1;width:72%}.room-controls button{height:48px}
 .home-features{padding:34px 24px 0;gap:24px}.home-feature,.home-feature--rex,.home-feature--lounge{grid-template-columns:1fr;gap:0;min-height:0}.home-feature-copy,.home-feature--lounge .home-feature-copy{padding:40px 28px;gap:25px}.home-feature-copy h2{font-size:28px}.home-feature-copy>p{font-size:22px}.home-feature-copy .text-link{font-size:12px;line-height:1.65}.home-feature--rex .home-feature-photo{height:410px}.home-feature--lounge .home-feature-photo{height:320px}
 .page-heading{padding:142px 24px 48px}.page-heading h1{font-size:29px}.page-heading .eyebrow{margin-bottom:18px}.page-heading>p:not(.eyebrow){font-size:22px}
 .editorial-layout{display:flex;flex-direction:column;gap:24px;padding:130px 24px 0}.editorial-layout>*{width:100%}.editorial-layout>.page-heading{padding:0 0 16px;align-self:auto}.editorial-layout>.page-hero{height:340px}.editorial-layout>.page-heading h1{font-size:29px}
 .services-introduction{padding:24px 0}.services-introduction h2{font-size:24px}.services-introduction p{font-size:21px}
 .editorial-card,.editorial-card:not(:has(.photo-mosaic)){display:flex;flex-direction:column;gap:0}.editorial-card .editorial-copy,.editorial-card:not(:has(.photo-mosaic)) .editorial-copy{display:block;padding:32px 26px}.editorial-card:not(:has(.photo-mosaic)) .editorial-copy{padding-inline:0}.editorial-card:not(:has(.photo-mosaic)) h2{margin-bottom:24px}.editorial-card:is(.lounge-courtyard,.area-rex,.service-request):not(:has(.photo-mosaic)) .editorial-copy{padding:32px 26px}
 .editorial-card:nth-child(even of .editorial-card:has(.photo-mosaic))>.photo-mosaic{order:0}.editorial-copy h2{font-size:24px}.editorial-copy p{font-size:21px}.photo-mosaic{gap:12px}.photo-mosaic--1 figure{min-height:0;height:320px}.photo-mosaic--2 figure{min-height:0}.photo-mosaic--3{grid-template-rows:auto auto}.photo-mosaic--3>figure:first-child{min-height:0;aspect-ratio:1.5}.editorial-layout>.intro{padding:20px 0}
 .editorial-card.area-guide:not(:has(.photo-mosaic)){grid-template-columns:1fr}
 .editorial-card.area-guide .editorial-copy,.area-guide-links{padding:32px 26px}
 .room-index{font-size:16px;gap:12px 20px;margin-bottom:32px}.room-section,.room-section:nth-child(even of .room-section){display:flex;flex-direction:column;padding:32px 24px;margin:0;gap:28px}.room-section>.hdc-gallery{width:100%;order:0!important}.room-copy{padding:0;width:100%}.room-copy h2{font-size:28px}.room-copy>p{font-size:21px}.room-facts{font-size:17px;gap:8px 18px}.hdc-gallery{gap:10px}
 .contact-arrival{padding-inline:24px;gap:12px}.contact-arrival figure{height:210px}.contact-grid{display:flex;flex-direction:column;padding:0 24px;gap:24px}.contact-info{padding:20px 0}.contact-form{width:100%;padding:32px 24px}.contact-editorial{padding:28px 24px}.map-panel{margin:25px 24px}.map-panel iframe{height:300px}
 .prose{font-size:20px}.prose h2,.prose h3{font-size:23px}.booking-surface{padding:12px;margin:0 12px;overflow-x:auto}.booking-help{font-size:19px}.intro{padding:40px 24px}
 .lightbox[open]{padding:70px 15px;gap:5px}.lightbox-prev,.lightbox-next{position:absolute;bottom:25px}.lightbox-prev{left:calc(50% - 60px)}.lightbox-next{right:calc(50% - 60px)}.lightbox img{max-height:70dvh}
 .site-footer{margin-top:55px;padding:48px 24px 86px}.footer-main{grid-template-columns:1fr 1fr;gap:42px 24px;padding-bottom:38px}.footer-brand{grid-column:1/-1;max-width:285px}.footer-brand .brand-symbol{width:38px;height:53px}.footer-brand .brand-wordmark{width:225px}.footer-main h2{margin-bottom:22px}.footer-main nav{font-size:11px;gap:15px}.footer-contact address,.footer-contact>a{font-size:17px}.footer-bottom{font-size:15px;gap:16px 24px;padding-top:26px}.footer-bottom>span:first-child{width:100%}.footer-motion-settings{text-align:left;margin-top:10px}
 .mobile-booking{position:fixed;inset:auto 0 0;z-index:35;display:block;padding:18px 24px calc(18px + env(safe-area-inset-bottom));background:var(--wine);color:var(--paper);text-align:center;font:12px var(--sans)}
 .mobile-booking:hover{color:var(--paper)}.grecaptcha-badge{bottom:70px!important}
 #cookie-notice .cookie-notice-container{padding:22px 24px calc(22px + env(safe-area-inset-bottom));gap:18px;font-size:17px}
 #cookie-notice #cn-notice-text{padding-right:24px}
 #cookie-notice #cn-notice-buttons{width:100%}
 #cookie-notice #cn-close-notice{top:8px;margin-top:0;right:4px}
}
@media print,(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-details{height:auto!important;overflow:visible!important}}
html.hdc-reduced-motion{scroll-behavior:auto}.hdc-reduced-motion *,.hdc-reduced-motion *::before,.hdc-reduced-motion *::after{animation:none!important;transition:none!important}.hdc-reduced-motion .motion-details{height:auto!important;overflow:visible!important}

/* Full-viewport hero, preserving the existing three-image carousel. */
.hero-carousel{overflow:hidden;isolation:isolate;touch-action:pan-y pinch-zoom}
.hero-slides,.hero-slide,.hero-slide>.wp-block-image{position:absolute;inset:0;width:100%;height:100%;margin:0}
.hero-slide{opacity:0;transition:opacity 1200ms cubic-bezier(.32,0,.67,0);pointer-events:none}
.hero-slide.is-active{opacity:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-slide:first-child img{object-position:center bottom}
.hero-pause{position:absolute;right:28px;bottom:18px;z-index:3;min-width:60px;min-height:44px;padding:8px 14px;background:#15151565;color:#fff;font:17px/1.4 var(--serif)}
/* A single ordered photo strip: no independent image crosses another photo. */
.room-showcase.is-ready .showcase-slides{position:relative;isolation:isolate}
.room-showcase.is-ready .showcase-room:not(.is-active){position:absolute;left:0;top:0;width:100%}
.room-showcase.is-ready .showcase-room{margin:0}
.room-showcase.is-ready .showcase-main{visibility:hidden}
.showcase-track{position:absolute;inset:0;pointer-events:none;touch-action:pan-y pinch-zoom}
.showcase-photo{position:absolute;top:0;left:0;display:block;width:var(--room-photo-width);height:var(--room-photo-height);transform-origin:top left;pointer-events:auto}
.showcase-photo>figure{height:100%}
.showcase-photo:focus-visible{outline-offset:-4px}
.room-showcase.is-animating .showcase-photo{will-change:transform}
.showcase-copy{transition:opacity 160ms ease}
.room-showcase.is-animating .showcase-copy{opacity:0;pointer-events:none;transition-duration:100ms}
.room-controls{align-items:center}
.room-controls .room-pause{font:16px/1.4 var(--serif);width:auto;min-width:56px;margin-right:8px}
.scroll-fade{opacity:0;transition:opacity 650ms ease-in-out}
.scroll-fade.is-in-view,main a:focus-visible .scroll-fade{opacity:1}
.hdc-reduced-motion .scroll-fade{opacity:1!important}
@media(max-width:1100px){.desktop-nav{gap:22px}.site-header{gap:22px}.desktop-nav{font-size:22px}}
@media(max-width:1200px){.desktop-nav{display:none}.menu-toggle{display:block;order:2;margin-left:auto}.header-languages{order:3}.header-booking{order:4}}
@media(max-width:650px){.quick-booking{bottom:98px}.hero-pause{bottom:53px;right:24px;background:#15151565}.room-showcase.is-ready .showcase-main{margin-inline:32px}.showcase-preview-slot{display:none}}
@media print,(prefers-reduced-motion:reduce){.scroll-fade{opacity:1!important;transition:none!important}}

@media(max-width:650px){.site-header,.site-header.scrolled{gap:8px}.header-languages summary{min-width:44px;gap:5px}.header-languages nav{min-width:144px}}
@media(max-width:360px){.site-header,.site-header.scrolled{padding-inline:16px}.site-header .brand{width:145px}.site-header .brand-lockup{gap:9px}.site-header .brand-symbol{width:22px;height:31px}.site-header .brand-wordmark{width:114px}}
span, p{text-align:justify}
