@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/dm-sans-0.ttf) format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/dm-sans-1.ttf) format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/dm-sans-2.ttf) format('truetype')}
:root{--navy:#0b2339;--deep:#081c2e;--ink:#162c3b;--paper:#f2f0e9;--gold:#d3b17d;--muted:#606b71;--line:#d3d5d1;--font:'DM Sans',Arial,sans-serif;--radius:12px;--control-radius:8px;--gutter:max(32px,calc((100% - 1280px)/2));--section-space:104px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;padding:20px;background:#102c43;color:var(--ink);font:16px/1.65 var(--font)}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #b98b4e;outline-offset:4px}button,input,select{border-radius:var(--control-radius)}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-family:var(--font);font-weight:600;line-height:1.22;text-wrap:balance}h1{font-size:clamp(36px,4.7vw,78px);letter-spacing:-.045em}h2{font-size:clamp(29px,2.8vw,42px);letter-spacing:-.035em}h3{font-size:23px;letter-spacing:-.025em}p{overflow-wrap:break-word}a.email,.email{overflow-wrap:anywhere}.icon{width:23px;height:23px;flex-shrink:0;vertical-align:middle}.small,.form-note{font-size:13px;line-height:1.7;color:var(--muted)}.eyebrow{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;margin-bottom:16px}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{position:fixed;top:10px;left:20px;z-index:200;background:white;padding:12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:14px 22px;border:1px solid var(--navy);border-radius:var(--control-radius);background:var(--navy);color:white;font-size:13px;font-weight:600;letter-spacing:.055em;line-height:1.5;text-transform:uppercase;text-align:center;transition:background .2s}.button:hover{background:#173b58}.button.gold{background:var(--gold);border-color:var(--gold);color:var(--deep)}.button.gold:hover{background:#e4c698}.text-link{display:inline-block;padding-block:12px;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:5px}.text-button{border:0;background:none;padding:0;text-align:start}
.section{padding:var(--section-space) var(--gutter);background:var(--paper)}.section-heading{text-align:center;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:14px}.section-sub,.explore-intro{max-width:740px;margin:-16px auto 32px;text-align:center;color:var(--muted);font-size:16px;text-wrap:pretty}
header{position:absolute;z-index:40;inset:20px 20px auto;height:116px;padding-inline:clamp(28px,4vw,72px);display:grid;grid-template-columns:minmax(125px,1fr) auto minmax(125px,1fr);align-items:center;gap:24px;color:white;border-bottom:1px solid #ffffff36;background:linear-gradient(#06192b99,transparent)}.brand{display:flex;align-items:center;width:125px;transform:translateY(7px)}.brand img{width:125px;height:auto;aspect-ratio:1560/1008;object-fit:contain}nav{display:flex;align-items:center;justify-content:center;gap:clamp(14px,1.4vw,24px)}nav a{font-size:13px;white-space:nowrap;padding-block:14px}nav a:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.header-cta{background:transparent;border-color:#ffffff70;font-size:11px;padding:12px 16px}.language select{background:transparent;border:0;color:inherit;font-size:13px;max-width:112px;min-height:44px;padding:8px}.language option{background:var(--navy);color:white}.menu-button{display:none;background:transparent;border:1px solid #ffffff60;color:white;min-width:44px;min-height:44px;font-size:21px}
.hero{position:relative;height:100svh;min-height:760px;max-height:none;overflow:hidden;color:white;background:var(--deep)}.hero-background{position:absolute;width:100%;height:100%;object-fit:cover;object-position:42% center;transform:scale(1.14);transform-origin:42% center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#041828dc,#071e32b8 50%,#071e3280),linear-gradient(0deg,#061b2ce6,transparent 65%)}.hero-copy{position:relative;padding:clamp(190px,25vh,280px) var(--gutter) 0;text-align:center}.hero-copy h1{font-size:clamp(38px,4.45vw,76px);line-height:1.15;letter-spacing:-.045em;max-width:1280px;margin-inline:auto}.hero-sub{max-width:700px;margin:26px auto 32px;color:#eef1f2;font-size:17px;line-height:1.65;text-wrap:pretty}.hero-contacts{position:relative;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin:26px auto 0;padding-inline:25px;max-width:900px}.hero-contacts .button{background:#0b2339a8;border-color:#ffffff65;text-transform:none;font-size:14px;letter-spacing:0;padding:11px 20px}.hero-address{display:flex;align-items:center;justify-content:center;gap:9px;flex-basis:100%;font-size:14px;margin-top:4px;min-height:44px}.hero-bottom{position:absolute;inset:auto var(--gutter) 26px;border-top:1px solid #ffffff30;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.hero-bottom a{display:flex;align-items:center;gap:10px;min-height:44px}
.room-jump,.explore-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:40px}.room-jump button,.explore-tabs button{border:1px solid #b9c2c8;background:transparent;min-height:48px;padding:12px 19px;font-size:14px}.room-jump button[aria-selected=true],.explore-tabs button[aria-selected=true]{background:var(--navy);border-color:var(--navy);color:white}.room-jump button:hover,.explore-tabs button:hover{border-color:var(--navy)}.room-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center;max-width:1100px;margin:0 auto 28px;scroll-margin-top:28px}.room-feature[hidden]{display:none}.gallery{min-width:0;width:100%;max-width:510px;margin-inline:auto}.photo-open{display:block;position:relative;width:100%;padding:0;border:0;border-radius:var(--radius);background:#e5e3dc;overflow:hidden}.gallery-image{width:100%;height:auto;max-height:370px;aspect-ratio:4/3;object-fit:contain;background:#e7e5de;border-radius:var(--radius)}.photo-open:after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#09294316,#071e3238);pointer-events:none}.expand-mark{position:absolute;z-index:2;bottom:12px;right:12px;width:36px;height:36px;border-radius:7px;background:#071d33bd;color:white;font-size:24px;line-height:36px}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-block:10px;direction:ltr}.gallery-controls button{width:44px;height:44px;background:transparent;border:1px solid var(--line);font-size:20px}.gallery-count,#lightbox-count{font-size:12px;letter-spacing:.08em}.thumbnails{display:flex;gap:8px;overflow-x:auto;padding:5px 2px 8px;scrollbar-width:thin}.thumbnails button{flex:0 0 65px;height:51px;background:transparent;padding:2px;border:1px solid transparent;border-radius:6px}.thumbnails button[aria-current=true]{border-color:#816038}.thumbnails img{width:100%;height:100%;object-fit:cover;border-radius:6px}.room-info h3{font-size:clamp(27px,2.7vw,37px);margin-bottom:18px}.room-info>p:not(.eyebrow){max-width:48ch;color:var(--muted);font-size:16px}.bed-line{display:flex;align-items:center;gap:12px;margin-top:24px;color:var(--ink)!important}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:14px;list-style:none;padding:24px 0;margin:0 0 8px}.amenities li{display:flex;align-items:center;gap:9px;font-size:14px}.amenities .icon{width:18px;height:18px}.direct-room{display:block;margin-top:14px}.rooms>.small{text-align:center;max-width:760px;margin-inline:auto}
/* Location and services share one card and carousel system. */
.location,.stay{background:var(--paper);color:var(--ink)}.benefit-scroll-controls{display:flex;justify-content:flex-end;gap:10px;margin-bottom:22px}.benefit-scroll-controls button{width:44px;height:44px;background:var(--navy);border:0;color:white;font-size:20px}.benefit-grid{overscroll-behavior-x:contain;display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px;scrollbar-width:thin;scrollbar-color:#aeb8be transparent}.benefit-grid article{flex:0 0 calc((100% - 72px)/4);min-width:0;scroll-snap-align:start;text-align:center}.benefit-grid img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius);margin-bottom:24px}.benefit-grid h3{font-size:23px;margin-bottom:16px;min-height:2.44em;display:flex;align-items:center;justify-content:center}.benefit-grid p{max-width:34ch;margin-inline:auto;font-size:15px;line-height:1.75;color:var(--muted)}.service-grid article>div{padding:0}.transport-links{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;border-top:1px solid var(--line);padding-top:20px;margin-top:28px}.transport-links a{font-size:13px;min-height:44px;padding-block:10px}
.explore{background:var(--paper)}.attraction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 28px;align-items:start}.attraction-grid[hidden]{display:none}.attraction{min-width:0}.attraction-visual{position:relative;isolation:isolate;overflow:hidden;border-radius:18px;background:var(--navy)}.attraction-visual:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#061a32dc);z-index:1;pointer-events:none}.attraction-visual img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .45s ease}.attraction:hover .attraction-visual img{transform:scale(1.035)}.attraction-visual h3{position:absolute;inset:auto 28px 28px;z-index:2;color:white;font-size:clamp(25px,2.5vw,36px);line-height:1.15;letter-spacing:-.025em;margin:0;max-width:22ch}.attraction-copy{padding:22px 4px 0}.attraction-copy p{color:var(--muted);font-size:16px;line-height:1.65;max-width:62ch;margin-bottom:0}.attraction-actions{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;margin-top:20px}.attraction-actions button{border:1px solid var(--line);background:transparent;padding:10px 16px;font-size:14px;text-decoration:none}.attraction-actions a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}.visitor-link{color:var(--muted)}.travel-note{text-align:center;margin:48px auto 0;max-width:850px}.attractions-title{text-align:center;background:var(--paper);padding:72px var(--gutter) 0;font-size:clamp(38px,5vw,68px);letter-spacing:-.045em}.legal-page:has(.attractions-title) .explore{padding-top:32px}.legal-page:has(.attractions-title) .explore .section-heading{display:none}.explore .explore-intro{font-size:18px;max-width:700px;margin:0 auto 36px}.explore .explore-tabs{gap:8px;margin-bottom:40px}.explore-tabs button{border-radius:999px;background:white;border-color:transparent;padding-inline:24px}.stay-practical{border-top:1px solid var(--line);margin-top:48px;padding-top:36px}.stay-practical .know-grid{text-align:center;margin-bottom:24px}.stay-practical>.text-link{display:table;margin-inline:auto}

.know .section-heading{margin-bottom:72px}.know-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-bottom:24px}.know-grid h3{font-size:14px;line-height:1.5;text-transform:uppercase;letter-spacing:.055em;margin-bottom:14px}.know-grid p{font-size:15px;color:var(--muted)}.know>.text-link{display:table;margin-inline:auto}.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:64px;background:white}.faq .section-heading{text-align:center}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{position:relative;cursor:pointer;list-style:none;padding:22px 32px 22px 0;font-size:16px;line-height:1.55}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:5px;top:17px;font-size:24px;font-weight:400}details[open] summary:after{content:'−'}details p{font-size:15px;line-height:1.8;color:var(--muted);padding-bottom:24px;padding-inline-end:25px}
.enquiry-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(40px,6vw,88px);background:var(--navy);color:white}.enquiry-section .section-heading{text-align:center;margin-bottom:24px}.enquiry-section>div>p{max-width:52ch;margin-inline:auto;text-align:center}.enquiry-section .form-note{color:#ccd5dd;margin-top:22px}.form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;margin-bottom:24px}label{display:block;font-size:14px}input,select{max-width:100%}form input,form select{display:block;width:100%;height:48px;min-width:0;margin-top:8px;border:0;border-bottom:1px solid #aab6c3;background:transparent;color:white;padding:8px 4px;border-radius:0;color-scheme:dark}form select option{background:var(--navy)}form .button{width:100%;margin-top:10px}.email-action{display:block;width:100%;min-height:48px;padding:16px;border:0;background:transparent;color:white;font-size:14px;text-decoration:underline;text-underline-offset:5px}[id^=form-error]{font-size:14px;color:#ffcfb7}
.reviews{background:var(--navy);color:var(--paper)}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-bottom:26px}.review-grid figure{border-top:1px solid #ffffff45;padding-top:26px;display:flex;flex-direction:column}.review-rating{font-size:13px;color:var(--gold);letter-spacing:.08em}.review-grid blockquote{font-size:24px;font-weight:500;line-height:1.45;padding:22px 0 26px;flex:1;letter-spacing:-.025em}.review-grid figcaption{font-size:13px;color:#d5dce2}.reviews>.small{font-size:12px;color:#c0cbd4;max-width:750px;text-align:center;margin-inline:auto}.reviews>.text-link{display:table;margin-inline:auto}.booking-badge{max-width:640px;margin:0 auto 40px;text-align:center}.booking-badge .button{border-color:#c4d1dd}.booking-badge iframe{border:0;width:100%;max-width:320px;height:180px;background:transparent}.booking-badge .text-link{display:table;margin:auto}.booking-badge p{font-size:12px;color:#c0cbd4;margin:8px auto 0}
.map-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;margin-bottom:22px}.map-points{display:flex;flex-direction:column;gap:4px;max-height:440px;overflow:auto;scrollbar-width:thin;padding:4px}.map-points button{display:flex;align-items:center;gap:12px;flex-shrink:0;min-height:49px;padding:12px;border:1px solid transparent;background:transparent;text-align:start;font-size:14px;line-height:1.5}.map-points button[aria-pressed=true]{background:var(--navy);color:white}.map-points .icon{width:19px;height:19px}#map-surface{position:relative;min-height:440px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#e7e7df}#map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:440px;padding:40px;text-align:center}#map-placeholder .small{max-width:480px;font-size:12px}#map-surface iframe{display:block;width:100%;height:100%;min-height:440px;border:0}.map-section>.text-link{display:table;margin-inline:auto}
.contact{text-align:center}.contact-buttons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr);gap:20px;align-items:stretch}.contact-buttons .button{min-width:0;text-transform:none;letter-spacing:0;font-weight:400;font-size:14px;padding:22px 16px;gap:14px;min-height:94px}.contact-buttons span{text-align:start;min-width:0}.contact-buttons bdi{display:block;font-size:14px;margin-top:5px}.contact-buttons .icon{width:23px;height:23px}
footer{padding:64px var(--gutter) 28px;background:var(--deep);color:#d9e0e5;font-size:13px}.footer-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.75fr) minmax(0,1fr) minmax(0,1.25fr);gap:32px}.footer-top>div{min-width:0}.footer-logo{width:125px;height:auto;object-fit:contain;margin-bottom:22px}.codes{margin-top:20px;font-size:12px}.footer-nav{display:flex;flex-direction:column;align-items:start;gap:8px;padding-top:12px}.footer-nav a,.footer-nav button{display:inline-flex;align-items:center;gap:8px;min-height:40px}.footer-nav .icon{width:16px;height:16px}.footer-bottom{border-top:1px solid #ffffff25;margin-top:40px;padding-top:22px;color:#aebbc5}.mobile-book{display:none}
.chat-toggle{position:fixed;right:30px;bottom:22px;z-index:55;display:flex;align-items:center;gap:9px;border:1px solid var(--gold);border-radius:30px;padding:13px 19px;background:var(--navy);color:white;font-size:14px;box-shadow:0 4px 20px #0002}.chat-toggle:hover{background:#173b58}dialog{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:var(--paper);color:var(--ink);max-width:min(540px,calc(100% - 28px));max-height:85svh;overflow:auto}dialog::backdrop{background:#051728b8;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:22px}.dialog-head h2{font-size:26px}.dialog-head button,.lightbox-close{width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);background:transparent;font-size:26px}#chat-panel{margin:auto 28px 85px auto;width:400px}.chat-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:22px}.chat-actions button,.chat-actions a{padding:12px;text-align:start;background:white;border:1px solid var(--line);border-radius:var(--control-radius);font-size:14px;min-height:48px}.chat-actions [aria-pressed=true]{border-color:var(--navy);background:#e0e4e6}#chat-answer{font-size:15px;margin:22px 0}#chat-whatsapp{width:100%}
.cookie-banner{position:fixed;inset:auto 30px 20px;z-index:80;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:28px;background:var(--paper);padding:26px 30px;border-radius:var(--radius);box-shadow:0 0 0 1px var(--line),0 8px 40px #0004}.cookie-banner[hidden]{display:none}.cookie-banner h2{font-size:24px;margin-bottom:10px}.cookie-banner p{font-size:13px;max-width:700px}.cookie-banner p a{text-decoration:underline}.cookie-actions{display:flex;flex-wrap:wrap;gap:8px}.cookie-actions button{border:1px solid var(--navy);background:transparent;font-size:13px;padding:12px 16px;min-height:48px;flex:1}.cookie-actions button:hover{background:#dde2e4}.preference{display:flex;align-items:center;justify-content:space-between;gap:20px;border-block-start:1px solid var(--line);padding:22px 0}.preference small{display:block;color:var(--muted);margin-top:6px;font-size:12px}.preference input{width:21px;height:21px;accent-color:var(--navy)}#cookie-dialog>p{font-size:15px;margin-bottom:22px}#lightbox{background:var(--deep);color:white;max-width:96vw;width:1200px;padding:60px 20px 16px;border:0;overflow:hidden}#lightbox-image{width:100%;height:65svh;object-fit:contain}#lightbox .gallery-controls{max-width:400px;margin:auto}#lightbox .gallery-controls button{color:white}.lightbox-close{position:absolute;right:13px;top:8px;color:white}
.legal-page header{position:relative;inset:auto;background:var(--navy)}.legal{min-height:60vh;padding-inline:max(32px,calc((100% - 900px)/2))}.legal h1{font-size:clamp(32px,3.5vw,42px);margin-bottom:32px}.legal-intro{font-size:16px;margin-bottom:36px}.legal>p{margin-bottom:26px}.legal .button{margin-top:24px}body:has(dialog[open]){overflow:hidden}body:has(.cookie-banner:not([hidden])) .mobile-book,body:has(.cookie-banner:not([hidden])) .chat-toggle{visibility:hidden}
[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] .button,[dir=rtl] .eyebrow{letter-spacing:0}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3{line-height:1.4}[dir=rtl] summary{padding:22px 0 22px 32px}[dir=rtl] summary:after{right:auto;left:5px}[dir=rtl] .email,[dir=rtl] input[type=date]{direction:ltr}[dir=rtl] #chat-panel{text-align:right}
@media(min-width:1100px){html[lang=en] .hero-copy h1{white-space:nowrap}}
@media(max-width:1340px){header{grid-template-columns:1fr auto;gap:16px;padding-inline:32px}.menu-button{display:block}nav{display:none;position:absolute;inset:116px 0 auto;background:var(--deep);padding:24px;grid-template-columns:1fr 1fr;gap:10px;border-bottom:1px solid #ffffff40}nav.open{display:grid;max-height:calc(100svh - 140px);overflow-y:auto;overscroll-behavior:contain}nav a{font-size:16px;white-space:normal}.contact-buttons{grid-template-columns:1fr 1fr}.contact-buttons .email{grid-column:1/-1}.footer-top{grid-template-columns:1fr 1fr 1fr}.footer-nav:last-child{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:24px}}
@media(max-width:1100px){:root{--section-space:88px}.benefit-grid article{flex-basis:calc((100% - 24px)/2)}.amenities{grid-template-columns:1fr}.review-grid{gap:28px}.review-grid blockquote{font-size:22px}.know-grid{grid-template-columns:1fr 1fr}.cookie-banner{grid-template-columns:1fr;gap:18px}.faq{grid-template-columns:1fr;gap:24px}.faq .section-heading{text-align:center;margin-bottom:12px}.enquiry-section{gap:36px}.map-layout{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:800px){.enquiry-section{grid-template-columns:1fr;gap:36px}.enquiry-section .section-heading{text-align:center}.enquiry-section>div>p{text-align:center;margin-inline:auto}.enquiry-section form{width:100%;max-width:620px;margin:auto}.room-feature{grid-template-columns:1fr;gap:30px}.room-info{text-align:center}.room-info>p:not(.eyebrow){margin-inline:auto}.bed-line{justify-content:center}.amenities{max-width:420px;grid-template-columns:1fr 1fr;margin-inline:auto;text-align:start}.room-info .button{min-width:240px}.gallery{max-width:480px}.gallery-image{max-height:350px}.map-layout{grid-template-columns:1fr;gap:24px}.map-points{display:grid;grid-template-columns:1fr 1fr;max-height:240px;gap:6px}.map-points button{font-size:14px}.hero-copy h1{font-size:clamp(36px,5.5vw,48px)}.hero-copy{padding-top:190px}.hero-sub{max-width:580px;font-size:16px}}
@media(max-width:700px){:root{--gutter:24px;--section-space:72px}body{padding:10px}header{inset:10px 10px auto;height:88px;padding-inline:20px;gap:12px}.brand,.brand img{width:105px}.header-actions{gap:8px}.header-cta{display:none}.language select{max-width:108px}nav{top:88px;padding:22px}.hero{height:auto;min-height:770px;max-height:none}.hero-background{transform:scale(1.1)}.hero-copy{padding:160px 24px 0}.hero-copy h1{font-size:clamp(34px,8.6vw,48px);white-space:normal;line-height:1.15}.hero-sub{font-size:16px;max-width:38ch;margin:24px auto 28px}.hero-contacts{margin-top:24px;padding:0 24px 130px;gap:10px}.hero-contacts .button{padding:11px 18px}.hero-address{max-width:330px;font-size:13px;line-height:1.55}.hero-address .icon{width:20px;height:20px}.hero-bottom{inset:auto 24px 22px;font-size:12px;gap:16px;padding-top:14px}.hero-bottom .icon{width:19px;height:19px}.section-heading{margin-bottom:32px}.section-sub,.explore-intro{margin-top:-10px;margin-bottom:28px}.eyebrow{font-size:12px;letter-spacing:.1em}.room-jump,.explore-tabs{gap:8px;margin-bottom:32px}.room-jump button,.explore-tabs button{font-size:14px;padding:10px 14px}.gallery{max-width:440px}.gallery-image{max-height:315px}.room-info h3{font-size:29px}.room-info .button{width:100%}.room-info>p:not(.eyebrow){font-size:16px}.amenities li{font-size:13px}.benefit-scroll-controls{justify-content:center}.benefit-grid article{flex-basis:84%}.benefit-grid h3{font-size:23px}.benefit-grid p{max-width:35ch;font-size:15px}.benefit-grid img{margin-bottom:22px}.transport-links{gap:14px 22px}.attraction-grid{grid-template-columns:1fr;gap:28px}.attraction-copy{padding:18px 2px 0}.attraction-visual h3{font-size:27px;inset:auto 22px 22px}.attraction-grid{gap:36px}.attraction-visual img{aspect-ratio:4/3}.explore .explore-tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:8px}.explore-tabs button{flex-shrink:0}.explore .explore-intro{font-size:16px}.stay-practical{margin-top:32px;padding-top:28px}.attractions-title{padding-top:48px}.know .section-heading{margin-bottom:60px}.know-grid{gap:32px 24px}.know-grid p{font-size:14px}.review-grid{grid-template-columns:1fr;gap:32px}.review-grid blockquote{font-size:24px;padding:18px 0 24px}.form-row{gap:18px}.contact-buttons{grid-template-columns:1fr;gap:14px}.contact-buttons .email{grid-column:auto}.contact-buttons .button{justify-content:center;min-height:90px;padding:20px 16px}.contact-buttons span{text-align:center}.contact-buttons bdi{font-size:14px}.contact-buttons .email bdi{font-size:13px}#map-placeholder{padding:32px 24px;min-height:380px}#map-surface{min-height:380px}#map-surface iframe{min-height:380px;height:420px}.map-points{max-height:220px}.map-points button{padding:10px 8px;font-size:13px}.map-points .icon{width:17px;height:17px}footer{padding:48px 24px 110px}.footer-top{grid-template-columns:1fr 1fr;gap:28px}.footer-top>div:first-child{grid-column:1/-1}.footer-nav:last-child{flex-direction:column;gap:8px}.footer-nav a,.footer-nav button{min-height:44px}.footer-logo{width:105px}.mobile-book{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;justify-content:space-between;align-items:center;gap:14px;background:var(--paper);box-shadow:0 -3px 20px #0001;border-top:1px solid var(--line);padding:10px 15px max(10px,env(safe-area-inset-bottom))}.mobile-book>span{font-size:12px;line-height:1.4;max-width:98px}.mobile-book .button{font-size:12px;padding:12px;max-width:68%;min-height:48px;letter-spacing:.02em}.chat-toggle{bottom:94px;right:18px;padding:12px;border-radius:50%;min-width:49px;min-height:49px;justify-content:center}.chat-toggle span{display:none}#chat-panel{margin:auto;max-width:calc(100% - 24px);width:390px;max-height:80svh;padding:24px}.cookie-banner{inset:auto 10px 10px;max-height:85svh;overflow:auto;padding:24px;gap:18px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions button{padding:12px 8px}.cookie-actions button:last-child{grid-column:1/-1}.cookie-banner h2{font-size:23px}dialog{padding:24px}.legal-page header{height:88px}.legal{padding:56px 24px}.legal h1{font-size:32px}#lightbox{padding-inline:10px}#lightbox-image{height:60svh}}
@media(max-width:380px){header{padding-inline:12px;gap:8px}.brand,.brand img{width:88px}.header-actions{gap:6px}.language select{width:82px;padding-inline:3px}.hero-bottom{gap:10px;flex-wrap:wrap}.know-grid{grid-template-columns:1fr}.cookie-actions{grid-template-columns:1fr}.cookie-actions button:last-child{grid-column:auto}.form-row{grid-template-columns:1fr}.amenities{grid-template-columns:1fr;max-width:220px}.header-actions .language select{max-width:95px}.hero-copy h1{font-size:34px}.contact-buttons .email bdi{font-size:12px}.map-points{grid-template-columns:1fr}}
@media(max-width:700px){form,input,select,.form-row>*{min-width:0}input,select{max-width:100%;font-size:16px}.header-actions .language select{font-size:14px}.hero-address{overflow-wrap:anywhere}.hero-copy .button{max-width:100%}.benefit-grid,.explore-tabs{scroll-padding-inline:2px}nav.open{max-height:calc(100svh - 110px)}.cookie-banner{padding-bottom:max(24px,env(safe-area-inset-bottom))}.map-points button{min-height:44px}dialog{max-height:calc(100svh - 32px);overflow-y:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* September refinement: quiet navigation, side controls and honest service details. */
.hero-background{object-position:50% 39%;transform:none}
.hero-shade{background:linear-gradient(180deg,#041827b0 0%,#061e32a6 45%,#041827dc 100%)}
.hero-copy{padding-top:clamp(170px,24vh,240px)}
.hero-sub{max-width:640px;margin:22px auto 24px}
.score-badge{display:inline-flex;align-items:center;gap:13px;color:var(--navy);background:#fff;border-radius:12px;padding:12px 16px;text-align:start;min-height:66px;max-width:100%}
.score-badge>strong{display:grid;place-items:center;flex-shrink:0;background:#003b95;color:#fff;font-size:24px;line-height:1;width:48px;height:48px;border-radius:8px 8px 8px 0}
.score-badge>span:nth-child(2){display:flex;flex-direction:column;gap:2px}
.score-badge b{font-size:16px;line-height:1.3}.score-badge small{font-size:12px;line-height:1.5;color:#53616e}.score-badge:hover{box-shadow:0 4px 20px #0002}
.hero-score{display:flex;width:max-content;margin:22px auto 0;padding:8px 12px;gap:10px;min-height:54px;background:#f8f9faf0}
.hero-score>strong{width:38px;height:38px;font-size:20px}.hero-score b{font-size:13px}.hero-score small{font-size:12px}
.hero-contacts{margin-top:22px}.hero-contacts .button{min-height:44px}
.carousel-shell{position:relative;padding-inline:56px;min-width:0}
.carousel-shell .benefit-scroll-controls{display:contents}
.carousel-shell .benefit-scroll-controls button{position:absolute;z-index:2;top:var(--arrow-y,92px);transform:translateY(-50%);border-radius:50%;height:44px;width:44px;background:#123c61;color:white;border:1px solid #123c61;box-shadow:0 3px 10px #0b233918;font-size:23px;line-height:1;transition:opacity .2s,background .2s}
.carousel-shell .benefit-scroll-controls button:first-child{inset-inline-start:0}
.carousel-shell .benefit-scroll-controls button:last-child{inset-inline-end:0}
.carousel-shell .benefit-scroll-controls button:hover:not(:disabled){background:#20557e}
.carousel-shell .benefit-scroll-controls button:disabled{opacity:.28;cursor:default;box-shadow:none}
[dir=rtl] .carousel-shell .benefit-scroll-controls button{transform:translateY(-50%) scaleX(-1)}
.carousel-shell .benefit-grid{padding-bottom:28px;scrollbar-width:thin;scrollbar-color:#355b78 #dde1df}
.carousel-shell .benefit-grid::-webkit-scrollbar{height:6px}
.carousel-shell .benefit-grid::-webkit-scrollbar-track{background:#dde1df;border-radius:20px}
.carousel-shell .benefit-grid::-webkit-scrollbar-thumb{background:#355b78;border-radius:20px}
.carousel-shell .benefit-grid::-webkit-scrollbar-thumb:hover{background:#123c61}
.benefit-grid h3{font-size:22px}.benefit-grid p{font-size:16px;line-height:1.65}
.service-image-note{max-width:720px;text-align:center;margin:20px auto 0;font-size:12px}
.about-intro{max-width:760px;margin:0 auto 64px;text-align:center}.about-intro h1{margin:0 0 24px}.about-intro>p:last-child{font-size:18px;line-height:1.75;color:var(--muted)}
.arrival-guide{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;max-width:1080px;margin:auto}.arrival-guide h2{margin-bottom:24px}.arrival-guide address{font-style:normal;margin-bottom:32px;font-size:18px}.arrival-guide ol{list-style:none;padding:0;margin:0}.arrival-guide li{border-top:1px solid var(--line);padding:24px 0}.arrival-guide li strong{font-size:19px}.arrival-guide li p{margin-top:10px;color:var(--muted)}.about-actions{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;margin-top:12px}.entrance-photos{display:grid;gap:28px}.entrance-photos img{width:100%;height:auto;object-fit:contain;border-radius:14px}.entrance-photos figcaption{font-size:13px;margin-top:10px;color:var(--muted)}
.subsidy-disclosure{margin-top:48px}.subsidy-disclosure summary{font-size:14px}.subsidy-disclosure>p,.subsidy-disclosure table{font-size:13px}.subsidy-table{overflow-x:auto;padding-bottom:16px}.subsidy-table table{width:100%;border-collapse:collapse;text-align:start}.subsidy-table caption{text-align:start;padding:16px 0;color:var(--muted)}.subsidy-table th,.subsidy-table td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top;text-align:start}.subsidy-table td:first-child,.subsidy-table td:nth-child(2){white-space:nowrap}.photo-credit{font-size:12px;line-height:1.65;max-width:720px;color:#c0cbd4;margin-top:14px}.photo-credit a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1341px){header{gap:18px;padding-inline:32px;grid-template-columns:125px minmax(0,1fr) auto}header nav{gap:clamp(12px,1.1vw,20px)}header nav a{font-size:14px}.header-actions .header-cta{font-size:12px;padding-inline:12px}}
@media(max-width:900px){.arrival-guide{grid-template-columns:1fr;gap:40px}.entrance-photos{grid-template-columns:1fr 1fr;align-items:start}.about-intro{margin-bottom:44px}.carousel-shell{padding-inline:52px}}
@media(max-width:700px){.hero{min-height:max(850px,100svh);height:auto}.hero-copy{padding-top:150px}.hero-copy h1{font-size:clamp(34px,8.6vw,48px)}.hero-sub{margin:20px auto 22px}.hero-contacts{margin-top:22px;padding-bottom:145px}.hero-score{margin-top:20px}.carousel-shell{margin-inline:-12px;padding-inline:48px}.carousel-shell .benefit-grid article{flex-basis:100%}.benefit-grid h3{min-height:0;margin-bottom:12px;font-size:22px}.benefit-grid img{margin-bottom:20px}.carousel-shell .benefit-scroll-controls button{width:44px;height:44px}.service-image-note{margin-top:18px}.entrance-photos{grid-template-columns:1fr}.about-intro>p:last-child{font-size:16px}.arrival-guide address{font-size:16px}.subsidy-table th,.subsidy-table td{padding:10px 6px}}
@media(max-width:380px){.carousel-shell{margin-inline:-16px;padding-inline:46px}.hero{min-height:920px}}

/* Quiet, integrated score and uncluttered touch carousels. */
.score-badge,.hero-score{background:transparent;color:#f2f0e9;border:0;border-radius:0;padding:0;gap:14px;box-shadow:none;min-height:48px}
.score-badge>strong,.hero-score>strong{background:transparent;color:var(--gold);width:auto;height:auto;border-radius:0;font-size:32px;line-height:1.1;font-weight:500;padding-inline-end:14px;border-inline-end:1px solid #ffffff40}
.score-badge b,.hero-score b{font-size:14px;font-weight:500;letter-spacing:.015em}
.score-badge small,.hero-score small{font-size:12px;color:#d5dce2}
.score-badge>span:last-child{font-size:14px;opacity:.6}
.score-badge:hover{box-shadow:none;color:white}.score-badge:hover b{text-decoration:underline;text-underline-offset:4px}
.hero-score{margin-top:24px}.hero-score>strong{font-size:26px}.hero-score b{font-size:13px}
.carousel-shell .benefit-grid{scrollbar-width:none;padding-bottom:8px;-ms-overflow-style:none}
.carousel-shell .benefit-grid::-webkit-scrollbar{display:none;width:0;height:0}

.hero-background{object-position:50% 50%;transform:none}
.hero-shade{background:linear-gradient(180deg,#04182785 0%,#061e3270 45%,#041827d9 100%)}

/* Targeted October refinements; desktop layout retained. */
.subsidy-disclosure{margin-top:28px;border-top:1px solid var(--line)}
.subsidy-disclosure summary{font-size:13px;font-weight:400;color:var(--muted);padding-block:16px}
.subsidy-disclosure[open] summary{color:var(--ink)}
.carousel-shell .benefit-grid{scroll-snap-type:x proximity;scroll-behavior:smooth}
@media(max-width:700px){
 :root{--gutter:20px}
 .hero{min-height:100svh;height:auto;padding-bottom:110px}
 .hero-copy{padding-top:140px}.hero-contacts{padding-bottom:20px}
 .hero-bottom{bottom:18px}
 .carousel-shell{margin-inline:0;padding-inline:0}
 .carousel-shell .benefit-grid{gap:16px;scroll-padding-inline:0}
 .carousel-shell .benefit-grid article{flex-basis:88%}
 .carousel-shell .benefit-scroll-controls button:first-child{inset-inline-start:-12px}
 .carousel-shell .benefit-scroll-controls button:last-child{inset-inline-end:-12px}
 .carousel-shell .benefit-scroll-controls button{box-shadow:0 2px 10px #081c2e30}
 .room-jump{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding:4px 2px 10px}
 .room-jump::-webkit-scrollbar{display:none}.room-jump button{flex-shrink:0}
 .room-info,.enquiry-section>*{min-width:0}
 .subsidy-table table{font-size:12px}.subsidy-table td:last-child{min-width:165px}
}
@media(prefers-reduced-motion:reduce){.carousel-shell .benefit-grid{scroll-behavior:auto}}

/* Email chooser: thumb-sized actions without altering the page layout. */
.email-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box}
.email-dialog .dialog-head h2{font-size:1.65rem}.email-dialog .dialog-head button{min-width:44px;min-height:44px}
.email-dialog p{line-height:1.6}.email-dialog #email-address{width:100%;box-sizing:border-box;font-size:16px;padding:12px 8px;background:transparent;color:inherit;border:1px solid #b5b3ab;border-radius:8px;text-align:center}
.email-options{display:grid;gap:10px;margin-top:20px}.email-options .button{min-height:48px;justify-content:center;text-align:center;background:#0b2339;color:#fff;cursor:pointer;white-space:normal}
.email-dialog #email-status{min-height:1.5em;margin-bottom:0}
