.skip-link{position:absolute;top:-80px;left:15px;z-index:50;background:var(--paper);padding:12px}.skip-link:focus{top:10px}.hotel-header{position:sticky;top:0;z-index:10;background:var(--paper);padding:20px 4%;border-bottom:1px solid #bbb7a544}.hotel-header .desktop-nav{gap:19px;white-space:nowrap}.hotel-header .wordmark{font-size:22px;max-width:205px}.header-actions{display:flex;gap:14px;align-items:center}.hotel-header .header-actions .book-button{white-space:nowrap}.nav-more{position:relative;font-size:12px}.nav-more summary{cursor:pointer;list-style:none;padding:9px 0}.nav-more summary:after{content:' +';margin-left:8px}.nav-more>div{position:absolute;right:0;top:100%;display:grid;min-width:210px;background:var(--paper);padding:17px 24px;box-shadow:0 8px 25px #0002;gap:10px}.nav-more[open]>div a{display:block}.desktop-nav a[aria-current=page]{text-decoration:underline}#menu-toggle{display:none;background:none;border:0;width:36px;padding:8px 2px;color:var(--ink)}#menu-toggle span{display:block;width:26px;height:1px;background:currentColor;margin:7px 0}.mobile-nav{position:fixed;inset:92px 0 0;background:var(--paper);z-index:12;overflow:auto;padding:25px 7% 100px}.mobile-nav a{display:block;font:30px/1.25 Georgia,serif;text-decoration:none;padding:12px 0}.mobile-nav a[aria-current=page]{color:var(--accent)}.mobile-nav[hidden]{display:none}.subhero,.luxury .subhero,.urban .subhero,.retreat .subhero{height:440px}.subhero .hero-copy,.luxury .subhero .hero-copy,.retreat .subhero .hero-copy{bottom:60px}.subhero h1,.urban .subhero h1,.retreat .subhero h1{font-size:clamp(45px,5.8vw,78px)}.amenity-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 6%;border-bottom:1px solid #bcb5a570;gap:15px}.amenity-strip button{display:flex;align-items:center;justify-content:center;gap:12px;background:none;border:0;color:var(--ink);font-size:12px}.amenity-strip svg{width:26px;height:26px;flex-shrink:0}.compact{padding-top:55px;padding-bottom:55px}.compact .primary{margin-top:20px}.room-photo{display:block;aspect-ratio:4/3;overflow:hidden;margin-bottom:22px}.room-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.room-photo:hover img{transform:scale(1.035)}.room h3 a{text-decoration:none}.room-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.room-actions a,.room-actions button{font-size:11px}.room-actions button{margin:0}.room button[aria-pressed=true]{background:var(--accent);color:white;padding:5px 10px;border:0}.room-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:65px 6%;align-items:center}.room-detail-image img{width:100%;display:block}.room-detail ul{padding-left:18px}.room-detail .primary{margin-top:20px}.caption-note{font-size:11px!important;line-height:1.65;color:var(--ink);opacity:.75;max-width:750px}.programme,.gallery-page{padding:55px 6% 75px}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter-buttons button,.filter-label select,.itinerary-open{border:1px solid #aaa894;background:transparent;color:var(--ink);padding:10px 15px;font-size:12px}.filter-buttons .active{background:var(--ink);color:var(--paper)}.filter-label{font-size:11px}.filter-label select{display:block;min-width:160px;margin-top:8px}.editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.editorial-card{border:1px solid #bcb5a580;padding:30px 24px;background:var(--soft)}.editorial-card h3{font:30px/1.15 Georgia,serif;margin:22px 0}.editorial-card p{font-size:13px}.editorial-card button{background:none;color:var(--ink);border:0;border-bottom:1px solid var(--accent);padding:10px 0;font-size:12px;text-align:left}.editorial-card button[aria-pressed=true]{font-weight:600}.editorial-card a{font-size:12px}.programme-grid{grid-template-columns:repeat(2,1fr)}.enquiry-section{padding:65px 6%;display:grid;grid-template-columns:1fr 1.2fr;gap:65px;border-top:1px solid #bcb5a580}.enquiry-section>div>p:last-child{font-size:13px;max-width:360px}.enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.enquiry-form label{display:block;font-size:11px}.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea{display:block;width:100%;min-width:0;padding:12px 10px;border:1px solid #aaa894;background:transparent;border-radius:0;color:var(--ink);margin-top:6px}.enquiry-form .wide{grid-column:span 2}.enquiry-form .check{display:flex;gap:9px;align-items:start}.enquiry-form .primary{justify-self:start}.enquiry-form [role=status]{font-size:12px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.gallery-image{padding:0;background:transparent;border:0;text-align:left;color:var(--ink)}.gallery-image img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.gallery-image span{display:block;font-size:11px;margin:12px 0}.image-dialog{padding:30px;max-width:min(1000px,95vw)}.image-dialog img{width:100%;max-height:75vh;object-fit:contain;display:block}.image-dialog p{font-size:11px}.booking-mode{display:flex;gap:8px;margin:22px 0}.booking-mode button{border:1px solid #aaa894;color:var(--ink);background:none;padding:8px 11px;font-size:11px}.booking-mode button.active{background:var(--ink);color:var(--paper)}#booking-dialog label{font-size:11px;display:block}#booking-dialog input,#booking-dialog select{display:block;width:100%;padding:10px;margin:5px 0 15px;background:var(--paper);color:var(--ink);border:1px solid #aaa894}.modal-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}#ibe-preview{background:var(--soft);padding:20px;margin-top:20px}#ibe-preview p,#handoff-copy{font-size:13px}#ibe-status{font-size:12px}#compare-dialog{max-width:min(900px,94vw);width:900px}#compare-content{overflow:auto}.compare-table{border-collapse:collapse;width:100%;min-width:450px}.compare-table th,.compare-table td{text-align:left;padding:15px 12px;border-bottom:1px solid #aaa894;font-size:12px;vertical-align:top}.compare-table th{font-weight:400;font:22px Georgia,serif}.compare-table caption{font-size:11px;text-align:left;padding-bottom:15px}.compare-float{position:fixed;bottom:22px;right:22px;z-index:9;background:var(--ink);color:var(--paper);border:1px solid var(--paper);padding:12px 20px;font-size:12px}.compare-float[hidden]{display:none}.footer-top{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding-bottom:30px}.footer-wordmark{font:28px Georgia,serif;text-decoration:none}.footer-top nav{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.footer-top nav a{font-size:11px;text-decoration:none;display:block;padding:8px 0}dialog{max-height:90vh;overflow:auto}#saved-content ul{padding-left:18px;font-size:14px}.programme .section-heading>button{border:1px solid var(--ink);padding:10px 14px;font-size:12px;background:none;color:var(--ink)}.urban .editorial-card h3{font-family:Arial,sans-serif;font-weight:600}.urban .room-card{padding:18px}.luxury .room-card .room-photo{aspect-ratio:3/4}.retreat .room-photo{aspect-ratio:1/1}.retreat .editorial-card{border:0}.luxury .editorial-card{background:transparent;border:0;border-top:1px solid #bcb5a5}.event-choice-label{font-size:12px}[hidden]{display:none!important}@media(max-width:1100px){.hotel-header .desktop-nav{gap:13px}.hotel-header .desktop-nav a{font-size:11px}.hotel-header .wordmark{max-width:170px;font-size:20px}.hotel-header{gap:12px}.hotel-header .header-actions .book-button{padding:12px;font-size:11px}.luxury .hotel-header>a{font-size:16px}}@media(max-width:900px){.hotel-header .desktop-nav{display:none}#menu-toggle{display:block}.hotel-header .wordmark{max-width:65%;font-size:23px}.header-actions{margin-left:auto}.subhero,.luxury .subhero,.urban .subhero,.retreat .subhero{height:420px}.room-detail{gap:30px}.editorial-grid{grid-template-columns:1fr 1fr}.enquiry-section{gap:30px}.mobile-nav a{font-size:25px}.hotel-header .header-actions .book-button{font-size:10px}.mobile-nav{top:90px}}@media(max-width:600px){.hotel-header .wordmark{font-size:20px;max-width:175px}.luxury .hotel-header .wordmark{font-size:15px}.urban .hotel-header .wordmark{font-size:23px}.retreat .hotel-header .wordmark{font-size:25px}.hotel-header{padding:16px 5%;min-height:77px}.header-actions{gap:10px}.subhero,.luxury .subhero,.urban .subhero,.retreat .subhero{height:450px}.subhero .hero-copy,.luxury .subhero .hero-copy,.retreat .subhero .hero-copy{bottom:50px}.subhero h1,.urban .subhero h1,.retreat .subhero h1{font-size:48px}.amenity-strip{grid-template-columns:1fr 1fr;padding:25px 7%;gap:22px}.amenity-strip button{font-size:11px;justify-content:start}.amenity-strip svg{width:23px;height:23px}.room-detail{grid-template-columns:1fr;padding:45px 7%;gap:25px}.room-detail-image{order:-1}.room-card{margin-bottom:15px}.room-photo,.luxury .room-card .room-photo,.retreat .room-photo{aspect-ratio:4/3}.rooms .section-heading .filter-label{display:block;margin:20px 0}.rooms .section-heading .filter-label select{width:100%}.programme,.gallery-page{padding:40px 7%}.editorial-grid,.programme-grid{grid-template-columns:1fr}.editorial-card{padding:25px}.enquiry-section{grid-template-columns:1fr;padding:40px 7%}.enquiry-form{gap:15px}.enquiry-form label{font-size:11px}.enquiry-form .primary{grid-column:span 2}.photo-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr;gap:25px}.footer-top nav{grid-template-columns:1fr 1fr}.compare-float{bottom:78px;right:5%;font-size:11px;padding:10px 14px}.filter-buttons button{padding:9px 12px;font-size:11px}.room-actions{gap:14px}#booking-dialog{padding:35px 23px}.booking-mode button{font-size:10px}.modal-dates{gap:10px}#booking-dialog h2{font-size:30px}.image-dialog{padding:35px 12px 12px}.image-dialog img{max-height:70vh}}@media(prefers-reduced-motion:reduce){.room-photo img{transition:none}}
/* Screenshot-inspired direction: useful navigation, descriptive amenities, editorial rails. */
.hotel-header .desktop-nav{gap:25px}.nav-group{position:relative;font-size:12px}.nav-group summary{list-style:none;cursor:pointer;padding:12px 0;display:flex;align-items:center;gap:10px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'';width:6px;height:6px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);margin-top:-4px}.nav-group[open] summary:after{transform:rotate(225deg);margin-top:4px}.nav-group>div{position:absolute;top:100%;left:-20px;min-width:220px;background:var(--paper);box-shadow:0 15px 25px #0002;padding:18px 20px;display:grid;gap:10px}.nav-group>div a{display:block!important;white-space:normal;line-height:1.4;padding:8px 0;border-bottom:1px solid #bcb5a540}.nav-group>div a:last-child{border:0}.amenity-section{padding:55px 6%;border-bottom:1px solid #bcb5a540}.amenity-heading{display:flex;align-items:baseline;gap:22px;flex-wrap:wrap;margin-bottom:30px}.amenity-heading h2{font-size:30px;margin:0}.amenity-heading>p:last-child{font-size:11px;opacity:.65;margin-left:auto}.amenity-description-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.amenity-description-grid button{display:flex;gap:17px;text-align:left;align-items:flex-start;background:none;border:0;color:var(--ink);padding:10px 0}.amenity-description-grid svg{width:34px;height:34px;flex-shrink:0}.amenity-description-grid span{display:block}.amenity-description-grid strong{display:block;font-size:14px;font-weight:500;margin-bottom:4px}.amenity-description-grid small{display:block;font-size:11px;line-height:1.6;opacity:.8}.news-section,.review-section{padding:65px 6%}.news-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.news-heading>div>p:last-child{font-size:11px;opacity:.65}.news-heading h2{margin-bottom:12px}.rail-controls{display:flex;align-items:center;gap:16px}.rail-controls button{border:0;background:none;color:var(--ink);font-size:30px;line-height:1;cursor:pointer;padding:8px 2px}.rail-progress{width:150px;height:2px;display:block;background:#bcb5a5;position:relative}.rail-progress i{display:block;width:25%;height:4px;position:absolute;top:-1px;background:var(--ink);transition:width .2s}.news-rail,.review-rail{display:flex;gap:25px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:15px}.news-rail::-webkit-scrollbar,.review-rail::-webkit-scrollbar{display:none}.news-card{flex:0 0 calc((100% - 50px)/3);min-width:0;scroll-snap-align:start}.news-photo{padding:0;border:0;background:none;width:100%;display:block;aspect-ratio:4/3;overflow:hidden}.news-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}.news-photo:hover img{transform:scale(1.035)}.news-card h3{font:27px/1.2 Georgia,serif;margin:12px 0}.news-card h3 button{font:inherit;text-align:left;color:var(--ink);background:none;border:0;padding:0;display:flex;gap:12px;justify-content:space-between;width:100%}.news-card>p:not(.kicker){font-size:13px}.news-card .kicker{font-size:9px;margin-top:18px}.news-read,.review-slot button{font-size:11px;background:none;border:0;border-bottom:1px solid;color:var(--ink);padding:7px 0}.review-section{background:var(--soft)}.review-heading{text-align:center;margin-bottom:35px}.review-heading>p:last-child{font-size:12px;opacity:.7}.review-slot{flex:0 0 calc((100% - 50px)/3);border:1px solid #bcb5a580;padding:25px;scroll-snap-align:start}.review-slot h3{font:22px/1.2 Georgia,serif;margin:15px 0 25px}.review-slot p{font-size:11px}.review-slot .kicker{font-size:9px}.review-lines{display:grid;gap:10px;margin:25px 0}.review-lines i{display:block;background:var(--ink);opacity:.08;height:7px;width:100%}.review-lines i:last-child{width:65%}.review-section>.rail-controls{justify-content:center;margin-top:22px}.urban .news-card h3,.urban .review-slot h3{font-family:Arial,sans-serif;font-weight:600}.luxury .news-card h3,.retreat .news-card h3{font-style:italic}@media(max-width:1100px){.hotel-header .desktop-nav{gap:17px}.amenity-description-grid{grid-template-columns:repeat(2,1fr);gap:20px 40px}}@media(max-width:700px){.amenity-section,.news-section,.review-section{padding:40px 7%}.amenity-heading{display:block}.amenity-heading>p:last-child{margin-left:0}.amenity-heading h2{font-size:28px}.amenity-description-grid{gap:20px}.amenity-description-grid button{gap:11px}.amenity-description-grid svg{width:26px;height:26px}.amenity-description-grid strong{font-size:12px}.amenity-description-grid small{font-size:10px}.news-heading{display:block}.news-heading .rail-controls{margin-top:18px}.news-card,.review-slot{flex-basis:85%}.news-rail,.review-rail{gap:18px}.news-card h3{font-size:26px}.review-slot{padding:22px}.rail-progress{width:130px}}@media(prefers-reduced-motion:reduce){.news-photo img,.rail-progress i{transition:none}}
.amenity-description-grid{grid-template-columns:repeat(3,1fr)}@media(max-width:700px){.amenity-description-grid{grid-template-columns:1fr 1fr}}@media(max-width:370px){.amenity-description-grid{grid-template-columns:1fr}}
/* Soft, confident controls with a different typographic voice for each property. */
body,button,input,select,textarea{font-family:"Avenir Next","Trebuchet MS",Arial,sans-serif}body h1,body h2,body h3{font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif}.luxury h1,.luxury h2,.luxury h3{font-family:Baskerville,"Iowan Old Style",Georgia,serif}.urban h1,.urban h2,.urban h3{font-family:"Avenir Next","Trebuchet MS",Arial,sans-serif}.retreat h1,.retreat h2,.retreat h3{font-family:Palatino,"Iowan Old Style",Georgia,serif}button,.primary,.book-button,.mobile-book,.room li,.room button,.room-actions button,.perks-trigger{border-radius:999px}input,textarea,select,.booking-strip input,.booking-strip select{border-radius:12px!important}.hero,.luxury .hero,.urban .hero,.retreat .hero{margin:0 2%;border-radius:24px;overflow:hidden}.booking-strip,.urban .booking-strip{margin:18px 3%;border-radius:20px}.room-photo,.experience-photo,.room-detail-image img,.gallery-image img{border-radius:20px;overflow:hidden}.editorial-card{border-radius:20px}.room-card{border-radius:20px}.urban .room-card{border-radius:20px}.experience,.retreat .experience{border-radius:24px;overflow:hidden;margin:0 3%}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{border-radius:12px}.nav-group>div,.nav-more>div{border-radius:16px}.nav-group>div a{border-radius:0}.news-photo{border-radius:18px;overflow:hidden}.review-slot{border-radius:18px}.filter-buttons button,.booking-mode button{border-radius:999px}.rail-controls button{border-radius:999px;border:1px solid #bcb5a580;width:40px;height:40px;font-size:23px;display:grid;place-items:center;padding:0}dialog{border-radius:25px;box-shadow:0 20px 70px #0003}.close-dialog{border-radius:50%;width:34px;height:34px;line-height:1;padding:0;top:12px;right:12px;font-size:25px}.compare-table th img{display:block;width:100%;max-height:160px;object-fit:cover;aspect-ratio:4/3;border-radius:12px;margin-bottom:15px}.direct-band{margin:25px 6% 10px;padding:32px;border-radius:22px;background:var(--soft);display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}.direct-band h2{font-size:34px;margin:12px 0}.direct-band>div>p:not(.kicker){font-size:13px;max-width:500px}.direct-band>div:last-child{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.direct-band>div:last-child>.caption-note{flex-basis:100%;font-size:10px!important;margin:0}.direct-band .perks-link{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:13px 18px;font-size:11px}.perks-trigger{position:fixed;bottom:22px;left:22px;z-index:8;background:var(--paper);color:var(--ink);border:1px solid var(--accent);padding:12px 19px;font-size:11px;box-shadow:0 5px 20px #0001}.perks-list{list-style:none;padding:0;margin:25px 0}.perks-list li{border-top:1px solid #bcb5a580;padding:18px 0}.perks-list li:last-child{border-bottom:1px solid #bcb5a580}.perks-list strong{font-size:16px;font-weight:500}.perks-list p{font-size:12px;margin:7px 0 0}.perks-list~.primary{margin-bottom:12px}.direct-band .primary{white-space:nowrap}.image-dialog{border-radius:20px}.image-dialog img{border-radius:12px}.news-card .news-read,.review-slot button,.room-actions a,.experience-copy>a{border-radius:0}@media(max-width:700px){.hero,.luxury .hero,.urban .hero,.retreat .hero{margin:0 3%;border-radius:20px}.hero h1,.urban h1,.retreat h1{font-size:53px}.subhero h1,.urban .subhero h1,.retreat .subhero h1{font-size:46px}.booking-strip,.urban .booking-strip{margin:14px 4%;border-radius:18px}.direct-band{grid-template-columns:1fr;margin:18px 5%;padding:24px;gap:20px}.direct-band h2{font-size:29px}.direct-band .primary,.direct-band .perks-link{font-size:11px;padding:12px 16px}.perks-trigger{left:5%;bottom:79px;padding:11px 15px;font-size:10px}.compare-float{bottom:79px;font-size:10px;padding:11px 13px}.mobile-book{bottom:16px}.experience,.retreat .experience{margin:0 4%;border-radius:20px}.experience-photo{border-radius:20px 20px 0 0}.room-photo{border-radius:16px}.enquiry-form input,.enquiry-form select{min-height:42px}.booking-strip input,.booking-strip select{padding:10px 4px}.news-photo{border-radius:16px}.direct-band>div:last-child{gap:10px}.perks-list strong{font-size:15px}dialog{border-radius:22px}.mobile-nav{border-radius:0 0 22px 22px}.compare-table th img{max-height:130px}}

/* Aligned dates, guest counts and sample property details */
.booking-strip form{align-items:flex-end;gap:16px}.booking-strip label{flex:1 1 150px;min-width:0}.booking-strip input,.booking-strip select{box-sizing:border-box;width:100%;min-width:0;height:48px;margin-top:8px;padding:10px 12px!important;line-height:1.25;font-size:15px}.booking-strip input[type=date]{display:block;min-inline-size:0;font-variant-numeric:tabular-nums}.booking-strip input::-webkit-date-and-time-value{text-align:left}.booking-strip input::-webkit-calendar-picker-indicator{margin-left:6px;flex-shrink:0}.booking-strip select{appearance:none;-webkit-appearance:none;padding-right:38px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23696969' stroke-width='1.8'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.booking-strip .primary{min-height:48px}.sample-contact{border-top:1px solid #bcb5a580;border-bottom:1px solid #bcb5a580;padding:26px 0;margin-bottom:30px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.sample-contact h3{font-size:25px;margin:10px 0}.sample-contact address{font-style:normal;font-size:12px}.sample-contact p{font-size:12px;line-height:1.9}.sample-socials{display:flex;align-items:center;gap:14px}.sample-socials svg{width:20px;height:20px;display:block}.sample-socials small{font-size:10px;opacity:.7}@media(max-width:600px){.sample-contact{grid-template-columns:1fr;gap:10px}.booking-strip form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-strip label{min-width:0}.booking-strip label:last-of-type{grid-column:1/-1}.booking-strip .primary,#date-error{grid-column:1/-1}}
@media(min-width:1001px){.booking-strip,.urban .booking-strip{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(0,2fr);gap:25px}.booking-strip form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:14px}.booking-strip label{min-width:0}.booking-strip .primary{white-space:nowrap}#date-error{grid-column:1/-1}}
