/* 1.6: isolated final components, after the legacy theme and plugin styles. */
body.ms-modern .ms-header .ms-menu-toggle,
body.ms-modern .ms-header .ms-nav .ms-menu-close{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0;width:52px;height:52px;min-width:52px;border:1px solid currentColor;border-radius:50%;box-shadow:none;line-height:1;transform:none}
body.ms-modern .ms-header .ms-menu-toggle{background:transparent;color:inherit}
body.ms-modern .ms-header .ms-nav .ms-menu-close{position:absolute;inset:24px 28px auto auto;background:#f8f7f3;color:#103b49;z-index:20}
body.ms-modern .ms-header .ms-nav .ms-menu-close .ms-menu-close-label{display:none}
body.ms-modern .ms-header .ms-menu-toggle:before,body.ms-modern .ms-header .ms-menu-toggle:after,
body.ms-modern .ms-header .ms-nav .ms-menu-close:before,body.ms-modern .ms-header .ms-nav .ms-menu-close:after{content:none;display:none}
body.ms-modern .ms-header button .ms-menu-glyph{display:block;width:30px;height:30px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;transform:none}
body.ms-modern .ms-header .ms-nav .ms-menu-close:hover{background:#e9dfca;color:#103b49}
body.ms-modern .ms-header .ms-menu-toggle:focus-visible,body.ms-modern .ms-header .ms-menu-close:focus-visible{outline:3px solid #bda064;outline-offset:5px}
body.ms-modern .ms-social-buttons .ms-social-symbol{display:inline-grid;place-items:center;flex:0 0 22px;width:22px;height:22px;line-height:1;font-size:0;background:none;transform:none}
body.ms-modern .ms-social-buttons .ms-social-symbol svg{display:block;width:22px;height:22px;max-width:none;max-height:none;margin:0;overflow:visible}
body.ms-modern .ms-social-buttons .ms-social-link:before,body.ms-modern .ms-social-buttons .ms-social-link:after,
body.ms-modern .ms-social-buttons .ms-social-symbol:before,body.ms-modern .ms-social-buttons .ms-social-symbol:after{content:none;display:none}
body.ms-modern .ms-footer-social .ms-social-link{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;min-width:46px;min-height:46px;padding:0!important;border:1px solid currentColor;border-radius:50%;font-size:0!important;line-height:1;box-sizing:border-box}
body.ms-modern .ms-header .ms-nav .ms-nav-extras .ms-social-link{height:auto;white-space:nowrap;line-height:1.3!important;letter-spacing:.02em!important}
body.ms-modern .ms-header .ms-nav .ms-nav-extras .ms-social-link>span:last-child{font:inherit;letter-spacing:inherit;line-height:inherit}
body.ms-modern.ms-menu-open .ms-booking-dock,body.ms-modern.ms-menu-open [data-assistant]{visibility:hidden;pointer-events:none}
/* Hero layers must not inherit the generic section/div layout rules. */
body.ms-modern .ms-front-hero{position:relative;isolation:isolate;overflow:hidden}
body.ms-modern .ms-front-hero>.ms-hero-slides{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;margin:0;padding:0;pointer-events:none;overflow:hidden}
body.ms-modern .ms-front-hero .ms-hero-slide{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;background-size:cover;background-position:center;opacity:0;visibility:hidden;transition:opacity 1.1s ease,transform 7s linear,visibility 1.1s;pointer-events:none}
body.ms-modern .ms-front-hero .ms-hero-slide.is-active{opacity:1;visibility:visible}
body.ms-modern .ms-front-hero>.ms-hero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:0;height:auto}
body.ms-modern .ms-front-hero .ms-hero-content>*{position:relative;inset:auto;transform:none}
body.ms-modern .ms-front-hero .ms-hero-content h1{margin:0 0 24px;line-height:1.05}
body.ms-modern .ms-front-hero .ms-hero-lede{margin:0 0 32px}
/* A blurred photograph, a precise sun, and a sea-to-paper transition. */
body.ms-inner .ms-page-hero.ms-room-hero{position:relative;isolation:isolate;overflow:hidden;min-height:620px;background:#103b49;background-image:none;padding-bottom:100px}
body.ms-inner .ms-page-hero.ms-room-hero:before{content:"";position:absolute;z-index:0;inset:-28px;background:linear-gradient(90deg,rgba(7,35,44,.72),rgba(9,43,52,.35)),var(--ms-hero) center/cover no-repeat;filter:blur(16px);transform:scale(1.05);border:0;border-radius:0}
body.ms-inner .ms-page-hero.ms-room-hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#103b49,transparent 55%);border:0;border-radius:0;transform:none;width:auto;height:auto;box-shadow:none}
.ms-room-hero .ms-room-hero-wash{position:absolute;inset:0;background:#103b49;z-index:1;opacity:var(--ms-room-wash,0);pointer-events:none}
.ms-room-hero>.ms-wrap{position:relative;z-index:3}
.ms-room-hero h1{max-width:850px;font-size:clamp(2.9rem,5.3vw,6rem);line-height:1.12;text-wrap:balance}
.ms-room-linear-sun{position:absolute;right:2%;top:8%;width:min(47vw,660px);height:auto;color:#e8d7b0;opacity:.62;z-index:2;pointer-events:none}
.ms-room-transition{position:relative;z-index:12;margin-top:-1px;padding:0 0 140px;background:linear-gradient(180deg,#103b49 0%,#103b49 22%,#547078 48%,#c5cecb 74%,#f8f7f3 100%)}
.ms-room-section-nav{width:100%;color:#fff}
.ms-room-nav-inner{display:flex;align-items:center;gap:clamp(22px,5vw,80px);border-top:1px solid rgba(234,217,178,.34);padding-block:24px;overflow-x:auto;scrollbar-width:thin}
.ms-site .ms-room-section-nav a{display:inline-flex;align-items:center;flex:none;gap:12px;padding:8px 0;color:inherit;font-size:clamp(.92rem,1.35vw,1.18rem);line-height:1.3;letter-spacing:.02em;text-decoration:none;white-space:nowrap;border-bottom:1px solid transparent}
.ms-room-section-nav small{font:italic .78rem Georgia,serif;color:#d5bd85}
.ms-site .ms-room-section-nav a:hover,.ms-site .ms-room-section-nav a[aria-current=true]{border-bottom-color:currentColor}
.ms-room-nav-book{margin-left:auto}
.ms-room-section-nav.is-stuck{position:fixed;z-index:75;left:0;right:0;top:var(--ms-room-nav-top,0px);background:rgba(248,247,243,.96);color:#103b49;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 5px 25px rgba(12,37,45,.08)}
.ms-room-section-nav.is-stuck .ms-room-nav-inner{padding-block:12px;border-top:0}
.ms-room-section-nav.is-stuck small{color:#846a35}
.ms-menu-open .ms-room-section-nav.is-stuck{visibility:hidden}
.ms-room-detail [id]{scroll-margin-top:190px}
.ms-room-detail .ms-room-editorial-visual{min-width:0;padding-bottom:0}
.ms-room-detail .ms-room-visual-note{position:relative;inset:auto;width:calc(100% - 40px);margin:-45px 20px 0;z-index:3}
.ms-room-photo-preview{position:relative;padding:38px 0 0;z-index:2;min-width:0}
.ms-room-photo-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.ms-room-photo-heading .ms-eyebrow{margin:0;font-size:.68rem;letter-spacing:.13em;color:#103b49}
.ms-room-photo-heading>span{font:.75rem Georgia,serif;color:#657579;white-space:nowrap}
.ms-room-photo-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:0 0 8px;scroll-padding-inline:0;min-width:0}
.ms-room-photo-track::-webkit-scrollbar{display:none}
.ms-room-photo-track:focus-visible{outline:2px solid #bda064;outline-offset:5px}
.ms-room-photo-card{position:relative;display:block;flex:0 0 83%;aspect-ratio:4/3;overflow:hidden;scroll-snap-align:start;border-radius:3px 34px 3px 3px;background:#d9ded8}
.ms-room-photo-card:last-child{margin-right:17%}
.ms-room-photo-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ms-room-photo-card:hover img{transform:scale(1.035)}
.ms-room-photo-card .ms-image-expand{position:absolute;right:15px;bottom:15px;color:white}
.ms-room-photo-dots{display:flex;justify-content:center;gap:4px;margin:12px 0 0}
.ms-room-photo-dots button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;background:none;cursor:pointer}
.ms-room-photo-dots button:before{content:"";display:block;width:7px;height:7px;border-radius:20px;background:#a6b2ad;transition:width .3s,background .3s}
.ms-room-photo-dots button[aria-current=true]:before{width:25px;background:#103b49}
.ms-room-photo-dots button:focus-visible{outline:2px solid #bda064;border-radius:50%}
/* Native dialog occupies the viewport; the photo fits inside the padded figure. */
body.ms-modern .ms-lightbox{position:fixed;inset:0;margin:0;border:0;padding:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:100dvh;box-sizing:border-box;background:rgba(248,247,243,.38);color:#103b49;overflow:hidden}
body.ms-modern .ms-lightbox:not([open]){display:none}
body.ms-modern .ms-lightbox[open]{display:grid;place-items:center}
body.ms-modern .ms-lightbox::backdrop{background:rgba(227,235,229,.72);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
body.ms-modern .ms-lightbox figure{box-sizing:border-box;width:100%;height:100%;min-height:0;margin:0;padding:76px 86px 55px;display:flex;align-items:center;justify-content:center;gap:16px}
body.ms-modern .ms-lightbox figure img{display:block;max-width:100%;max-height:calc(100dvh - 170px);width:auto;height:auto;min-height:0;object-fit:contain;border-radius:4px;box-shadow:0 20px 70px rgba(16,59,73,.2)}
body.ms-modern .ms-lightbox figcaption{flex:none;max-width:100%;max-height:32px;overflow:hidden;text-align:center;line-height:1.4;font-size:.72rem;letter-spacing:.08em}
body.ms-modern .ms-lightbox button{display:grid;place-items:center;padding:0;border:1px solid rgba(16,59,73,.25);background:rgba(255,255,255,.82);color:#103b49;line-height:1;box-shadow:0 3px 12px rgba(16,59,73,.08)}
body.ms-modern .ms-lightbox button[hidden]{display:none}
body.ms-modern .ms-lightbox button:hover{background:#103b49;color:#fff}
body.ms-modern .ms-lightbox button:focus-visible{outline:3px solid #a98a48;outline-offset:4px}
.ms-album-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:50px}
.ms-album-filters button{padding:13px 22px;border:1px solid #bcc9c6;border-radius:30px;background:transparent;color:#103b49;font:inherit;cursor:pointer}
.ms-album-filters button[aria-pressed=true]{background:#103b49;color:#fff;border-color:#103b49}
.ms-album-filters button:focus-visible{outline:3px solid #bda064;outline-offset:4px}
.ms-gallery-album{margin-bottom:80px}
.ms-gallery-album[hidden]{display:none}
.ms-album-title{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:25px;border-top:1px solid #d5ddd8;padding-top:24px}
.ms-album-title h3{margin:0;font:400 clamp(1.7rem,3vw,2.7rem)/1.2 Georgia,serif;color:#103b49}
.ms-album-title>span{font-size:.8rem;color:#5a7278}
@media(max-width:680px){
 body.ms-modern .ms-header .ms-menu-toggle{width:40px;height:40px;min-width:40px}
 body.ms-modern .ms-header .ms-nav .ms-menu-close{inset:17px 18px auto auto;width:46px;height:46px;min-width:46px}
 body.ms-modern .ms-header .ms-nav-links{padding-top:12px}
 body.ms-modern .ms-front-hero{min-height:730px;min-height:100svh;height:auto;padding-top:150px;padding-bottom:160px}
 body.ms-modern .ms-front-hero .ms-hero-content h1{font-size:clamp(2.9rem,12vw,4.5rem);line-height:1.05}
 body.ms-modern .ms-front-hero .ms-hero-content{padding-block:0}
 body.ms-modern .ms-front-hero .ms-hero-marker{bottom:30px;max-width:calc(100% - 40px)}
 body.ms-modern .ms-front-hero .ms-hero-controls{bottom:87px;right:20px}
 body.ms-inner .ms-page-hero.ms-room-hero{min-height:510px;padding-bottom:60px}
 .ms-room-linear-sun{width:90vw;right:-30%;top:17%;opacity:.42}
 .ms-room-hero h1{font-size:clamp(2.6rem,10vw,4rem)}
 .ms-room-transition{padding-bottom:85px}
 .ms-room-nav-inner{gap:26px;width:100%;padding-inline:20px;padding-block:18px}
 .ms-room-section-nav.is-stuck .ms-room-nav-inner{padding-block:10px}
 .ms-site .ms-room-section-nav a{font-size:.95rem;gap:7px}
 .ms-room-detail .ms-room-visual-note{width:calc(100% - 24px);margin:-35px 12px 0}
 .ms-room-photo-heading .ms-eyebrow{font-size:.6rem}
 body.ms-modern .ms-lightbox figure{padding:75px 14px 95px}
 body.ms-modern .ms-lightbox figure img{max-height:calc(100dvh - 210px)}
 body.ms-modern .ms-lightbox-prev{top:auto;bottom:max(22px,env(safe-area-inset-bottom));left:calc(50% - 60px)}
 body.ms-modern .ms-lightbox-next{top:auto;bottom:max(22px,env(safe-area-inset-bottom));right:calc(50% - 60px)}
 .ms-album-filters{gap:8px;margin-bottom:30px}.ms-album-filters button{font-size:.82rem;padding:11px 15px}
}
@media(prefers-reduced-motion:reduce){.ms-room-photo-card img,.ms-room-photo-dots button:before,body.ms-modern .ms-front-hero .ms-hero-slide{transition:none}}
/* Keep slider controls clear of the fixed booking and contact buttons. */
body.ms-modern .ms-front-hero .ms-hero-controls{left:max(40px,calc((100vw - 1330px)/2));right:auto;bottom:92px}
@media(max-width:680px){
 body.ms-modern .ms-front-hero .ms-hero-controls{left:20px;right:auto;bottom:91px;gap:9px;font-size:.62rem}
 body.ms-modern .ms-front-hero .ms-hero-controls button{width:32px;height:32px}
 .ms-room-nav-inner{display:grid;grid-template-columns:1fr 1fr;gap:2px 18px;overflow:visible}
 .ms-site .ms-room-section-nav a{padding-block:7px}
 .ms-room-nav-book{margin-left:0}
}
body.ms-inner .ms-page-hero.ms-room-hero:after{aspect-ratio:auto;opacity:1}
/* 1.6.1: vector arrows never fall back to iOS emoji glyphs. */
body.ms-modern .ms-header .ms-nav li>a::after,
body.ms-modern .ms-header .ms-nav-discover a::after{
 content:"";display:block;flex:0 0 21px;width:21px;height:21px;margin-left:16px;
 background:currentColor;color:#a88d62;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M5 5h14v14' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M5 5h14v14' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.ms-site .ms-arrow-icon{display:inline-block;flex:none;width:22px;height:22px;vertical-align:middle}
body.ms-modern .ms-front-hero .ms-hero-controls button{display:grid;place-items:center;padding:0;line-height:1}
.ms-front-hero .ms-hero-marker .ms-arrow-icon{width:16px;height:16px;margin-left:5px}
@media(max-width:900px){
 body.ms-modern .ms-front-hero{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0;height:auto;min-height:100vh;min-height:100svh;max-height:none;padding:146px 0 36px}
 body.ms-modern .ms-front-hero>.ms-hero-content{order:1;flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:24px;width:calc(100% - 44px);max-width:640px;height:auto;margin:0 auto;padding:0}
 body.ms-modern .ms-front-hero .ms-hero-content>*{flex:none;margin:0;max-width:100%}
 body.ms-modern .ms-front-hero .ms-hero-content .ms-eyebrow{font-size:.66rem;line-height:1.8;letter-spacing:.19em}
 body.ms-modern .ms-front-hero .ms-hero-content h1{font-size:clamp(2.45rem,10.2vw,4.5rem);line-height:1.19;letter-spacing:-.025em;margin:0;overflow-wrap:break-word;text-wrap:balance}
 body.ms-modern .ms-front-hero .ms-hero-content .ms-hero-lede{font-size:1rem;line-height:1.85;margin:0;max-width:560px}
 body.ms-modern .ms-front-hero .ms-hero-content .ms-button{margin-top:8px;min-height:56px;padding:18px 22px;max-width:100%;white-space:normal;text-align:center;font-size:.66rem;line-height:1.65;letter-spacing:.13em}
 body.ms-modern .ms-front-hero>.ms-hero-controls{order:2;position:relative;inset:auto;align-self:flex-start;display:flex;gap:17px;width:auto;max-width:calc(100% - 44px);margin:34px max(22px,calc((100% - 640px)/2)) 0;padding:0;font-size:.72rem;line-height:1.4}
 body.ms-modern .ms-front-hero .ms-hero-controls button{width:44px;height:44px;min-width:44px;background:rgba(12,37,45,.16)}
 body.ms-modern .ms-front-hero>.ms-hero-marker{order:3;position:relative;inset:auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;width:calc(100% - 44px);max-width:640px;margin:32px auto 0;padding:0;font-size:.57rem;line-height:1.8;letter-spacing:.13em}
 body.ms-modern .ms-front-hero>.ms-hero-marker>span{display:inline-flex;align-items:center;gap:5px}
 body.ms-modern.ms-front-hero-visible [data-book-dock],body.ms-modern.ms-front-hero-visible [data-assistant]{visibility:hidden;pointer-events:none}
}
@media(max-width:360px){
 body.ms-modern .ms-front-hero{padding-top:124px}
 body.ms-modern .ms-front-hero>.ms-hero-content{gap:22px}
 body.ms-modern .ms-front-hero .ms-hero-content h1{font-size:2.35rem;line-height:1.2}
 body.ms-modern .ms-front-hero .ms-hero-content .ms-button{padding:16px;font-size:.61rem}
}
@media(max-width:680px){
 body.ms-modern .ms-header .ms-nav .ms-nav-links{padding-top:82px}
 body.ms-modern .ms-header .ms-nav .ms-menu-close{position:fixed;top:17px;right:18px;bottom:auto;left:auto}
 body.ms-modern.admin-bar .ms-header .ms-nav .ms-menu-close{top:63px}
}
/* Restore the owner's requested artwork; older numbering rules hid these layers. */
body.ms-modern.ms-home .ms-stays{background-image:none}
body.ms-modern.ms-home .ms-stays:before{content:none;background:none}
body.ms-modern.ms-home .ms-owner-gallery-home{
 background-image:linear-gradient(90deg,#f3f0e9 0%,rgba(243,240,233,.9) 38%,rgba(243,240,233,.22) 100%),url("motif-transparent.png");
 background-repeat:no-repeat;background-position:center,right bottom;background-size:100% 100%,min(650px,55vw) auto;
}
body.ms-modern.ms-home .ms-rooms:before,body.ms-modern.ms-home .ms-discover:before{
 content:"";position:absolute;z-index:0;inset:auto -8% 0 auto;width:clamp(270px,42vw,630px);height:auto;aspect-ratio:941/1422;
 background:url("motif-transparent.png") center bottom/contain no-repeat;border-radius:0;opacity:.14;pointer-events:none;
}
body.ms-modern.ms-home .ms-discover:before{inset:auto auto 0 -8%}
@media(max-width:680px){body.ms-modern.ms-home .ms-owner-gallery-home{background-size:100% 100%,100% auto}}
/* Room alternatives continue below the booking section in the same sand palette. */
.ms-site .ms-similar-rooms{padding:100px 0 80px;color:#103b49}
.ms-similar-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:42px}
.ms-site .ms-similar-heading h2{font-size:clamp(2rem,3.7vw,3.6rem);line-height:1.18;margin:0}
.ms-similar-heading>p{max-width:310px;margin:0;font-size:1rem;line-height:1.8;color:#52686e}
.ms-similar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.ms-site .ms-similar-card>a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;border-bottom:1px solid #103b4933}
.ms-similar-photo{aspect-ratio:4/3;overflow:hidden;background:#dfdfd4;display:grid;place-items:center}
.ms-similar-photo>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ms-similar-photo>span{text-align:center;font-size:.8rem;letter-spacing:.2em;line-height:2;color:#52686e}
.ms-similar-copy{display:flex;flex-direction:column;flex:1;padding:25px 2px 22px}
.ms-site .ms-similar-copy h3{margin:0 0 12px;font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.25;overflow-wrap:anywhere}
.ms-similar-copy>p{margin:0 0 24px;font-size:.94rem;line-height:1.8;color:#52686e}
.ms-similar-link{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:auto;padding-top:12px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.ms-similar-card>a:hover .ms-similar-photo>img{transform:scale(1.035)}
.ms-site .ms-similar-card>a:focus-visible{outline:2px solid #103b49;outline-offset:6px}
@media(max-width:900px){.ms-similar-grid{gap:18px}.ms-similar-heading{display:block}.ms-similar-heading>p{margin-top:20px;max-width:500px}}
@media(max-width:680px){.ms-site .ms-similar-rooms{padding:65px 0 50px}.ms-similar-grid{grid-template-columns:1fr;gap:38px}.ms-similar-heading{margin-bottom:30px}.ms-similar-copy{padding-top:20px}}
@media(prefers-reduced-motion:reduce){.ms-similar-photo>img{transition:none}}
