:root {
  --black: var(--kp-black);
  --paper: var(--kp-paper);
  --paper-deep: var(--kp-paper);
  --white: var(--kp-white);
  --blue: var(--kp-fusion);
  --green: var(--kp-fusion);
  --rule: var(--line);
  --display: "Playfair Display", Georgia, serif;
  --sans: "Roboto", "Helvetica Neue", Arial, sans-serif;
  --gutter: var(--kp-media-inset);
  --content-inset: var(--kp-content-inset);
  --ease: cubic-bezier(.22, 1, .36, 1);
  --countdown: var(--kp-countdown-height);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html.kp-motion-pending [data-reveal] {
  visibility: hidden;
  opacity: 0;
  transform: translate3d(0, 28px, 0);
}
body { margin: 0; overflow-x: hidden; background: var(--paper); color: var(--black); font: 300 16px/1.55 var(--sans); }
body.modal-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; }
a { color: inherit; }
.page-shell { width: min(100%, 1512px); margin-inline: auto; padding-inline: var(--gutter); }
.section-pad { padding-block: clamp(74px, 6vw, 64px); }
.eyebrow { margin: 0 0 18px; color: var(--blue); font-size: 10px; font-weight: 500; letter-spacing: .25em; text-transform: uppercase; }

.kp-header--property { background: var(--black); }

.property-hero { padding-top: clamp(176px, 16vw, 225px); }
.property-hero h1, .section-heading h2, .specification h2, .overview__copy h2 {
  margin: 0; font-family: var(--display); font-weight: 400; line-height: var(--kp-title-line-height);
}
.property-hero h1 { max-width: 1120px; margin-bottom: clamp(42px, 6vw, 82px); font-size: clamp(58px, 7.2vw, 112px); }
.property-hero h1 em, .section-heading h2 em, .specification h2 em { color: var(--blue); font-weight: 400; }
.hero-gallery { width: 100vw; height: min(68vw, 760px); margin-left: calc(50% - 50vw); display: grid; grid-template: 1fr 1fr / 1.35fr .95fr; gap: 18px; }
.hero-gallery figure, .hero-gallery__video, .hero-gallery__video-placeholder { position: relative; min-width: 0; margin: 0; overflow: hidden; background: #d8d8d2; }
.hero-gallery__video, .hero-gallery__video-placeholder { grid-row: 1 / 3; }
.hero-gallery__poster { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; overflow: hidden; background: #d8d8d2; cursor: pointer; }
.hero-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.hero-gallery figure:hover img, .hero-gallery__poster:hover img { transform: scale(1.025); }
.hero-gallery figcaption, .hero-gallery__caption { position: absolute; z-index: 2; left: 18px; bottom: 14px; color: #fff; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; text-shadow: 0 1px 9px #000; }
.hero-gallery__poster::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.38)); pointer-events: none; }
.play { position: absolute; z-index: 3; left: 50%; top: 50%; width: 74px; height: 74px; display: grid; place-items: center; transform: translate(-50%,-50%); border-radius: 50%; background: rgba(255,255,255,.95); box-shadow: 0 12px 40px rgba(0,0,0,.18); transition: transform .3s var(--ease); }
.hero-gallery__video:hover .play { transform: translate(-50%,-50%) scale(1.08); }
.play i { width: 0; height: 0; margin-left: 5px; border-block: 9px solid transparent; border-left: 14px solid var(--black); }
.hero-gallery__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: var(--black); opacity: 0; visibility: hidden; pointer-events: none; }
.hero-gallery__close { position: absolute; z-index: 5; right: 20px; top: 18px; display: none; padding: 8px 0; border: 0; background: transparent; color: var(--white); font-size: 10px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; cursor: pointer; }
.hero-gallery__video.is-expanded { width: min(1440px, calc(100vw - 48px), calc((100svh - 48px) * 1.7778)); aspect-ratio: 16 / 9; background: var(--black); box-shadow: 0 28px 90px rgba(0,0,0,.38); }
.hero-gallery__video.is-expanded .hero-gallery__close { display: block; }
.hero-gallery__video.is-expanded .hero-gallery__poster { cursor: default; }
.hero-gallery__video.is-flipping { z-index: 701; }

