:root {
  --ink: #031a22;
  --deep: #062831;
  --aqua: #5be0d0;
  --aqua-dark: #0c8f8c;
  --champagne: #d6b979;
  --foam: #f4fbfa;
  --mist: #dce9e7;
  --white: #fff;
  --muted: #63767a;
  --line: rgba(3, 26, 34, .15);
  --section: min(1220px, calc(100% - 56px));
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--foam); color: var(--ink); font-family: var(--sans); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.section { width: var(--section); margin-inline: auto; }
.skip { position: fixed; z-index: 99; top: -80px; left: 18px; padding: 14px 18px; background: #fff; color: var(--ink); }
.skip:focus { top: 16px; }

.topbar { position: absolute; z-index: 20; top: 0; left: 0; right: 0; height: 100px; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 0 max(28px, calc((100vw - 1220px)/2)); color: #fff; border-bottom: 1px solid rgba(255,255,255,.22); }
.brand { display: flex; align-items: center; gap: 13px; }
.brand-number { width: 53px; height: 53px; display: grid; place-items: center; border: 1px solid var(--aqua); color: var(--aqua); font-family: var(--serif); font-size: 1.6rem; font-weight: 700; }
.brand-copy { font-family: var(--serif); font-size: 1.25rem; line-height: .95; font-weight: 600; }
.brand-copy small { display: block; margin-top: 8px; color: rgba(255,255,255,.65); font-family: var(--sans); font-size: .64rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
nav { display: flex; gap: 2.5rem; font-size: .8rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
nav a { color: rgba(255,255,255,.76); }
nav a:hover { color: var(--aqua); }

.btn { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; padding: 0 26px; border: 1px solid transparent; border-radius: 0; cursor: pointer; font-weight: 700; font-size: .83rem; letter-spacing: .025em; transition: transform .25s ease, background .25s ease, color .25s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-small { min-height: 45px; padding: 0 20px; font-size: .73rem; }
.btn-aqua { background: var(--aqua); color: var(--ink); }
.btn-aqua:hover { background: #83eee1; }
.btn-glass { background: rgba(5,29,37,.22); color: #fff; border-color: rgba(255,255,255,.45); backdrop-filter: blur(10px); }
.btn-ink { background: var(--ink); color: #fff; white-space: nowrap; }
.btn-secondary { background: transparent; color: #fff; border-color: rgba(91,224,208,.75); }
.btn-secondary:hover { background: rgba(91,224,208,.1); border-color: var(--aqua); }

.hero { position: relative; height: min(920px, 100vh); min-height: 760px; display: flex; align-items: center; overflow: hidden; color: #fff; background: var(--ink); }
.hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; transform: scale(1.015); }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(1,15,20,.92) 0%, rgba(1,15,20,.58) 45%, rgba(1,15,20,.11) 74%), linear-gradient(0deg, rgba(1,15,20,.6), transparent 52%); }
.hero-content { position: relative; z-index: 2; width: var(--section); margin: 70px auto 0; }
.kicker { margin: 0 0 20px; color: rgba(255,255,255,.8); font-size: .73rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.kicker span, .kicker.dark { color: var(--aqua-dark); }
.hero .kicker span, .inquire .kicker span { color: var(--aqua); }
h1, h2 { margin: 0; font-family: var(--serif); font-weight: 600; letter-spacing: -.045em; }
h1 { max-width: 850px; font-size: clamp(5.3rem, 9.2vw, 9.4rem); line-height: .74; }
h1 em, h2 em { color: var(--aqua); font-weight: 500; }
.hero-lede { max-width: 585px; margin: 36px 0 34px; color: rgba(255,255,255,.82); font-size: 1.12rem; line-height: 1.75; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.offer-card { position: absolute; z-index: 3; right: max(28px, calc((100vw - 1220px)/2)); bottom: 0; width: 470px; padding: 31px 34px 33px; color: var(--ink); background: rgba(244,251,250,.96); box-shadow: 0 28px 80px rgba(0,0,0,.26); }
.offer-card p { margin: 0; color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.offer-card > strong { display: block; margin: 7px 0 19px; font-family: var(--serif); font-size: 3rem; line-height: 1; }
.offer-stats { display: grid; grid-template-columns: repeat(4, auto); gap: 15px; padding-top: 18px; border-top: 1px solid var(--line); }
.offer-stats span { color: var(--muted); font-size: .71rem; }
.offer-stats b { display: block; margin-bottom: 3px; color: var(--ink); font-size: .93rem; }
.hero-compass { position: absolute; z-index: 2; right: 5vw; top: 20%; width: 86px; height: 86px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; color: rgba(255,255,255,.65); font-size: .62rem; }
.hero-compass span { position: absolute; top: 9px; }
.hero-compass b { position: absolute; bottom: 9px; color: var(--aqua); font-size: .62rem; }
.hero-compass i { width: 1px; height: 36px; background: #fff; transform: rotate(28deg); }
.scroll-cue { position: absolute; z-index: 2; bottom: 26px; left: max(28px, calc((100vw - 1220px)/2)); display: flex; align-items: center; gap: 15px; color: rgba(255,255,255,.65); font-size: .66rem; letter-spacing: .15em; text-transform: uppercase; }
.scroll-cue i { width: 70px; height: 1px; background: var(--aqua); }

.captains-brief { min-height: 176px; display: grid; grid-template-columns: .7fr 2.3fr; background: var(--ink); color: #fff; }
.brief-title { display: flex; align-items: center; gap: 20px; padding-left: max(28px, calc((100vw - 1220px)/2)); border-right: 1px solid rgba(255,255,255,.1); }
.brief-title span { color: var(--aqua); font-size: .68rem; }
.brief-title p { font-family: var(--serif); font-size: 1.5rem; }
.brief-facts { display: grid; grid-template-columns: repeat(4, 1fr); padding-right: max(28px, calc((100vw - 1220px)/2)); }
.brief-facts article { display: flex; flex-direction: column; justify-content: center; padding-left: 35px; border-right: 1px solid rgba(255,255,255,.1); }
.brief-facts strong { font-family: var(--serif); color: var(--aqua); font-size: 2.25rem; font-weight: 600; }
.brief-facts span { margin-top: 6px; color: #8ca3a8; font-size: .72rem; }

.statement { display: grid; grid-template-columns: .3fr 1fr .85fr; gap: 70px; padding-block: 130px; }
.statement-index { padding-top: 17px; color: var(--aqua-dark); font-size: .7rem; font-weight: 700; letter-spacing: .15em; }
.statement h2, .residence h2, .pool-feature h2, .lifestyle h2, .gallery h2, .buyer-plan h2, .inquire h2 { font-size: clamp(3.9rem, 6vw, 6.6rem); line-height: .83; }
.statement h2 em { color: var(--aqua-dark); }
.statement-body { padding-top: 42px; }
.statement-body p, .residence-copy > p, .pool-copy p, .buyer-copy > p, .inquire-copy > p { color: var(--muted); font-size: 1rem; line-height: 1.85; }
.line-link { display: inline-flex; align-items: center; gap: 28px; margin-top: 16px; padding-bottom: 7px; border: 0; border-bottom: 1px solid var(--aqua-dark); background: transparent; color: var(--ink); cursor: pointer; font-weight: 700; font-size: .84rem; }
.line-link.light { color: #fff; border-bottom-color: var(--aqua); }

.dock-showcase { width: min(1440px, 100%); margin: 0 auto 0; display: grid; grid-template-columns: 1.55fr .7fr; background: var(--deep); }
.dock-showcase figure { margin: 0; position: relative; overflow: hidden; }
.dock-main { height: 770px; }
.dock-main img, .dock-side figure img { width: 100%; height: 100%; object-fit: cover; }
.dock-main figcaption, .dock-side figcaption { position: absolute; left: 26px; bottom: 22px; padding: 9px 12px; background: rgba(1,15,20,.75); color: #fff; font-size: .69rem; letter-spacing: .08em; text-transform: uppercase; }
.dock-side { display: grid; grid-template-rows: 1fr 1fr; }
.dock-side figure { min-height: 0; }
.dock-note { display: grid; align-content: center; padding: 55px; background: var(--deep); color: #fff; }
.dock-note span { font-family: var(--serif); color: var(--aqua); font-size: 3.1rem; line-height: .85; }
.dock-note p { max-width: 340px; margin-top: 27px; color: #96aaae; line-height: 1.75; }

.property-strip { min-height: 88px; display: flex; align-items: center; justify-content: center; gap: 30px; padding: 20px 30px; background: var(--aqua); color: var(--ink); text-transform: uppercase; letter-spacing: .11em; font-weight: 700; font-size: .7rem; }
.property-strip i { width: 5px; height: 5px; border: 1px solid var(--ink); transform: rotate(45deg); }

.residence { display: grid; grid-template-columns: 1.08fr .92fr; gap: 100px; align-items: center; padding-block: 135px; }
.residence-visual { position: relative; height: 760px; }
.residence-visual > img { width: 100%; height: 100%; object-fit: cover; }
.visual-caption { position: absolute; left: -30px; bottom: 40px; min-width: 330px; padding: 20px 24px; background: var(--ink); color: #fff; }
.visual-caption b, .visual-caption span { display: block; }
.visual-caption b { font-family: var(--serif); color: var(--aqua); font-size: 1.5rem; }
.visual-caption span { margin-top: 5px; color: #98adb1; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.residence-copy > p { margin-block: 30px; }
.residence-copy ul { list-style: none; margin: 0; padding: 0; }
.residence-copy li { display: grid; grid-template-columns: 36px 1fr; gap: 15px; padding: 16px 0; border-top: 1px solid var(--line); font-size: .87rem; line-height: 1.55; }
.residence-copy li span { color: var(--aqua-dark); font-size: .65rem; font-weight: 700; }

.pool-feature { position: relative; min-height: 820px; display: flex; align-items: end; color: #fff; overflow: hidden; }
.pool-feature > img, .inquire-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pool-feature > img { object-position: center 58%; }
.pool-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(1,17,22,.92), rgba(1,17,22,.08) 74%); }
.pool-copy { position: relative; z-index: 2; width: var(--section); margin: 0 auto; padding-bottom: 75px; display: grid; grid-template-columns: .25fr 1fr .7fr; gap: 45px; align-items: end; }
.pool-copy > span { color: var(--aqua); font-family: var(--serif); font-size: 2rem; }
.pool-copy h2 { max-width: 680px; }
.pool-copy p { color: rgba(255,255,255,.72); }

.coastal-intelligence { padding-block: 120px; }
.coastal-intelligence-head { display: grid; grid-template-columns: .72fr 1.45fr .83fr; gap: 55px; align-items: end; }
.coastal-intelligence-head .kicker { align-self: start; padding-top: 14px; }
.coastal-intelligence-head h2 { font-size: clamp(3.5rem, 5.7vw, 6.2rem); line-height: .86; }
.coastal-intelligence-head > p:last-child { margin: 0; color: var(--muted); font-size: 1rem; line-height: 1.8; }
.coastal-intelligence-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 65px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.coastal-intelligence-grid article { min-height: 235px; padding: 28px 25px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.coastal-intelligence-grid article > span { color: var(--aqua-dark); font-size: .67rem; font-weight: 700; letter-spacing: .12em; }
.coastal-intelligence-grid h3 { margin: 38px 0 15px; font-family: var(--serif); font-size: 1.72rem; line-height: 1.05; }
.coastal-intelligence-grid p { margin: 0; color: var(--muted); font-size: .85rem; line-height: 1.65; }
.coastal-intelligence-close { max-width: 920px; margin: 45px 0 0; font-family: var(--serif); font-size: 1.8rem; line-height: 1.35; }
.coastal-intelligence-note { margin: 15px 0 0; color: var(--muted); font-size: .7rem; line-height: 1.65; }

.lifestyle { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; padding-block: 130px; }
.day-plan { border-top: 1px solid var(--line); }
.day-plan article { display: grid; grid-template-columns: 100px 1fr; gap: 25px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.day-plan time { color: var(--aqua-dark); font-family: var(--serif); font-size: 1.65rem; }
.day-plan h3 { margin: 0 0 8px; font-family: var(--serif); font-size: 1.6rem; }
.day-plan p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.65; }

.gallery { padding-block: 120px; background: var(--ink); color: #fff; }
.gallery-head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 48px; }
.gallery .kicker { color: var(--aqua); }
.gallery-grid { height: 780px; display: grid; grid-template-columns: 1.15fr .7fr .7fr; grid-template-rows: 1fr 1fr; gap: 9px; }
.gallery-item { position: relative; padding: 0; border: 0; overflow: hidden; background: #102d34; cursor: pointer; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease, filter .55s ease; }
.gallery-item:hover img { transform: scale(1.035); filter: brightness(.8); }
.gallery-item > span { position: absolute; left: 17px; bottom: 15px; padding: 7px 9px; background: rgba(2,21,27,.76); color: #fff; font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }
.g-one { grid-row: 1 / span 2; }
.g-four, .g-five { grid-column: 3; }
.g-five { grid-row: 2; }
.g-five > span { inset: 0; display: grid; place-items: center; background: rgba(3,26,34,.55); font-family: var(--serif); font-size: 2.1rem; text-transform: none; }

.buyer-plan { display: grid; grid-template-columns: 150px 1fr auto; gap: 45px; align-items: center; padding-block: 100px; }
.buyer-monogram { position: relative; width: 130px; height: 130px; display: grid; place-items: center; border: 1px solid var(--aqua-dark); border-radius: 50%; font-family: var(--serif); font-size: 3.2rem; }
.buyer-monogram span { color: var(--aqua-dark); }
.buyer-plan h2 { font-size: clamp(3.2rem, 5vw, 5.4rem); }
.buyer-copy > p { max-width: 720px; }
.buyer-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.buyer-tags span { padding: 8px 11px; border: 1px solid var(--line); font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.inquire { position: relative; min-height: 920px; display: flex; align-items: center; color: #fff; overflow: hidden; }
.inquire-photo { object-position: center; }
.inquire-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2,20,27,.97), rgba(2,20,27,.77) 52%, rgba(2,20,27,.5)); }
.inquire-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .85fr 1.15fr; gap: 95px; align-items: center; padding-block: 90px; }
.inquire-copy > p { max-width: 500px; color: rgba(255,255,255,.7); }
.contact-direct { display: block; max-width: 410px; margin-top: 35px; padding: 20px 22px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); }
.contact-direct small, .contact-direct strong { display: block; }
.contact-direct small { margin-bottom: 6px; color: #9ab0b5; font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }
.numbers-first { max-width: 410px; margin-top: 18px; }
.numbers-first .btn { width: 100%; }
.numbers-first p { margin: 9px 0 0; color: #9ab0b5; font-size: .72rem; line-height: 1.55; }

.lead-form { padding: 38px; background: rgba(249,253,252,.98); color: var(--ink); box-shadow: 0 35px 95px rgba(0,0,0,.34); }
.honey { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.form-title { display: flex; align-items: start; justify-content: space-between; margin-bottom: 25px; }
.form-title span { font-family: var(--serif); font-size: 1.8rem; font-weight: 700; }
.form-title b { color: var(--aqua-dark); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.lead-form label { display: grid; gap: 7px; margin-bottom: 14px; font-size: .69rem; font-weight: 700; letter-spacing: .075em; text-transform: uppercase; }
.lead-form input, .lead-form select, .lead-form textarea { width: 100%; padding: 14px 15px; border: 1px solid #ccd9d8; border-radius: 0; outline: 0; background: #fff; color: var(--ink); font-size: .9rem; letter-spacing: 0; text-transform: none; }
.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus { border-color: var(--aqua-dark); box-shadow: 0 0 0 3px rgba(12,143,140,.12); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.consent { grid-template-columns: 18px 1fr !important; align-items: start; color: var(--muted); font-weight: 500 !important; line-height: 1.5; letter-spacing: 0 !important; text-transform: none !important; }
.consent input { width: 16px; height: 16px; margin: 2px 0 0; }
.submit { width: 100%; justify-content: space-between; margin-top: 5px; }
.privacy-note { margin: 12px 0 0; color: #839396; text-align: center; font-size: .68rem; }

footer { padding: 70px 0 105px; background: #021217; color: #fff; }
.footer-main { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 60px; }
.footer-brand { display: flex; align-items: center; gap: 16px; }
.footer-brand > strong { color: var(--aqua); font-family: var(--serif); font-size: 3.6rem; line-height: 1; }
.footer-brand > span { font-family: var(--serif); font-size: 1.3rem; line-height: 1; }
.footer-brand small, .footer-main p { color: #789095; font-family: var(--sans); font-size: .72rem; line-height: 1.7; }
.footer-main b { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.footer-main a:hover { color: var(--aqua); }
.footer-legal { margin-top: 45px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.1); color: #60777d; font-size: .67rem; line-height: 1.75; }
.mobile-bar { display: none; }

.lightbox { width: 100vw; max-width: none; height: 100vh; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(1,14,18,.98); color: #fff; }
.lightbox::backdrop { background: rgba(1,14,18,.98); }
.lightbox figure { width: min(1150px, calc(100% - 170px)); height: 100%; margin: auto; display: grid; align-content: center; justify-items: center; gap: 16px; }
.lightbox figure img { max-height: calc(100vh - 100px); object-fit: contain; }
.lightbox figcaption { color: #8da3a8; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.lightbox-close, .lightbox-nav { position: fixed; z-index: 3; padding: 0; border: 0; background: transparent; color: #fff; cursor: pointer; }
.lightbox-close { top: 18px; right: 27px; font-size: 3rem; font-weight: 300; }
.lightbox-nav { top: 50%; transform: translateY(-50%); color: #a4b5b9; font-size: 4.5rem; }
.lightbox-nav.prev { left: 30px; }
.lightbox-nav.next { right: 30px; }

@media (max-width: 1000px) {
  :root { --section: min(720px, calc(100% - 38px)); }
  .topbar { padding-inline: 20px; }
  nav { display: none; }
  .hero-content { padding-bottom: 145px; }
  .offer-card { left: 20px; right: 20px; width: auto; bottom: 24px; }
  .scroll-cue { display: none; }
  .hero-compass { right: 30px; }
  .captains-brief { grid-template-columns: 1fr; }
  .brief-title { min-height: 80px; padding-inline: 20px; border-bottom: 1px solid rgba(255,255,255,.1); }
  .brief-facts { padding: 0; }
  .brief-facts article { min-height: 110px; padding-inline: 20px; }
  .statement { grid-template-columns: 1fr; gap: 18px; padding-block: 90px; }
  .statement-index { padding: 0; }
  .statement-body { padding-top: 15px; max-width: 650px; }
  .dock-main { height: 610px; }
  .dock-note { padding: 35px; }
  .property-strip { justify-content: flex-start; overflow-x: auto; }
  .property-strip span { white-space: nowrap; }
  .residence, .lifestyle, .inquire-grid { grid-template-columns: 1fr; }
  .residence { gap: 55px; padding-block: 95px; }
  .residence-visual { height: 620px; }
  .pool-copy { grid-template-columns: .25fr 1fr; }
  .pool-copy p { grid-column: 2; }
  .coastal-intelligence-head { grid-template-columns: 1fr; gap: 18px; }
  .coastal-intelligence-head .kicker { padding-top: 0; }
  .coastal-intelligence-head > p:last-child { max-width: 650px; }
  .coastal-intelligence-grid { grid-template-columns: 1fr 1fr; }
  .lifestyle { gap: 55px; padding-block: 95px; }
  .gallery-grid { height: 690px; grid-template-columns: 1.15fr .85fr; }
  .g-three, .g-four { display: none; }
  .g-five { grid-column: 2; grid-row: 2; }
  .buyer-plan { grid-template-columns: 120px 1fr; }
  .buyer-plan > .btn { grid-column: 2; justify-self: start; }
  .inquire-grid { gap: 45px; }
}

@media (max-width: 650px) {
  :root { --section: calc(100% - 28px); }
  .topbar { height: 82px; }
  .topbar > .btn { display: none; }
  .brand-number { width: 46px; height: 46px; }
  .hero { min-height: 770px; height: 100svh; }
  .hero-photo { object-position: 57% center; }
  .hero-overlay { background: linear-gradient(0deg, rgba(1,15,20,.97) 0%, rgba(1,15,20,.68) 53%, rgba(1,15,20,.05) 100%); }
  .hero-content { margin-top: 50px; padding-bottom: 165px; }
  h1 { font-size: clamp(4.2rem, 20vw, 6rem); line-height: .79; }
  .hero-lede { margin-block: 24px; font-size: .98rem; line-height: 1.65; }
  .hero-actions .btn { width: 100%; }
  .hero-compass { display: none; }
  .offer-card { padding: 21px 22px; }
  .offer-card > strong { font-size: 2.4rem; }
  .offer-stats { grid-template-columns: repeat(4, 1fr); gap: 6px; }
  .offer-stats span { font-size: .62rem; }
  .brief-facts { grid-template-columns: 1fr 1fr; }
  .brief-facts article { border-bottom: 1px solid rgba(255,255,255,.1); }
  .statement { padding-block: 75px; }
  .statement h2, .residence h2, .pool-feature h2, .lifestyle h2, .gallery h2, .buyer-plan h2, .inquire h2 { font-size: clamp(3.35rem, 15vw, 4.8rem); }
  .dock-showcase { grid-template-columns: 1fr; }
  .dock-main { height: 520px; }
  .dock-side { grid-template-rows: 330px auto; }
  .dock-note span { font-size: 2.7rem; }
  .residence { padding-block: 75px; }
  .residence-visual { height: 470px; }
  .visual-caption { left: 12px; right: 12px; bottom: 12px; min-width: 0; }
  .pool-feature { min-height: 690px; }
  .pool-copy { grid-template-columns: 1fr; gap: 18px; padding-bottom: 45px; }
  .pool-copy p { grid-column: auto; }
  .coastal-intelligence { padding-block: 75px; }
  .coastal-intelligence-head h2 { font-size: clamp(3.35rem, 15vw, 4.8rem); }
  .coastal-intelligence-grid { grid-template-columns: 1fr; margin-top: 42px; }
  .coastal-intelligence-grid article { min-height: 0; }
  .coastal-intelligence-grid h3 { margin-top: 24px; }
  .lifestyle { padding-block: 75px; }
  .day-plan article { grid-template-columns: 75px 1fr; }
  .gallery { padding-block: 80px; }
  .gallery-head { align-items: start; }
  .gallery-head .line-link { font-size: 0; }
  .gallery-head .line-link::after { content: "Open all →"; font-size: .78rem; }
  .gallery-grid { height: 670px; grid-template-columns: 1fr 1fr; grid-template-rows: 430px 230px; }
  .g-one { grid-column: 1 / -1; grid-row: auto; }
  .g-two { grid-column: 1; }
  .g-five { grid-column: 2; grid-row: 2; }
  .buyer-plan { grid-template-columns: 1fr; gap: 25px; padding-block: 75px; }
  .buyer-monogram { width: 95px; height: 95px; font-size: 2.5rem; }
  .buyer-plan > .btn { grid-column: auto; width: 100%; }
  .inquire { min-height: 1150px; }
  .inquire-grid { padding-block: 70px 105px; }
  .lead-form { padding: 28px 20px; }
  .form-title { gap: 15px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .footer-main { grid-template-columns: 1fr; gap: 30px; }
  .mobile-bar { position: fixed; z-index: 40; left: 10px; right: 10px; bottom: 10px; display: grid; grid-template-columns: .8fr 1.2fr; box-shadow: 0 12px 45px rgba(0,0,0,.4); }
  .mobile-bar a { min-height: 54px; display: grid; place-items: center; background: #fff; color: var(--ink); font-size: .78rem; font-weight: 700; }
  .mobile-bar a:last-child { background: var(--aqua); }
  .lightbox figure { width: calc(100% - 30px); }
  .lightbox-nav { top: auto; bottom: 16px; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
