.interior-page { background: #070b0d; }
.interior-page .interior-site-header { position: absolute; }
.interior-page .page-contact-close { margin-top: 0; }
.interior-page h1,
.interior-page h2,
.interior-page h3 { margin: 0; }
.interior-page em { color: var(--gold-light); font-style: normal; }
.crumb { color: rgba(242, 238, 229, .65); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.crumb span { margin-inline: .45rem; color: var(--gold-light); }
.page-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }

.interior-hero,
.listing-hero,
.compact-listing-hero,
.property-v1-hero,
.page-section#communities,
.page-section#neighbourhood-list {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

@supports (width: 100cqw) {
  .interior-hero,
  .listing-hero,
  .compact-listing-hero,
  .property-v1-hero,
  .page-section#communities,
  .page-section#neighbourhood-list {
    width: 100cqw;
    margin-left: calc(50% - 50cqw);
  }
}

.interior-hero {
  position: relative;
  display: flex;
  min-height: 720px;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.interior-hero > img,
.listing-hero > img,
.compact-listing-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.interior-hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3, 7, 9, .98) 0%, rgba(3, 7, 9, .8) 38%, rgba(3, 7, 9, .12) 76%), linear-gradient(0deg, rgba(3, 7, 9, .64), transparent 60%);
}

[data-theme="light"] .interior-hero > img,
[data-theme="light"] .listing-hero > img,
[data-theme="light"] .compact-listing-hero > img,
[data-theme="light"] .property-v1-hero > img {
  filter: brightness(1.18) saturate(1.04);
}

[data-theme="light"] .interior-hero-shade {
  background: linear-gradient(90deg, rgba(3, 7, 9, .8), rgba(3, 7, 9, .34) 58%, rgba(212, 176, 106, .08)), linear-gradient(0deg, rgba(3, 7, 9, .7), transparent 65%);
}
.interior-hero-copy {
  position: relative;
  z-index: 1;
  width: var(--wrap);
  margin: 4.5rem auto 0;
}
.interior-hero-copy h1,
.listing-hero h1,
.compact-listing-hero h1 {
  max-width: 12ch;
  margin: .55rem 0 1.2rem;
  font-family: var(--display);
  font-size: clamp(4rem, 7vw, 7.5rem);
  font-weight: 400;
  line-height: .82;
  letter-spacing: -.04em;
}
.interior-hero-copy > p:not(.eyebrow, .crumb) { max-width: 48ch; color: var(--ink-soft); font-size: .98rem; }

.fact-ribbon {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: var(--wrap);
  margin: -34px auto 0;
  position: relative;
  z-index: 2;
  border: 1px solid var(--line-soft);
  background: rgba(8, 13, 16, .96);
}
.fact-ribbon-six { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 0; }
.fact-ribbon div { min-width: 0; padding: 1.4rem; border-right: 1px solid var(--line-soft); text-align: center; }
.fact-ribbon div:last-child { border-right: 0; }
.fact-ribbon strong { display: block; color: var(--gold-light); font-family: var(--display); font-size: clamp(1.15rem, 1.8vw, 1.8rem); font-weight: 500; line-height: 1.05; }
.fact-ribbon span { display: block; margin-top: .45rem; color: var(--ink-soft); font-size: .66rem; line-height: 1.4; }

.page-section { width: var(--wrap); margin-inline: auto; padding-block: clamp(5rem, 8vw, 8rem); }
.page-section#communities,
.page-section#neighbourhood-list { width: 100%; padding-inline: var(--gutter); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.section-head h2,
.lifestyle-intro h2,
.regional-story h2,
.split-proof h2,
.map-intro h2,
.story-panel h2,
.people-proof h2,
.listing-advisory h2,
.property-story h2,
.property-location h2,
.property-contact h2 {
  max-width: 16ch;
  margin-top: .4rem;
  font-family: var(--display);
  font-size: clamp(2.8rem, 4.8vw, 5rem);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.03em;
}
.section-head p:not(.eyebrow) { max-width: 56ch; margin-top: .8rem; color: var(--ink-soft); }
.atlas-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .75rem; }
.atlas-card { position: relative; min-width: 0; aspect-ratio: .77; overflow: hidden; border: 1px solid var(--line-soft); color: var(--ink); text-decoration: none; }
.atlas-card::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, rgba(4, 8, 10, .96), rgba(4, 8, 10, .04) 70%); }
.atlas-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 650ms var(--ease), filter 500ms ease; }
.atlas-card > span { position: absolute; z-index: 1; inset: auto 1rem 1rem; display: grid; }
.atlas-card small { color: var(--gold-light); font-size: .62rem; letter-spacing: .12em; }
.atlas-card strong { margin-top: .35rem; font-family: var(--display); font-size: clamp(1.3rem, 1.8vw, 1.8rem); font-weight: 500; line-height: 1; }
.atlas-card em { color: var(--ink-soft); font-size: .66rem; font-style: normal; }
.atlas-card i { position: absolute; right: 0; bottom: 0; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--gold-light); font-style: normal; }
.atlas-card:hover img,
.atlas-card:focus-visible img { filter: saturate(1.12); transform: scale(1.04); }

