@font-face{font-family:Etar Serif;src:url('fonts/cormorant-garamond-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Etar Sans;src:url('fonts/manrope-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}

:root{--paper:#f9f6ef;--canvas:#f1ede5;--ink:#575148;--muted:#746c62;--taupe:#b39b88;--taupe-hover:#c3ad99;--line:#dfd8ce;--footer:#463d35;--ivory:#f8f4ec;--serif:'Etar Serif',Georgia,serif;--sans:'Etar Sans',Arial,sans-serif;--inset:3.15%;--ease:cubic-bezier(.22,1,.36,1);color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px;scrollbar-color:var(--taupe) var(--canvas)}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--sans);font-size:16px;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased}
body.has-dialog{overflow:hidden}
::selection{background:#b39b8859;color:var(--ink)}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{color:inherit;cursor:pointer}
button:disabled{cursor:default;opacity:.3}
button{border:0}
a{color:inherit;text-decoration:none}
a,button{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #8b6b51;outline-offset:5px}
.hero :focus-visible,.site-footer :focus-visible,.lightbox :focus-visible{outline-color:var(--ivory)}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2,h3{margin:0}
h1,h2,h3{font-weight:400}
h1,h2{font-family:var(--serif)}
h2{font-size:clamp(28px,2.48vw,46px);line-height:1.15;letter-spacing:-.025em}
p{color:var(--muted)}
.icon{width:24px;height:24px;flex:none;vertical-align:middle}
.page-frame{width:83.333333%;max-width:1760px;margin:0 auto;background:var(--paper)}
.section-inset{padding-inline:var(--inset)}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:12px;background:var(--ivory);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;padding:12px 26px;border:1px solid transparent;border-radius:3px;background:var(--taupe);color:#3d3025;font-size:14px;line-height:1.4;transition:background .25s,color .25s,border-color .25s;white-space:nowrap}
.button:hover{background:var(--taupe-hover);color:#3d3025}
.button .icon{width:32px}
.text-link{padding:0;background:none;display:inline-flex;gap:20px;align-items:center;text-align:left;font-size:14px}
.text-link .icon{width:31px;color:#9d8875;transition:transform .3s var(--ease)}
.text-link:hover .icon{transform:translateX(6px)}
.arrow-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;color:#a99684;padding:4px;transition:color .25s,transform .3s var(--ease)}
.arrow-button .icon{width:38px;height:24px}
.arrow-button.previous .icon{transform:rotate(180deg)}
.arrow-button:hover{color:var(--ink);transform:translateX(3px)}
.arrow-button.previous:hover{transform:translateX(-3px)}

/* Both navigation rows share the hero photograph. */
.hero{position:relative;isolation:isolate;aspect-ratio:1.92;min-height:600px;max-height:960px;color:var(--ivory);overflow:clip;border-radius:3px 3px 0 0;background:#392c24}
.hero::after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(28,19,13,.68),rgba(28,19,13,.56) 24%,rgba(28,19,13,.02) 47%,rgba(28,19,13,.31)),linear-gradient(90deg,rgba(28,19,13,.48),rgba(28,19,13,.1) 65%)}
.hero-photo{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.site-header{position:relative;z-index:4}
.header-top{display:grid;grid-template-columns:1fr 27.3% 1fr;border-bottom:1px solid #f8f4ec30;min-height:89px}
.header-location,.header-contact{display:flex;align-items:center;gap:28px;padding:17px 8.5%}
.header-location{padding-right:18px;font-size:13px}
.header-address{max-width:270px;line-height:1.5}
.header-brand{display:flex;align-items:center;justify-content:center;border-inline:1px solid #f8f4ec24;padding:14px}
.header-brand img{width:105px;height:66px;object-fit:contain}
.header-contact{justify-content:space-between;gap:16px;padding-left:7.8%}
.header-phone{white-space:nowrap;font-size:13px}
.header-book{min-width:150px;font-size:13px;min-height:45px;padding:10px 18px}
.main-nav{display:flex;align-items:center;justify-content:space-between;padding:0 var(--inset);min-height:49px;border-bottom:1px solid #f8f4ec30;font-size:14px}
.main-nav a{display:flex;gap:4px;align-items:center;padding:13px 0;position:relative}
.main-nav a::after{content:'';position:absolute;bottom:9px;height:1px;left:0;right:0;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.main-nav a:hover::after{transform:scaleX(1)}
.main-nav .icon{width:15px;height:15px}
.language-picker{position:relative;flex:none;align-self:center;z-index:6}
.language-picker summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;min-height:44px}
.language-picker summary::-webkit-details-marker{display:none}
.language-picker .icon{width:13px;height:13px}
.language-options{position:absolute;top:100%;left:-14px;width:136px;padding:6px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:3px}
.language-options a{display:block;padding:10px}
.language-options a:hover,.language-options a[aria-current]{background:var(--canvas)}
.hero-content{position:absolute;left:var(--inset);bottom:9.4%;max-width:65%}
.hero-city{font-family:var(--serif);color:var(--ivory);font-size:clamp(23px,1.8vw,34px);letter-spacing:.015em;line-height:1.3;margin-bottom:5px}
.hero h1{font-size:clamp(62px,5.45vw,112px);line-height:1.06;letter-spacing:-.025em}
.hero-description{font-size:clamp(14px,1.03vw,19px);line-height:1.5;max-width:435px;color:var(--ivory);margin-top:23px;text-wrap:pretty}
.hero-button{margin-top:38px;min-width:205px;min-height:47px}
.concierge{position:absolute;right:6.5%;bottom:6.8%;display:flex;flex-direction:column;align-items:center;text-align:center;font-size:13px;line-height:1.2;max-width:105px;gap:12px}
.concierge-icon{display:flex;align-items:center;justify-content:center;background:var(--taupe);width:51px;height:51px;border-radius:50%;transition:background .25s}
.concierge-icon .icon{width:31px;height:31px;stroke-width:.85}
.concierge:hover .concierge-icon{background:var(--taupe-hover)}

.rooms{display:grid;grid-template-columns:1fr 1.23fr 1fr;gap:24px;padding-top:70px;padding-bottom:78px;align-items:stretch}
.rooms-intro{padding:10px 10% 0 0;display:flex;align-items:flex-start;flex-direction:column}
.rooms-intro h2{font-size:clamp(27px,2.36vw,44px);line-height:1.28;margin-bottom:25px;max-width:13.5em}
.rooms-intro p{font-size:15px;line-height:1.58;max-width:36ch;text-wrap:pretty}
.rooms-intro p+p{margin-top:12px}
.room-facts{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:36px;padding-bottom:52px;font-size:12px}
.room-facts>a,.room-facts>span{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 13px;border:1px solid #b9a998;border-radius:3px;white-space:nowrap}
.room-facts a{gap:5px}
.room-facts a:hover{background:var(--canvas)}
.room-facts .icon{width:15px;height:18px}
.room-portrait{position:relative;overflow:hidden;border-radius:4px;min-height:488px;height:100%;background:#e5dfd4}
.room-portrait>img{width:100%;height:100%;min-height:488px;object-fit:cover;object-position:50% 55%;transition:opacity .18s}
.room-portrait::after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#2e241f88);pointer-events:none}
.room-portrait figcaption{position:absolute;z-index:1;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:13px 22px;color:var(--ivory);font-size:16px}
.room-photo-cta{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;color:var(--ivory)}
.room-photo-cta .icon{width:34px}
.rooms-selection{display:flex;flex-direction:column;padding-top:2px}
.section-label{display:flex;align-items:center;justify-content:flex-end;gap:9px;font-size:14px;color:var(--muted)}
.section-label>span{width:7px;height:7px;background:var(--taupe);border-radius:50%}
.room-list{margin-top:auto;padding-top:82px}
.room-option{display:flex;gap:15px;width:100%;align-items:center;text-align:left;padding:21px 0;background:transparent;border-bottom:1px solid var(--line)}
.room-number{font-family:var(--serif);font-size:17px;color:#9c9386;align-self:flex-start;padding-top:3px}
.room-option-copy{flex:1}
.room-name{display:block;font-size:18px;color:var(--muted);transition:color .2s}
.room-description{display:block;font-size:11px;line-height:1.5;color:var(--muted);max-width:29ch;margin-top:5px}
.room-option>.icon{width:26px;opacity:0;transform:translateX(-6px);color:#9a7d63;transition:opacity .25s,transform .3s var(--ease)}
.room-option.is-selected .room-name,.room-option:hover .room-name{color:#4b3e31}
.room-option.is-selected>.icon,.room-option:hover>.icon{opacity:1;transform:translateX(0)}
.room-enquiry{margin-top:25px;min-height:44px}

.gallery{padding-top:24px;padding-bottom:76px}
.gallery-window{position:relative;width:100vw;margin-left:calc((100% - 100vw)/2);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x mandatory}
.gallery-window::-webkit-scrollbar{display:none}
.gallery-track{display:flex;align-items:center;gap:20px;width:max-content;padding-inline:50vw;min-height:min(36vw,665px)}
.gallery-card{position:relative;padding:0;background:var(--canvas);flex:none;width:23.2vw;max-width:445px;height:27vw;max-height:520px;overflow:hidden;border-radius:5px;scroll-snap-align:center}
.gallery-card.is-active{width:29.2vw;max-width:560px;height:34.7vw;max-height:665px}
.gallery-card img{width:100%;height:100%;object-fit:cover;object-position:50% 65%;transition:transform .8s var(--ease)}
.gallery-card:hover img{transform:scale(1.025)}
.photo-zoom{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;background:#f8f4ecd9;color:#5c4a3c;border-radius:50%;width:38px;height:38px;opacity:0;transition:opacity .25s}
button:hover>.photo-zoom,button:focus-visible>.photo-zoom{opacity:1}
.gallery-controls{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:23px}

.city-section{padding-top:10px;padding-bottom:80px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:35px}
.city-arrows{display:flex;gap:4px}
.city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.city-image-link{position:relative;display:block;overflow:hidden;border-radius:4px;aspect-ratio:1.22}
.city-image-link img{height:100%;width:100%;object-fit:cover;transition:transform .8s var(--ease);filter:saturate(.8)}
.city-image-link:hover img{transform:scale(1.035)}
.image-link-arrow{position:absolute;bottom:13px;right:13px;display:grid;place-items:center;background:#f8f4eced;width:42px;height:42px;border-radius:50%;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.image-link-arrow .icon{width:27px}
.city-image-link:hover .image-link-arrow,.city-image-link:focus-visible .image-link-arrow{opacity:1;transform:translateY(0)}
.city-card h3{font-family:var(--sans);font-size:18px;line-height:1.4;margin-top:20px;margin-bottom:8px}
.city-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.city-card p{font-size:13px;line-height:1.65;text-wrap:pretty}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:78px}
.feature{display:flex;flex-direction:column;align-items:flex-start}
.feature>img{width:100%;aspect-ratio:1.82;object-fit:cover;border-radius:4px;filter:saturate(.82)}
.feature h2{font-size:clamp(27px,2.2vw,42px);margin-top:24px;line-height:1.18}
.feature p{font-size:14px;line-height:1.6;margin-top:17px;max-width:58ch;padding-right:4%}
.feature .button{margin-top:31px;font-size:13px;min-height:39px;padding:9px 18px}

.photo-strip{position:relative;display:flex;gap:18px;width:100vw;margin-left:calc((100% - 100vw)/2);overflow-x:auto;scrollbar-width:none;align-items:center;padding:20px 0 84px;scroll-snap-type:x mandatory}
.photo-strip::-webkit-scrollbar{display:none}
.photo-strip>button{position:relative;flex:none;width:14.3vw;max-width:280px;aspect-ratio:.78;padding:0;border-radius:5px;overflow:hidden;background:var(--canvas);scroll-snap-align:center}
.photo-strip>button:first-child{margin-left:-4.5vw}
.photo-strip>button:last-child{margin-right:-4.5vw}
.photo-strip img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);filter:saturate(.85)}
.photo-strip button:hover img{transform:scale(1.04)}

.site-footer{background:var(--footer);color:#eee7de;padding:48px var(--inset) 26px;border-radius:0 0 3px 3px}
.footer-brand{display:inline-block}
.footer-brand img{width:111px;height:auto}
.footer-columns{display:grid;grid-template-columns:.85fr 1.45fr 1.3fr;gap:40px;margin-top:46px;margin-bottom:70px}
.footer-columns h2{font-family:var(--sans);font-size:17px;line-height:1.4;letter-spacing:0;margin-bottom:19px;color:var(--ivory)}
.footer-navigation nav{display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:13px}
.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:13px}
.footer-contact h2{margin-bottom:6px}
.footer-contact address{font-style:normal;max-width:30ch;line-height:1.6}
.footer-contact .footer-map{display:flex;align-items:center;gap:12px;margin-top:7px;text-decoration:underline;text-underline-offset:4px}
.footer-map .icon{width:24px}
.footer-columns p{font-size:14px;color:#e0d7cd;max-width:37ch;line-height:1.75}
.footer-columns a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-buttons{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.footer-buttons .button{padding:11px 20px;min-height:44px;font-size:13px}
.footer-buttons .button:hover{text-decoration:none}
.button-outline-light{border-color:#ddd3c7;background:transparent;color:var(--ivory)}
.button-outline-light:hover{background:var(--ivory);color:var(--footer)}
.footer-bottom{border-top:1px solid #f8f4ec1c;border-bottom:1px solid #f8f4ec1c;padding:17px 0 19px;display:flex;align-items:center;justify-content:space-between;gap:30px;color:#c1b6a8;font-size:11px}
.footer-bottom>div{display:flex;flex-direction:column;gap:6px}
.footer-bottom>a{display:flex;align-items:center;gap:16px}
.footer-bottom .icon{transform:rotate(-90deg);width:25px}
.preview-note{padding:20px 24px 30px;background:var(--canvas);text-align:center;font-size:10px;color:#82786c}

dialog{color:var(--ink);background:var(--paper);border:0;padding:0;max-height:90svh;max-width:calc(100vw - 32px);border-radius:5px}
dialog::backdrop{background:#241b16b8}
.dialog-close{position:absolute;top:14px;right:14px;z-index:2;background:transparent;width:44px;height:44px;display:grid;place-items:center}
.booking-dialog{width:650px;padding:34px 44px 40px;overscroll-behavior:contain}
.booking-heading>img{width:70px;margin-bottom:22px}
.booking-heading h2{font-size:37px;max-width:16ch}
.booking-heading>p{margin-top:12px;font-size:14px}
.form-note{font-size:12px;padding:14px 0;margin:10px 0 14px;border-bottom:1px solid var(--line)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:12px;min-width:0}
.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #c8bcb0;background:transparent;border-radius:2px;color:var(--ink);padding:10px 12px;width:100%;min-width:0;min-height:44px;font-size:14px;caret-color:#846144}
.form-grid textarea{resize:vertical}
.form-grid .full-width{grid-column:1/-1}
.form-required{font-size:11px;margin:18px 0}
.form-submit{width:100%;justify-content:space-between}
.form-status{padding:15px 0 0;font-size:13px;color:var(--ink)}
.lightbox{width:100vw;height:100svh;max-width:none;max-height:none;background:#2c241ff5;color:var(--ivory);border-radius:0}
.lightbox[open]{display:flex;align-items:center;justify-content:center;gap:20px}
.lightbox>figure{max-width:calc(100vw - 150px);margin:50px 0 30px}
.lightbox figure img{max-width:100%;max-height:80svh;width:auto;margin:auto;object-fit:contain}
.lightbox figcaption{font-size:13px;text-align:center;margin-top:14px}
.lightbox .arrow-button{color:var(--ivory)}
.lightbox .dialog-close{position:fixed;top:18px;right:18px}

@media(min-width:1800px){body{font-size:19px}.header-top{min-height:121px}.header-brand img{width:137px;height:86px}.header-location,.header-phone,.header-book{font-size:17px}.header-book{min-width:218px;min-height:57px}.main-nav{min-height:64px;font-size:18px}.hero-description{max-width:560px}.hero-button{margin-top:46px;min-height:59px;min-width:270px;font-size:18px}.concierge{font-size:17px;max-width:135px}.concierge-icon{width:66px;height:66px}.concierge-icon .icon{width:41px;height:41px}.rooms{padding-top:82px;padding-bottom:95px;gap:30px}.rooms-intro p{font-size:19px}.rooms-intro h2{margin-bottom:30px}.room-portrait,.room-portrait>img{min-height:635px}.section-label{font-size:18px}.room-option{padding:27px 0}.room-name{font-size:23px}.room-description{font-size:14px}.room-number{font-size:21px}.room-enquiry{font-size:17px}.room-facts{font-size:15px}.room-facts>a,.room-facts>span{min-height:44px}.city-card h3{font-size:23px}.city-card p{font-size:17px}.feature p{font-size:18px}.feature .button{font-size:17px;padding:11px 22px}.footer-columns h2{font-size:22px}.footer-contact,.footer-navigation nav{font-size:17px}.footer-columns p{font-size:18px}.footer-buttons .button{font-size:17px}.footer-brand img{width:145px}.site-footer{padding-top:65px}.footer-columns{margin-top:64px;margin-bottom:95px}.footer-bottom{font-size:14px}.preview-note{font-size:12px}}
@media(max-width:1250px){.header-location{gap:17px}.header-address{font-size:11px;max-width:145px}.header-contact{gap:12px;justify-content:flex-end}.header-phone{font-size:11px}.header-book{min-width:119px;padding-inline:12px;font-size:12px}.rooms{gap:20px}.rooms-intro{padding-right:0}.rooms-intro p{font-size:13px}.rooms-intro h2{font-size:29px}.room-facts{gap:6px;font-size:11px;padding-bottom:10px}.room-facts>a,.room-facts>span{padding-inline:9px}.room-description{font-size:10px}.room-option{gap:10px;padding-block:19px}.room-name{font-size:16px}.room-list{padding-top:50px}.room-portrait,.room-portrait>img{min-height:470px}.room-enquiry{font-size:12px;gap:10px}.footer-columns{gap:28px}.footer-buttons{gap:9px}.footer-buttons .button{padding-inline:13px;font-size:12px}}
@media(max-width:1000px){.page-frame{width:90%}.hero{min-height:620px;aspect-ratio:1.5}.header-top{grid-template-columns:1fr 25% 1fr}.header-phone{display:none}.header-contact{padding-right:12%}.header-location{padding-left:12%}.header-address{font-size:10px}.hero-content{max-width:75%;bottom:10%}.hero h1{font-size:76px}.hero-city{font-size:27px}.hero-description{font-size:15px}.rooms{grid-template-columns:1fr 1fr;gap:30px;padding-top:58px}.rooms-intro{grid-column:1;grid-row:1}.rooms-intro h2{font-size:33px}.rooms-intro p{font-size:15px}.room-facts{margin-top:10px;padding-top:20px;padding-bottom:0;font-size:12px}.room-portrait{grid-column:2;grid-row:1 / span 2;min-height:660px}.room-portrait>img{min-height:660px}.rooms-selection{grid-column:1;grid-row:2}.section-label{justify-content:flex-start}.room-list{padding-top:5px}.room-option{padding-block:14px}.room-name{font-size:17px}.room-description{font-size:11px;max-width:none}.room-enquiry{font-size:13px;margin-top:18px}.gallery-track{min-height:52vw}.gallery-card{width:33vw;height:42vw}.gallery-card.is-active{width:42vw;height:51vw}.gallery{padding-bottom:56px}.city-grid{gap:17px}.city-card h3{font-size:16px}.city-card p{font-size:12px}.feature-grid{margin-top:54px}.feature h2{font-size:27px}.feature p{font-size:13px}.city-section{padding-bottom:52px}.photo-strip{padding-bottom:58px;gap:14px}.photo-strip>button{width:21vw}.footer-columns{grid-template-columns:.75fr 1.25fr;gap:38px;margin-bottom:45px}.footer-stay{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.footer-stay h2{grid-column:1}.footer-stay p{grid-column:1}.footer-buttons{grid-column:2;grid-row:1/span 2;align-content:center;justify-content:flex-end;margin-top:0}}
@media(max-width:600px){:root{--inset:22px}.page-frame{width:100%;margin-top:0}.hero{min-height:690px;height:90svh;max-height:820px;aspect-ratio:auto;border-radius:0}.hero-photo{object-position:57% 50%}.hero::after{background:linear-gradient(180deg,#211811ad,#21181185 20%,#21181138 44%,#21181199),linear-gradient(90deg,#21181199,#21181120)}.header-top{grid-template-columns:1fr 100px 1fr;min-height:98px}.header-location{padding:14px 0 14px 22px}.header-brand{padding:10px;border-inline:0}.header-brand img{width:83px;height:64px}.header-address{display:none}.header-contact{padding:14px 17px 14px 0}.header-book{min-width:0;min-height:40px;padding:9px 10px;font-size:11px}.language-picker summary{font-size:12px}.main-nav{padding:0 20px;gap:8px;min-height:51px;font-size:12px}.main-nav a{padding:17px 0;white-space:nowrap}.main-nav .icon{display:none}.hero-content{left:26px;bottom:96px;max-width:calc(100% - 52px)}.hero-city{font-size:25px;margin-bottom:5px}.hero h1{font-size:66px;line-height:1.05}.hero-description{font-size:14px;margin-top:23px;max-width:300px;line-height:1.7}.hero-button{min-height:45px;min-width:188px;font-size:13px;margin-top:30px}.concierge{right:24px;bottom:24px;flex-direction:row;max-width:none;gap:10px;font-size:10px}.concierge-icon{width:36px;height:36px}.concierge-icon .icon{width:23px;height:23px}.rooms{padding-top:48px;padding-bottom:42px;display:flex;flex-direction:column;gap:26px}.rooms-intro{display:block}.rooms-intro h2{font-size:34px;line-height:1.2;max-width:12em;margin-bottom:23px}.rooms-intro p{font-size:14px;line-height:1.65;max-width:none}.room-facts{font-size:11px;margin-top:5px;padding-top:22px;gap:10px}.room-portrait,.room-portrait>img{height:430px;min-height:0}.room-portrait{order:1}.rooms-selection{order:2;padding-top:4px}.section-label{justify-content:flex-end;font-size:12px;margin-bottom:9px}.room-list{padding-top:0}.room-option{padding:18px 0;gap:18px}.room-name{font-size:19px}.room-description{font-size:12px}.room-enquiry{font-size:13px;margin-top:15px}.gallery{padding-top:10px;padding-bottom:42px}.gallery-track{gap:14px;min-height:410px}.gallery-card{width:63vw;height:335px;max-height:none}.gallery-card.is-active{width:73vw;height:405px;max-height:none}.gallery-controls{margin-top:16px}.photo-zoom{right:12px;bottom:12px;width:32px;height:32px}.section-heading{gap:12px;margin-bottom:23px;align-items:flex-end}.section-heading h2{font-size:32px;max-width:10em}.city-arrows{gap:0;margin-right:-7px}.city-arrows .arrow-button{width:33px}.city-arrows .icon{width:29px}.city-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory;gap:18px;margin-right:-22px;padding-right:22px;padding-bottom:12px;scrollbar-width:none}.city-grid::-webkit-scrollbar{display:none}.city-card{flex:0 0 87%;scroll-snap-align:start}.city-image-link{aspect-ratio:1.14}.city-card h3{font-size:18px;margin-top:17px}.city-card p{font-size:13px;line-height:1.65}.feature-grid{grid-template-columns:1fr;gap:38px;margin-top:38px}.feature>img{aspect-ratio:1.5}.feature h2{font-size:29px;margin-top:20px;max-width:13em}.feature p{font-size:14px;margin-top:13px;max-width:40ch}.feature .button{margin-top:23px;min-height:43px;font-size:13px}.city-section{padding-bottom:42px}.photo-strip{gap:12px;padding:14px 0 48px}.photo-strip>button{width:44vw;border-radius:4px}.photo-strip>button:first-child{margin-left:-14vw}.site-footer{padding:38px 24px 24px;border-radius:0}.footer-brand img{width:106px}.footer-columns{grid-template-columns:1fr;gap:32px;margin-top:35px;margin-bottom:40px}.footer-columns h2{font-size:18px;margin-bottom:15px}.footer-navigation nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;font-size:13px}.footer-contact{font-size:14px;gap:12px}.footer-contact h2{margin-bottom:3px}.footer-contact address{max-width:27ch}.footer-stay{display:block;grid-column:auto}.footer-columns p{font-size:14px;max-width:35ch}.footer-buttons{justify-content:flex-start;margin-top:23px}.footer-buttons .button{font-size:13px;padding:11px 20px}.footer-bottom{align-items:flex-start;font-size:10px;gap:15px;padding-block:18px}.footer-bottom>a{gap:6px;white-space:nowrap}.footer-bottom .icon{width:19px}.preview-note{padding:17px 25px 20px;font-size:10px}.booking-dialog{padding:28px 23px 30px}.booking-heading>img{width:65px}.booking-heading h2{font-size:33px}.booking-heading>p{font-size:13px}.form-grid{gap:15px 12px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;padding:10px 8px}.lightbox[open]{gap:4px}.lightbox>figure{max-width:calc(100vw - 76px)}.lightbox .arrow-button{width:32px;padding:0}.lightbox .icon{width:27px}.lightbox figcaption{font-size:11px}.lightbox .dialog-close{right:12px}}
@media(max-width:360px){.main-nav{font-size:11px;padding-inline:15px;gap:5px}.header-book{font-size:10px;padding-inline:9px}.hero h1{font-size:59px}.hero-content{left:22px}.hero{min-height:655px}.room-facts{font-size:10px;gap:6px}.form-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.gallery-window{scroll-behavior:auto}}
