/* Original implementation of the observed layout; no Smily styles or scripts. */
:root{--blue:#007bff;--ink:#262a2e;--muted:#f7f8fa;--footer:#343a40;--line:#e1e4e8;--soft:#6c757d}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.6 Arial,Helvetica,sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #e4a92a;outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3{line-height:1.24;font-weight:400;margin:0 0 20px}h1{font-size:42px}h2{font-size:32px}h3{font-size:21px}p{margin:0 0 20px}.wrap{width:min(1120px,calc(100% - 48px));margin:auto}.section{padding:72px 0}.muted{background:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 23px;border:1px solid var(--blue);border-radius:3px;background:var(--blue);color:#fff;line-height:1.4;text-align:center;text-decoration:none}.button:hover{background:#0069dc;color:#fff;text-decoration:none}.button.outline{background:transparent;color:var(--blue)}.button.outline:hover{background:var(--blue);color:white}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.section-heading h2,.section-heading p{margin:0}.section-heading a{white-space:nowrap}.eyebrow{color:var(--blue);font-size:13px;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:20px;z-index:1000;background:#fff;padding:12px}.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:40;background:#fff;box-shadow:0 1px 14px #00000008}.nav-wrap{width:min(1140px,calc(100% - 40px));margin:auto;min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{font-size:27px;font-weight:400;color:inherit;line-height:1.25;max-width:46%}.brand:hover{text-decoration:none}.site-nav{display:flex;align-items:center;gap:25px;font-size:15px;white-space:nowrap}.site-nav a{color:inherit}.currency-label select{border:0;padding:6px 1px;background:transparent;color:inherit}.currency-label option{color:var(--ink);background:white}.menu-toggle{display:none;border:0;background:transparent;color:inherit;font-size:26px}.site-header.over-hero{position:absolute;left:0;right:0;background:transparent;color:#fff;box-shadow:none}
.hero{position:relative;min-height:810px;height:95vh;max-height:1040px;color:#fff;display:flex;align-items:center}.hero-slides,.hero-slide,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-slide{object-fit:cover;object-position:center;opacity:0;transition:opacity .45s}.hero-slide.active{opacity:1}.hero-shade{background:linear-gradient(#0005,#0004)}.hero-content{position:relative;text-align:center;padding-top:70px}.hero-content>p{font-size:26px;margin-bottom:8px}.hero h1{font-size:56px;margin-bottom:54px}.hero-controls{position:absolute;bottom:28px;right:30px;display:flex;gap:8px}.hero-controls button{width:38px;height:38px;border:1px solid #ffffff70;color:white;background:#0003;border-radius:2px;font-size:25px;line-height:1}.booking-form{display:grid;gap:18px}.booking-form label{text-align:left;display:block;color:#637180;font-size:13px;font-weight:600}.booking-form input{width:100%;min-width:0;margin-top:6px;border:1px solid #d5d9df;border-radius:3px;padding:11px 10px;color:#3b4147;background:#fff;line-height:1.35}.booking-form .button{width:100%;font-size:15px}.booking-form.compact{grid-template-columns:1.3fr 1.3fr .6fr .6fr 1.45fr;gap:0;background:#fff;padding:10px;border-radius:4px;box-shadow:0 12px 32px #0002;align-items:end}.booking-form.compact label{padding:0 10px;border-right:1px solid var(--line)}.booking-form.compact input{border:0;padding:8px 0;margin-top:0;font-size:15px}.booking-form.compact .button{min-height:52px}.booking-form.compact .inquiry{display:none}.booking-form.compact .booking-feedback{grid-column:1/-1}.booking-feedback{margin:10px 0 0;padding:10px;color:#714919;background:#fff5df;font-size:14px;text-align:left}.booking-feedback a{color:#074ea3;text-decoration:underline}.inquiry{text-align:center;font-size:14px}.booking-phone{font-size:14px;text-align:center;margin:22px 0 0}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:75px;padding-bottom:75px}.benefits article{padding:24px 20px;background:#fff;box-shadow:0 12px 25px #0002;text-align:center}.benefits h2{font-size:20px;font-weight:700;margin-bottom:15px}.benefits p{font-size:15px;color:var(--soft);line-height:1.55;margin:0}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.room-card{background:#fff;box-shadow:0 3px 12px #0002;min-width:0;border-radius:3px;overflow:hidden;display:flex;flex-direction:column}.card-photo{overflow:hidden;display:block}.card-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .3s}.card-photo:hover img{transform:scale(1.025)}.card-copy{padding:20px 20px 12px;flex:1}.card-copy h3{font-size:21px;margin:4px 0 12px}.card-copy h3 a{color:var(--ink)}.card-copy p{color:var(--soft);font-size:15px;margin:0;line-height:1.6}.card-facts{display:flex;justify-content:space-between;gap:12px;padding:15px 20px;border-top:1px solid #f1f2f4;font-size:13px;color:#606b75}.card-facts span,.room-facts span{display:flex;align-items:center;gap:8px}.card-facts svg,.room-facts svg{width:20px;height:20px;flex-shrink:0}.review-card{max-width:940px;width:calc(100% - 48px);margin:20px auto;text-align:center;padding:50px 30px;box-shadow:0 12px 32px #0002}.comfort{text-align:center}.comfort h2{font-size:27px}.comfort p{color:var(--soft);margin-bottom:0}.site-footer{background:var(--footer);color:#e5e8ec;padding-top:65px;font-size:14px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:65px;padding-bottom:65px}.site-footer h2{font-size:23px}.site-footer p{line-height:1.7}.site-footer a:not(.button){color:#7cc3ff}.site-footer .copyright{border-top:1px solid #ffffff20;padding:22px 0;color:#c4cbd1;font-size:12px}
.room-hero{position:relative;height:min(690px,65vw);min-height:300px;max-height:80vh;overflow:hidden}.room-hero>img{height:100%;width:100%;object-fit:cover}.photo-jump{position:absolute;bottom:25px;right:30px;background:#fff;color:var(--ink);border:0}.room-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:55px;align-items:start;padding-top:55px;padding-bottom:70px}.room-heading h1{font-size:36px}.room-heading>p{color:var(--soft)}.room-facts{display:flex;gap:22px;flex-wrap:wrap;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}.booking-panel{position:sticky;top:110px;padding:25px 22px;background:white;box-shadow:0 12px 40px #0003;border-radius:3px}.booking-panel h2{font-size:21px}.description{padding:40px 0}.description h2{font-size:22px;font-weight:600;line-height:1.5}.description p{line-height:1.85;color:#555e67}.description details p{margin-top:20px}.description summary{cursor:pointer;color:var(--blue);font-weight:700}.gallery-section{padding-bottom:45px;scroll-margin-top:100px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.gallery-thumb{padding:0;border:0;background:#e8ecee;overflow:hidden}.gallery-thumb img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;transition:opacity .2s}.gallery-thumb:hover img{opacity:.8}.room-section{padding:40px 28px;margin-bottom:20px}.room-section h2{font-size:29px}.space-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0 40px}.space-facts div{display:flex;gap:10px}.space-facts dt{color:var(--soft)}.space-facts dd{margin:0;font-weight:700}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;padding-left:20px;font-size:14px}.location-panel{padding:38px 0}.location-panel h2{font-size:28px}.search-top{background:var(--muted);padding:45px 0}.search-top .booking-form{box-shadow:none;border:1px solid var(--line)}.section-heading select{padding:9px;border:1px solid var(--line);background:white;border-radius:3px;margin-left:8px;max-width:100%}.empty-results{padding:40px 0}.page-title{background:var(--muted);padding:55px 0}.page-title h1{margin:0}.prose{min-height:300px}.contact-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.contact-layout h2{font-size:25px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{font-size:14px}.contact-form input,.contact-form textarea{display:block;margin-top:6px;width:100%;border:1px solid #ccd1d7;border-radius:3px;padding:12px;min-width:0}.contact-form .wide{grid-column:1/-1}.form-note{font-size:13px;color:var(--soft);margin:0}.contact-feedback{font-size:14px}.photo-dialog{border:0;padding:55px 60px 30px;max-width:100vw;max-height:100vh;width:100vw;height:100vh;background:#111;color:white;overflow:hidden}.photo-dialog::backdrop{background:#000e}.photo-dialog[open]{display:flex;align-items:center;justify-content:center}.photo-dialog figure{margin:0;display:flex;align-items:center;justify-content:center;flex-direction:column;max-width:100%;height:100%;gap:12px}.photo-dialog figure img{object-fit:contain;max-width:100%;max-height:calc(100% - 55px)}.photo-dialog figcaption{font-size:13px;text-align:center;max-width:850px}.photo-dialog button{position:absolute;border:0;background:#222a;color:white;font-size:38px;width:46px;height:46px;border-radius:3px;z-index:2}.photo-close{top:12px;right:18px}.photo-prev{left:10px;top:50%}.photo-next{right:10px;top:50%}[hidden]{display:none!important}
@media(max-width:1100px){.brand{font-size:23px}.site-nav{gap:17px;font-size:14px}.room-layout{gap:30px;grid-template-columns:minmax(0,1fr) 280px}.hero h1{font-size:48px}}
@media(max-width:880px){.nav-wrap{min-height:72px}.brand{max-width:82%;font-size:22px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:72px;padding:22px 25px;background:#fff;color:var(--ink);box-shadow:0 10px 12px #0001;flex-wrap:wrap;white-space:normal;gap:18px 24px}.site-nav.open{display:flex}.hero{min-height:680px;height:88vh;max-height:960px}.hero h1{font-size:42px;margin-bottom:30px}.hero-content>p{font-size:20px}.booking-form.compact{grid-template-columns:1fr 1fr;gap:8px;padding:14px}.booking-form.compact label{border:0}.booking-form.compact .button{grid-column:1/-1}.benefits{gap:16px}.benefits h2{font-size:17px}.benefits p{font-size:14px}.room-layout{display:flex;flex-direction:column;gap:25px;padding-top:35px}.booking-panel{order:-1;position:static;width:100%}.booking-panel .booking-form{grid-template-columns:1fr 1fr}.booking-panel .booking-form .button,.booking-panel .booking-form .inquiry,.booking-panel .booking-feedback{grid-column:1/-1}.booking-panel .booking-phone{margin-top:14px}.room-heading h1{font-size:32px}.footer-grid{gap:35px}.contact-layout{gap:40px}}
@media(max-width:600px){body{font-size:15px}.wrap{width:calc(100% - 36px)}.nav-wrap{width:calc(100% - 32px)}.brand{font-size:19px;max-width:82%}.hero{min-height:740px;height:calc(100svh - 15px);max-height:none}.hero h1{font-size:38px;line-height:1.18}.hero-content>p{font-size:18px}.hero-content{padding-top:90px}.hero-controls{bottom:16px;right:18px}.hero .booking-form.compact{box-shadow:0 5px 20px #0003}.benefits{grid-template-columns:1fr;padding:42px 0;gap:20px}.benefits article{padding:25px}.benefits h2{font-size:20px}.benefits p{font-size:15px}.section{padding:45px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:12px}.section-heading h2{font-size:30px}.room-grid{grid-template-columns:1fr;gap:24px}.card-copy h3{font-size:21px}.footer-grid{grid-template-columns:1fr;padding-bottom:35px;gap:28px}.site-footer{padding-top:42px}.site-footer h2{font-size:22px;margin-bottom:12px}.site-footer p{margin-bottom:14px}.review-card{width:calc(100% - 36px);margin:5px auto;padding:35px 20px}.room-hero{height:360px;min-height:0;max-height:65vh}.room-heading h1{font-size:30px}.photo-jump{bottom:16px;right:18px;padding:10px 14px}.room-facts{gap:16px;font-size:13px}.room-layout{padding-top:25px}.description{padding:30px 0}.description h2{font-size:20px}.room-section{padding:28px 18px;margin-left:-8px;margin-right:-8px}.room-section h2{font-size:27px}.amenities{gap:12px 18px;font-size:13px}.gallery-grid{grid-template-columns:1fr 1fr}.space-facts{font-size:13px;gap:13px}.contact-layout{grid-template-columns:1fr;gap:30px}.contact-form{grid-template-columns:1fr}.contact-form label{grid-column:1/-1}.page-title{padding:35px 0}h1{font-size:34px}.photo-dialog{padding:58px 30px 35px}.photo-dialog button{width:34px;height:40px;font-size:30px}.photo-prev{left:0}.photo-next{right:0}.photo-dialog figcaption{font-size:12px}.section-heading select{margin:5px 0 0}.search-top h1{font-size:32px}.comfort h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Scrollable gallery replaces the source RoyalSlider dependency. */
.gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.gallery-thumb{flex:0 0 calc(50% - 4px);scroll-snap-align:start}.gallery-controls{display:flex;gap:8px}.gallery-controls button{width:38px;height:38px;border:1px solid #d5d9df;background:white;color:#333;font-size:26px;line-height:1;border-radius:3px}.location-map{display:block;width:100%;height:300px;border:0;margin:0 0 20px;background:#eef1ef}@media(max-width:600px){.gallery-thumb{flex-basis:80%}.gallery-section .section-heading{flex-direction:row;align-items:center}.location-map{height:260px}}

/* Local assets and booking-form notes. */
.booking-note{grid-column:1/-1;color:#56616d!important;font-size:12px!important;line-height:1.5!important;text-align:left;margin:0!important;padding:0 8px}
.booking-form.compact .booking-feedback{font-size:14px;margin:8px 0 0}
.booking-form.compact .inquiry{display:block;grid-column:1/-1;color:#0756a4;padding:5px 0}
.gallery-single .gallery-thumb{flex-basis:100%;max-width:650px}
.booking-panel .booking-note{padding:0}
.no-js-note{grid-column:1/-1;font-size:13px;color:#344254}
/* Booking pages share the existing site navigation and visual style. */
.site-nav .nav-booking{display:inline-flex;align-items:center;justify-content:center;background:#0756a4;color:#fff;padding:10px 16px;border-radius:3px;line-height:1.3}
.site-nav .nav-booking:hover{background:#064781;text-decoration:none}
.booking-intro{padding:42px 0 28px;background:#f7f8fa;border-bottom:1px solid var(--line)}
.booking-intro h1{font-size:38px;margin-bottom:12px}
.booking-intro p{max-width:700px;margin-bottom:0;color:#56616d}
.booking-content{padding-top:24px;padding-bottom:40px}
.booking-options{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px;font-size:14px}
.booking-options p{margin:0}
.booking-options a,.booking-help a{color:#0756a4;text-decoration:underline;text-underline-offset:3px}
.booking-frame{display:block;width:100%;max-width:100%;height:2000px;border:0;background:#fff}
.booking-help{border-top:1px solid var(--line);padding-top:24px;margin-top:24px;font-size:15px}
.booking-help h2{font-size:22px;margin-bottom:12px}
.booking-help p:last-child{margin-bottom:0}
.booking-notice{padding:12px 16px;margin-bottom:20px;border:1px solid #e5c06e;background:#fff7e5;color:#62450b;font-size:15px}
@media(max-width:1000px){.menu-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:80px;padding:22px 25px;background:#fff;color:var(--ink);box-shadow:0 10px 12px #0001;flex-wrap:wrap;white-space:normal;gap:18px 24px}.site-nav.open{display:flex}.brand{max-width:82%}}
@media(max-width:880px){.site-nav{top:72px}}
@media(max-width:600px){.booking-intro{padding:28px 0 22px}.booking-intro h1{font-size:30px}.booking-content{width:calc(100% - 20px)}.booking-options{align-items:flex-start;flex-direction:column;padding:0 8px;gap:10px}.booking-help{padding-left:8px;padding-right:8px}}