.lifestyle-section { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(600px, 1.5fr); width: var(--wrap); margin: 0 auto; padding-bottom: clamp(5rem, 8vw, 8rem); }
.lifestyle-intro { padding: clamp(2rem, 4vw, 4rem); border: 1px solid var(--line-soft); }
.lifestyle-intro p:not(.eyebrow) { max-width: 42ch; margin-top: 1rem; color: var(--ink-soft); font-size: .86rem; }
.lifestyle-intro .button { margin-top: 1.6rem; }
.lifestyle-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line-soft); border-left: 1px solid var(--line-soft); }
.lifestyle-grid article { min-height: 168px; padding: 1.2rem; border-right: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.lifestyle-grid span { color: var(--gold-light); font-size: .62rem; }
.lifestyle-grid h3 { margin-top: .65rem; font-family: var(--display); font-size: 1.35rem; font-weight: 500; line-height: 1.05; }
.lifestyle-grid p { margin-top: .55rem; color: var(--ink-soft); font-size: .68rem; }

.regional-story { display: grid; grid-template-columns: minmax(330px, .7fr) minmax(600px, 1.4fr); align-items: stretch; width: 100%; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #080d10; }
.regional-story > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem, 6vw, 7rem) var(--gutter); }
.regional-story > div > p:not(.eyebrow) { max-width: 43ch; margin-top: 1rem; color: var(--ink-soft); }
.regional-story .button { align-self: flex-start; margin-top: 1.7rem; }
.regional-story figure { min-height: 540px; margin: 0; overflow: hidden; }
.regional-story img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.72) saturate(.85); }

.split-proof { display: grid; grid-template-columns: 1.05fr .95fr; width: var(--wrap); margin: 0 auto; padding-block: clamp(4rem, 7vw, 7rem); }
.split-proof article { position: relative; min-height: 430px; border: 1px solid var(--line-soft); overflow: hidden; }
.split-proof article:first-child { display: grid; grid-template-columns: 1.05fr .95fr; }
.split-proof article img { width: 100%; height: 100%; object-fit: cover; }
.split-proof article:first-child img { object-position: 72% 45%; }
.split-proof article > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 3.5vw, 4rem); }
.split-proof article p:not(.eyebrow) { margin-top: 1rem; color: var(--ink-soft); }
.split-proof .text-link { margin-top: 1.5rem; }
.appraisal-card { background: radial-gradient(circle at 85% 58%, rgba(189, 150, 81, .16), transparent 30%), linear-gradient(135deg, #101619, #070b0d); }

.support-panels {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: var(--wrap);
  margin: 0 auto clamp(5rem, 8vw, 8rem);
  border: 1px solid var(--line-soft);
}
.support-panels > a {
  display: grid;
  min-height: 300px;
  grid-template-columns: 1fr 1fr;
  color: var(--ink);
  overflow: hidden;
  text-decoration: none;
}
.support-panels > a + a { border-left: 1px solid var(--line-soft); }
.support-panels img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.78) saturate(.86); transition: transform 600ms var(--ease); }
.support-panels span { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.6rem, 3vw, 3rem); background: #091014; }
.support-panels small { color: var(--gold-light); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.support-panels strong { margin-top: .8rem; font-family: var(--display); font-size: clamp(1.7rem, 2.4vw, 2.6rem); font-weight: 400; line-height: 1; }
.support-panels em { margin-top: 1.4rem; color: var(--gold-light); font: 700 .66rem var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.support-panels > a:hover img,
.support-panels > a:focus-visible img { transform: scale(1.035); }

.map-intro { display: grid; grid-template-columns: minmax(320px, .72fr) minmax(600px, 1.28fr); align-items: center; }
.map-intro > div { position: relative; z-index: 1; padding-right: 2rem; }
.map-intro > div > p:not(.eyebrow) { max-width: 46ch; margin-top: 1rem; color: var(--ink-soft); }
.map-intro figure { margin: 0 0 0 -7rem; min-height: 520px; }
.map-intro figure img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.78) saturate(.82); }
.icon-points { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; margin-top: 1.5rem; color: var(--gold-light); font-size: .72rem; font-weight: 600; }