.video-stage { position: fixed; z-index: 600; inset: 0; display: grid; place-items: center; padding: 24px; visibility: hidden; pointer-events: none; }
.video-stage.is-open { visibility: visible; pointer-events: auto; }
.video-stage__backdrop { position: absolute; inset: 0; border: 0; background: rgba(14,14,13,.88); backdrop-filter: blur(8px); opacity: 0; cursor: pointer; }
.video-stage.is-open .video-stage__backdrop { opacity: 1; }
.video-stage .hero-gallery__video { z-index: 1; }

.overview { display: grid; grid-template-columns: minmax(280px, 360px) 1fr; gap: clamp(42px, 7vw, 112px); padding-top: clamp(56px, 7vw, 105px); padding-bottom: clamp(55px, 7vw, 96px); align-items: start; }
.property-card { padding: 30px; background: var(--black); color: var(--white); box-shadow: 0 22px 55px rgba(34,30,24,.13); }
.property-card > p { margin: 0 0 8px; font-size: 9px; letter-spacing: .22em; text-transform: uppercase; opacity: .65; }
.property-card h2 { margin: 0; font: 400 26px/1.16 var(--display); text-transform: none; }
.property-card > strong { display: block; margin-top: 8px; font: 400 25px/1.2 var(--display); }
.property-card__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-block: 26px 9px; }
.property-card__actions a, .button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid currentColor; text-decoration: none; font-size: 14px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.button--light { width: 100%; background: var(--white); color: var(--black); }
.property-card small { display: block; margin-top: 24px; font-size: 9px; line-height: 1.65; opacity: .65; }
.overview__copy h2 { margin-bottom: 28px; font-size: clamp(35px, 4vw, 58px); }
.overview__columns { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 64px); }
.overview__columns p, .overview__columns li { color: rgba(22,22,21,.74); font-size: 14px; line-height: 1.72; }
.overview__columns p { margin-top: 0; }
.overview__columns ul { margin: 0; padding-left: 18px; }
.overview__columns li { margin-bottom: 9px; }

