/* 1.17 — calm, readable island pages and progressive contact controls. */
body.ms-modern.ms-modern .ms-site .ms-feature-list-head{max-width:1080px;margin:64px auto 28px;text-align:center;font:600 clamp(18px,2vw,25px)/1.4 Arial,sans-serif;letter-spacing:.12em;color:#103b49}
body.ms-modern.ms-modern .ms-property-amenities{max-width:1080px;margin:0 auto;gap:18px;align-items:stretch}
body.ms-modern.ms-modern .ms-property-group{background:#faf8f2;border:1px solid #d7c9b6;border-radius:4px;overflow:hidden}
body.ms-modern.ms-modern .ms-property-group:nth-child(4n+2){background:#eee6da}
body.ms-modern.ms-modern .ms-property-group>summary{padding:22px 26px;grid-template-columns:38px minmax(0,1fr) 24px;min-height:86px;text-align:center}
body.ms-modern.ms-modern .ms-property-group>ul{padding:0 28px 26px 28px;max-width:430px;margin-inline:auto;text-align:left}
body.ms-modern.ms-modern .ms-property-group>ul>li{padding:10px 0 10px 18px}
body.ms-modern.ms-modern .ms-property-group>ul>li:before{content:"";width:5px;height:5px;border-radius:50%;background:#ae946b;position:absolute;left:0;top:21px}
body.ms-modern.ms-modern .ms-property-note{max-width:850px;margin:28px auto 0;text-align:center}
body.ms-modern.ms-modern .ms-outdoor-lines{display:none}
body.ms-modern.ms-modern .ms-outdoor-intro{position:relative;overflow:hidden;padding:48px clamp(26px,5vw,72px);background:#756253;color:#faf8f2;align-items:center;gap:32px}
body.ms-modern.ms-modern .ms-outdoor-intro h2{color:#f2dec0;-webkit-text-fill-color:#f2dec0;font-size:clamp(34px,4.2vw,62px);max-width:760px}
body.ms-modern.ms-modern .ms-outdoor-intro .ms-eyebrow{color:#faf8f2}
body.ms-modern.ms-modern .ms-outdoor-intro>span{width:130px;color:#d5bd85;opacity:.8}
body.ms-modern.ms-modern .ms-outdoor-story{padding:48px 0 22px;background:transparent;border:0;margin:0}
body.ms-modern.ms-modern .ms-outdoor-story>p,body.ms-modern.ms-modern .ms-outdoor-story>p:first-child{max-width:760px;margin:0 auto 22px;font:400 clamp(16px,1.35vw,19px)/1.9 Arial,sans-serif;color:#274852}
body.ms-modern.ms-modern .ms-outdoor-story>p:first-child{border-left:2px solid #b79d74;padding-left:26px;font-size:clamp(18px,1.55vw,22px)}
body.ms-modern.ms-modern .ms-outdoor-interlude{height:120px;max-width:220px;margin:30px auto;display:flex;align-items:center;justify-content:center;color:#ae946b}
body.ms-modern.ms-modern .ms-outdoor-interlude svg{max-width:170px;max-height:100px}
body.ms-modern.ms-modern .ms-outdoor-page .ms-about-reserve{background:#eae4d8;color:#103b49;margin-top:26px}
body.ms-modern.ms-modern .ms-outdoor-page .ms-about-reserve h2{color:#103b49;-webkit-text-fill-color:#103b49;font-size:clamp(30px,3.6vw,52px)}
body.ms-modern.ms-modern .ms-outdoor-page .ms-about-reserve .ms-button{background:#103b49;color:#faf8f2;border:0;gap:18px}
body.ms-modern .ms-activity-photo{position:relative;margin:36px 0 60px;height:clamp(300px,35vw,530px);overflow:hidden;background:#103b49}
body.ms-modern .ms-activity-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.82)}
body.ms-modern .ms-activity-photo figcaption{position:absolute;bottom:22px;left:30px;color:#fff;font:600 12px/1.5 Arial,sans-serif;letter-spacing:.18em}
body.ms-modern.ms-modern .ms-site .ms-activity-lead{font-size:clamp(19px,2vw,25px);line-height:1.7;max-width:750px;margin:0 0 40px}
body.ms-modern .ms-activity-cards{display:grid;gap:24px}
body.ms-modern .ms-activity-card{position:relative;overflow:hidden;padding:36px clamp(24px,4vw,50px);background:#e9dbcc;border:1px solid #614a3615;color:#614a36}
body.ms-modern .ms-activity-card:nth-child(3n+2){background:#103b49;color:#faf8f2}
body.ms-modern .ms-activity-card:nth-child(3n){background:#e8ece7;color:#103b49}
body.ms-modern.ms-modern .ms-site .ms-activity-card h2{position:relative;margin:12px 0 22px;max-width:620px;font-size:clamp(28px,2.8vw,40px);line-height:1.23;color:inherit;-webkit-text-fill-color:currentColor;border:0}
body.ms-modern.ms-modern .ms-site .ms-activity-card p{position:relative;font:400 16px/1.85 Arial,sans-serif;max-width:650px;color:inherit;margin:0}
body.ms-modern .ms-activity-index{display:block;font:700 56px/1 Arial,sans-serif;letter-spacing:-.08em;opacity:.25}
body.ms-modern .ms-activity-card:after{content:"";display:block;background:currentColor;opacity:.35;width:100px;height:18px;margin-top:32px;mask:url('wave.svg') center/contain no-repeat;-webkit-mask:url('wave.svg') center/contain no-repeat}
body.ms-modern .ms-popular-places{margin-block:80px}
body.ms-modern .ms-popular-places>header{max-width:820px;margin-bottom:32px}
body.ms-modern.ms-modern .ms-site .ms-popular-places>header h2{font-size:clamp(32px,3.7vw,52px);line-height:1.16;color:#103b49}
body.ms-modern .ms-popular-places>header p{font:400 16px/1.85 Arial,sans-serif}
body.ms-modern .ms-popular-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
body.ms-modern .ms-popular-card{position:relative;display:flex;flex-direction:column;padding:32px;background:#e9dbcc;color:#614a36;min-width:0;overflow:hidden}
body.ms-modern .ms-popular-card:nth-child(4n+2){background:#103b49;color:#faf8f2}
body.ms-modern .ms-popular-card:nth-child(4n+3){background:#e8ece7;color:#103b49}
body.ms-modern .ms-popular-card:nth-child(4n){background:#f0eade;color:#103b49}
body.ms-modern .ms-popular-distance{font:500 36px/1.2 Arial,sans-serif;letter-spacing:-.04em;margin:0 0 28px}
body.ms-modern .ms-popular-distance small{font-size:14px;letter-spacing:0}
body.ms-modern .ms-popular-sun{position:absolute;right:22px;top:22px;width:42px;height:42px;opacity:.35}
body.ms-modern .ms-popular-sun svg{width:100%;height:100%}
body.ms-modern.ms-modern .ms-site .ms-popular-card h3{font-size:27px;line-height:1.2;color:inherit;-webkit-text-fill-color:currentColor;margin:0 0 18px}
body.ms-modern .ms-popular-card p{font:400 15px/1.8 Arial,sans-serif;margin:0 0 26px}
body.ms-modern .ms-popular-card .ms-text-link{margin-top:auto;color:inherit;border-bottom:1px solid currentColor;font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:8px}
body.ms-modern.ms-modern .ms-dock-toggle,body.ms-modern.ms-modern .ms-assistant-launch{border-radius:14px;border:0}
body.ms-modern.ms-modern .ms-controls-enter{opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .6s ease,transform .6s cubic-bezier(.22,.61,.36,1)}
body.ms-modern.ms-modern .ms-controls-enter.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
body.ms-modern.ms-modern .ms-booking-invitation{width:355px;max-width:calc(100vw - 32px);border-radius:18px;padding:18px 34px 18px 22px;animation:none;opacity:0;transform:translateX(12px);transition:opacity .4s ease,transform .4s ease;background:#faf8f2;box-shadow:0 12px 36px #103b4920;font:400 13px/1.65 Arial,sans-serif}
body.ms-modern.ms-modern .ms-booking-invitation.is-visible{opacity:1;transform:translateX(0)}
body.ms-modern .ms-booking-invitation>a{color:#103b49;text-decoration:none;display:block}
body.ms-modern .ms-booking-invitation>a>strong,body.ms-modern .ms-booking-invitation>a>span{display:block;white-space:nowrap}
body.ms-modern .ms-booking-invitation>a>strong{font-weight:700}
body.ms-modern .ms-booking-invitation>a:focus-visible{outline:2px solid #103b49;outline-offset:3px}
body.ms-modern .ms-booking-invitation>button{border-radius:50%}
@media(max-width:1099px){body.ms-modern .ms-popular-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){body.ms-modern.ms-modern .ms-booking-invitation{right:0;bottom:calc(100% + 12px);width:355px;font-size:12px;padding:16px 28px 16px 16px}body.ms-modern.ms-modern .ms-outdoor-intro{padding:32px 24px;gap:16px}body.ms-modern.ms-modern .ms-outdoor-intro>span{width:66px}body.ms-modern .ms-activity-photo{margin-block:22px 34px;height:330px}body.ms-modern .ms-popular-places{margin-block:50px}body.ms-modern .ms-popular-grid{gap:14px}body.ms-modern .ms-popular-card{padding:26px}body.ms-modern.ms-modern .ms-outdoor-story>p:first-child{padding-left:18px}}
@media(max-width:600px){body.ms-modern .ms-popular-grid{grid-template-columns:minmax(0,1fr)}body.ms-modern.ms-modern .ms-property-group>summary{padding:18px;gap:12px}body.ms-modern.ms-modern .ms-property-group>ul{padding-inline:22px}body.ms-modern.ms-modern .ms-site .ms-feature-list-head{margin-top:44px;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){body.ms-modern.ms-modern .ms-controls-enter,body.ms-modern.ms-modern .ms-booking-invitation{transition:none;transform:none}}
body.ms-modern .ms-calendar-status{padding:8px 14px;margin:0;max-width:340px;color:#526265;font:400 12px/1.6 Arial,sans-serif}
body.ms-modern .ms-calendar-day[data-availability="unavailable"]{text-decoration:line-through;color:#a19a8c;background:#eee9df}
body.ms-modern .ms-calendar-day[data-availability="unknown"]{color:#aaa6a0;background:repeating-linear-gradient(135deg,#faf8f2,#faf8f2 4px,#eee9df 4px,#eee9df 5px)}
body.ms-modern .ms-calendar-day[data-availability="available"]{box-shadow:inset 0 -2px #ae946b}

/* Fifth guest field occupies the complete two-column row. */
body.ms-modern .ms-booking-form .ms-booking-notes{grid-column:1 / -1}
body.ms-modern .ms-booking-form .ms-booking-notes textarea{display:block;box-sizing:border-box;width:100%;min-height:130px;resize:vertical;border:1px solid #c9c3b7;border-radius:6px;padding:15px 16px;background:#faf8f2;color:#103b49;font:inherit;line-height:1.6}
body.ms-modern .ms-booking-form .ms-form-grid label small{font-size:12px;line-height:1.5;text-transform:none;letter-spacing:0;color:#614a36;font-weight:400}