.story-panel { display: grid; grid-template-columns: 1fr 1fr; width: var(--wrap); margin: 0 auto clamp(5rem, 8vw, 8rem); border: 1px solid var(--line-soft); }
.story-panel > div { padding: clamp(2.5rem, 5vw, 5rem); }
.media-story { position: relative; min-height: 430px; overflow: hidden; color: var(--ink); text-decoration: none; }
.media-story::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, rgba(7, 11, 13, .9), rgba(7, 11, 13, .12)); }
.media-story img { width: 100%; height: 100%; object-fit: cover; }
.media-story span { position: absolute; z-index: 1; inset: auto 2rem 2rem; display: flex; flex-direction: column; }
.media-story small,
.media-story em { color: var(--gold-light); font-size: .68rem; font-style: normal; letter-spacing: .08em; text-transform: uppercase; }
.media-story strong { max-width: 15ch; margin: .5rem 0 1.2rem; font-family: var(--display); font-size: 2.7rem; font-weight: 400; line-height: .95; }

.people-proof { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1px; background: var(--line-soft); padding-block: 0; margin-bottom: clamp(5rem, 8vw, 8rem); border: 1px solid var(--line-soft); }
.people-proof > * { margin: 0; padding: clamp(2rem, 4vw, 4rem); background: #080d10; }
.people-proof blockquote { color: var(--ink); font-family: var(--display); font-size: clamp(1.4rem, 2.2vw, 2.15rem); line-height: 1.25; }
.people-proof cite { display: block; margin-top: 1.2rem; color: var(--gold-light); font: 600 .68rem var(--sans); letter-spacing: .08em; text-transform: uppercase; }

.neighbourhood-actions {
  display: grid;
  grid-template-columns: 1.25fr repeat(3, 1fr);
  width: var(--wrap);
  margin: 0 auto clamp(5rem, 8vw, 8rem);
  border: 1px solid var(--line-soft);
  background: #091014;
}
.neighbourhood-actions > div { padding: clamp(1.6rem, 3vw, 3rem); }
.neighbourhood-actions h2 { margin-top: .45rem; font-family: var(--display); font-size: clamp(1.8rem, 2.7vw, 2.8rem); font-weight: 400; line-height: 1; }
.neighbourhood-actions > a { position: relative; display: flex; min-height: 150px; flex-direction: column; justify-content: center; padding: 1.5rem 3.2rem 1.5rem 1.5rem; border-left: 1px solid var(--line-soft); color: var(--ink); text-decoration: none; transition: background-color 180ms ease; }
.neighbourhood-actions > a:hover,
.neighbourhood-actions > a:focus-visible { background: rgba(189, 150, 81, .08); }
.neighbourhood-actions span { font-family: var(--display); font-size: 1.35rem; }
.neighbourhood-actions small { margin-top: .5rem; color: var(--ink-soft); font-size: .66rem; }
.neighbourhood-actions b { position: absolute; right: 1.3rem; color: var(--gold-light); font-weight: 400; }

.listing-hero { position: relative; min-height: 440px; overflow: hidden; border-bottom: 1px solid var(--line); }
.listing-hero > div { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3, 7, 9, .97), rgba(3, 7, 9, .52) 58%, rgba(3, 7, 9, .12)), linear-gradient(0deg, rgba(3, 7, 9, .7), transparent); }
.listing-hero article { position: relative; z-index: 1; width: var(--wrap); margin: 0 auto; padding-top: 9rem; }
.listing-hero h1 { max-width: 19ch; font-size: clamp(3.4rem, 5.9vw, 6rem); line-height: .88; }
.listing-hero article > p:last-child { max-width: 56ch; color: var(--ink-soft); }

