/* ============ UX layer: navigation, search, finder, trails ============ */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.header{z-index:40}
.nav{gap:6px}
.nav-item{position:relative}
.nav-top,.nav-plain,.nav-search{display:inline-flex;align-items:center;gap:7px;background:none;border:0;font:inherit;font-size:12.5px;font-weight:600;color:var(--forest,#173c35);padding:12px 12px;cursor:pointer;letter-spacing:.01em;white-space:nowrap;border-radius:2px}
.nav-top svg{transition:transform .2s}
.nav-item.open .nav-top svg{transform:rotate(180deg)}
.nav-top:hover,.nav-plain:hover,.nav-search:hover,.nav-item.open .nav-top{background:#ebe7da}
.nav-item.is-section .nav-top,.nav-plain[aria-current]{box-shadow:inset 0 -2px 0 #ddac52}
.nav-search{border:1px solid #cfd6cb;margin-left:4px}
.nav-search-mobile,.header-search{display:none}
.nav .nav-action{margin-left:8px}
.mega{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,6px);background:#fffdf8;border:1px solid #dcdfd4;box-shadow:0 22px 50px rgba(16,38,33,.18);padding:22px 22px 18px;display:grid;grid-template-columns:repeat(2,minmax(230px,1fr));gap:4px 26px;opacity:0;visibility:hidden;transition:opacity .16s,transform .16s,visibility .16s;z-index:60;min-width:560px}
.mega::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.nav-item.open .mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-item:first-child .mega{left:0;transform:translate(0,6px)}.nav-item:first-child.open .mega{transform:translate(0,0)}
.mega-h{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#8a6420;margin:0 0 8px;padding:0 10px}
.mega-col{display:flex;flex-direction:column}
.mega a{display:block;padding:9px 10px;border-radius:3px;color:#173c35}
.mega a strong{display:block;font-size:14px;font-weight:600}
.mega a small{display:block;font-size:12px;color:#66746b;margin-top:2px;font-weight:400;line-height:1.35}
.mega a:hover,.mega a[aria-current]{background:#f1ede1}
.mega a[aria-current] strong{color:#8a6420}

@media(max-width:1366px){
  .header{height:72px}
  .menu{display:block;z-index:2}
  .header-search{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #cfd6cb;background:none;color:#173c35;margin-left:auto;margin-right:8px;cursor:pointer;border-radius:50%}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;height:calc(100svh - 100%);max-height:calc(100svh - 104px);overflow-y:auto;background:#f7f5ef;flex-direction:column;align-items:stretch;gap:0;padding:16px 24px 110px;box-shadow:0 10px 20px #0002}
  .nav.open{display:flex}
  .nav-search-mobile{display:flex;align-items:center;gap:10px;width:100%;background:#fff;border:1px solid #cfd6cb;padding:14px 16px;font:inherit;font-size:15px;color:#66746b;margin-bottom:10px;cursor:pointer;text-align:left}
  .nav-search{display:none}
  .nav-item{border-bottom:1px solid #d8dfd7}
  .nav-top,.nav-plain{width:100%;justify-content:space-between;font-size:18px;padding:16px 4px;background:none!important;box-shadow:none!important}
  .nav-plain{border-bottom:1px solid #d8dfd7}
  .mega{position:static;transform:none!important;opacity:1;visibility:visible;display:none;box-shadow:none;border:0;background:transparent;padding:0 0 14px;min-width:0;grid-template-columns:1fr;gap:10px}
  .nav-item.open .mega{display:grid}
  .mega-h{padding:6px 4px 2px}
  .mega a{padding:9px 4px}
  .mega a small{display:none}
  .mega a strong{font-size:15.5px;font-weight:500}
  .nav .nav-action{margin:22px 0 0;text-align:center;border:0;justify-content:center}
}
@media(max-width:600px){
  .header-search{width:38px;height:38px;margin-right:4px}
  .partner-ribbon span{display:none}
  .partner-ribbon{padding:8px 0}
  .partner-ribbon strong{font-size:10px}
}

/* ---------- search overlay ---------- */
.search-open-body{overflow:hidden}
.search-overlay{position:fixed;inset:0;background:rgba(10,28,25,.55);backdrop-filter:blur(3px);z-index:200;display:flex;justify-content:center;align-items:flex-start;padding:9vh 16px 16px}
.search-overlay[hidden]{display:none}
.search-panel{width:min(680px,100%);background:#fffdf8;box-shadow:0 30px 80px rgba(0,0,0,.35);max-height:78vh;display:flex;flex-direction:column}
.search-bar{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #e3e5dc;color:#173c35}
.search-bar input{flex:1;border:0;background:transparent;font:inherit;font-size:19px;color:#173c35;outline:none;min-width:0}
.search-bar input::-webkit-search-cancel-button{display:none}
.search-close{border:1px solid #cfd6cb;background:#fff;font:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;padding:6px 10px;cursor:pointer;color:#173c35}
.search-body{overflow-y:auto;padding:10px}
.sr-row{display:grid;grid-template-columns:118px 1fr;column-gap:14px;padding:11px 12px;color:#173c35;border-left:3px solid transparent}
.sr-row strong{font-size:15px;font-weight:600;grid-column:2}
.sr-row small{grid-column:2;font-size:12.5px;color:#66746b;line-height:1.4;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sr-g{grid-row:1 / span 2;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#709278;padding-top:4px}
.sr-row:hover,.sr-row.is-active{background:#f1ede1;border-left-color:#ddac52}
.sr-all{display:block;padding:12px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#173c35;text-decoration:underline;text-underline-offset:4px}
.sr-hint{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#8a6420;margin:10px 8px 8px}
.sr-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 8px 8px}
.sr-chips button,.sr-chips a{border:1px solid #cfd6cb;background:#fff;padding:8px 13px;font:inherit;font-size:13px;color:#173c35;cursor:pointer}
.sr-chips button:hover,.sr-chips a:hover{border-color:#ddac52}
.sr-empty{padding:16px 12px;color:#3e574b;line-height:1.6}.sr-empty a{color:#173c35;font-weight:700;text-decoration:underline}
@media(max-width:600px){.search-overlay{padding:0}.search-panel{max-height:100svh;height:100svh}.sr-row{grid-template-columns:1fr}.sr-g{grid-row:auto;padding:0 0 2px}.sr-row strong,.sr-row small{grid-column:1}}

/* ---------- search page ---------- */
.search-page{padding-top:40px}
.home-search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #cfd6cb;padding:6px 6px 6px 16px;color:#173c35}
.home-search input{flex:1;border:0;font:inherit;font-size:17px;padding:10px 0;outline:none;background:transparent;color:#173c35;min-width:0}
.home-search button{background:#173c35;color:#fff;border:0;font:inherit;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:14px 20px;cursor:pointer}
.home-search button:hover{background:#0f2b26}
.home-search:focus-within{border-color:#ddac52;box-shadow:0 0 0 3px rgba(221,172,82,.25)}
.search-results{margin-top:26px}
.sr-count{color:#66746b;font-size:14px}
.sr-group{margin-top:22px}.sr-group h2{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-family:inherit;color:#8a6420;margin:0 0 6px;font-weight:700}
.search-results .sr-row{background:#fff;border:1px solid #e3e5dc;border-left:3px solid #e3e5dc;margin-bottom:6px}

/* ---------- homepage finder ---------- */
.home-finder{background:#f1ede1;border-bottom:1px solid #e0dccd}
.home-finder-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:30px 50px;align-items:center;padding:38px 0}
.home-finder h2{font-family:var(--display);font-weight:400;font-size:clamp(34px,4vw,48px);line-height:1.02;color:#173c35;margin:6px 0 0}
.home-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.home-chips a{background:#fff;border:1px solid #d3d8cd;padding:8px 13px;font-size:13px;font-weight:500;color:#173c35}
.home-chips a:hover{border-color:#ddac52;background:#fffaf0}
@media(max-width:900px){.home-finder-inner{grid-template-columns:1fr;padding:30px 0}}
@media(max-width:600px){.home-chips{flex-wrap:nowrap;overflow-x:auto;margin-right:-20px;padding-bottom:4px;scrollbar-width:none}.home-chips a{flex:none}.home-search button{padding:13px 14px}}

/* ---------- activity finder ---------- */
.finder{padding-bottom:10px}
.finder-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.finder-head h2{font-family:var(--display);font-weight:400;font-size:clamp(34px,4vw,52px);line-height:1.02;color:#173c35;margin:6px 0 0}
.finder-search{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid #cfd6cb;padding:13px 18px;font:inherit;font-size:14px;color:#66746b;cursor:pointer;min-width:min(360px,100%)}
.finder-search:hover{border-color:#ddac52}
.finder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.finder-tile{position:relative;display:block;height:170px;overflow:hidden;background:#173c35;color:#fff}
.finder-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;transition:transform .5s,opacity .3s}
.finder-tile span{position:absolute;inset:auto 0 0 0;padding:16px 16px 14px;background:linear-gradient(0deg,rgba(9,28,25,.88),transparent)}
.finder-tile strong{display:block;font-family:var(--display);font-weight:400;font-size:24px;line-height:1.1}
.finder-tile small{display:block;font-size:12.5px;color:#e7e2d3;margin-top:3px}
.finder-tile:hover img{transform:scale(1.05);opacity:.75}
@media(max-width:1000px){.finder-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.finder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.finder-tile{height:132px}.finder-tile strong{font-size:19px}.finder-tile small{font-size:11px}.finder-tile span{padding:12px}}

/* ---------- trail guide ---------- */
.trail-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px 50px;align-items:end;margin-bottom:26px}
.trail-head h2{font-family:var(--display);font-weight:400;font-size:clamp(36px,4.2vw,56px);line-height:1;color:#173c35;margin:6px 0 0}
.trail-head p{color:#3e574b;line-height:1.65;margin:0}
.trail-switch{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px!important}
.trail-switch a{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#173c35;text-decoration:underline;text-decoration-color:#ddac52;text-underline-offset:4px}
.trail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.trail-card{background:#fff;border:1px solid #dde1d6;border-top:4px solid #709278;padding:18px 20px 16px;display:flex;flex-direction:column;scroll-margin-top:110px}
.trail-card.is-check{border-top-color:#ddac52}.trail-card.is-closed{border-top-color:#b4543a;background:#fcf8f5}
.trail-top{display:flex;justify-content:space-between;align-items:center}
.trail-num{font-family:var(--display);font-size:22px;color:#9aa89c}
.trail-status{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;background:#e6efe5;color:#2e5b3f}
.is-check .trail-status{background:#f7ecd4;color:#7a5616}.is-closed .trail-status{background:#f5e0d8;color:#8c3620}
.trail-card h3{font-family:var(--display);font-weight:400;font-size:24px;line-height:1.15;color:#173c35;margin:10px 0 4px}
.trail-where{font-size:12.5px;color:#66746b;margin:0}
.trail-facts{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;margin:12px 0 8px}
.trail-facts strong{font-size:15px;color:#173c35}
.trail-facts span{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#709278}
.trail-lede{font-size:14px;line-height:1.6;color:#3e574b;margin:0 0 14px;flex:1}
.trail-card footer{display:flex;flex-direction:column;gap:6px;border-top:1px solid #eceee6;padding-top:12px}
.trail-card footer a{font-size:12.5px;font-weight:600;color:#173c35;text-decoration:underline;text-underline-offset:3px}
.trail-card:target{box-shadow:0 0 0 3px #ddac52}
@media(max-width:1000px){.trail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.trail-head{grid-template-columns:1fr}.trail-grid{grid-template-columns:1fr}}

/* anchors land below the header */
[id^="place-"],[id^="uni-"],#governors-school,[id^="dir-"],.nb-group{scroll-margin-top:100px}
[id^="place-"]:target,[id^="uni-"]:target,#governors-school:target{box-shadow:0 0 0 3px #ddac52}

/* ---------- mobile action bar ---------- */
.mobile-bar{display:none}
@media(max-width:820px){
  .mobile-bar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:150;background:#102a27;border-top:1px solid #2c4a43;padding-bottom:env(safe-area-inset-bottom)}
  .mobile-bar a,.mobile-bar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 4px 8px;color:#f1ecde;background:none;border:0;font:inherit;font-size:10.5px;font-weight:600;letter-spacing:.06em;cursor:pointer}
  .mobile-bar .is-call{background:#ddac52;color:#173c35}
  body.has-mobile-bar{padding-bottom:62px}
  body.menu-open .mobile-bar{display:none}
}

/* ---------- lake & boating: Savannah Lakes Marina ---------- */
.marina{scroll-margin-top:100px}
.marina-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;background:#173c35;color:#f1ecde}
.marina-feature figure{margin:0;position:relative;min-height:100%}
.marina-feature figure img{width:100%;height:100%;object-fit:cover;display:block;min-height:360px}
.marina-feature figcaption{position:absolute;left:12px;bottom:10px;font-size:11px;color:#fff;text-shadow:0 1px 3px #000a}
.marina-copy{padding:40px 42px}
.marina-copy .eyebrow{color:#ddac52}
.marina-copy h2{font-family:var(--display);font-weight:400;font-size:clamp(36px,4vw,54px);line-height:1;margin:8px 0 14px;color:#fff}
.marina-lede{font-size:16px;line-height:1.65;color:#e1ddcf;margin:0 0 18px}
.marina-list{list-style:none;padding:0;margin:0 0 16px;border-top:1px solid #34574f}
.marina-list li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #34574f;flex-wrap:wrap}
.marina-list strong{font-size:15px;color:#fff}.marina-list span{font-size:13px;color:#c9d2c8}
.marina-address{font-size:13px;color:#c9d2c8;margin:0 0 18px}
.marina-actions{display:flex;flex-wrap:wrap;gap:10px}
.marina-actions .button{display:inline-flex;align-items:center;padding:14px 18px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.button.ghost-dark{border:1px solid #6f8d83;color:#f1ecde;background:transparent}.button.ghost-dark:hover{border-color:#ddac52;color:#fff}
.marina-details{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:28px;margin-top:28px}
.marina-details h3,.water-card h3{font-family:var(--display);font-weight:400;font-size:26px;color:#173c35;margin:0 0 12px}
.marina-rules ul{margin:0;padding-left:18px;color:#3e574b;line-height:1.65;font-size:14.5px}
.marina-rules li{margin-bottom:6px}
.marina-contact{margin-top:14px;font-size:14px}.marina-contact a{color:#173c35;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.table-scroll{overflow-x:auto}
.marina-slips table{width:100%;border-collapse:collapse;font-size:13.5px;background:#fff;border:1px solid #dde1d6}
.marina-slips th,.marina-slips td{padding:10px 12px;text-align:left;border-bottom:1px solid #eceee6;color:#3e574b;vertical-align:top}
.marina-slips thead th{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#8a6420;background:#f7f5ef}
.marina-slips tbody th{color:#173c35;font-weight:700;white-space:nowrap}
.marina-note{font-size:12.5px;color:#66746b;margin-top:10px}
.water-more{margin-top:44px}
.water-more-head h2{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.4vw,44px);color:#173c35;margin:6px 0 18px}
.water-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.water-card{background:#fff;border:1px solid #dde1d6;border-top:4px solid #709278;padding:18px 20px;display:flex;flex-direction:column}
.water-kind{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#709278}
.water-card h3{font-size:22px;margin:8px 0 6px}
.water-card p{font-size:14px;line-height:1.6;color:#3e574b;margin:0 0 12px;flex:1}
.water-card footer{display:flex;gap:16px;border-top:1px solid #eceee6;padding-top:10px}
.water-card footer a{font-size:13px;font-weight:600;color:#173c35;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.marina-feature,.marina-details{grid-template-columns:1fr}.marina-feature figure img{min-height:220px;max-height:300px}.marina-copy{padding:28px 22px}.water-grid{grid-template-columns:1fr}}
.marina-brand{display:flex;align-items:center;gap:18px;margin-bottom:6px}
.marina-logo{flex:none;background:#fff;border-radius:6px;padding:6px;display:block;width:108px;height:100px;box-shadow:0 4px 14px #0004}
.marina-feature .marina-logo img{width:100%;height:100%;min-height:0;max-height:none;object-fit:contain;display:block;position:static}
.marina-brand h2{margin-bottom:6px!important}
.marina-feature figcaption a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.marina-gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:8px;margin-top:8px}
.marina-gallery figure{margin:0;position:relative;overflow:hidden;height:190px;background:#173c35}
.marina-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.marina-gallery figure:hover img{transform:scale(1.04)}
.marina-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 12px 9px;font-size:12px;font-weight:600;color:#fff;background:linear-gradient(0deg,rgba(9,28,25,.85),transparent)}
.marina-credit{font-size:11.5px;color:#66746b;margin:8px 0 0}.marina-credit a{color:#173c35;text-decoration:underline}
@media(max-width:900px){.marina-gallery{grid-template-columns:repeat(2,1fr)}.marina-gallery figure:first-child{grid-column:1 / -1}.marina-gallery figure{height:150px}.marina-logo{width:80px;height:74px}}

.water-logo{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #eceee6;height:150px;margin:-2px 0 16px;padding:14px}
.water-logo img{max-height:120px;max-width:70%;width:auto;height:auto;object-fit:contain;display:block}
.water-logo:hover{border-color:#709278}
.med-emergency{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#173c35;color:#f4f2ea;padding:26px 30px;margin-bottom:22px}
.med-emergency h2{font-family:var(--display);font-weight:400;font-size:30px;margin:4px 0 8px;color:#fff}
.med-emergency p{margin:0;color:#dfe5dc}.med-emergency .eyebrow{color:#e0b85c}
.med-emergency a:not(.button){color:#fff}
.med-emergency .button{flex:none;background:#e0b85c;color:#173c35;padding:14px 26px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:13px;text-decoration:none}
.med-jump{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.med-jump a{border:1px solid #c9d1c3;padding:9px 16px;font-size:13px;font-weight:600;color:#173c35;text-decoration:none;background:#fff}
.med-jump a:hover{border-color:#709278}
.med-group{margin:0 0 40px;scroll-margin-top:110px}
.med-intro{color:#3e574b;margin:4px 0 16px;max-width:760px}
.med-card .med-addr{font-size:13px;color:#5d6f63;flex:0;margin-top:-4px}
@media(max-width:700px){.med-emergency{flex-direction:column;align-items:flex-start;padding:22px}}
.trip-tier{font-family:var(--display);font-weight:400;font-size:30px;color:#173c35;margin:40px 0 16px;display:flex;flex-direction:column;gap:4px}
.trip-tier small{font-family:var(--sans,inherit);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#709278}
/* entity logos */
.finder-main{position:absolute;inset:0;display:block;color:#fff}
.finder-logos{position:absolute;top:10px;right:10px;display:flex;gap:6px;z-index:2}
.finder-logo{display:flex;align-items:center;justify-content:center;background:#fff;width:52px;height:44px;padding:4px;box-shadow:0 2px 8px #0005;transition:transform .2s}
.finder-logo:hover{transform:translateY(-2px)}
.finder-logo img{max-width:100%;max-height:100%;object-fit:contain;position:static;opacity:1;width:auto;height:auto;transform:none!important}
.finder-tile:hover .finder-main img{transform:scale(1.05);opacity:.75}
.dir-logo{display:flex;align-items:center;justify-content:center;height:96px;margin:0 0 16px;padding:10px;background:#fff;border:1px solid #eceee6}
.dir-tile.has-photo .dir-logo{margin-top:-6px}
.dir-logo img{max-height:76px;max-width:60%;width:auto;height:auto;object-fit:contain;display:block}
.dir-logo:hover,.trail-logo:hover{border-color:#709278}
.trail-logo{display:flex;align-items:center;justify-content:center;height:40px;width:64px;padding:3px;background:#fff;border:1px solid #eceee6;margin-left:auto;margin-right:10px}
.trail-logo img{max-height:100%;max-width:100%;object-fit:contain;display:block}
@media(max-width:700px){.finder-logo{width:38px;height:32px;padding:3px}.finder-logos{top:6px;right:6px;gap:4px}}
/* new homes for sale */
.nh-tile{display:grid;grid-template-columns:1.1fr 1fr;background:#fffefa;border:1px solid #e6e4da;color:inherit;overflow:hidden}
.nh-tile-img{position:relative;min-height:340px}
.nh-tile-img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nh-tile-thumbs{position:absolute;left:14px;bottom:14px;display:flex;gap:8px}
.nh-tile-thumbs img{width:88px;height:62px;object-fit:cover;border:3px solid #fff;box-shadow:0 2px 10px #0004}
.nh-tile-body{padding:40px 44px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.nh-tile-body h2{margin:0}
.nh-tile-cta{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#24483b;border-bottom:1px solid currentColor;align-self:flex-start;padding-bottom:3px}
.nh-tile:hover .nh-tile-img>img{filter:brightness(.92)}
.nh-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.nh-filter button{font:inherit;font-size:12px;font-weight:600;letter-spacing:.04em;padding:9px 16px;border:1px solid #c9cfc4;background:#fffefa;color:#24483b;cursor:pointer;border-radius:999px}
.nh-filter button.is-on{background:#24483b;color:#fff;border-color:#24483b}
.nh-media{position:relative}
.nh-media>img{height:230px;width:100%;object-fit:cover;display:block}
.nh-rank{position:absolute;top:10px;left:10px;background:#12302a;color:#fff;font-size:12px;font-weight:700;padding:5px 9px;letter-spacing:.06em}
.nh-flag{position:absolute;top:10px;right:10px;background:#d9ae5b;color:#12302a;font-style:normal;font-size:11px;font-weight:700;padding:5px 9px;letter-spacing:.04em}
.nh-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:#fffefa;padding-top:3px}
.nh-thumbs img{height:74px;width:100%;object-fit:cover;display:block}
.nh-card .nh-ppsf{font-size:13px;color:#24483b}
.nh-card .nh-ppsf b{font-size:15px;letter-spacing:0;text-transform:none}
.nh-card[hidden]{display:none}
.nh-table-wrap{margin:44px 0 10px;overflow-x:auto}
.nh-table-wrap h3{font-family:var(--display);font-weight:400;font-size:28px;color:var(--forest);margin:0 0 14px}
.nh-table{width:100%;border-collapse:collapse;font-size:14px;background:#fffefa}
.nh-table th,.nh-table td{padding:11px 14px;border-bottom:1px solid #e6e4da;text-align:left;white-space:nowrap}
.nh-table th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#61756b}
.nh-table a{color:#24483b;text-decoration:underline}
@media(max-width:860px){.nh-tile{grid-template-columns:1fr}.nh-tile-img{min-height:240px}.nh-tile-body{padding:28px 22px}.nh-tile-thumbs img{width:70px;height:50px}}
.page-hero-video{min-height:clamp(520px,72vh,760px)}
.page-hero-video .page-hero-shade{background:linear-gradient(90deg,rgba(6,32,28,.78),rgba(6,32,28,.12) 70%),linear-gradient(0deg,rgba(6,32,28,.55),transparent 60%)}
.hero-concept-tag{position:absolute;right:18px;bottom:16px;z-index:2;font-size:11px;letter-spacing:.04em;color:#fff;background:rgba(8,29,27,.62);padding:6px 10px;border-radius:3px}
@media(max-width:600px){.hero-concept-tag{right:10px;bottom:10px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.page-hero-video video{display:none}.page-hero-video{background:url('assets/emc-cottage-hero-poster.jpg') center/cover}}
.beach-feature{background:#f7f5ef;padding-bottom:70px}
.beach-hero{position:relative;min-height:clamp(520px,78vh,820px);display:flex;align-items:end;overflow:hidden;color:#fff}
.beach-hero>img,.beach-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.beach-hero-shade{background:linear-gradient(90deg,rgba(6,32,28,.8),rgba(6,32,28,.15) 65%),linear-gradient(0deg,rgba(6,32,28,.5),transparent 55%)}
.beach-hero-copy{position:relative;z-index:1;padding:120px 0 80px}
.beach-hero-copy h2{font-size:clamp(56px,6.4vw,100px);line-height:.98;margin:0 0 22px;color:#fff}
.beach-hero-copy h2 em{color:#eacb85}
.beach-hero-copy>p:last-child{font-size:17px;line-height:1.7;max-width:520px;color:#f2f2e8;margin:0}
.beach-hero .media-caption{left:auto;right:18px;bottom:14px}
.beach-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:-60px;position:relative;z-index:2}
.beach-trio article{background:#fff;box-shadow:0 18px 40px rgba(8,29,27,.14);display:flex;flex-direction:column}
.beach-trio img{width:100%;height:240px;object-fit:cover;display:block}
.beach-trio article>div{padding:24px 24px 26px}
.beach-trio span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#0f5e56;font-weight:600}
.beach-trio h3{font-size:32px;margin:8px 0 10px}
.beach-trio p{font-size:15px;line-height:1.65;margin:0 0 16px;color:#33423e}
.beach-trio a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#143b35;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.beach-note{font-size:12.5px;color:#5d6b67;margin-top:26px}
@media(max-width:900px){.beach-trio{grid-template-columns:1fr;margin-top:-40px}.beach-trio img{height:230px}}
@media(max-width:600px){.beach-hero-copy{padding:90px 0 60px}.beach-hero-copy h2{font-size:54px}.beach-hero .media-caption{right:10px;bottom:10px;top:auto}}
.beach-hero .media-caption{top:18px;bottom:auto}.beach-hero-copy{padding-bottom:110px}
@media(max-width:600px){.beach-hero .media-caption{top:10px;bottom:auto}.beach-hero-copy{padding-bottom:80px}}
.event-stay{margin:90px 0 70px}
.event-stay-head{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:34px}
.event-stay-head .eyebrow{grid-column:1/-1;margin:0}
.event-stay-head h2{font-size:clamp(44px,4.6vw,68px);line-height:1.02;margin:0}
.event-stay-head h2 em{color:#0f5e56}
.event-stay-head>p:last-child{font-size:17px;line-height:1.75;color:#33423e;margin:0}
.event-stay-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}
.event-stay-grid figure{margin:0;background:#fff;box-shadow:0 16px 36px rgba(8,29,27,.1);display:flex;flex-direction:column}
.event-stay-grid img{width:100%;height:440px;object-fit:cover;display:block}
.event-stay-grid figcaption{padding:24px 26px 28px}
.event-stay-grid figcaption span{font-size:11px;letter-spacing:.16em;color:#0f5e56;font-weight:600}
.event-stay-grid figcaption strong{display:block;font-family:var(--display);font-weight:400;font-size:30px;margin:8px 0 8px;color:#1d2d29}
.event-stay-grid figcaption p{font-size:15px;line-height:1.65;margin:0;color:#33423e}
.event-stay-points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.event-stay-points article{border-top:2px solid #eacb85;padding-top:16px}
.event-stay-points h3{font-size:24px;margin:0 0 6px}
.event-stay-points p{font-size:15px;line-height:1.65;margin:0;color:#33423e}
.event-stay-note{font-size:14px;color:#5d6b67;margin-top:26px}
@media(max-width:900px){.event-stay-head,.event-stay-grid,.event-stay-points{grid-template-columns:1fr;gap:18px}.event-stay-grid img{height:300px}.event-stay{margin:60px 0 50px}}
.event-stay-note a{color:#0f5e56;text-decoration:underline;text-underline-offset:3px}
.beach-hero video.beach-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.beach-hero .beach-hero-still{display:none}
@media (prefers-reduced-motion:reduce){.beach-hero video.beach-hero-video,.bm-feature video{display:none}.beach-hero .beach-hero-still{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.bm-feature{background:url(assets/beach-sunset-loop-poster.jpg) center/cover}}
.beach-life{padding-top:80px}
.beach-life-head,.beach-arrivals-head{margin-bottom:26px}
.beach-life-head h3,.beach-arrivals-head h3{font-family:var(--display);font-weight:400;font-size:clamp(34px,3.6vw,52px);line-height:1.05;margin:6px 0 0;color:#1d2d29}
.beach-life-head h3 em{color:#0f5e56}
.beach-mosaic{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:1fr 1fr;gap:16px;height:620px}
.beach-mosaic figure{position:relative;margin:0;overflow:hidden;background:#143b35}
.beach-mosaic .bm-feature{grid-row:1/3}
.beach-mosaic img,.beach-mosaic video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.beach-mosaic figure:hover img{transform:scale(1.04)}
.beach-mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 22px 18px;background:linear-gradient(transparent,rgba(8,26,23,.82));color:#fff}
.beach-mosaic figcaption strong{display:block;font-family:var(--display);font-weight:400;font-size:26px}
.beach-mosaic figcaption span{font-size:14px;opacity:.9}
.beach-arrivals-head{margin-top:70px}
.beach-arrivals{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.beach-arrivals figure{margin:0;background:#fff;box-shadow:0 14px 30px rgba(8,29,27,.09)}
.beach-arrivals img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.beach-arrivals figcaption{padding:16px 18px 20px;font-size:15px;line-height:1.55;color:#33423e}
.beach-arrivals figcaption span{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#0f5e56;font-weight:600;margin-bottom:6px}
@media(max-width:900px){.beach-mosaic{grid-template-columns:1fr;grid-template-rows:auto;height:auto}.beach-mosaic .bm-feature{grid-row:auto}.beach-mosaic figure{aspect-ratio:16/10}.beach-arrivals{grid-template-columns:1fr}.beach-life{padding-top:56px}}
.beach-arrivals figure img{height:auto!important;aspect-ratio:3/2!important;max-height:none}
.beach-arrivals{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.beach-arrivals{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.beach-arrivals{grid-template-columns:1fr}}
.future-strip{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px;margin:18px 0 54px}
.future-strip figure,.ss-grid figure{margin:0;background:#fff;box-shadow:0 12px 28px rgba(8,29,27,.08)}
.future-strip img{width:100%;height:300px;object-fit:cover;display:block}
.future-strip figcaption,.ss-grid figcaption{padding:14px 16px 18px;font-size:14.5px;line-height:1.55;color:#33423e}
.future-strip figcaption span,.ss-grid figcaption span{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#0f5e56;font-weight:600;margin-bottom:5px}
.sporting-showcase{display:grid;grid-template-columns:1fr 1.25fr;gap:16px;margin:18px 0 40px}
.ss-estate{position:relative;margin:0;overflow:hidden;min-height:100%}
.ss-estate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ss-estate figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 24px 22px;background:linear-gradient(transparent,rgba(8,26,23,.85));color:#fff}
.ss-estate figcaption span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#eacb85;font-weight:600}
.ss-estate figcaption strong{display:block;font-family:var(--display);font-weight:400;font-size:28px;line-height:1.15;margin-top:6px}
.ss-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ss-grid img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
@media(max-width:900px){.future-strip,.sporting-showcase,.ss-grid{grid-template-columns:1fr}.ss-estate{min-height:0;aspect-ratio:3/2}.future-strip img{height:240px}}
.st-lead{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:end;margin-bottom:44px}
.st-lead h2{font-size:clamp(40px,4.4vw,64px);line-height:1.04;margin:10px 0 0}
.st-lead h2 em{color:#0f5e56}
.st-lead p{font-size:17px;line-height:1.75;color:#33423e;margin:0 0 16px}
.st-entry{position:relative;margin:0 0 18px;overflow:hidden}
.st-entry img{width:100%;height:clamp(360px,56vw,660px);object-fit:cover;display:block}
.st-entry figcaption{position:absolute;left:0;bottom:0;max-width:560px;padding:28px 30px;background:rgba(10,36,32,.86);color:#fff}
.st-entry figcaption span,.st-pair figcaption span{font-size:11px;letter-spacing:.16em;font-weight:600;color:#eacb85}
.st-entry figcaption strong{display:block;font-family:var(--display);font-weight:400;font-size:32px;margin:6px 0}
.st-entry figcaption p{margin:0;font-size:15px;line-height:1.6;color:#eef0ea}
.st-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:64px}
.st-pair figure{margin:0;background:#fff;box-shadow:0 14px 30px rgba(8,29,27,.09)}
.st-pair img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.st-pair figcaption{padding:20px 22px 24px}
.st-pair figcaption span{color:#0f5e56}
.st-pair figcaption strong{display:block;font-family:var(--display);font-weight:400;font-size:27px;margin:6px 0;color:#1d2d29}
.st-pair figcaption p{margin:0;font-size:15px;line-height:1.6;color:#33423e}
.st-video{position:relative;height:clamp(380px,50vw,600px);overflow:hidden;display:flex;align-items:end;margin-bottom:18px;color:#fff}
.st-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.st-video>div{position:relative;padding:40px;max-width:560px;background:linear-gradient(90deg,rgba(6,32,28,.7),transparent)}
.st-video h3{font-family:var(--display);font-weight:400;font-size:clamp(34px,3.6vw,50px);margin:6px 0 8px;color:#fff}
.st-video p{margin:0;color:#f2f2e8}
.st-gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:260px 260px;gap:14px;margin-bottom:64px}
.st-gallery figure{position:relative;margin:0;overflow:hidden;background:#143b35}
.st-gallery .st-g-tall{grid-row:1/3}
.st-gallery img,.st-gallery video{width:100%;height:100%;object-fit:cover;display:block}
.st-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 12px;background:linear-gradient(transparent,rgba(8,26,23,.8));color:#fff;font-size:14px;font-weight:500}
.st-menu{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:26px;align-items:start;margin-bottom:40px}
.st-menu h3{font-family:var(--display);font-weight:400;font-size:34px;line-height:1.1;margin:6px 0 0}
.st-menu article{border-top:2px solid #eacb85;padding-top:14px}
.st-menu h4{font-size:19px;margin:0 0 6px}
.st-menu p{margin:0;font-size:15px;line-height:1.6;color:#33423e}
@media(max-width:900px){.st-lead,.st-pair,.st-menu{grid-template-columns:1fr;gap:20px}.st-gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto}.st-gallery .st-g-tall{grid-column:1/-1;grid-row:auto;aspect-ratio:16/10}.st-gallery figure{aspect-ratio:4/3}.st-entry figcaption{position:static;max-width:none}.st-video>div{padding:24px}}
.st-pair figure img,.ss-grid figure img{height:auto!important;aspect-ratio:3/2!important}
.st-video::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,32,28,.78),rgba(6,32,28,.1) 60%),linear-gradient(90deg,rgba(6,32,28,.55),transparent 60%)}
.st-video>div{z-index:1;background:none}
.future-strip figure img{height:300px!important}@media(max-width:900px){.future-strip figure img{height:240px!important}}
.sl-estate img{height:clamp(380px,58vw,700px)!important}
.sl-points{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:30px 0 80px}
.sl-points article{border-top:2px solid #eacb85;padding-top:14px}
.sl-points h4{font-size:21px;margin:0 0 6px}
.sl-points p{margin:0;font-size:15px;line-height:1.6;color:#33423e}
.sl-head{margin-bottom:36px}
.sl-head h2{font-size:clamp(38px,4vw,58px);line-height:1.05;margin:8px 0 0}
.sl-head h2 em{color:#0f5e56}
.sl-disc{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:center;margin-bottom:56px}
.sl-disc.rev figure{order:2}
.sl-disc figure{position:relative;margin:0;overflow:hidden;box-shadow:0 16px 36px rgba(8,29,27,.12)}
.sl-disc figure img{width:100%;height:auto!important;aspect-ratio:3/2!important;object-fit:cover;display:block;transition:transform .9s ease}
.sl-disc figure:hover img{transform:scale(1.03)}
.sl-tag{position:absolute;top:14px;left:14px;background:rgba(10,36,32,.82);color:#eacb85;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px}
.sl-disc h3{font-family:var(--display);font-weight:400;font-size:clamp(30px,3vw,42px);line-height:1.08;margin:8px 0 12px;color:#1d2d29}
.sl-disc p:last-child{font-size:16.5px;line-height:1.75;color:#33423e;margin:0}
.sl-today{display:flex;justify-content:space-between;align-items:center;gap:30px;background:#143b35;color:#fff;padding:40px 44px;margin:30px 0 26px}
.sl-today h3{font-family:var(--display);font-weight:400;font-size:32px;margin:6px 0 8px;color:#fff}
.sl-today p{margin:0;color:#e4e8e2;max-width:560px}
@media(max-width:900px){.sl-points,.sl-disc{grid-template-columns:1fr;gap:18px}.sl-disc.rev figure{order:0}.sl-today{flex-direction:column;align-items:flex-start;padding:28px}.sl-points{margin-bottom:56px}}
.rv-inspo{margin:-24px 0 64px}
.rv-inspo-head{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px;align-items:end;margin-bottom:20px}
.rv-inspo-head .eyebrow{grid-column:1/-1;margin:0}
.rv-inspo-head h3{font-family:var(--display);font-weight:400;font-size:clamp(28px,2.8vw,40px);line-height:1.1;margin:0;color:#1d2d29}
.rv-inspo-head p:last-child{margin:0;font-size:15.5px;line-height:1.65;color:#33423e}
.rv-inspo-grid{display:grid;grid-template-columns:.8fr 1fr 1fr;grid-template-rows:230px 230px;gap:14px}
.rv-inspo-grid figure{margin:0;overflow:hidden;background:#e9e6de}
.rv-inspo-grid .ri-tall{grid-row:1/3}
.rv-inspo-grid .ri-wide{grid-column:2/4}
.rv-inspo-grid img{width:100%;height:100%!important;object-fit:cover;display:block}
.rv-inspo-note{font-size:13px;color:#5d6b67;margin:12px 0 0}
@media(max-width:900px){.rv-inspo-head{grid-template-columns:1fr}.rv-inspo-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.rv-inspo-grid .ri-tall{grid-row:auto;grid-column:1/-1;aspect-ratio:4/5}.rv-inspo-grid .ri-wide{grid-column:1/-1;aspect-ratio:2/1}.rv-inspo-grid figure{aspect-ratio:4/3}.rv-inspo{margin:-20px 0 48px}}
.rv-inspo-grid .ri-wide img{object-position:center 60%}
/* golf course pages */
.page-hero-golf{min-height:clamp(540px,76vh,800px);background:#0e2a25}
.golf-show{position:absolute;inset:0;overflow:hidden}
.gs-slide{position:absolute;inset:0;margin:0;opacity:0;animation:gsShow var(--dur) linear infinite;animation-delay:calc(var(--i) * var(--step))}
.gs-3{--dur:21s;--step:7s}.gs-4{--dur:28s;--step:7s}
.gs-slide img{width:100%;height:100%;object-fit:cover;transform-origin:60% 50%;animation:gsZoom var(--dur) linear infinite;animation-delay:calc(var(--i) * var(--step))}
.gs-3 .gs-slide{animation-name:gsShow3}.gs-3 .gs-slide img{animation-name:gsZoom3}
.gs-4 .gs-slide{animation-name:gsShow4}.gs-4 .gs-slide img{animation-name:gsZoom4}
@keyframes gsShow3{0%{opacity:0}5%{opacity:1}33.3%{opacity:1}39%{opacity:0}100%{opacity:0}}
@keyframes gsZoom3{0%{transform:scale(1.02) translateX(0)}39%{transform:scale(1.16) translateX(-2%)}100%{transform:scale(1.16) translateX(-2%)}}
@keyframes gsShow4{0%{opacity:0}4%{opacity:1}25%{opacity:1}29%{opacity:0}100%{opacity:0}}
@keyframes gsZoom4{0%{transform:scale(1.02) translateX(0)}29%{transform:scale(1.16) translateX(-2%)}100%{transform:scale(1.16) translateX(-2%)}}
.gs-slide figcaption{position:absolute;right:24px;bottom:22px;z-index:3;color:#fff;font-size:12px;letter-spacing:.14em;text-transform:uppercase;background:rgba(8,26,23,.55);padding:7px 12px}
.gs-credit{position:absolute;top:96px;right:24px;z-index:3;color:#eacb85;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.page-hero-golf .page-hero-shade{background:linear-gradient(90deg,rgba(6,32,28,.72),rgba(6,32,28,.08) 65%),linear-gradient(0deg,rgba(6,32,28,.5),transparent 55%);z-index:2}
.page-hero-golf .page-hero-copy{z-index:3}
@media(prefers-reduced-motion:reduce){.gs-slide,.gs-slide img{animation:none!important}.gs-slide:first-child{opacity:1}}
.gc-facts{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #d9d4c7;border-bottom:1px solid #d9d4c7;margin:0 0 40px}
.gc-facts div{padding:22px 18px;border-left:1px solid #e3ded2}.gc-facts div:first-child{border-left:0}
.gc-facts b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(28px,2.6vw,40px);color:#143b35;line-height:1}
.gc-facts span{display:block;margin-top:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#5d6b67}
.gc-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:240px;gap:14px;margin-bottom:64px}
.gc-gallery figure{position:relative;margin:0;overflow:hidden;background:#143b35}
.gc-gallery .gc-big{grid-column:span 2;grid-row:span 2}
.gc-n4 .gc-big{grid-row:span 2}
.gc-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s ease}
.gc-gallery figure:hover img{transform:scale(1.04)}
.gc-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 12px;background:linear-gradient(transparent,rgba(8,26,23,.82));color:#fff;font-size:14px;font-weight:500}
.gc-play{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;margin-bottom:56px;align-items:start}
.gc-tees h3,.gc-next h3{font-family:var(--display);font-weight:400;font-size:clamp(30px,3vw,42px);margin:8px 0 18px;color:#1d2d29}
.gc-tees table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.gc-tees th,.gc-tees td{padding:12px 4px;border-bottom:1px solid #e3ded2;text-align:left;font-size:16px}
.gc-tees thead th{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#5d6b67}
.gc-tees td{text-align:right;font-weight:600}
.gc-tees thead th:last-child{text-align:right}
.tee{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:10px;vertical-align:-1px;border:1px solid rgba(0,0,0,.25)}
.tee-black{background:#1b1b1b}.tee-blue{background:#1d5fa8}.tee-white{background:#fff}.tee-gold{background:#d6a726}.tee-silver{background:#b8bcc0}.tee-emerald{background:#1f8a5b}
.gc-small{font-size:13px;color:#5d6b67;margin:12px 0 0}
.gc-notes{display:grid;gap:22px;padding-top:34px}
.gc-notes article{border-top:2px solid #eacb85;padding-top:14px}
.gc-notes h4{font-size:20px;margin:0 0 6px}
.gc-notes p{margin:0;font-size:15.5px;line-height:1.65;color:#33423e}
.gc-club{display:grid;grid-template-columns:150px 1.3fr 1fr;gap:32px;align-items:center;background:#fff;padding:32px;box-shadow:0 16px 34px rgba(8,29,27,.08);margin-bottom:56px}
.gc-club-logo img{width:150px;height:150px;object-fit:contain}
.gc-club-main h3{font-family:var(--display);font-weight:400;font-size:32px;margin:6px 0}
.gc-club-main h3 a{color:#143b35;text-decoration:none}
.gc-club-main p{margin:0 0 10px;font-size:15px;line-height:1.6;color:#33423e}
.gc-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:12px}
.gc-links a{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#0f5e56;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.gc-club-dine{border-left:1px solid #e3ded2;padding-left:30px}
.gc-club-dine img{width:100%;height:140px;object-fit:cover;margin-bottom:12px}
.gc-club-dine span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#0f5e56;font-weight:600}
.gc-club-dine h4{font-family:var(--display);font-weight:400;font-size:24px;margin:4px 0 6px}
.gc-club-dine p{margin:0;font-size:14.5px;line-height:1.6;color:#33423e}
.gc-next{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;margin-bottom:34px}
.gc-homes{display:flex;flex-direction:column;gap:10px}
.gc-homes a{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #d9d4c7;color:#1d2d29;text-decoration:none;font-size:17px}
.gc-homes a:hover{color:#0f5e56}
.gc-other{position:relative;display:block;height:280px;overflow:hidden;color:#fff;text-decoration:none}
.gc-other img{width:100%;height:100%;object-fit:cover;transition:transform .9s}
.gc-other:hover img{transform:scale(1.05)}
.gc-other::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(8,26,23,.85))}
.gc-other span,.gc-other strong{position:absolute;left:24px;z-index:1}
.gc-other span{bottom:62px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#eacb85}
.gc-other strong{bottom:22px;font-family:var(--display);font-weight:400;font-size:32px}
.gc-choose{padding-bottom:0}
.gc-choose h2{font-size:clamp(34px,3.6vw,50px);margin:8px 0 26px}
.gc-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.gc-choice{background:#fff;box-shadow:0 14px 30px rgba(8,29,27,.08)}
.gc-choice-img{position:relative;display:block;height:280px;overflow:hidden}
.gc-choice-img img:first-child{width:100%;height:100%;object-fit:cover;transition:transform .9s}
.gc-choice:hover .gc-choice-img img:first-child{transform:scale(1.04)}
.gc-choice-logo{position:absolute;left:18px;bottom:18px;width:84px;height:84px;object-fit:contain;background:#fff;padding:6px;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.gc-choice>div{padding:22px 24px 26px}
.gc-choice h3{font-family:var(--display);font-weight:400;font-size:30px;margin:6px 0 8px}
.gc-choice h3 a{color:#143b35;text-decoration:none}
.gc-choice p{margin:0;font-size:15.5px;line-height:1.6;color:#33423e}
@media(max-width:900px){.gc-facts{grid-template-columns:repeat(2,1fr)}.gc-facts div{border-left:0;border-top:1px solid #e3ded2}.gc-facts div:last-child{grid-column:1/-1}.gc-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.gc-play,.gc-next,.gc-choice-grid{grid-template-columns:1fr;gap:26px}.gc-club{grid-template-columns:1fr;padding:24px}.gc-club-dine{border-left:0;padding-left:0;border-top:1px solid #e3ded2;padding-top:20px}.gs-credit{top:84px;right:16px}.gs-slide figcaption{right:12px;bottom:12px;font-size:10px}}
.future-links{display:flex;flex-wrap:wrap;gap:12px 28px}
.rv-sport-link{display:grid;grid-template-columns:auto 1fr auto;gap:6px 24px;align-items:center;margin-top:16px;padding:20px 26px;background:#143b35;color:#fff;text-decoration:none;transition:background .3s}
.rv-sport-link:hover{background:#0f5e56}
.rv-sport-link span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#eacb85}
.rv-sport-link strong{font-family:var(--display);font-weight:400;font-size:22px}
.rv-sport-link b{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#eacb85}
@media(max-width:900px){.rv-sport-link{grid-template-columns:1fr}}
/* Expanded POA amenities */
.pa-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));border-top:1px solid #d9d4c7;border-bottom:1px solid #d9d4c7;margin:0 0 48px}
.pa-stats div{padding:22px 18px;border-left:1px solid #e3ded2}.pa-stats div:first-child{border-left:0}
.pa-stats b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(28px,2.6vw,40px);color:#143b35;line-height:1}
.pa-stats span{display:block;margin-top:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#5d6b67}
.pa-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:72px}
.pa-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:420px;padding:26px;color:#fff;text-decoration:none;overflow:hidden;background:#143b35}
.pa-tile img{position:absolute;inset:0;width:100%;height:100% !important;object-fit:cover;transition:transform 1.2s ease}
.pa-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,26,23,.05) 25%,rgba(8,26,23,.88))}
.pa-tile>*:not(img){position:relative;z-index:1}
.pa-tile:hover img{transform:scale(1.06)}
.pa-tile span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#eacb85}
.pa-tile h3{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.3vw,34px);margin:8px 0 8px;line-height:1.1;color:#fff}
.pa-tile p{font-size:15px;line-height:1.55;margin:0 0 14px;color:rgba(255,255,255,.88)}
.pa-tile b{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#eacb85}
.pa-split{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:center;margin-bottom:72px}
.pa-split-rev{grid-template-columns:1.2fr 1fr}
.pa-split figure,.pa-wide,.pa-social figure,.pa-events figure{margin:0;position:relative}
.pa-split figure img{width:100%;height:auto !important;aspect-ratio:16/9;object-fit:cover;display:block}
.pa-split figcaption,.pa-wide figcaption,.pa-events figcaption,.pa-mosaic figcaption{font-size:13px;color:#5d6b67;margin-top:10px}
.pa-split h3,.pa-day h3,.pa-social h3,.pa-chapter-head h3,.pa-duo h3,.pa-venue h3{font-family:var(--display);font-weight:400;font-size:clamp(30px,3vw,44px);line-height:1.08;margin:10px 0 16px;color:#1d2d29}
.pa-split p,.pa-social p,.pa-chapter-head p,.pa-duo p,.pa-venue p{font-size:16px;line-height:1.72;color:#33423e}
.pa-dining-band{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;background:#143b35;color:#fff;padding:56px;margin-bottom:72px}
.pa-dining-band h3{font-family:var(--display);font-weight:400;font-size:clamp(34px,3.4vw,50px);margin:10px 0 14px;color:#fff}.pa-dining-band h3 em{color:#eacb85}
.pa-dining-band p{color:rgba(255,255,255,.86);line-height:1.7;margin:0 0 24px}
.pa-logos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pa-logos img,.pa-logos span{background:#fff;height:120px !important;width:100%;object-fit:contain;padding:18px;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:22px;color:#143b35;text-align:center}
.pa-day{display:grid;grid-template-columns:1fr 1.6fr;gap:56px;margin-bottom:72px}
.pa-day p{color:#5d6b67;line-height:1.6}
.pa-day ol{list-style:none;margin:0;padding:0;border-left:2px solid #d9c38f}
.pa-day li{display:grid;grid-template-columns:80px 1fr;gap:18px;padding:0 0 22px 24px;position:relative}
.pa-day li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:#0f5e56}
.pa-day time{font-family:var(--display);font-size:24px;color:#0f5e56;font-variant-numeric:tabular-nums}
.pa-day strong{display:block;font-size:17px;color:#1d2d29}.pa-day li p{margin:4px 0 0;font-size:15px}
.pa-social{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:center;margin-bottom:56px}
.pa-social img,.pa-events img{width:100%;height:auto !important;aspect-ratio:4/3;object-fit:cover;display:block}
.pa-chapter{margin-bottom:80px;scroll-margin-top:110px}
.pa-chapter-head{max-width:760px;margin-bottom:28px}
.pa-mosaic{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:14px}
.pa-mosaic figure{margin:0;position:relative;overflow:hidden;background:#143b35}
.pa-mosaic img{width:100%;height:100% !important;object-fit:cover;display:block;transition:transform .9s ease}
.pa-mosaic figure:hover img{transform:scale(1.04)}
.pa-mosaic figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:34px 16px 12px;background:linear-gradient(transparent,rgba(8,26,23,.82));color:#fff;font-size:14px;font-weight:500}
.pa-mosaic .pm-a{grid-column:span 2;grid-row:span 2}
.pa-m-pools .pm-w{grid-column:span 3}
.pa-classes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pa-classes article{background:#fff;padding:22px;box-shadow:0 10px 26px rgba(8,29,27,.06);border-top:3px solid #d9c38f}
.pa-classes h4{font-family:var(--display);font-weight:400;font-size:22px;margin:0 0 8px;color:#143b35}.pa-classes p{margin:0;font-size:15px;line-height:1.55}
.pa-info{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-bottom:56px;align-items:start}
.pa-links-card,.pa-events{background:#fff;padding:32px;box-shadow:0 16px 34px rgba(8,29,27,.08)}
.pa-links-card h4,.pa-events h4{font-family:var(--display);font-weight:400;font-size:28px;margin:0 0 16px;color:#1d2d29}
.pa-links-card a{display:block;padding:14px 0;border-bottom:1px solid #e3ded2;color:#0f5e56;font-weight:600;text-decoration:none}
.pa-events p{line-height:1.7;color:#33423e}
.pa-wide{margin-bottom:56px}.pa-wide img{width:100%;height:auto !important;aspect-ratio:1280/353;object-fit:cover;display:block}
.pa-wide-tall img{aspect-ratio:16/8 !important}
.pa-duo{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:56px}
.pa-duo article{background:#fff;box-shadow:0 16px 34px rgba(8,29,27,.08)}
.pa-duo figure{margin:0}.pa-duo img{width:100%;height:auto !important;aspect-ratio:3/2;object-fit:cover;display:block}
.pa-duo article>div{padding:30px}.pa-duo ul,.pa-venue ul{margin:0;padding-left:18px;line-height:1.9;color:#33423e}
.pa-mini{width:100%;border-collapse:collapse;margin-top:6px}.pa-mini th,.pa-mini td{padding:10px 2px;border-bottom:1px solid #e3ded2;text-align:left;font-size:15px}.pa-mini td{text-align:right;font-weight:600}
.pa-jump{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.pa-jump a{padding:10px 18px;border:1px solid #c9c2b2;color:#143b35;text-decoration:none;font-weight:600;font-size:14px}.pa-jump a:hover{background:#143b35;color:#fff}
.pa-venues{display:grid;gap:40px;margin-bottom:64px}
.pa-venue{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;scroll-margin-top:110px}
.pa-venue:nth-child(even) figure{order:2}
.pa-venue figure{margin:0;position:relative}
.pa-venue figure>img:first-child{width:100%;height:auto !important;aspect-ratio:4/3;object-fit:cover;display:block}
.pa-venue-logo,.pa-venue-word{position:absolute;left:20px;bottom:20px;background:#fff;height:78px !important;width:auto !important;max-width:210px;object-fit:contain;padding:10px 14px;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.pa-venue-word{display:flex;align-items:center;font-family:var(--display);font-size:20px;color:#143b35;height:auto !important;padding:14px 18px}
.pa-venue .gc-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:18px}
.pa-venue .gc-links a{color:#0f5e56;font-weight:700;text-decoration:none;font-size:14px;letter-spacing:.04em}
.pa-next{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:40px}
.pa-next a{padding:14px 22px;background:#143b35;color:#fff;text-decoration:none;font-weight:600;font-size:14px}.pa-next a:hover{background:#0f5e56}
@media(max-width:900px){.pa-tiles,.pa-classes{grid-template-columns:1fr}.pa-tile{min-height:320px}.pa-split,.pa-split-rev,.pa-dining-band,.pa-day,.pa-social,.pa-info,.pa-duo,.pa-venue{grid-template-columns:1fr;gap:26px}.pa-venue:nth-child(even) figure{order:0}.pa-dining-band{padding:32px 24px}.pa-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.pa-mosaic .pm-a,.pa-m-pools .pm-w{grid-column:span 2}.pa-mosaic .pm-a{grid-row:span 1}.pa-stats{grid-template-columns:1fr 1fr}.pa-stats div{border-left:0;border-top:1px solid #e3ded2}.pa-day li{grid-template-columns:64px 1fr}.pa-logos img,.pa-logos span{height:90px !important}}
.poa-home-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}
.poa-home-tiles a{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:260px;padding:20px;color:#fff;text-decoration:none;overflow:hidden;background:#143b35}
.poa-home-tiles img{position:absolute;inset:0;width:100%;height:100% !important;object-fit:cover;transition:transform 1s ease}
.poa-home-tiles a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(8,26,23,.88))}
.poa-home-tiles a:hover img{transform:scale(1.06)}
.poa-home-tiles span,.poa-home-tiles strong{position:relative;z-index:1}
.poa-home-tiles span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#eacb85}
.poa-home-tiles strong{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.2;margin-top:6px}
@media(max-width:900px){.poa-home-tiles{grid-template-columns:1fr 1fr}.poa-home-tiles a{min-height:190px}}
.mirror-stay,.cottage-resort{margin:80px 0 70px;scroll-margin-top:110px}
.cottage-resort{margin:0 0 80px}
.mirror-head{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:34px}
.mirror-head .eyebrow{grid-column:1/-1;margin:0}
.mirror-head h2{font-size:clamp(44px,4.6vw,68px);line-height:1.02;margin:0}.mirror-head h2 em{color:#0f5e56}
.mirror-head>p:last-child{font-size:17px;line-height:1.75;color:#33423e;margin:0}
.mirror-main{margin:0 0 18px}.mirror-main img{width:100%;height:auto !important;aspect-ratio:16/9;object-fit:cover;display:block}
.mirror-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}
.mirror-pair figure{margin:0}.mirror-pair img{width:100%;height:auto !important;aspect-ratio:16/10;object-fit:cover;display:block}
.mirror-main figcaption,.mirror-pair figcaption{font-size:13px;color:#5d6b67;margin-top:10px}
.event-stay-grid img{height:auto !important;aspect-ratio:16/10}
.destination-card.dest-wide{grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr;align-items:center}
.destination-card.dest-wide img{height:100%;min-height:340px}
@media(max-width:900px){.mirror-head,.mirror-pair{grid-template-columns:1fr;gap:20px}.destination-card.dest-wide{grid-template-columns:1fr}.destination-card.dest-wide img{min-height:220px}}

/* Homepage restaurants & coffee logo tiles */
.home-dine-logos{margin-top:44px}
.hdl-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:16px}
.hdl-head p:last-child{max-width:460px;margin:0;font-size:15px;color:var(--muted,#5e6a63)}
.hdl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.hdl-tile{display:flex;flex-direction:column;gap:4px;padding:14px;background:#fff;border:1px solid #e3e5dd;color:inherit;text-decoration:none;transition:border-color .2s,transform .2s}
.hdl-tile:hover{border-color:#709278;transform:translateY(-2px)}
.hdl-img{display:flex;align-items:center;justify-content:center;height:92px;margin-bottom:8px}
.hdl-img img{max-height:84px !important;max-width:78%;width:auto;height:auto !important;object-fit:contain}
.hdl-tile strong{font-family:var(--display);font-weight:400;font-size:18px;line-height:1.2}
.hdl-tile small{font-size:12px;letter-spacing:.06em;color:#5e6a63}
.hdl-all{justify-content:center;background:#143b35;border-color:#143b35;color:#fff}
.hdl-all small{color:#eacb85}
@media(max-width:900px){.hdl-grid{grid-template-columns:1fr 1fr}.hdl-head{flex-direction:column;align-items:start}.hdl-img{height:72px}.hdl-img img{max-height:64px !important}}
.home-dine-logos .hdl-tile:not(.hdl-all),.home-dine-logos .hdl-tile:not(.hdl-all) strong{color:#1c2b25}
.home-dine-logos .hdl-head p:last-child{color:rgba(255,255,255,.78)}
.hdl-grid,.hdl-tile{min-width:0}.hdl-tile strong{overflow-wrap:anywhere}
@media(max-width:900px){.home-finder-inner{grid-template-columns:minmax(0,1fr)}.home-finder-copy,.home-finder-box{min-width:0}}
.sl-points.amph-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.sl-points.amph-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.sl-points.amph-facts{grid-template-columns:minmax(0,1fr)}}
/* Prominent Savannah Lakes Village Real Estate identity */
html{scroll-padding-top:124px}
.header{height:112px}
.header .brand{gap:16px;font-size:21px;letter-spacing:.14em}
.header .brand img{width:104px;height:92px}
.header .brand small{margin-top:8px;font-size:11.5px;letter-spacing:.26em}
.footer .brand{gap:16px;font-size:20px;letter-spacing:.14em}
.footer .brand img{width:96px;height:80px}
.footer .brand small{margin-top:8px;font-size:11px;letter-spacing:.26em}
@media(max-width:1280px){.header .brand{font-size:18px;gap:13px}.header .brand img{width:88px;height:78px}.header .brand small{font-size:10px;letter-spacing:.22em}}
@media(max-width:820px){.header{height:88px}.header .brand{font-size:16px;letter-spacing:.12em;gap:11px}.header .brand img{width:72px;height:64px}.header .brand small{font-size:9.5px;letter-spacing:.18em;margin-top:6px}html{scroll-padding-top:100px}}
@media(max-width:600px){.header .brand{font-size:14.5px;letter-spacing:.1em;gap:10px}.header .brand img{width:62px;height:56px}.header .brand small{font-size:8.5px;letter-spacing:.14em}.footer .brand{font-size:17px}.footer .brand img{width:78px;height:66px}.footer .brand small{font-size:9.5px;letter-spacing:.2em}}
@media(max-width:380px){.header .brand{font-size:13px}.header .brand img{width:54px;height:48px}.header .brand small{font-size:7.8px;letter-spacing:.12em}}
.hero-lockup{display:flex;align-items:center;gap:22px;margin:0 0 34px;color:#fff}
.hero-lockup img{width:128px;height:auto;flex:none;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
.hero-lockup strong{display:block;font-family:var(--sans);font-size:clamp(26px,2.6vw,38px);font-weight:700;letter-spacing:.16em;line-height:1;text-shadow:0 2px 14px rgba(0,0,0,.4)}
.hero-lockup span{display:block;margin-top:10px;font-size:clamp(12px,1.05vw,15px);font-weight:700;letter-spacing:.34em;color:#efd9a8;text-shadow:0 2px 10px rgba(0,0,0,.4)}
@media(max-width:600px){.hero-lockup{gap:14px;margin-bottom:24px}.hero-lockup img{width:78px}.hero-lockup strong{font-size:21px;letter-spacing:.12em}.hero-lockup span{font-size:10.5px;letter-spacing:.24em;margin-top:7px}}
.hero-content:has(.hero-lockup){padding-top:clamp(36px,6vh,72px)}
.hero-content:has(.hero-lockup) .hero-lockup{margin-bottom:26px}
@media(max-height:760px) and (min-width:821px){.hero-lockup img{width:96px}.hero-lockup strong{font-size:28px}}
@media(min-width:601px){.hero:has(.hero-lockup){height:auto;min-height:max(640px,calc(100svh - 145px));max-height:none}.hero-content:has(.hero-lockup){padding-bottom:110px}}
/* Larger identity on mobile */
@media(max-width:600px){
  .header{height:96px}
  .header .header-search{display:none}
  .header .brand{font-size:17px;letter-spacing:.1em;gap:12px}
  .header .brand img{width:78px;height:70px}
  .header .brand small{font-size:10px;letter-spacing:.16em;margin-top:7px}
  html{scroll-padding-top:108px}
  .hero-lockup{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:26px}
  .hero-lockup img{width:112px}
  .hero-lockup strong{font-size:29px;letter-spacing:.12em}
  .hero-lockup span{font-size:13px;letter-spacing:.26em;margin-top:9px}
  .footer .brand{font-size:19px}
  .footer .brand img{width:92px;height:78px}
  .footer .brand small{font-size:10.5px}
}
@media(max-width:380px){
  .header .brand{font-size:15px;gap:10px}
  .header .brand img{width:68px;height:61px}
  .header .brand small{font-size:8.8px;letter-spacing:.13em}
  .hero-lockup strong{font-size:25px}
}
.page-hero-copy .hero-lockup{margin-bottom:28px}
/* Bold "Village Real Estate" line */
.brand small,.hero-lockup span{font-weight:800}
.header .brand small{font-size:12.5px;letter-spacing:.22em}
.footer .brand small{font-size:12px;letter-spacing:.22em}
.hero-lockup span{font-size:clamp(14px,1.2vw,17px);letter-spacing:.3em}
@media(max-width:1280px){.header .brand small{font-size:11px;letter-spacing:.2em}}
@media(max-width:820px){.header .brand small{font-size:10.5px;letter-spacing:.16em}}
@media(max-width:600px){.header .brand small{font-size:10.5px;letter-spacing:.13em}.footer .brand small{font-size:11px;letter-spacing:.18em}.hero-lockup span{font-size:14px;letter-spacing:.22em}}
@media(max-width:380px){.header .brand small{font-size:9.3px;letter-spacing:.1em}}
/* Hero lockup on every page hero */
.page-hero-copy .hero-lockup img{width:112px}
.page-hero-copy .hero-lockup strong{font-size:clamp(24px,2.3vw,34px)}
@media(max-width:600px){
  .page-hero-copy .hero-lockup img{width:100px}
  .page-hero-copy .hero-lockup strong{font-size:26px}
  .page-hero-copy .hero-lockup span{font-size:13px}
  .page-hero-copy .hero-lockup-xl img{width:148px}
  .page-hero-copy .hero-lockup-xl strong{font-size:33px;letter-spacing:.1em}
  .page-hero-copy .hero-lockup-xl span{font-size:15.5px;letter-spacing:.2em;margin-top:10px}
  .page-hero-copy{padding-top:56px}
  /* Footer identity on mobile */
  .footer .brand{flex-direction:column;align-items:flex-start;gap:14px;font-size:26px;letter-spacing:.12em;white-space:normal}
  .footer .brand img{width:132px;height:auto}
  .footer .brand small{font-size:14px;letter-spacing:.2em;margin-top:9px}
}
@media(max-width:380px){
  .page-hero-copy .hero-lockup-xl img{width:132px}
  .page-hero-copy .hero-lockup-xl strong{font-size:29px}
  .page-hero-copy .hero-lockup-xl span{font-size:14px}
  .footer .brand{font-size:23px}
}
.float-cottages{margin-top:18px}
/* Logo v4: larger, all bold */
.brand,.brand span,.hero-lockup strong{font-weight:800}
.brand small,.hero-lockup span{font-weight:800}
.header{height:132px}
html{scroll-padding-top:144px}
.header .brand{gap:18px;font-size:27px;letter-spacing:.1em}
.header .brand img{width:128px;height:112px}
.header .brand small{font-size:14.5px;letter-spacing:.2em;margin-top:9px}
.footer .brand{font-size:26px;letter-spacing:.1em;gap:18px}
.footer .brand img{width:124px;height:104px}
.footer .brand small{font-size:14px;letter-spacing:.2em}
.hero-lockup img{width:156px}
.hero-lockup strong{font-size:clamp(32px,3.2vw,48px);letter-spacing:.12em}
.hero-lockup span{font-size:clamp(15px,1.4vw,20px);letter-spacing:.26em;margin-top:12px}
.page-hero-copy .hero-lockup img{width:136px}
.page-hero-copy .hero-lockup strong{font-size:clamp(28px,2.8vw,42px)}
.page-hero-copy .hero-lockup span{font-size:clamp(14px,1.25vw,18px)}
@media(max-width:1440px){.header .brand{font-size:24px;gap:15px}.header .brand img{width:116px;height:102px}.header .brand small{font-size:13px;letter-spacing:.18em}}
@media(max-width:1366px){.header{height:116px}.header .brand{font-size:26px;gap:16px}.header .brand img{width:116px;height:102px}.header .brand small{font-size:14px;letter-spacing:.2em}html{scroll-padding-top:128px}}
@media(max-width:820px){.header{height:104px}.header .brand{font-size:22px;gap:14px}.header .brand img{width:96px;height:86px}.header .brand small{font-size:12px;letter-spacing:.17em}}
@media(max-width:600px){.header{height:104px}.header .brand{font-size:19px;letter-spacing:.06em;gap:10px}.header .brand img{width:92px;height:82px}.header .brand small{font-size:11px;letter-spacing:.1em;margin-top:7px}html{scroll-padding-top:116px}
  .hero-lockup img,.page-hero-copy .hero-lockup img{width:128px}.hero-lockup strong,.page-hero-copy .hero-lockup strong{font-size:31px;letter-spacing:.08em}.hero-lockup span,.page-hero-copy .hero-lockup span{font-size:14.5px;letter-spacing:.18em}
  .page-hero-copy .hero-lockup-xl img{width:160px}.page-hero-copy .hero-lockup-xl strong{font-size:35px}.page-hero-copy .hero-lockup-xl span{font-size:16px}
  .footer .brand{font-size:29px;letter-spacing:.08em}.footer .brand img{width:150px;height:auto}.footer .brand small{font-size:15px;letter-spacing:.16em}}
@media(max-width:380px){.header .brand{font-size:16.5px;gap:8px;letter-spacing:.05em}.header .brand img{width:80px;height:72px}.header .brand small{font-size:9.6px;letter-spacing:.08em}
  .hero-lockup strong,.page-hero-copy .hero-lockup strong{font-size:27px}.page-hero-copy .hero-lockup-xl strong{font-size:30px}.footer .brand{font-size:25px}}
/* Logo v5: larger on phones, name stacked */
@media(max-width:600px){
  .header{height:124px}
  html{scroll-padding-top:136px}
  .header .brand{gap:12px;font-size:25px;letter-spacing:.08em;white-space:normal}
  .header .brand img{width:108px;height:96px}
  .header .brand span{width:min-content;line-height:1.02}
  .header .brand small{white-space:nowrap;font-size:11.5px;letter-spacing:.12em;margin-top:6px}
  .hero-lockup img,.page-hero-copy .hero-lockup img{width:140px}
  .hero-lockup strong,.page-hero-copy .hero-lockup strong{font-size:34px}
  .hero-lockup span,.page-hero-copy .hero-lockup span{font-size:15.5px}
  .page-hero-copy .hero-lockup-xl img{width:172px}
  .page-hero-copy .hero-lockup-xl strong{font-size:37px}
}
@media(max-width:380px){
  .header .brand{font-size:22px;gap:10px}
  .header .brand img{width:94px;height:84px}
  .header .brand small{font-size:10.2px;letter-spacing:.1em}
  .hero-lockup strong,.page-hero-copy .hero-lockup strong{font-size:30px}
  .page-hero-copy .hero-lockup-xl strong{font-size:32px}
}
@media(max-width:340px){.header{padding:0 14px}.header .brand{font-size:20px;gap:8px}.header .brand img{width:84px;height:75px}.header .brand small{font-size:9.4px}}
/* Logo v6: larger footer, xl heroes on desktop */
.footer .brand{font-size:34px;letter-spacing:.1em;gap:22px;white-space:normal}
.footer .brand img{width:160px;height:auto}
.footer .brand small{font-size:17px;letter-spacing:.2em;margin-top:10px;white-space:nowrap}
.page-hero-copy .hero-lockup-xl img{width:164px}
.page-hero-copy .hero-lockup-xl strong{font-size:clamp(32px,3.4vw,52px)}
.page-hero-copy .hero-lockup-xl span{font-size:clamp(15px,1.5vw,21px)}
@media(max-width:1100px){.footer .brand{font-size:30px}.footer .brand img{width:144px}.footer .brand small{font-size:15px}}
@media(max-width:600px){.footer .brand{flex-direction:column;align-items:flex-start;font-size:36px;letter-spacing:.07em;gap:16px}.footer .brand img{width:184px}.footer .brand small{font-size:17px;letter-spacing:.15em}}
@media(max-width:380px){.footer .brand{font-size:31px}.footer .brand img{width:164px}.footer .brand small{font-size:14.5px;letter-spacing:.13em}}
@media(max-width:340px){.footer .brand{font-size:27px}.footer .brand img{width:148px}.footer .brand small{font-size:12.8px;letter-spacing:.12em}.page-hero-copy .hero-lockup-xl strong,.hero-lockup strong,.page-hero-copy .hero-lockup strong{font-size:27px}.hero-lockup span,.page-hero-copy .hero-lockup span{font-size:13px;letter-spacing:.14em}}
@media(min-width:601px) and (max-width:820px){.header{height:116px}.header .brand{font-size:24px;gap:14px}.header .brand img{width:112px;height:99px}.header .brand small{font-size:12.5px}}
@media(min-width:821px) and (max-width:1366px){.header{height:128px}.header .brand{font-size:28px;gap:18px}.header .brand img{width:124px;height:110px}.header .brand small{font-size:14.5px;letter-spacing:.2em}}
.float-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:18px 0 22px}
.float-trio figure{margin:0}.float-trio img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.float-trio figcaption{font-size:13px;color:#5d6b63;margin-top:8px}

@media(max-width:900px){.float-trio{grid-template-columns:1fr 1fr}.float-trio figure:first-child{grid-column:1/-1}}
@media(max-width:600px){.float-trio{grid-template-columns:1fr}}
.float-trio img{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:3/2!important}
.inquiry-form .check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45;font-weight:400}
.inquiry-form .check input{width:18px;height:18px;flex:0 0 18px;margin-top:2px}
.inquiry-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-status{margin:4px 0 0;font-size:15px;min-height:1px}
.form-status.ok{color:#1d5b3f;font-weight:600}.form-status.err{color:#8a2c2c}
