/* Supplied maps mockup: real official map and pool photo, live HTML type,
   shared header, and a decorative watercolor background extracted from the reference. */
@font-face{font-family:"Coastal Reading";src:url('../fonts/library/baskerville/baskerville-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
.mhh{--mhh-paper:#fcf8f2;--mhh-next:#fffdfa;--mhh-ink:#103f40;--mhh-accent:#a77351;--mhh-body:#293e4d;--mhh-muted:#806c59;--mhh-edge:#fffaf0;--mhh-badge:#895b36;--mhh-rail:max(clamp(24px,4.2vw,64px),calc((100% - 1400px)/2));position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:820px;height:min(100svh,1000px);padding:32px 0 110px;overflow:clip;background:var(--mhh-paper);color:var(--mhh-ink)}
.mhh *,.mhh *::before,.mhh *::after{box-sizing:border-box}
body.page-maps .mhh::before{content:none}
.mhh::after{content:"";position:absolute;z-index:0;pointer-events:none;bottom:0;left:0;right:0;height:90px;background:linear-gradient(180deg,rgba(255,253,250,0),rgba(255,253,250,.01) 10%,rgba(255,253,250,.06) 20%,rgba(255,253,250,.16) 30%,rgba(255,253,250,.32) 40%,rgba(255,253,250,.5) 50%,rgba(255,253,250,.68) 60%,rgba(255,253,250,.84) 70%,rgba(255,253,250,.94) 80%,rgba(255,253,250,.99) 90%,var(--mhh-next))}
.mhh__art{position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('../img/maps-hero-20261110/watercolor-background.webp') center bottom/100% 100% no-repeat}
.mhh__rail{width:min(1400px,calc(100% - 2 * clamp(24px,4.2vw,64px)));margin-inline:auto}
.mhh__header{position:relative;z-index:5;flex:none}
.mhh .pha__book{text-decoration:none}
.mhh .pha__menu-label{background:none!important;color:inherit;-webkit-text-fill-color:currentColor}
.mhh__stage{position:relative;display:grid;grid-template-columns:46% 54%;flex:1;min-height:0;margin-top:30px;align-items:center;z-index:1}
.mhh__copy{position:relative;z-index:4;padding-bottom:55px;align-self:center}
body.page-maps .mhh h1{margin:0;color:var(--mhh-ink);font:700 clamp(41.4px,3.744vw,71.1px)/1.04 "Libre Baskerville",Georgia,"Times New Roman",serif;letter-spacing:-.015em;text-align:left;text-wrap:initial}
body.page-maps .mhh h1>span,body.page-maps .mhh h1>em{display:block;white-space:nowrap}
body.page-maps .mhh h1>em{font:inherit;font-weight:400;letter-spacing:normal;color:var(--mhh-accent);margin-top:.06em}
.mhh__lead{max-width:520px;margin:26px 35px 0 0;color:var(--mhh-body);font:400 clamp(18px,1.48vw,24px)/1.3 "Coastal Reading",Georgia,serif;text-wrap:pretty}
.mhh :is(a,button):focus-visible{outline:3px solid #477b90;outline-offset:6px}
.mhh__collage{position:relative;align-self:stretch;min-width:0}
.mhh__map{position:absolute;z-index:3;top:5px;right:0;width:90%;display:block;transform:rotate(5deg);filter:drop-shadow(0 12px 12px #53452c24);text-decoration:none}
.mhh__map-paper,.mhh__pool-paper{display:block;padding:14px;background:var(--mhh-edge);mask:url('../img/attractions-hero-20261030/paper-edge.svg') center/100% 100% no-repeat}
.mhh__map img{display:block;width:100%;height:auto;max-width:none}
.mhh__pool{position:absolute;z-index:2;width:53%;aspect-ratio:1.53;left:-17%;bottom:-10px;margin:0;transform:rotate(-5deg);filter:drop-shadow(0 10px 12px #53452c35)}
.mhh__pool-paper{height:100%;padding:10px}
.mhh__pool img{display:block;width:100%;height:100%;object-fit:cover;max-width:none;object-position:center}
.mhh__badge{position:absolute;z-index:4;left:26%;bottom:-35px;width:clamp(150px,12vw,204px);aspect-ratio:1;border:1px solid #bb9b75;border-radius:50%;outline:1px solid #bb9b7580;outline-offset:-7px;background:#fcf6eaf5;box-shadow:0 8px 17px #604b2d24,0 0 0 5px #fffaf3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--mhh-badge);text-align:center;transform:rotate(3deg)}
.mhh__badge span{font:400 clamp(10px,.85vw,14px)/1.5 "HBS Univers",Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.mhh__palms{width:58px;height:44px}.mhh__badge-wave{width:62px;height:13px}
@media(min-width:901px) and (max-width:1200px){
 .mhh{height:auto;min-height:760px;padding-bottom:115px}
 .mhh__stage{min-height:470px;grid-template-columns:46% 54%}
 .mhh__copy{padding-bottom:65px}
 body.page-maps .mhh h1{font-size:clamp(34px,3.6vw,43px)}
 .mhh__lead{margin-right:26px;max-width:420px;font-size:20px}
 .mhh__map{top:10px;width:90%;right:0}
 .mhh__pool{bottom:0;width:57%;left:-14%}
 .mhh__badge{bottom:-40px;left:34%;width:150px}
}
@media(max-width:900px){
 .mhh{height:auto;min-height:0;padding:28px 0 100px}
 .mhh__rail{width:calc(100% - 48px)}
 .mhh__stage{grid-template-columns:1fr;gap:30px;margin-top:45px}
 .mhh__copy{padding:0;max-width:650px}
 body.page-maps .mhh h1{font-size:clamp(30.6px,7.1vw,57.6px)}
 .mhh__lead{margin:22px 0 0;max-width:540px;font-size:21px}
 .mhh__collage{width:90%;justify-self:end;height:auto;aspect-ratio:1.16;margin-top:5px}
 .mhh__map{width:92%;right:1%;top:10px;transform:rotate(4deg)}
 .mhh__pool{width:48%;left:0;bottom:0;z-index:2}
 .mhh__badge{left:36%;bottom:-35px;width:160px}
 .mhh__art{background-size:auto 100%;background-position:54% bottom}
}
@media(max-width:540px){
 .mhh{padding-top:24px;padding-bottom:85px}
 .mhh__stage{margin-top:36px;gap:28px}
 body.page-maps .mhh h1{font-size:clamp(28px,7.1vw,38px);line-height:1.1}
 .mhh__lead{font-size:18px;line-height:1.35;margin-top:19px}
 .mhh__collage{width:100%;aspect-ratio:1.05}
 .mhh__map{width:94%;right:1%;padding:0;top:7px;transform:rotate(3deg)}
 .mhh__map-paper{padding:8px}.mhh__pool-paper{padding:6px}
 .mhh__pool{width:56%;left:1%;bottom:3px}
 .mhh__badge{width:112px;left:49%;bottom:-27px;gap:4px;outline-offset:-5px;box-shadow:0 5px 12px #604b2d24,0 0 0 3px #fffaf3}
 .mhh__badge span{font-size:8px;line-height:1.45;letter-spacing:.14em}
 .mhh__palms{width:37px;height:28px}.mhh__badge-wave{width:43px;height:9px}
 .mhh__art{background-size:auto 100%;background-position:45% bottom}
 .mhh::after{height:60px}
}
@media(min-width:1201px) and (max-height:850px){
 .mhh__map{width:83%}
 .mhh__badge{bottom:-65px}
}
@media(max-width:360px){
 .mhh__badge{width:100px;bottom:-40px;left:50%}
 body.page-maps .mhh h1{font-size:clamp(26px,8.4vw,28px)}
}