.section-heading { max-width: 720px; }
.section-heading h2 { font-size: clamp(48px, 6.2vw, 86px); }
.section-heading > p:last-child { max-width: 610px; margin: 24px 0 0; color: rgba(22,22,21,.7); }
.floorplan { width: 100%; max-width: none; padding-inline: clamp(28px, 3.2vw, 64px); background: var(--white); }
.floorplan__layout { min-width: 0; display: grid; grid-template-columns: minmax(360px, .9fr) minmax(0, 1.4fr); gap: clamp(48px, 6vw, 120px); align-items: center; }
.floorplan__details, .floorplan__rooms { min-width: 0; }
.floorplan__heading { max-width: none; margin-bottom: clamp(54px, 6vw, 92px); }
.floorplan__heading .eyebrow { display: none; }
.floorplan__heading h2 { font: 500 var(--kp-utility-title-size)/1.2 var(--sans); font-size: var(--kp-utility-title-size) !important; letter-spacing: .14em; text-transform: uppercase; }
.floorplan__rooms article { display: grid; grid-template-columns: minmax(220px, 1.45fr) .72fr .72fr; gap: clamp(15px, 2vw, 32px); min-height: 112px; padding: 23px 0; border-top: 1px solid var(--rule); align-items: start; }
.floorplan__rooms article:last-of-type { border-bottom: 1px solid var(--rule); }
.floorplan__rooms h3 { margin: 0; font-size: clamp(15px, 1.2vw, 20px); font-weight: 500; line-height: 1.25; }
.floorplan__room-copy small { display: block; max-width: 330px; margin-top: 13px; color: rgba(22,22,21,.7); font-size: 16px; line-height: 1.5; }
.floorplan__rooms article > p, .floorplan__rooms article > span { margin: 2px 0 0; color: var(--black); font-size: clamp(14px, 1.25vw, 20px); line-height: 1.3; white-space: nowrap; }
.fine-print { max-width: 520px; margin-top: 28px; color: rgba(22,22,21,.5); font-size: 9px; line-height: 1.6; }
.floorplan__image { position: relative; width: 100%; min-width: 0; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.floorplan__image img { display: block; width: 100%; max-height: 780px; object-fit: contain; }
.floorplan__image span { position: absolute; right: 0; bottom: 0; padding: 12px 18px; background: var(--black); color: var(--white); font-size: 9px; letter-spacing: .17em; text-transform: uppercase; }

.gallery-strip { width: 100%; max-width: none; display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); gap: 18px; padding: 34px 0 clamp(74px, 8vw, 120px) clamp(20px, 2.35vw, 35px); background: var(--paper); }
.gallery-strip figure { min-width: 0; margin: 0; }
.gallery-strip__media { display: block; width: 100%; height: clamp(390px, 35.8vw, 541px); padding: 0; overflow: hidden; border: 0; background: #ddd9d1; }
.gallery-strip__media img { display: block; width: 100%; height: 100%; object-fit: cover; will-change: transform, opacity; }
.gallery-strip figure:first-child img { object-position: center; }
.gallery-strip > figure:last-of-type img { object-position: center; }
.gallery-strip__preview { cursor: pointer; }
.gallery-strip figcaption { padding-top: 18px; color: var(--black); font-size: clamp(15px, 1.32vw, 20px); line-height: 1.3; }
.gallery-strip figcaption button { display: inline-flex; align-items: center; gap: 11px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.gallery-strip figure:first-child figcaption button span { text-decoration: underline; text-underline-offset: 4px; }
.gallery-strip > figure:last-of-type figcaption { padding-right: clamp(20px, 2.35vw, 35px); text-align: right; }
.gallery-strip__arrow { display: block; flex: 0 0 auto; width: 47px; height: 47px; max-width: none; }
.gallery-strip__arrow--previous { transform: rotate(-90deg); }
.gallery-strip__arrow--next { transform: rotate(90deg); }
.gallery-strip:focus { outline: none; }
.gallery-strip:focus-visible, .gallery-strip button:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.specification { width: 100%; max-width: none; padding: clamp(60px, 5vw, 78px) clamp(28px, 3.2vw, 64px) clamp(66px, 5.5vw, 86px); background: var(--paper); }
.specification__intro { max-width: 760px; }
.specification h2 { font-size: clamp(58px, 6.35vw, 96px); }
.specification__intro > p:last-child { max-width: 710px; margin: 24px 0 0; color: rgba(22,22,21,.72); font-size: 16px; line-height: 1.6; }
.specification__body { display: grid; grid-template-columns: 235px minmax(0, 1fr); margin-top: clamp(46px, 4.5vw, 68px); }
.specification__tabs { display: flex; flex-direction: column; align-items: stretch; padding: 7px 38px 7px 0; border-right: 1px solid rgba(22,22,21,.48); }
.specification__tabs button { position: relative; min-height: 43px; padding: 0 0 0 18px; border: 0; background: transparent; color: var(--black); text-align: left; font-size: 14px; font-weight: 300; cursor: pointer; transition: color .25s ease, transform .25s ease; }
.specification__tabs button::before { content: ""; position: absolute; left: 0; top: 50%; width: 8px; height: 1px; background: transparent; transform: translateY(-50%); transition: width .25s ease, background .25s ease; }
.specification__tabs button:hover { color: var(--blue); }
.specification__tabs button[aria-selected="true"] { color: var(--blue); transform: translateX(3px); }
.specification__tabs button[aria-selected="true"]::before { width: 10px; background: var(--blue); }
.specification__panel { min-height: 390px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 420px); gap: clamp(44px, 6vw, 100px); padding-left: clamp(42px, 4.2vw, 66px); align-items: start; }
.specification__panel h3 { margin: 0 0 28px; font: 500 20px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.specification__panel ul { margin: 0; padding: 0; list-style: none; }
.specification__panel li { padding: 11px 0; border-top: 1px solid var(--rule); color: rgba(22,22,21,.78); font-size: 13px; line-height: 1.45;font-weight: 400; }
.specification__panel li:last-child { border-bottom: 1px solid var(--rule); }
.specification__panel figure { margin: 28px 0 0; overflow: hidden; }
.specification__panel img { display: block; width: 100%; height: 380px; object-fit: cover; }

.neighbourhood { padding-bottom: 0; background: var(--white); }
.amenities-embed { width: 100%; margin-top: 55px; background: #dce3dc; }
.amenities-embed iframe { display: block; width: 100%; height: min(70vw, 830px); min-height: 620px; border: 0; }

.kp-footer { padding: 70px var(--gutter) 28px; background: var(--black); color: var(--white); }
.kp-footer__awards { padding-inline: 0; text-align: center; }
.kp-footer p { font-size: 9px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; }
.kp-footer__awards > div { max-width: 700px; display: flex; align-items: center; justify-content: center; gap: clamp(35px, 6vw, 80px); margin: 30px auto 60px; }
.kp-footer__awards img { width: auto; height: 50px; object-fit: contain; }
.kp-footer__bottom { display: grid; grid-template-columns: 1.8fr 1fr 1fr 1fr; gap: 45px; padding: 50px 0; border-block: 1px solid rgba(255,255,255,.2); }
.kp-footer__bottom > div:first-child img { width: auto; max-width: 150px; height: 55px; margin: 18px 22px 0 0; object-fit: contain; }
.kp-footer__bottom a { display: block; margin-top: 8px; color: rgba(255,255,255,.65); text-decoration: none; font-size: 11px; }
.kp-footer > small { display: block; margin-top: 25px; text-align: center; font-size: 8px; opacity: .5; }

.media-modal { position: fixed; z-index: 500; inset: 0; display: grid; place-items: center; padding: 24px; visibility: hidden; opacity: 0; transition: opacity .25s ease, visibility .25s ease; }
.media-modal.is-open { visibility: visible; opacity: 1; }
.media-modal__backdrop { position: absolute; inset: 0; border: 0; background: rgba(14,14,13,.82); backdrop-filter: blur(8px); cursor: pointer; }
.media-modal__dialog { position: relative; z-index: 1; width: min(1120px, 94vw); padding-top: 46px; background: var(--black); }
.media-modal__dialog iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }
.media-modal__close { position: absolute; right: 18px; top: 12px; border: 0; background: none; color: #fff; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; }
.media-modal__dialog--floorplan { max-height: 92vh; padding: 50px 20px 20px; overflow: auto; background: var(--white); }
.media-modal__dialog--floorplan .media-modal__close { color: var(--black); }
.media-modal__dialog--floorplan img { display: block; max-width: 100%; max-height: calc(92vh - 70px); margin: auto; }

@media (max-width: 900px) {
  .property-hero { padding-top: 156px; }
  .property-hero h1 { font-size: clamp(49px, 13vw, 76px); }
  .hero-gallery { height: auto; grid-template: 58vw 36vw / 1fr 1fr; gap: 8px; }
  .hero-gallery__video, .hero-gallery__video-placeholder { grid-row: auto; grid-column: 1 / 3; }
  .play { width: 58px; height: 58px; }
  .overview { grid-template-columns: 1fr; }
  .property-card { max-width: 470px; }
  .floorplan__layout { grid-template-columns: 1fr; }
  .floorplan__image { order: -1; }
  .floorplan__heading { margin-bottom: 32px; }
  .specification__body { grid-template-columns: 180px minmax(0, 1fr); }
  .specification__tabs { padding-right: 22px; }
  .specification__tabs button { font-size: 12px; }
  .specification__panel { min-height: 0; grid-template-columns: minmax(0, 1fr) 210px; gap: 26px; padding-left: 30px; }
  .specification__panel figure { margin-top: 28px; }
  .specification__panel img { height: 290px; }
  .amenities-embed iframe { height: 680px; min-height: 0; }
  .kp-footer__bottom { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 580px) {

  .property-hero h1 { margin-bottom: 34px; }
  .hero-gallery { grid-template-rows: 64vw 42vw; }
  .video-stage { padding: 12px; }
  .hero-gallery__video.is-expanded { width: calc(100vw - 24px); }
  .hero-gallery__close { right: 14px; top: 10px; }
  .overview__columns { grid-template-columns: 1fr; gap: 4px; }
  .floorplan__rooms article { grid-template-columns: 1fr; gap: 4px; }
  .gallery-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 34px 20px 64px; overflow: visible; }
  .gallery-strip > figure { display: contents; }
  .gallery-strip__media { grid-column: 1 / -1; grid-row: 1; height: 70vw; }
  .gallery-strip > figure:last-of-type .gallery-strip__media { display: none; }
  .gallery-strip figcaption { grid-row: 2; min-width: 0; padding-top: 14px; }
  .gallery-strip figure:first-child figcaption { grid-column: 1; }
  .gallery-strip > figure:last-of-type figcaption { grid-column: 2; padding-right: 0; text-align: right; }
  .gallery-strip > figure:last-of-type figcaption button { width: 100%; justify-content: flex-end; }
  .specification { padding: 56px 20px 64px; }
  .specification h2 { font-size: 46px; }
  .specification__intro > p:last-child { font-size: 13px; }
  .specification__body { display: block; margin-top: 38px; }
  .specification__tabs { flex-direction: row; overflow-x: auto; padding: 0; border-right: 0; border-bottom: 1px solid var(--rule); scrollbar-width: none; }
  .specification__tabs::-webkit-scrollbar { display: none; }
  .specification__tabs button { flex: 0 0 auto; min-height: 46px; padding: 0 16px; color: var(--black); font-size: 14px; font-weight: 500; white-space: nowrap; }
  .specification__tabs button:hover { color: var(--black); }
  .specification__tabs button::before { display: none; }
  .specification__tabs button[aria-selected="true"] { border-bottom: 2px solid var(--black); color: var(--black); font-weight: 700; transform: none; }
  .specification__panel { grid-template-columns: 1fr; gap: 20px; padding: 28px 0 0; }
  .specification__panel figure { order: -1; margin-top: 0; }
  .specification__panel img { height: 180px; }
  .specification__panel h3 { margin-bottom: 18px; font-size: 16px; }
  .specification__panel ul { max-height: 250px; overflow-y: auto; padding-right: 10px; scrollbar-width: thin; }
  .amenities-embed iframe { height: 620px; }
  .kp-footer__awards > div { flex-wrap: wrap; gap: 28px 45px; }
  .kp-footer__awards img { height: 42px; }
  .kp-footer__bottom { grid-template-columns: 1fr; }
  .media-modal { padding: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  html.kp-motion-pending [data-reveal] { visibility: visible !important; opacity: 1 !important; transform: none !important; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Figma 490:11651 — Single property Fusion V1 --------------------------- */
.kp-property-page {
  --kp-countdown-height: 46px;
}

body { background: var(--paper); }
.page-shell { width: 100%; max-width: none; padding-inline: var(--gutter); }
.kp-countdown { background: var(--green); }
.kp-nav a { position: relative; }
.kp-nav a[aria-current="page"]::after { content: ""; position: absolute; right: 0; bottom: 3px; left: 0; height: 1px; background: currentColor; }

.overview__lead { margin: 0; color: var(--black); font-size: 16px; font-weight: 400; line-height: 1.6; }
.overview__features { display: grid; grid-template-columns: 1.1fr .86fr 1.02fr; }
.overview__features > div { min-width: 0; display: flex; align-items: center; gap: 26px; padding: 18px 26px; background: var(--white); }
.overview__features img { flex: 0 0 auto; width: 48px; height: 50px; object-fit: contain; }
.overview__features span { max-width: 190px; font-size: 14px; font-weight: 500; line-height: 1.3; }
.overview__meta { display: flex; align-items: center; min-height: 83px; margin: 0; padding: 0 22px; background: var(--white); }
.overview__meta > div { min-width: 0; padding: 0 38px 0 0; }
.overview__meta > div + div { margin-left: 38px; padding-left: 38px; border-left: 1px solid rgba(22,22,21,.32); }
.overview__meta dt { font-size: 10px; font-weight: 600; line-height: 1.3; }
.overview__meta dd { margin: 2px 0 0; font-size: 14px; line-height: 1.3; }

.related-homes { background: var(--paper); }
.related-homes .section-heading { max-width: 760px; }
.related-homes .section-heading h2 { font-size: clamp(58px, 6.35vw, 96px); line-height: var(--kp-title-line-height); }
.related-homes__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.related-card { min-width: 0; display: grid; grid-template-columns: 305px minmax(0, 1fr); min-height: 232px; background: var(--white); }
.related-card__image { width: 100%; height: 232px; object-fit: cover; }
.related-card__body { position: relative; min-width: 0; height: 232px; padding: 55px 36px 20px 28px; }
.related-card__brand { position: absolute; top: 15px; left: 32px; width: 25px; height: 29px; object-fit: contain; }
.related-card__status { position: absolute; top: 25px; right: 36px; font-size: 10px; line-height: 1.02; letter-spacing: .11em; text-transform: uppercase; }
.related-card__status::before { content: ""; display: inline-block; width: 11px; height: 11px; margin-right: 9px; border-radius: 50%; background: var(--green); vertical-align: -1px; }
.related-card h3 { margin: 0; font: 400 36px/1.02 var(--display); }
.related-card__meta { height: 61px; display: grid; grid-template-columns: 1fr 88px 89px; align-items: start; gap: 0; padding-top: 17px; font-size: 10px; line-height: 1.02; }
.related-card__meta > span { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.related-card__meta img { flex: 0 0 auto; object-fit: contain; opacity: .66; }
.related-card__meta > span:nth-child(2) img { width: 20px; height: 12px; }
.related-card__meta > span:nth-child(3) img { width: 14px; height: 14px; }
.related-card__footer { display: flex; align-items: center; justify-content: space-between; min-height: 58px; padding-top: 17px; border-top: 1px dashed var(--rule); }
.related-card strong { font: 400 20px/1.02 var(--display); }
.related-card a, .related-homes__more { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 17px; border: 1px solid var(--black); color: inherit; text-decoration: none; font-size: 12px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; }
.related-homes__more { width: 209px; min-height: 54px; display: flex; margin: 106px auto 0; }

@media (min-width: 901px) {
  .kp-header { top: var(--countdown); height: 125px; padding: 0 clamp(40px, 3.57vw, 54px); gap: 0; background: var(--black); box-shadow: none; backdrop-filter: none; }
  .kp-header.is-solid { height: 78px; }
  .kp-brand { width: 160px; height: 95px; }
  .kp-brand img { max-width: none; }
  .kp-header.is-solid .kp-brand { width: 160px; height: 54px; }
  .kp-header.is-solid .kp-brand img { max-width: 160px; }
  .kp-nav { gap: 22px; font-size: 14px; font-weight: 500; line-height: 1.58; letter-spacing: 3.08px; }
  .kp-nav a { min-height: 26px; padding: 2px 10px; }
  .kp-nav a.kp-nav__cta { min-height: 58px; margin-left: 4px; padding: 20px 32px; }

  .property-hero { padding-top: 216px; }
  .property-hero h1 { max-width: 1318px; margin: 0 0 64px calc(var(--content-inset) - var(--gutter)); font-size: var(--kp-hero-title-size); line-height: var(--kp-title-line-height); letter-spacing: -.03em; }
  .property-hero h1 em { color: var(--green); }
  .hero-gallery { height: 680px; grid-template: 325px 331px / minmax(0, 868fr) minmax(0, 624fr); gap: 24px 20px; }
  .hero-gallery__video { grid-row: 1 / 3; }

  .overview { grid-template-columns: 467px minmax(0, 1fr); gap: 20px; padding-top: 58px; padding-bottom: 49px; }
  .property-card { width: 467px; height: 545px; padding: 38px 31px 31px; box-shadow: none; }
  .property-card > p { margin-bottom: 10px; font-size: 14px; font-weight: 500; letter-spacing: 2.94px; opacity: 1; }
  .property-card h2 { color: var(--green); font-size: var(--kp-editorial-subtitle-size) !important; line-height: 1.3; }
  .property-card h2 em { font-weight: 400; }
  .property-card > strong { margin-top: 2px; font-size: 36px; line-height: 1.3; }
  .property-card__visit { min-height: 63px; margin-top: 20px; }
  .property-card__actions { grid-template-columns: 194px 191px; gap: 17px; margin: 30px 0 0; }
  .property-card__actions a { min-height: 50px; }
  .property-card__actions img { width: 24px; height: 24px; margin-left: 10px; }
  .property-card small { margin-top: 22px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.55); font-size: 16px; line-height: 1.6; text-align: center; opacity: 1; }
  .overview__copy h2 { margin: -1px 0 16px; font-size: var(--kp-editorial-subtitle-size) !important; line-height: var(--kp-title-line-height); }
  .overview__lead { width: min(100%, 830px); min-height: 131px; }
  .overview__features { min-height: 198px; margin-top: 9px; gap: 2px; }
  .overview__meta { margin-top: 2px; }

  .floorplan { height: 694px; padding: 0 0 0 var(--gutter); }
  .floorplan__layout { height: 100%; grid-template-columns: minmax(0, 711px) minmax(0, 1fr); gap: 0; align-items: stretch; }
  .floorplan__details { padding-top: 93px; }
  .floorplan__heading { margin-bottom: 44px; }
  .floorplan__heading h2 { font-size: var(--kp-utility-title-size) !important; letter-spacing: 2.8px; }
  .floorplan__rooms article { grid-template-columns: 1.42fr .7fr .7fr; min-height: 109px; padding: 22px 0; }
  .floorplan__rooms article:nth-of-type(2), .floorplan__rooms article:nth-of-type(3) { min-height: 76px; }
  .floorplan__image { height: 694px; overflow: hidden; }
  .floorplan__image img { width: 100%; height: 100%; max-height: none; object-fit: cover; }

  .gallery-strip { grid-template-columns: minmax(0, 1095fr) minmax(0, 362fr); gap: 20px; padding: 34px 0 80px var(--gutter); }
  .gallery-strip__media { height: 541px; }

  .specification { height: 973px; padding: 0; }
  .specification__intro { width: 100%; max-width: none; height: 292px; padding: 0 var(--gutter); }
  .specification__intro h2 { width: min(711px, 100%); font-size: 64px; line-height: var(--kp-title-line-height); }
  .specification__intro > p:last-child { width: min(711px, 100%); max-width: none; margin-top: 18px; color: var(--black); font-size: 16px; font-weight: 400; line-height: 1.6; }
  .specification__body { height: 681px; grid-template-columns: 234px minmax(0, 1fr); margin-top: 0; padding-inline: var(--gutter); }
  .specification__tabs { padding: 174px 0 0; border-right: 1px dotted rgba(22,22,21,.32); }
  .specification__tabs button { min-height: 43px; display: flex; align-items: center; padding: 0; color: var(--black); font-size: 16px; font-weight: 400; line-height: 1.3; }
  .specification__tabs button::before { left: 0; }
  .specification__tabs button:hover { color: var(--blue); }
  .specification__tabs button[aria-selected="true"] { padding-left: 12px; color: var(--black); transform: none; }
  .specification__tabs button[aria-selected="true"]::before { width: 7px; background: var(--blue); }
  .specification__panel { min-height: 0; grid-template-columns: minmax(0, 1fr) clamp(300px, 30.886vw, 467px); gap: 0; padding: 0 0 0 51px; }
  .specification__panel > div { min-width: 0; padding-top: 32px; }
  .specification__panel h3 { margin: 0 0 13px; font-size: 20px; line-height: 1.3; letter-spacing: 2.8px; }
  .specification__panel ul { width: min(550px, 100%); }
  .specification__panel li { min-height: 48px; display: flex; align-items: center; padding: 0; border: 0; border-bottom: 1px dotted rgba(22,22,21,.24); color: var(--black); font-size: 16px; font-weight: 300; line-height: 1.3; }
  .specification__panel li:last-child { border-bottom: 0; }
  .specification__panel figure { position: relative; width: 100%; height: 541px; margin: 105px 0 0; overflow: hidden; }
  .specification__panel img { position: absolute; top: -2.79%; left: -23.5%; width: 188.87%; max-width: none; height: 108.69%; object-fit: fill; }

  .neighbourhood { padding-top: 61px; padding-bottom: 128px; }
  .neighbourhood .section-heading { max-width: 835px; }
  .neighbourhood .section-heading h2 { font-size: var(--kp-section-title-size); line-height: var(--kp-section-title-line-height); }
  .neighbourhood .section-heading > p:last-child { max-width: 835px; margin-top: 26px; font-size: 16px; line-height: 1.6; }
  .amenities-embed { width: 100%; margin: 63px 0 0; }
  .amenities-embed iframe { height: clamp(700px, 64.75vw, 979px); min-height: 0; }

  .related-homes { padding-top: 47px; padding-bottom: 102px; }
  .related-homes .section-heading h2 { font-size: var(--kp-section-title-size); line-height: var(--kp-section-title-line-height); }
  .related-homes__grid { margin-top: 64px; }
}

@media (min-width: 801px) and (max-width: 1200px) {
  .kp-property-page { --kp-countdown-height: 42px; }
  .kp-header { top: var(--countdown); height: 100px; padding: 0 28px; gap: 18px; background: var(--black); backdrop-filter: none; }
  .kp-header.is-solid { height: 78px; background: var(--black); backdrop-filter: blur(12px); }
  .kp-brand { width: 138px; height: 80px; }
  .kp-brand img { width: auto; height: 100%; max-width: none; }
  .kp-header.is-solid .kp-brand { width: 138px; height: 54px; }
  .kp-header.is-solid .kp-brand img { width: auto; height: 100%; max-width: 138px; }
  .kp-nav { gap: 10px; font-size: 10px; letter-spacing: 1.55px; }
  .kp-nav a { padding: 2px 4px; }
  .kp-nav a.kp-nav__cta { min-height: 44px; padding: 0 14px; }
}

@media (min-width: 901px) and (max-width: 1200px) {
  .specification__body { grid-template-columns: clamp(210px, 22vw, 234px) minmax(0, 1fr); }
  .specification__tabs button { min-height: 48px; padding-block: 4px; font-size: 14px; line-height: 1.35; }
  .specification__tabs button[aria-selected="true"] { padding-left: 12px; }
  .specification__panel { padding-left: clamp(32px, 4vw, 51px); }
}

@media (max-width: 900px) {
  .property-hero h1 em { color: var(--green); }
  .overview__copy { min-width: 0; }
  .overview__lead { margin-bottom: 28px; }
  .overview__features { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; }
  .overview__features > div { min-height: 105px; padding: 18px; }
  .overview__features img { width: 40px; height: 42px; }
  .overview__meta { flex-wrap: wrap; gap: 20px 0; padding-block: 22px; }
  .overview__meta > div + div { margin-left: 22px; padding-left: 22px; }
  .related-card { grid-template-columns: 42% minmax(0, 1fr); }
  .related-card__body { padding: 52px 22px 18px; }
  .related-card__brand { left: 22px; }
  .related-card__status { right: 22px; }
  .related-card h3 { font-size: 28px; }
  .related-card__meta { grid-template-columns: 1fr auto auto; gap: 14px; }
  .specification__body { margin-top: 46px; }
}

@media (max-width: 800px) {
  html.kp-motion-pending [data-reveal] { transform: translate3d(0, 18px, 0); }
  .kp-property-page {
    --kp-countdown-height: 34px;
    --kp-section-intro-top: 48px;
    --kp-section-intro-bottom: 64px;
    --kp-title-copy-gap: 24px;
    --kp-editorial-subtitle-size: clamp(1.75rem, 8.37vw, 2.25rem);
  }
  .kp-header, .kp-header.is-solid { top: var(--countdown); height: 76px; background: var(--black); backdrop-filter: none; }
  .amenities-embed iframe { height: 76svh; min-height: 620px; }
}

@media (max-width: 680px) {
  .overview__features { grid-template-columns: 1fr; }
  .overview__meta { display: grid; }
  .overview__meta > div + div { margin: 0; padding: 14px 0 0; border-top: 1px solid var(--rule); border-left: 0; }
  .related-homes__grid { grid-template-columns: 1fr; margin-top: 40px; }
  .related-card { grid-template-columns: 1fr; }
  .related-card__image { height: 58vw; }
  .related-homes__more { margin-top: 48px; }
}

@media (max-width: 580px) {
  /* Figma 553:15396 supplies the mobile composition; shared project tokens
     remain the source of truth for its type, gutter and spacing rhythm. */
  .property-card {
    width: 100%;
    max-width: none;
    min-height: 0;
    padding: var(--kp-title-copy-gap);
    box-shadow: none;
  }
  .property-card > p {
    margin-bottom: calc(var(--kp-title-copy-gap) / 2);
    font-size: .75rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: .14em;
    opacity: 1;
  }
  .property-card h2 {
    color: var(--green);
    font-size: var(--kp-editorial-subtitle-size) !important;
    line-height: 1.3;
  }
  .property-card h2 em {
    font-weight: 400;
  }
  .property-card > strong {
    margin-top: var(--kp-title-copy-gap);
    font-size: var(--kp-editorial-subtitle-size);
    line-height: 1.3;
  }
  .property-card__visit {
    min-height: 58px;
    margin-top: var(--kp-title-copy-gap);
  }
  .property-card__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(var(--kp-title-copy-gap) / 2);
    margin: var(--kp-title-copy-gap) 0 0;
  }
  .property-card__actions a {
    min-width: 0;
    min-height: 44px;
  }
  .property-card__actions img {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    margin-left: 8px;
  }
  .property-card__actions a,
  .property-card__visit {
    font-size: .75rem;
    letter-spacing: .14em;
  }
  .property-card small {
    margin-top: var(--kp-title-copy-gap);
    padding-top: var(--kp-title-copy-gap);
    border-top: 1px dotted rgba(255,255,255,.55);
    font-size: var(--kp-intro-font-size);
    line-height: 1.6;
    opacity: 1;
  }
  .specification__body { margin-top: 38px; }
}