.listing-search-shell,
.results-page,
.map-results-page { width: var(--wrap); margin: 0 auto; padding-block: 2.2rem clamp(5rem, 7vw, 7rem); }
.property-filter { display: grid; grid-template-columns: 1.2fr repeat(4, 1fr) auto; gap: 1px; padding: 1px; border: 1px solid var(--line-soft); background: var(--line-soft); }
.property-filter label { display: flex; min-width: 0; flex-direction: column; gap: .35rem; padding: .75rem 1rem; background: #0b1114; color: var(--gold-light); font-size: .58rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.property-filter select { min-width: 0; border: 0; outline: 0; background: #0b1114; color: var(--ink); font: .78rem var(--sans); }
.property-filter .button { border: 0; min-height: 64px; }

.market-strip { display: grid; grid-template-columns: .72fr 1.55fr .55fr; align-items: stretch; margin-top: 1.2rem; border: 1px solid var(--line-soft); background: #0a1013; }
.market-strip > div { padding: 1.4rem; }
.market-strip h2 { margin: .3rem 0 .8rem; font-family: var(--display); font-size: 1.8rem; font-weight: 500; }
.market-strip dl { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; }
.market-strip dl div { display: flex; flex-direction: column; justify-content: center; padding: 1rem; border-left: 1px solid var(--line-soft); }
.market-strip dt { color: var(--ink-soft); font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }
.market-strip dd { margin: .45rem 0 0; color: var(--gold-light); font-family: var(--display); font-size: 1.35rem; }
.market-strip img { width: 100%; height: 100%; min-height: 145px; object-fit: cover; filter: brightness(.65) saturate(.8); }
.results-head { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2.2rem 0 1rem; }
.results-head h2 { font-family: var(--display); font-size: 2rem; font-weight: 500; }
.results-head > div { display: flex; gap: .8rem; align-items: center; }
.results-head label { color: var(--ink-soft); font-size: .7rem; }
.results-head select { min-height: 42px; margin-left: .4rem; border: 1px solid var(--line-soft); background: #0b1114; color: var(--ink); }
.results-head a { min-height: 42px; padding: .7rem 1rem; border: 1px solid var(--line); color: var(--gold-light); font-size: .7rem; font-weight: 700; text-decoration: none; text-transform: uppercase; }

.property-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.property-card { min-width: 0; border: 1px solid var(--line-soft); background: #091014; }
.property-card a { display: block; color: var(--ink); text-decoration: none; }
.property-card figure { position: relative; aspect-ratio: 2 / .82; margin: 0; overflow: hidden; }
.property-card figure img { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--ease); }
.property-card figure span,
.listing-badge { position: absolute; top: .8rem; left: .8rem; padding: .35rem .55rem; border: 1px solid var(--line); background: rgba(7, 11, 13, .85); color: var(--gold-light); font-size: .58rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.property-card > a > div { position: relative; padding: 1.2rem; }
.property-card strong { color: var(--gold-light); font-family: var(--display); font-size: 1.85rem; font-weight: 500; }
.property-card h2 { margin-top: .2rem; font-family: var(--display); font-size: 1.35rem; font-weight: 500; }
.property-card p,
.property-card small { display: block; color: var(--ink-soft); font-size: .68rem; }
.property-card em { display: inline-block; margin-top: .8rem; font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.property-card:hover figure img { transform: scale(1.035); }
.centered-button { display: flex; width: max-content; margin: 1.5rem auto 0; }
.result-pagination { display: flex; justify-content: center; gap: .35rem; margin-top: 1.4rem; }
.result-pagination a,
.result-pagination span { display: grid; width: 42px; min-height: 42px; place-items: center; border: 1px solid var(--line-soft); color: var(--ink-soft); font-size: .7rem; text-decoration: none; }
.result-pagination a[aria-current="page"],
.result-pagination a:hover,
.result-pagination a:focus-visible { border-color: var(--line); color: var(--gold-light); }

.map-band { position: relative; width: var(--wrap); height: 180px; margin: 0 auto clamp(5rem, 7vw, 7rem); overflow: hidden; border: 1px solid var(--line-soft); }
.map-band img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.58) saturate(.78); }
.map-band .button { position: absolute; right: 1.2rem; top: 50%; transform: translateY(-50%); background: rgba(7, 11, 13, .74); }

.listing-advisory { display: grid; grid-template-columns: 1fr .72fr 1fr; align-items: center; width: 100%; min-height: 390px; border-top: 1px solid var(--line); background: #080d10; }
.listing-advisory > div { padding: clamp(2.5rem, 5vw, 5rem); }
.listing-advisory > div > p:not(.eyebrow) { max-width: 43ch; margin-top: 1rem; color: var(--ink-soft); }
.listing-advisory .button { margin-top: 1.5rem; }
.listing-advisory img { width: 100%; height: 390px; object-fit: cover; object-position: 65% 45%; mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent); }

.compact-listing-hero { position: relative; min-height: 330px; overflow: hidden; border-bottom: 1px solid var(--line); }
.compact-listing-hero::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(3, 7, 9, .96), rgba(3, 7, 9, .34)), linear-gradient(0deg, rgba(3, 7, 9, .55), transparent); }
.compact-listing-hero > div { position: relative; z-index: 1; width: var(--wrap); margin: 0 auto; padding-top: 8.5rem; }
.compact-listing-hero h1 { max-width: 15ch; margin: .4rem 0 .7rem; font-size: clamp(3.2rem, 5.7vw, 5.6rem); }
.compact-listing-hero p:last-child { color: var(--ink-soft); }
.results-layout { display: grid; grid-template-columns: minmax(190px, .58fr) minmax(530px, 1.55fr) minmax(260px, .78fr); gap: .8rem; margin-top: 1.2rem; }
.filter-sidebar,
.map-sidebar > *,
.results-column { border: 1px solid var(--line-soft); background: #091014; }
.filter-sidebar { align-self: start; padding: 1.2rem; }
.saved-searches { margin: -1.2rem -1.2rem 1.2rem; padding: 1.2rem; border-bottom: 1px solid var(--line-soft); background: rgba(189, 150, 81, .035); }
.saved-searches > a { display: flex; flex-direction: column; gap: .25rem; padding: .8rem 0; border-bottom: 1px solid var(--line-soft); color: var(--ink); font-family: var(--display); font-size: 1rem; text-decoration: none; }
.saved-searches > a:last-child { border-bottom: 0; }
.saved-searches > a span { color: var(--gold-light); font: 600 .6rem var(--sans); letter-spacing: .06em; text-transform: uppercase; }
.filter-sidebar label { display: flex; align-items: center; gap: .6rem; padding: .62rem 0; border-bottom: 1px solid var(--line-soft); color: var(--ink-soft); font-size: .72rem; }
.filter-sidebar input { accent-color: var(--gold-light); }
.filter-sidebar .button { width: 100%; margin-top: 1.2rem; }
.view-tabs { display: flex; align-items: center; min-height: 52px; border-bottom: 1px solid var(--line-soft); }
.view-tabs a { display: grid; min-width: 82px; align-self: stretch; place-items: center; border-right: 1px solid var(--line-soft); color: var(--ink-soft); font-size: .66rem; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.view-tabs a[aria-current="page"] { background: var(--gold); color: #0a0e10; }
.view-tabs span { margin-left: auto; padding-right: 1rem; color: var(--ink-soft); font-size: .66rem; }
.property-row { display: grid; grid-template-columns: .92fr 1.18fr; min-height: 195px; border-bottom: 1px solid var(--line-soft); }
.property-row:last-child { border-bottom: 0; }
.property-row > img { width: 100%; height: 100%; min-height: 195px; object-fit: cover; }
.property-row > div { position: relative; padding: 1rem; }
.property-row .listing-badge { position: static; display: inline-block; margin-bottom: .5rem; }
.property-row strong { float: right; color: var(--gold-light); font-family: var(--display); font-size: 1.45rem; font-weight: 500; }
.property-row h2 { clear: right; font-family: var(--display); font-size: 1.45rem; font-weight: 500; }
.property-row p,
.property-row small { display: block; color: var(--ink-soft); font-size: .67rem; }
.property-row .text-link { margin-top: .8rem; }
.map-sidebar { display: grid; align-self: start; gap: .8rem; }
.map-sidebar figure { margin: 0; }
.map-sidebar figure img { width: 100%; height: 310px; object-fit: cover; filter: brightness(.7) saturate(.8); }
.map-sidebar figcaption { padding: .8rem; color: var(--ink-soft); font-size: .66rem; }
.map-sidebar article { padding: 1.2rem; }
.map-sidebar h2 { margin: .3rem 0 1rem; font-family: var(--display); font-size: 1.7rem; font-weight: 500; }
.map-sidebar dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0 0 1rem; }
.map-sidebar dt { color: var(--ink-soft); font-size: .58rem; text-transform: uppercase; }
.map-sidebar dd { margin: .35rem 0 0; color: var(--gold-light); }

.map-view-tabs { margin-top: 1rem; border: 1px solid var(--line-soft); }
.map-results-layout { display: grid; grid-template-columns: minmax(420px, .78fr) minmax(600px, 1.35fr); margin-top: 1px; }
.map-results-list { max-height: 1080px; overflow: auto; border: 1px solid var(--line-soft); }
.large-search-map { position: sticky; top: 0; height: min(1080px, 100vh); margin: 0; overflow: hidden; border: 1px solid var(--line-soft); }
.large-search-map > img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.66) saturate(.75); }
.large-search-map figcaption { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; padding: .9rem; background: rgba(7, 11, 13, .86); color: var(--ink-soft); font-size: .66rem; }
.map-dots { position: absolute; inset: 0; }
.map-dots i { position: absolute; left: var(--x); top: var(--y); display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid var(--gold-light); border-radius: 50%; background: rgba(7, 11, 13, .88); color: var(--gold-light); font-style: normal; font-weight: 700; box-shadow: 0 0 0 6px rgba(189, 150, 81, .1); }

.property-v1-hero { position: relative; min-height: 720px; overflow: hidden; border-bottom: 1px solid var(--line); }
.property-v1-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.property-v1-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4, 8, 10, .94), rgba(4, 8, 10, .38) 58%, rgba(4, 8, 10, .5)), linear-gradient(0deg, rgba(4, 8, 10, .62), transparent 70%); }
.property-chapters { position: absolute; z-index: 2; top: 10rem; left: 1.5rem; display: flex; flex-direction: column; gap: 1.2rem; }
.property-chapters a { color: rgba(242, 238, 229, .65); font-size: .58rem; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.property-chapters a:hover { color: var(--gold-light); }
.property-v1-copy { position: absolute; z-index: 1; top: 10.5rem; left: max(var(--gutter), 8.5rem); width: min(52vw, 720px); }
.back-link { display: inline-block; margin-bottom: 2rem; color: var(--gold-light); font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.property-v1-copy .listing-badge { position: static; display: inline-block; }
.property-v1-copy h1 { margin: .7rem 0 .2rem; font-family: var(--display); font-size: clamp(3.7rem, 6vw, 6.5rem); font-weight: 400; line-height: .86; }
.property-city { color: var(--gold-light); font-family: var(--display); font-size: 1.65rem; }
.property-price { margin-top: 1.4rem; color: var(--gold-light); font-family: var(--display); font-size: 2.4rem; }
.property-v1-facts { display: flex; gap: 0; margin: 1.2rem 0 0; }
.property-v1-facts div { min-width: 100px; padding: 0 1.2rem; border-left: 1px solid var(--line-soft); }
.property-v1-facts div:first-child { padding-left: 0; border-left: 0; }
.property-v1-facts dt { color: var(--ink); font-family: var(--display); font-size: 1.35rem; }
.property-v1-facts dd { margin: 0; color: var(--ink-soft); font-size: .62rem; }
.inquiry-panel { position: absolute; z-index: 2; top: 10rem; right: var(--gutter); width: min(330px, 29vw); padding: 1.4rem; border: 1px solid var(--line); background: rgba(8, 13, 16, .93); backdrop-filter: blur(16px); }
.inquiry-panel h2 { margin: .4rem 0 1rem; font-family: var(--display); font-size: 1.7rem; font-weight: 500; }
.inquiry-panel form { display: grid; gap: .7rem; }
.inquiry-panel label { display: grid; gap: .3rem; color: var(--ink-soft); font-size: .6rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.inquiry-panel input { width: 100%; height: 42px; padding: 0 .7rem; border: 1px solid var(--line-soft); background: rgba(255, 255, 255, .03); color: var(--ink); }
.inquiry-panel small { display: block; margin-top: .8rem; color: var(--ink-soft); font-size: .6rem; }

.property-gallery-strip { display: grid; grid-template-columns: repeat(5, 1fr); gap: .5rem; width: var(--wrap); margin: -48px auto 0; padding: .5rem; position: relative; z-index: 3; border: 1px solid var(--line-soft); background: #070b0d; }
.property-gallery-strip > * { position: relative; width: 100%; height: 135px; overflow: hidden; }
.property-gallery-strip img { width: 100%; height: 100%; object-fit: cover; }
.property-gallery-strip a span { position: absolute; inset: auto .7rem .6rem; color: var(--gold-light); font-size: .65rem; font-weight: 700; text-transform: uppercase; }
.property-story { display: grid; grid-template-columns: .58fr 1fr 1.05fr; width: var(--wrap); margin: 1rem auto; border: 1px solid var(--line-soft); }
.property-story > * { padding: clamp(1.5rem, 3vw, 3rem); border-right: 1px solid var(--line-soft); }
.property-story > *:last-child { border-right: 0; }
.property-story aside ul { padding: 0; list-style: none; }
.property-story aside li { padding: .35rem 0; color: var(--ink-soft); font-size: .74rem; }
.property-story aside li::before { margin-right: .5rem; color: var(--gold-light); content: "◇"; }
.property-story article p:not(.eyebrow) { margin-top: 1rem; color: var(--ink-soft); font-size: .8rem; }
.property-video { position: relative; min-height: 360px; overflow: hidden; color: var(--ink); text-decoration: none; }
.property-video::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, rgba(7, 11, 13, .8), transparent); }
.property-video img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.property-video span { position: absolute; z-index: 1; top: 50%; left: 50%; display: grid; width: 66px; height: 66px; place-items: center; border: 1px solid var(--gold-light); border-radius: 50%; background: rgba(7, 11, 13, .55); transform: translate(-50%, -50%); }
.property-video strong { position: absolute; z-index: 1; right: 1rem; bottom: 1rem; left: 1rem; font-family: var(--display); font-size: 1.5rem; font-weight: 500; }

.property-location { display: grid; grid-template-columns: 1fr .85fr .65fr; width: var(--wrap); margin: 0 auto 1rem; border: 1px solid var(--line-soft); }
.property-location > * { min-width: 0; min-height: 330px; border-right: 1px solid var(--line-soft); }
.property-location > *:last-child { border-right: 0; }
.property-location figure { margin: 0; }
.property-location figure img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.72) saturate(.8); }
.property-location article { padding: clamp(1.8rem, 3vw, 3rem); }
.property-location article p:not(.eyebrow) { margin-top: 1rem; color: var(--ink-soft); font-size: .78rem; }
.location-feature { position: relative; overflow: hidden; color: var(--ink); text-decoration: none; }
.location-feature::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, rgba(7, 11, 13, .86), transparent); }
.location-feature img { width: 100%; height: 100%; object-fit: cover; }
.location-feature span { position: absolute; z-index: 1; right: 1.2rem; bottom: 1.2rem; left: 1.2rem; font-family: var(--display); font-size: 1.5rem; }
.property-data { display: grid; grid-template-columns: 1fr 1fr; width: var(--wrap); margin: 0 auto; border: 1px solid var(--line-soft); }
.property-data > div { padding: 1.5rem; border-right: 1px solid var(--line-soft); }
.property-data > div:last-child { border-right: 0; }
.property-data dl { display: grid; grid-template-columns: repeat(4, 1fr); margin: 1rem 0 0; }
.property-data > div:last-child dl { grid-template-columns: repeat(3, 1fr); }
.property-data dl div { padding: .8rem; border-left: 1px solid var(--line-soft); }
.property-data dt { color: var(--gold-light); font-size: .6rem; font-weight: 700; text-transform: uppercase; }
.property-data dd { margin: .35rem 0 0; font-family: var(--display); font-size: 1.25rem; }
.property-contact { display: grid; grid-template-columns: 1fr .7fr .7fr; align-items: center; width: 100%; min-height: 360px; margin-top: 1rem; border-top: 1px solid var(--line); background: #080d10; }
.property-contact > div { padding: clamp(2.5rem, 5vw, 5rem); }
.property-contact > div > p:not(.eyebrow) { max-width: 42ch; margin-top: 1rem; color: var(--ink-soft); }
.property-contact img { width: 100%; height: 360px; object-fit: cover; object-position: 65% 45%; }
.property-contact address { display: flex; flex-direction: column; gap: .9rem; padding: 2rem; font-style: normal; }
.property-contact address a { color: var(--ink); font-family: var(--display); font-size: 1.55rem; text-decoration: none; }
.property-contact address a:hover { color: var(--gold-light); }

@media (max-width: 1240px) {
  .atlas-row { grid-template-columns: repeat(3, 1fr); }
  .lifestyle-section { grid-template-columns: 1fr; }
  .results-layout { grid-template-columns: 190px 1fr; }
  .map-sidebar { grid-column: 1 / -1; grid-template-columns: 1fr 1fr 1fr; }
  .map-results-layout { grid-template-columns: minmax(390px, .8fr) 1.2fr; }
  .property-chapters { display: none; }
  .property-v1-copy { left: var(--gutter); }
}

@media (max-width: 960px) {
  .fact-ribbon,
  .fact-ribbon-six { grid-template-columns: repeat(3, 1fr); }
  .fact-ribbon div:nth-child(3n) { border-right: 0; }
  .lifestyle-grid { grid-template-columns: repeat(2, 1fr); }
  .regional-story,
  .map-intro { grid-template-columns: 1fr; }
  .map-intro figure { margin: -3rem 0 0; }
  .split-proof { grid-template-columns: 1fr; }
  .support-panels { grid-template-columns: 1fr; }
  .support-panels > a + a { border-top: 1px solid var(--line-soft); border-left: 0; }
  .neighbourhood-actions { grid-template-columns: 1fr 1fr; }
  .neighbourhood-actions > a:nth-of-type(2) { border-left: 0; }
  .neighbourhood-actions > a { border-top: 1px solid var(--line-soft); }
  .property-filter { grid-template-columns: repeat(3, 1fr); }
  .market-strip { grid-template-columns: 1fr; }
  .market-strip dl { border-top: 1px solid var(--line-soft); }
  .market-strip img { display: none; }
  .listing-advisory { grid-template-columns: 1fr 1fr; }
  .listing-advisory img { grid-row: 1 / 3; grid-column: 2; height: 100%; }
  .listing-advisory > div:last-child { grid-column: 1; }
  .map-results-layout { grid-template-columns: 1fr; }
  .map-results-list { max-height: none; }
  .large-search-map { position: relative; height: 700px; }
  .inquiry-panel { display: none; }
  .property-v1-copy { width: calc(100% - var(--gutter) * 2); }
  .property-story { grid-template-columns: .65fr 1.35fr; }
  .property-video { grid-column: 1 / -1; }
  .property-location { grid-template-columns: 1fr 1fr; }
  .location-feature { grid-column: 1 / -1; }
  .property-data { grid-template-columns: 1fr; }
  .property-data > div { border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .property-contact { grid-template-columns: 1fr 1fr; }
  .property-contact address { grid-column: 1 / -1; flex-direction: row; justify-content: center; border-top: 1px solid var(--line-soft); }
}

@media (max-width: 700px) {
  .interior-hero { min-height: 720px; align-items: flex-end; }
  .interior-hero-shade { background: linear-gradient(0deg, rgba(3, 7, 9, .97), rgba(3, 7, 9, .42) 70%, rgba(3, 7, 9, .52)); }
  .interior-hero-copy { margin: 0 auto; padding-bottom: 5rem; }
  .interior-hero-copy h1,
  .listing-hero h1,
  .compact-listing-hero h1 { font-size: clamp(3.6rem, 15vw, 5.2rem); }
  .fact-ribbon,
  .fact-ribbon-six { grid-template-columns: 1fr 1fr; margin-top: 0; }
  .fact-ribbon div:nth-child(3n) { border-right: 1px solid var(--line-soft); }
  .fact-ribbon div:nth-child(2n) { border-right: 0; }
  .section-head { align-items: flex-start; flex-direction: column; }
  .atlas-row { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .atlas-card { flex: 0 0 min(78vw, 310px); scroll-snap-align: start; }
  .lifestyle-grid { grid-template-columns: 1fr; }
  .regional-story figure { min-height: 420px; }
  .split-proof article:first-child { grid-template-columns: 1fr; }
  .split-proof article:first-child img { height: 360px; }
  .support-panels > a { min-height: 0; grid-template-columns: 1fr; }
  .support-panels > a:nth-child(2) img { grid-row: 1; }
  .support-panels img { height: 250px; }
  .neighbourhood-actions { grid-template-columns: 1fr; }
  .neighbourhood-actions > a { min-height: 118px; border-left: 0; }
  .map-intro figure { min-height: 410px; }
  .story-panel { grid-template-columns: 1fr; }
  .people-proof { grid-template-columns: 1fr; }
  .listing-hero { min-height: 570px; }
  .listing-hero article { padding-top: 8.5rem; }
  .property-filter { grid-template-columns: 1fr 1fr; }
  .property-filter label:nth-of-type(5) { grid-column: 1 / -1; }
  .property-filter .button { grid-column: 1 / -1; }
  .market-strip dl { grid-template-columns: 1fr 1fr; }
  .results-head { align-items: flex-start; flex-direction: column; }
  .property-grid { grid-template-columns: 1fr; }
  .property-card figure { aspect-ratio: 1.55; }
  .listing-advisory { grid-template-columns: 1fr; }
  .listing-advisory img { grid-row: auto; grid-column: auto; height: 390px; }
  .listing-advisory > div:last-child { grid-column: auto; }
  .results-layout { grid-template-columns: 1fr; }
  .filter-sidebar { display: grid; grid-template-columns: 1fr 1fr; }
  .filter-sidebar .saved-searches,
  .filter-sidebar .eyebrow,
  .filter-sidebar .button { grid-column: 1 / -1; }
  .map-sidebar { grid-template-columns: 1fr; }
  .property-row { grid-template-columns: .9fr 1.1fr; }
  .map-results-layout .property-row { grid-template-columns: 1fr; }
  .map-results-layout .property-row > img { height: 230px; }
  .large-search-map { height: 620px; }
  .property-v1-hero { min-height: 800px; }
  .property-v1-copy { top: 8.5rem; }
  .property-v1-copy h1 { font-size: clamp(3.4rem, 15vw, 5rem); }
  .property-v1-facts { display: grid; grid-template-columns: 1fr 1fr; }
  .property-v1-facts div { padding: .65rem; border-left: 1px solid var(--line-soft); border-top: 1px solid var(--line-soft); }
  .property-v1-facts div:first-child { padding-left: .65rem; border-left: 1px solid var(--line-soft); }
  .property-gallery-strip { grid-template-columns: repeat(5, minmax(190px, 1fr)); overflow-x: auto; }
  .property-story { grid-template-columns: 1fr; }
  .property-story > * { border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .property-video { grid-column: auto; }
  .property-location { grid-template-columns: 1fr; }
  .property-location > * { border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .location-feature { grid-column: auto; }
  .property-data dl,
  .property-data > div:last-child dl { grid-template-columns: 1fr 1fr; }
  .property-contact { grid-template-columns: 1fr; }
  .property-contact address { grid-column: auto; flex-direction: column; align-items: center; }
}

@media (prefers-reduced-motion: reduce) {
  .atlas-card img,
  .property-card figure img { transition: none; }
}
