/* 1.29 · Maistrali collections. Components are scoped to avoid legacy slider rules. */
body.ms-modern.ms-modern .ms-site .ms-heritage-copy{position:relative;padding-bottom:clamp(108px,12vw,155px)}
body.ms-modern.ms-modern .ms-site .ms-heritage-copy>.ms-home-number{display:block!important;position:absolute;inset:auto 24px 10px auto!important;color:#CAB6A1!important;opacity:1;font-size:clamp(76px,9vw,132px);line-height:1;pointer-events:none;transform:none}
body.ms-modern.ms-modern .ms-site .ms-experience-copy{position:relative;background:#0E333F;padding-top:clamp(110px,10vw,150px)}
body.ms-modern.ms-modern .ms-site .ms-experience-copy>.ms-home-number{position:absolute;inset:18px 24px auto auto!important;color:#cab6a1;opacity:.34;line-height:1;pointer-events:none}
body.ms-modern.ms-modern .ms-site .ms-destination{background:#eef0e9;padding:clamp(65px,7vw,105px) 0;isolation:isolate}
body.ms-modern.ms-modern .ms-site .ms-destination-content{position:relative;max-width:100%;padding:clamp(28px,5vw,78px);background:#E8E2D7;z-index:1}
body.ms-modern.ms-modern .ms-site .ms-destination-art{top:calc(clamp(75px,9vw,140px) + 50px);right:0;bottom:auto;z-index:2;pointer-events:none;width:clamp(65px,12vw,155px);height:clamp(65px,12vw,155px);opacity:.3}
body.ms-modern.ms-modern .ms-site :is(.ms-moments-collection,.ms-studios-collection){position:relative;overflow:hidden;padding:110px 0 75px;isolation:isolate}
body.ms-modern.ms-modern .ms-site .ms-moments-collection{background:#f4f0e8;color:#103b49}
body.ms-modern.ms-modern .ms-site .ms-studios-collection{background:radial-gradient(circle at 10% 70%,#becac3,transparent 35%),linear-gradient(100deg,#b5a98e,#486c70);color:#f8f4eb}
body.ms-modern.ms-modern .ms-site .ms-collection-heading{text-align:center;max-width:960px;margin:0 auto 45px;padding-inline:26px}
body.ms-modern.ms-modern .ms-site .ms-collection-heading h2{font-size:clamp(34px,3.4vw,58px);font-weight:400;line-height:1.16;letter-spacing:-.035em;margin:16px 0 20px;color:inherit}
body.ms-modern.ms-modern .ms-site .ms-collection-heading p{color:inherit}
body.ms-modern.ms-modern .ms-site .ms-collection-heading>.ms-eyebrow{font:600 11px/1.6 Arial,sans-serif;letter-spacing:.26em;color:inherit;opacity:.8}
body.ms-modern.ms-modern .ms-site .ms-collection-heading>p:last-child{font-size:15px;line-height:1.8;opacity:.85}
body.ms-modern.ms-modern .ms-site .ms-collection-track{--card:18%;--gap:1.5%;display:flex;gap:var(--gap);overflow-x:auto;overflow-y:hidden;padding:12px calc((100% - var(--card))/2) 25px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a99c80 #ddd6c955;cursor:grab;overscroll-behavior-x:contain;touch-action:pan-x pan-y;box-sizing:border-box}
body.ms-modern.ms-modern .ms-site .ms-collection-track>[data-collection-card]{flex:0 0 var(--card);width:var(--card);min-width:0;scroll-snap-align:center;position:relative;display:block;color:inherit;text-decoration:none;border:0;box-shadow:none;background:none;transform:none}
/* Percentage flex-basis is relative to content width: a fixed inner card variable keeps all five in view. */
body.ms-modern.ms-modern .ms-site .ms-moments-collection .ms-collection-track{--card:18vw;--gap:1.5vw}
body.ms-modern.ms-modern .ms-site .ms-collection-photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:filter .4s,transform .6s;filter:none;user-select:none}
body.ms-modern.ms-modern .ms-site .ms-collection-photo{overflow:hidden}
body.ms-modern.ms-modern .ms-site .ms-collection-photo-caption{display:flex;justify-content:space-between;align-items:center;padding:19px 6px 6px;gap:9px;font:500 9px/1.5 Arial,sans-serif;letter-spacing:.18em}
body.ms-modern.ms-modern .ms-site .ms-collection-expand svg{width:19px;height:19px;stroke:currentColor}
body.ms-modern.ms-modern .ms-site .ms-collection-photo:hover img{filter:brightness(1.05)}
body.ms-modern.ms-modern .ms-site .ms-collection-controls{display:flex;justify-content:center;align-items:center;gap:24px;margin:24px 0;color:inherit}
body.ms-modern.ms-modern .ms-site .ms-collection-controls button{display:grid;place-items:center;width:48px;height:48px;padding:10px;min-height:44px;background:transparent;border:0;box-shadow:none;border-radius:0;color:inherit;cursor:pointer;transition:opacity .2s,transform .2s}
body.ms-modern.ms-modern .ms-site .ms-collection-controls button:before,body.ms-modern.ms-modern .ms-site .ms-collection-controls button:after{content:none!important}
body.ms-modern.ms-modern .ms-site .ms-collection-controls button svg{width:21px;height:32px}
body.ms-modern.ms-modern .ms-site .ms-collection-controls button:hover{transform:scale(1.1)}
body.ms-modern.ms-modern .ms-site .ms-collection-controls button:disabled{opacity:.25;cursor:default;transform:none}
body.ms-modern.ms-modern .ms-site .ms-collection-controls>span{min-width:70px;text-align:center;font:600 11px/1.5 Arial,sans-serif;letter-spacing:.24em;font-variant-numeric:tabular-nums}
body.ms-modern.ms-modern .ms-site .ms-collection-all{display:flex;align-items:center;justify-content:center;gap:22px;width:max-content;max-width:90%;margin:28px auto 0;padding-bottom:8px;border-bottom:1px solid #ac9c7e;color:#103b49;font:600 10px/1.5 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
body.ms-modern.ms-modern .ms-site .ms-collection-all>span{font-size:21px}
body.ms-modern.ms-modern .ms-site .ms-studios-collection .ms-collection-track{--card:27vw;--gap:2vw;scrollbar-color:#f4eddf #103b4929}
body.ms-modern.ms-modern .ms-site .ms-studio-tabs{display:flex;align-items:stretch;gap:30px;overflow:auto;scrollbar-width:none;margin:0 auto 32px;padding:0 5vw;border-block:1px solid #f4eddf50;max-width:1400px;justify-content:safe center}
body.ms-modern.ms-modern .ms-site .ms-studio-tabs button{flex:none;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#f8f4eb;min-height:62px;padding:18px 0;font:500 10px/1.6 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;opacity:.72;white-space:nowrap;box-shadow:none}
body.ms-modern.ms-modern .ms-site .ms-studio-tabs button[aria-pressed=true]{border-bottom-color:#f8f4eb;opacity:1}
body.ms-modern.ms-modern .ms-site .ms-studio-tabs button:before,body.ms-modern.ms-modern .ms-site .ms-studio-tabs button:after{content:none!important}
body.ms-modern.ms-modern .ms-site .ms-collection-studio-image{overflow:hidden;aspect-ratio:4/5;background:#c9cdc3}
body.ms-modern.ms-modern .ms-site .ms-collection-studio-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s;user-select:none}
body.ms-modern.ms-modern .ms-site .ms-collection-studio:hover img{transform:scale(1.035)}
body.ms-modern.ms-modern .ms-site .ms-collection-studio-caption{padding:28px clamp(19px,2.2vw,36px);background:#f5f0e6;color:#103b49;min-height:180px}
body.ms-modern.ms-modern .ms-site .ms-collection-studio-caption small{font:500 9px/1.5 Arial,sans-serif;letter-spacing:.22em;color:#867254}
body.ms-modern.ms-modern .ms-site .ms-collection-studio-caption h3{margin:13px 0 25px;color:inherit;font-size:clamp(22px,2.2vw,35px);font-weight:400;line-height:1.12;letter-spacing:-.025em}
body.ms-modern.ms-modern .ms-site .ms-collection-studio-caption>span{display:flex;align-items:center;justify-content:space-between;gap:18px;font:500 10px/1.5 Arial,sans-serif;letter-spacing:.07em}
body.ms-modern.ms-modern .ms-site .ms-collection-studio-caption svg{width:28px;height:23px;flex:none}
body.ms-modern.ms-modern .ms-site .ms-studios-book{text-align:left;margin-top:45px;max-width:1300px}
body.ms-modern.ms-modern .ms-site .ms-studios-book p{color:#f8f4eb;font-size:clamp(23px,2.2vw,32px);margin:0 0 20px}
body.ms-modern.ms-modern .ms-site .ms-studios-book .ms-button{background:#103b49;color:#f5f0e6;border:1px solid #f5f0e670}
body.ms-modern.ms-modern .ms-site .ms-studios-book .ms-button:hover{background:#f5f0e6;color:#103b49}
body.ms-modern.ms-modern .ms-site .ms-collection-track.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none;scroll-behavior:auto}
body.ms-modern.ms-modern .ms-site :is(.ms-moments-collection,.ms-studios-collection)>.ms-home-number{position:absolute;inset:15px max(24px,3vw) auto auto;opacity:.18;color:currentColor;pointer-events:none;line-height:1;font-size:clamp(65px,8vw,130px)}
/* Room gallery: clear panorama, adjacent photographs, no decorative frame. */
body.ms-modern.ms-modern .ms-site .ms-room-gallery-section{position:relative;background:transparent!important;border:0!important;box-shadow:none!important;padding:80px 0 45px!important;overflow:hidden}
body.ms-modern.ms-modern .ms-site .ms-room-gallery-section:before,body.ms-modern.ms-modern .ms-site .ms-room-gallery-section:after{content:none!important}
body.ms-modern.ms-modern .ms-site .ms-room-photo-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin:0 auto 42px;padding:0 6%;max-width:1300px;text-align:left;position:relative;z-index:1}
body.ms-modern.ms-modern .ms-site .ms-room-photo-heading h2{max-width:790px;font-size:clamp(30px,3.3vw,52px);line-height:1.2;font-weight:400;margin-bottom:0}
body.ms-modern.ms-modern .ms-site .ms-room-gallery-sun{position:absolute;right:5%;top:30px;width:clamp(75px,11vw,145px);height:clamp(75px,11vw,145px);background:#a18a58;mask:url('sun-bold.svg') center/contain no-repeat;-webkit-mask:url('sun-bold.svg') center/contain no-repeat;opacity:.24;pointer-events:none}
body.ms-modern.ms-modern .ms-site .ms-room-photo-track{display:flex;grid-auto-columns:unset;gap:24px;overflow-x:auto;overflow-y:hidden;padding:0 18% 26px!important;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#103B49 #d8d1c4;cursor:grab}
body.ms-modern.ms-modern .ms-site .ms-room-photo-card{flex:0 0 100%;width:100%;min-width:0;aspect-ratio:16/10;scroll-snap-align:center;transform:none!important;border:0!important;box-shadow:none!important;overflow:hidden}
body.ms-modern.ms-modern .ms-site .ms-room-photo-card img{display:block;width:100%;height:100%;object-fit:cover;filter:blur(1.7px) brightness(.91);transition:filter .5s;transform:scale(1.015)}
body.ms-modern.ms-modern .ms-site .ms-room-photo-card.is-active img{filter:none;transform:none}
body.ms-modern.ms-modern .ms-site .ms-room-photo-card:after{content:none!important}
body.ms-modern.ms-modern .ms-site .ms-room-photo-card .ms-image-expand{right:20px;bottom:20px;background:#f5f0e6d9;color:#103b49;border:0;opacity:1;width:42px;height:42px}
body.ms-modern.ms-modern .ms-site .ms-room-photo-heading .ms-gallery-controls{position:static;display:flex;gap:8px;flex:none;margin:0}
body.ms-modern.ms-modern .ms-site .ms-room-photo-heading .ms-gallery-controls button{width:50px;height:50px;padding:7px;background:none!important;border:0!important;box-shadow:none!important;color:#103b49}
body.ms-modern.ms-modern .ms-site .ms-room-photo-heading .ms-gallery-controls svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.2}
body.ms-modern.ms-modern .ms-site .ms-gallery-pagination{font:600 11px/1.5 Arial,sans-serif;letter-spacing:.24em;text-align:center;margin:26px 0 0;color:#103b49}
/* One icon column for both menus. The chevron occupies an independent left slot. */
body.ms-modern.ms-modern .ms-site .ms-footer-menu-areas .ms-footer-link-sun{width:34px;max-width:34px;height:29px;flex-basis:34px;margin-right:8px;opacity:1;background:#d5bd85;mask-image:url('wave.svg');-webkit-mask-image:url('wave.svg')}
body.ms-modern.ms-modern .ms-site .ms-footer-menu-areas .ms-footer-submenu-toggle{width:76px;min-width:76px;flex-basis:76px;display:grid;grid-template-columns:14px 34px;gap:12px;padding:5px 8px;color:#d5bd85}
body.ms-modern.ms-modern .ms-site .ms-footer-menu-areas .ms-footer-submenu-symbol{grid-column:2;grid-row:1;width:34px;max-width:34px;height:29px;opacity:1}
body.ms-modern.ms-modern .ms-site .ms-footer-menu-areas .ms-footer-submenu-chevron{grid-column:1;grid-row:1;margin:0;justify-self:center}
body.ms-modern.ms-modern .ms-site .ms-header .ms-nav .ms-nav-links li>a{padding-left:0;padding-right:82px;min-width:0;white-space:normal;overflow-wrap:anywhere}
body.ms-modern.ms-modern .ms-site .ms-header .ms-nav .ms-nav-links li>a:after{inset:50% 8px auto auto;width:38px;max-width:38px;height:32px;background:#d5bd85;mask:url('wave.svg') center/contain no-repeat;-webkit-mask:url('wave.svg') center/contain no-repeat;opacity:1;transform:translateY(-50%)}
body.ms-modern.ms-modern .ms-site .ms-header .ms-nav .ms-nav-links li.ms-has-submenu{grid-template-columns:minmax(0,1fr) 82px}
body.ms-modern.ms-modern .ms-site .ms-header .ms-nav .ms-nav-links li.ms-has-submenu>a{padding-right:8px;grid-column:1;grid-row:1}
body.ms-modern.ms-modern .ms-site .ms-header .ms-nav .ms-nav-links li.ms-has-submenu>a:after{content:none}
body.ms-modern.ms-modern .ms-site .ms-header .ms-nav .ms-submenu-toggle,body.ms-modern.ms-modern .ms-site .ms-header .ms-nav .sub-menu .ms-submenu-toggle{display:grid;grid-template-columns:12px 38px;gap:16px;width:82px;padding:5px 8px;color:#d5bd85}
body.ms-modern.ms-modern .ms-site .ms-header .ms-nav .ms-submenu-toggle .ms-submenu-chevron{grid-column:1;width:12px;height:8px}
body.ms-modern.ms-modern .ms-site .ms-header .ms-nav .ms-submenu-toggle .ms-submenu-symbol{grid-column:2;width:38px;max-width:38px;height:32px}
/* Contact-style social cards, with contextual colours. */
body.ms-modern.ms-modern .ms-site .ms-social-buttons{display:flex;flex-wrap:wrap;gap:10px;--social-bg:#eee7da;--social-ink:#103b49;--social-line:#ac99756b}
body.ms-modern.ms-modern .ms-site .ms-footer .ms-social-buttons{--social-bg:#ffffff09;--social-ink:#f5f0e6;--social-line:#d5bd8566}
body.ms-modern.ms-modern .ms-site .ms-nav .ms-social-buttons{--social-bg:#ffffff09;--social-ink:var(--ms-menu-panel-ink,#f5f0e6);--social-line:#d5bd8566}
body.ms-modern.ms-modern .ms-site .ms-social-buttons .ms-social-link{display:flex!important;align-items:center;justify-content:flex-start;gap:12px;width:auto;height:auto;min-height:64px;max-width:100%;padding:12px 16px!important;margin:0;background:var(--social-bg);color:var(--social-ink)!important;border:1px solid var(--social-line);border-radius:0;font:500 12px/1.5 Arial,sans-serif!important;box-shadow:none;transform:none}
body.ms-modern.ms-modern .ms-site .ms-social-buttons .ms-social-symbol{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--social-line);border-radius:50%;background:none;color:inherit;flex:none}
body.ms-modern.ms-modern .ms-site .ms-social-buttons .ms-social-symbol svg{width:18px;height:18px;fill:currentColor}
body.ms-modern.ms-modern .ms-site .ms-social-buttons .ms-social-link:after{content:'↗';position:static;display:block;margin-left:6px;color:#c0a46d;font-size:20px;background:none;transform:none;width:auto;height:auto}
body.ms-modern.ms-modern .ms-site .ms-social-buttons .ms-social-link:hover{background:#d5bd85;color:#103b49!important}
body.ms-modern.ms-modern .ms-site .ms-social-buttons .ms-social-link>span:not(.ms-social-symbol){display:inline!important;position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;clip-path:none!important}
body.ms-modern.ms-modern .ms-site .ms-article-contents .ms-toc-toggle{border:1px solid #c9bba3!important;border-radius:0!important;background:#e9e2d5!important;color:#665646;width:44px;height:44px;min-width:44px;min-height:44px;max-height:44px;padding:10px;align-self:center;justify-self:center;box-shadow:none}
body.ms-modern.ms-modern .ms-site .ms-article-contents .ms-toc-toggle:hover,body.ms-modern.ms-modern .ms-site .ms-article-contents .ms-toc-toggle[aria-expanded=true]{background:#d9cbb6!important;color:#103b49}
@media(max-width:1023px){body.ms-modern.ms-modern .ms-site .ms-moments-collection .ms-collection-track{--card:28vw;--gap:3vw}body.ms-modern.ms-modern .ms-site .ms-studios-collection .ms-collection-track{--card:41vw;--gap:3vw}}
@media(max-width:680px){
 body.ms-modern.ms-modern .ms-site :is(.ms-moments-collection,.ms-studios-collection){padding:90px 0 55px}
 body.ms-modern.ms-modern .ms-site .ms-collection-heading{margin-bottom:30px;text-align:left}
 body.ms-modern.ms-modern .ms-site .ms-collection-heading h2{font-size:37px}
 body.ms-modern.ms-modern .ms-site .ms-moments-collection .ms-collection-track{--card:76vw;--gap:4vw}
 body.ms-modern.ms-modern .ms-site .ms-studios-collection .ms-collection-track{--card:78vw;--gap:4vw}
 body.ms-modern.ms-modern .ms-site .ms-studio-tabs{padding-inline:11vw;gap:26px;justify-content:flex-start}
 body.ms-modern.ms-modern .ms-site .ms-collection-studio-caption{min-height:164px;padding:25px}
 body.ms-modern.ms-modern .ms-site .ms-collection-studio-caption h3{font-size:29px}
 body.ms-modern.ms-modern .ms-site .ms-studios-book{padding-inline:26px;margin-top:25px}
 body.ms-modern.ms-modern .ms-site .ms-room-photo-heading{flex-direction:column;align-items:flex-start;padding-inline:7%;margin-bottom:25px;gap:20px}
 body.ms-modern.ms-modern .ms-site .ms-room-photo-heading>div:first-child{padding-right:25px}
 body.ms-modern.ms-modern .ms-site .ms-room-photo-heading .ms-gallery-controls{align-self:flex-end}
 body.ms-modern.ms-modern .ms-site .ms-room-photo-track{padding-inline:10%!important;gap:16px}
 body.ms-modern.ms-modern .ms-site .ms-room-photo-card{aspect-ratio:4/3}
 body.ms-modern.ms-modern .ms-site .ms-destination{padding:60px 0 40px}
 body.ms-modern.ms-modern .ms-site .ms-destination-art{top:100px;width:65px;height:65px}
 body.ms-modern.ms-modern .ms-site .ms-destination-content{padding:35px 24px}
 body.ms-modern.ms-modern .ms-site .ms-social-buttons .ms-social-link{gap:9px;font-size:11px!important;padding:11px!important;min-height:58px}
}
@media(prefers-reduced-motion:reduce){body.ms-modern .ms-site :is(.ms-collection-photo img,.ms-collection-studio img,.ms-room-photo-card img){transition:none!important}body.ms-modern .ms-site .ms-collection-track{scroll-behavior:auto}}
/* Arrival and welcome offer. The loader cannot hold up navigation or keyboard input. */
body.ms-modern .ms-arrival-loader{position:fixed;inset:0;z-index:999980;background:#f5f0e6;color:#103b49;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:30px;pointer-events:none;transition:opacity .28s,visibility .28s;animation:ms-loader-failsafe .1s 2.5s forwards}
body.ms-modern .ms-arrival-loader[hidden]{display:none}
body.ms-modern .ms-arrival-loader.is-finished{opacity:0;visibility:hidden}
body.ms-modern .ms-arrival-emblem{position:relative;display:grid;place-items:center;width:240px;height:240px}
body.ms-modern .ms-arrival-emblem img{width:175px;height:auto;object-fit:contain}
body.ms-modern .ms-arrival-emblem>svg{position:absolute;inset:0;width:100%;height:100%;color:#a18a58;animation:ms-arrival-orbit 2s linear infinite}
body.ms-modern .ms-arrival-loader>span{font:500 9px/1.5 Arial,sans-serif;letter-spacing:.35em;color:#8b7855}
@keyframes ms-arrival-orbit{to{transform:rotate(360deg)}}@keyframes ms-loader-failsafe{to{opacity:0;visibility:hidden}}
body.ms-modern.ms-offer-open{overflow:hidden}
body.ms-modern .ms-welcome-offer{position:fixed;inset:0;margin:auto;width:min(980px,calc(100vw - 48px));max-width:980px;max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:0;background:#f5f0e6;color:#103b49;overflow:auto;box-shadow:0 30px 100px #0e333f40;scrollbar-width:thin;scrollbar-color:#a18a58 #f5f0e6}
body.ms-modern .ms-welcome-offer:not([open]){display:none}
body.ms-modern .ms-welcome-offer[open]{display:grid;grid-template-columns:44% 56%}
body.ms-modern .ms-welcome-offer::backdrop{background:#0e333f99;backdrop-filter:blur(5px)}
body.ms-modern .ms-welcome-close{position:absolute;z-index:3;right:14px;top:14px;display:grid;place-items:center;width:44px;height:44px;border:0;background:#f5f0e6d9;color:#103b49;cursor:pointer}
body.ms-modern .ms-welcome-close svg{width:29px;height:29px}
body.ms-modern .ms-welcome-photo{position:relative;min-height:580px;overflow:hidden}
body.ms-modern .ms-welcome-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
body.ms-modern .ms-welcome-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0e333f8a);pointer-events:none}
body.ms-modern .ms-welcome-photo>span{position:absolute;z-index:1;left:30px;bottom:35px;font:500 10px/1.8 Arial,sans-serif;letter-spacing:.22em;color:#fff8ed}
body.ms-modern .ms-welcome-copy{position:relative;padding:56px 48px 32px;isolation:isolate}
body.ms-modern .ms-welcome-copy>.ms-eyebrow{font:600 9px/1.6 Arial,sans-serif;letter-spacing:.19em;color:#8a7756;margin:0 0 20px}
body.ms-modern .ms-welcome-percent{font:300 clamp(68px,7vw,104px)/1 Arial,sans-serif;letter-spacing:-.06em;color:#a18a58;margin:0 0 14px}
body.ms-modern .ms-welcome-percent>span{font-size:.5em;vertical-align:top;line-height:1.45;letter-spacing:0}
body.ms-modern .ms-welcome-copy h2{font:400 clamp(30px,3vw,43px)/1.13 Georgia,serif;letter-spacing:-.035em;color:#103b49;margin:0 0 20px}
body.ms-modern .ms-welcome-intro{font:400 14px/1.85 Arial,sans-serif;color:#536664;margin:0 0 28px}
body.ms-modern .ms-welcome-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 23px;background:#103b49;color:#f5f0e6;text-decoration:none;font:600 11px/1.5 Arial,sans-serif;letter-spacing:.08em;transition:background .2s}
body.ms-modern .ms-welcome-cta:hover{background:#486c70;color:#fff}
body.ms-modern .ms-welcome-cta svg{width:26px;height:24px}
body.ms-modern .ms-welcome-later{display:block;margin:16px auto 23px;padding:6px;background:none;border:0;border-bottom:1px solid #b6ab94;color:#6c705f;font:400 11px/1.5 Arial,sans-serif;cursor:pointer}
body.ms-modern .ms-welcome-copy>small{display:block;font:400 10px/1.7 Arial,sans-serif;color:#657370}
body.ms-modern .ms-offer-sun{position:absolute;top:44px;right:32px;width:130px;height:130px;background:#a18a58;mask:url('sun-bold.svg') center/contain no-repeat;-webkit-mask:url('sun-bold.svg') center/contain no-repeat;opacity:.13;z-index:-1;pointer-events:none}
@media(max-width:680px){body.ms-modern .ms-welcome-offer{width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}body.ms-modern .ms-welcome-offer[open]{grid-template-columns:1fr}body.ms-modern .ms-welcome-photo{min-height:165px;height:22dvh;max-height:220px}body.ms-modern .ms-welcome-photo>img{object-position:center 56%}body.ms-modern .ms-welcome-photo>span{left:23px;bottom:20px;font-size:8px}body.ms-modern .ms-welcome-copy{padding:25px 25px 24px}body.ms-modern .ms-welcome-percent{font-size:70px;margin-bottom:10px}body.ms-modern .ms-welcome-copy h2{font-size:32px;max-width:350px}body.ms-modern .ms-welcome-intro{font-size:13px;line-height:1.7;margin-bottom:18px}body.ms-modern .ms-welcome-copy>.ms-eyebrow{margin-bottom:12px}body.ms-modern .ms-welcome-later{margin-block:10px 15px}body.ms-modern .ms-offer-sun{top:25px;right:25px;width:90px;height:90px}}
@media(prefers-reduced-motion:reduce){body.ms-modern .ms-arrival-loader{display:none}body.ms-modern .ms-welcome-offer::backdrop{backdrop-filter:none}}
/* Booking sheets and a compact, always-legible reservation summary. */
body.ms-modern.ms-booking-page :is(.ms-book-dock,.ms-assistant,.ms-booking-invitation){display:none!important}
body.ms-modern.ms-plan-open{overflow:hidden}
body.ms-modern .ms-plan-dialog{position:fixed;inset:0;margin:auto;width:min(820px,calc(100vw - 40px));max-width:820px;max-height:calc(100dvh - 40px);height:min(840px,calc(100dvh - 40px));padding:0;border:0;border-radius:2px;background:#f5f0e6;color:#103b49;box-shadow:0 30px 120px #0e333f40;overflow:hidden}
body.ms-modern .ms-plan-dialog[open]{display:flex;flex-direction:column}
body.ms-modern .ms-plan-dialog:not([open]){display:none}
body.ms-modern .ms-plan-dialog::backdrop,body.ms-modern .ms-policy-dialog::backdrop{background:#0e333f88;backdrop-filter:blur(3px)}
body.ms-modern .ms-plan-head{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:12px;padding:22px 25px;flex:none}
body.ms-modern .ms-plan-head h2{grid-column:2;font:400 27px/1.3 Georgia,serif;color:#103b49;text-align:center;margin:0}
body.ms-modern .ms-plan-head button{padding:8px;min-width:44px;height:44px;background:none;border:0;color:inherit;cursor:pointer}
body.ms-modern .ms-plan-head button svg{width:28px;height:28px}
body.ms-modern .ms-plan-back{grid-column:1;grid-row:1;transform:rotate(180deg)}
body.ms-modern .ms-plan-close{grid-column:3;grid-row:1}
body.ms-modern .ms-plan-progress{height:2px;background:#cab6a159;flex:none}
body.ms-modern .ms-plan-progress>span{display:block;height:100%;background:#a18a58;transition:width .25s}
body.ms-modern .ms-plan-body{padding:22px 30px 30px;overflow:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:#a18a58 #e8e2d7}
body.ms-modern .ms-plan-range{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:20px}
body.ms-modern .ms-plan-range button{padding:16px 12px;text-align:left;border:1px solid #cbbfa9;background:#ede8dc;color:#103b49;border-radius:0;cursor:pointer}
body.ms-modern .ms-plan-range button[aria-pressed=true]{background:#103b49;color:#f5f0e6;border-color:#103b49}
body.ms-modern .ms-plan-range small{display:block;font:500 10px/1.5 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
body.ms-modern .ms-plan-range strong{font:500 15px/1.5 Arial,sans-serif}
body.ms-modern .ms-plan-month-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;font:500 12px/1.5 Arial,sans-serif}
body.ms-modern .ms-plan-month-nav button{width:44px;height:44px;padding:9px;border:0;background:transparent;color:#103b49;cursor:pointer}
body.ms-modern .ms-plan-month-nav button:first-child{transform:rotate(180deg)}
body.ms-modern .ms-plan-month-nav svg{width:25px;height:25px}
body.ms-modern .ms-plan-months{display:grid;grid-template-columns:1fr 1fr;gap:32px}
body.ms-modern .ms-plan-month h3{font:500 12px/1.5 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin:0 0 22px;color:#103b49}
body.ms-modern .ms-plan-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px 0}
body.ms-modern .ms-plan-weekday{text-align:center;font:500 10px/1.5 Arial,sans-serif;color:#7b806d;padding:0 0 14px}
body.ms-modern .ms-plan-day{min-width:0;min-height:43px;width:100%;padding:5px 0;border:0;border-radius:0;background:transparent;color:#103b49;font:500 13px/1.5 Arial,sans-serif;cursor:pointer}
body.ms-modern .ms-plan-day:disabled{opacity:.3;text-decoration:line-through;cursor:default}
body.ms-modern .ms-plan-day:not(:disabled):hover{background:#cab6a17a}
body.ms-modern .ms-plan-day.is-start,body.ms-modern .ms-plan-day.is-end{background:#103b49;color:#f5f0e6;opacity:1}
body.ms-modern .ms-plan-day.is-start{border-radius:30px 0 0 30px}
body.ms-modern .ms-plan-day.is-end{border-radius:0 30px 30px 0}
body.ms-modern .ms-plan-day.is-between{background:#d8d4c5}
body.ms-modern .ms-plan-reset{display:block;margin:20px auto 0;border:0;border-bottom:1px solid #b4a07a;background:none;color:#6a746c;font:400 11px/1.6 Arial,sans-serif;padding:7px;cursor:pointer}
body.ms-modern .ms-plan-foot{border-top:1px solid #d3c8b5;display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px 30px max(20px,env(safe-area-inset-bottom));flex:none;background:#f5f0e6}
body.ms-modern .ms-plan-status{max-width:390px;font:400 11px/1.6 Arial,sans-serif;color:#687870;margin:0}
body.ms-modern .ms-plan-next{min-width:180px;min-height:51px;padding:16px 22px;border:0;border-radius:2px;background:#103b49;color:#f5f0e6;font:600 11px/1.5 Arial,sans-serif;letter-spacing:.08em;cursor:pointer}
body.ms-modern .ms-plan-next:disabled{opacity:.4;cursor:default}
body.ms-modern .ms-plan-next:not(:disabled):hover{background:#486c70}
body.ms-modern .ms-plan-intro{margin:25px 0 35px;font:400 28px/1.4 Georgia,serif}
body.ms-modern .ms-plan-guests{display:flex;align-items:center;gap:20px;border-block:1px solid #cbbfa9;padding:25px 0}
body.ms-modern .ms-plan-guests>span{margin-right:auto;font:500 16px/1.5 Arial,sans-serif}
body.ms-modern .ms-plan-guests button{width:44px;height:44px;background:none;color:#103b49;border:1px solid #b4a07a;border-radius:50%;font:300 24px/1 Arial,sans-serif;cursor:pointer}
body.ms-modern .ms-plan-guests button:disabled{opacity:.3}
body.ms-modern .ms-plan-guests output{font:500 20px/1.5 Arial,sans-serif}
body.ms-modern .ms-plan-review-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0;border-bottom:1px solid #d8cebb}
body.ms-modern .ms-plan-review-row small{display:block;font:500 10px/1.5 Arial,sans-serif;letter-spacing:.12em;color:#8b795b;margin-bottom:8px}
body.ms-modern .ms-plan-review-row strong{display:block;font:500 17px/1.6 Arial,sans-serif}
body.ms-modern .ms-plan-edit{background:none;border:0;border-bottom:1px solid #9f8a67;color:#103b49;padding:8px 0;font:500 11px/1.5 Arial,sans-serif;cursor:pointer;white-space:nowrap}
body.ms-modern.ms-modern .ms-site .ms-plan-search-bar{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:25px 30px;margin:35px 0;background:#e8e2d7;border-block:1px solid #c9bba3}
body.ms-modern.ms-modern .ms-site .ms-plan-search-bar small{display:block;font:600 9px/1.5 Arial,sans-serif;letter-spacing:.2em;margin-bottom:10px;color:#8b795b}
body.ms-modern.ms-modern .ms-site .ms-plan-search-bar strong{font:500 14px/1.7 Arial,sans-serif;color:#103b49}
body.ms-modern.ms-modern .ms-site .ms-plan-search-edit{background:none;border:1px solid #103b49;color:#103b49;padding:16px 20px;font:600 10px/1.5 Arial,sans-serif;letter-spacing:.07em;cursor:pointer;flex:none}
body.ms-modern.ms-modern .ms-site .ms-room-search.ms-search-enhanced{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden;visibility:hidden}
body.ms-modern.ms-modern .ms-site .ms-result-tabs{display:flex;gap:25px;overflow:auto;border-bottom:1px solid #cabba0;margin:20px 0 35px;scrollbar-width:thin;scrollbar-color:#a18a58 #e8e2d7}
body.ms-modern.ms-modern .ms-site .ms-result-tabs button{flex:none;max-width:270px;min-height:60px;padding:15px 0;border:0;border-bottom:2px solid transparent;background:none;color:#103b49;font:500 11px/1.6 Arial,sans-serif;cursor:pointer;text-align:left}
body.ms-modern.ms-modern .ms-site .ms-result-tabs button[aria-pressed=true]{border-bottom-color:#103b49}
body.ms-modern.ms-modern .ms-site .ms-booking-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
body.ms-modern.ms-modern .ms-site .ms-booking-result{display:flex;flex-direction:column;border:1px solid #c9bba377;background:#f5f0e6;overflow:hidden;box-shadow:none;margin:0}
body.ms-modern.ms-modern .ms-site .ms-booking-result[hidden]{display:none!important}
body.ms-modern.ms-modern .ms-site .ms-booking-result-photo{min-height:0;aspect-ratio:16/10;height:auto}
body.ms-modern.ms-modern .ms-site .ms-booking-result-photo img{height:100%;width:100%;object-fit:cover}
body.ms-modern.ms-modern .ms-site .ms-booking-result-photo:after{content:none}
body.ms-modern.ms-modern .ms-site .ms-booking-result-body{padding:28px}
body.ms-modern.ms-modern .ms-site .ms-booking-result-body h4{font-size:31px;line-height:1.2}
body.ms-modern.ms-modern .ms-site .ms-booking-result-price{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:auto;padding:25px 28px;border:0;border-top:1px solid #d6cbb6;background:#e8e2d755}
body.ms-modern.ms-modern .ms-site .ms-booking-result-price>.ms-button{width:100%;max-width:none;margin-top:14px;grid-column:auto}
body.ms-modern.ms-modern .ms-site .ms-booking-form{max-width:900px;margin:70px auto 0;padding:0;background:transparent;border:0;box-shadow:none}
body.ms-modern.ms-modern .ms-site .ms-checkout-section,body.ms-modern.ms-modern .ms-site .ms-payment-methods,body.ms-modern.ms-modern .ms-site .ms-booking-consents{padding:28px 35px;margin:0 0 28px;background:#f5f0e6;border:1px solid #c9bba377;min-width:0}
body.ms-modern.ms-modern .ms-site .ms-booking-step{display:flex!important;justify-content:center;align-items:center;gap:14px;width:100%;margin:0 0 28px;padding:15px 0;text-align:center}
body.ms-modern.ms-modern .ms-site .ms-step-title{font:500 19px/1.5 Arial,sans-serif!important;color:#103b49;margin:0}
body.ms-modern.ms-modern .ms-site .ms-step-number{font:400 22px/1.5 Arial,sans-serif!important;color:#a18a58}
body.ms-modern.ms-modern .ms-site .ms-offer-note{font:400 12px/1.7 Arial,sans-serif;color:#687870;padding:12px 0;border-bottom:1px solid #cabba04d}
body.ms-modern.ms-modern .ms-site .ms-reservation-summary{max-width:900px;margin:30px auto 0;border:1px solid #c9bba3;background:#e8e2d7;color:#103b49}
body.ms-modern.ms-modern .ms-site .ms-reservation-summary summary{padding:17px 25px;cursor:pointer;font:600 11px/1.5 Arial,sans-serif;letter-spacing:.1em;text-align:center;list-style:inside}
body.ms-modern.ms-modern .ms-site .ms-reservation-summary-content{padding:12px 25px 25px;max-height:42dvh;overflow:auto;scrollbar-width:thin}
body.ms-modern.ms-modern .ms-site .ms-reservation-summary-content p{display:flex;justify-content:space-between;gap:20px;font:400 13px/1.5 Arial,sans-serif;margin:10px 0}
body.ms-modern.ms-modern .ms-site .ms-summary-total{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 25px;border-top:1px solid #c9bba3}
body.ms-modern.ms-modern .ms-site .ms-summary-total>span{font:600 10px/1.5 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
body.ms-modern.ms-modern .ms-site .ms-summary-total>strong{font:500 23px/1.5 Arial,sans-serif;font-variant-numeric:tabular-nums}
body.ms-modern.ms-modern .ms-site .ms-policy-preview{padding:30px 0;border-block:1px solid #c9bba3;margin-bottom:30px}
body.ms-modern.ms-modern .ms-site .ms-policy-preview h3{font:500 20px/1.5 Arial,sans-serif;margin:0 0 15px}
body.ms-modern.ms-modern .ms-site .ms-policy-preview p{font:400 14px/1.8 Arial,sans-serif}
body.ms-modern.ms-modern .ms-site .ms-policy-preview>a{font:500 11px/1.5 Arial,sans-serif;border-bottom:1px solid #a18a58;text-transform:uppercase;letter-spacing:.08em;padding-bottom:6px;color:#103b49}
body.ms-modern .ms-policy-dialog{position:fixed;inset:0;margin:auto;padding:0;border:0;background:#f5f0e6;color:#103b49;width:min(760px,calc(100vw - 32px));max-height:85dvh;border-radius:2px;overflow:auto;scrollbar-width:thin;scrollbar-color:#a18a58 #e8e2d7}
body.ms-modern .ms-policy-dialog:not([open]){display:none}
body.ms-modern .ms-policy-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;top:0;background:#f5f0e6;padding:25px 30px;border-bottom:1px solid #c9bba3}
body.ms-modern .ms-policy-dialog>header h2{font:500 17px/1.5 Arial,sans-serif;margin:0;color:#103b49}
body.ms-modern .ms-policy-dialog>header button{width:44px;height:44px;padding:8px;flex:none;border:0;background:transparent;color:#103b49;cursor:pointer}
body.ms-modern .ms-policy-dialog>header svg{width:28px;height:28px}
body.ms-modern .ms-policy-dialog-copy{padding:25px 30px;font:400 16px/1.9 Georgia,serif}
body.ms-modern .ms-policy-dialog-copy :is(h2,h3){font:500 19px/1.5 Arial,sans-serif;color:#103b49;margin-top:30px}
@media(max-width:680px){
 body.ms-modern .ms-plan-dialog{inset:auto 0 0;width:100%;height:90dvh;max-height:90dvh;max-width:none;margin:0;border-radius:20px 20px 0 0}
 body.ms-modern .ms-plan-head{padding:17px 14px;gap:5px}body.ms-modern .ms-plan-head h2{font-size:23px}
 body.ms-modern .ms-plan-body{padding:20px}body.ms-modern .ms-plan-months{grid-template-columns:1fr;gap:35px}
 body.ms-modern .ms-plan-day{min-height:45px;font-size:14px}body.ms-modern .ms-plan-range strong{font-size:13px}
 body.ms-modern .ms-plan-foot{display:block;padding:13px 20px max(18px,env(safe-area-inset-bottom))}body.ms-modern .ms-plan-status{margin-bottom:12px;font-size:10px}body.ms-modern .ms-plan-next{display:block;width:100%}
 body.ms-modern .ms-plan-review-row{padding:24px 0}body.ms-modern .ms-plan-review-row strong{font-size:15px}
 body.ms-modern.ms-modern .ms-site .ms-plan-search-bar{display:block;padding:23px;margin:25px 0}body.ms-modern.ms-modern .ms-site .ms-plan-search-edit{margin-top:20px;width:100%}
 body.ms-modern.ms-modern .ms-site .ms-booking-results{grid-template-columns:1fr;gap:25px}body.ms-modern.ms-modern .ms-site .ms-booking-result-body,body.ms-modern.ms-modern .ms-site .ms-booking-result-price{padding:24px}
 body.ms-modern.ms-modern .ms-site .ms-checkout-section,body.ms-modern.ms-modern .ms-site .ms-payment-methods,body.ms-modern.ms-modern .ms-site .ms-booking-consents{padding:20px}
 body.ms-modern.ms-modern .ms-site .ms-booking-step{gap:12px;margin-bottom:18px}body.ms-modern.ms-modern .ms-site .ms-step-title{font-size:16px!important}
 body.ms-modern.ms-modern .ms-site .ms-reservation-summary{position:fixed;inset:auto 0 0;z-index:9990;width:100%;max-width:none;margin:0;border:0;border-top:1px solid #c9bba3;border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -8px 30px #103b4910}
 body.ms-modern.ms-modern .ms-site .ms-reservation-summary summary{padding:13px 20px;font-size:10px}body.ms-modern.ms-modern .ms-site .ms-summary-total{padding:14px 22px}body.ms-modern.ms-booking-page{padding-bottom:115px}
 body.ms-modern .ms-policy-dialog{inset:auto 0 0;width:100%;max-width:none;max-height:85dvh;border-radius:20px 20px 0 0}body.ms-modern .ms-policy-dialog>header{padding:22px}body.ms-modern .ms-policy-dialog-copy{padding:22px}
}
@media(prefers-reduced-motion:reduce){body.ms-modern .ms-plan-progress>span{transition:none}}

body.ms-modern.ms-modern .ms-site .ms-room-photo-card{height:auto!important}
/* Reserve the chapter's own space even on layouts with earlier mobile padding rules. */
body.ms-modern.ms-modern.ms-home .ms-site .ms-experience-copy{background:#0E333F;padding:calc(clamp(75px,9vw,140px) + 44px) clamp(26px,3.4vw,55px) clamp(35px,4vw,60px)!important}
body.ms-modern.ms-modern.ms-home .ms-site .ms-experience-copy>.ms-home-number{inset:18px 24px auto auto!important}
