.filters label{width:21%}
.availability-badge.is-unavailable{background:#d9d4cf;border-left:0;color:#000}
.detail-status .detail-availability.is-unavailable{background:#d9d4cf;color:#000}
.availability-badge,.detail-availability{text-transform:uppercase}
@media(max-width:760px){.filters label{width:100%}}

/* Full-screen surfaces follow the visible viewport as browser chrome changes. */
.hero{min-height:100dvh;height:100dvh;max-height:none}
@media(min-width:761px){.header.menu-open nav{height:100dvh}.mobile-menu-feature{min-height:0}}

.project-gallery{display:block}
.gallery-stage{position:relative;height:clamp(360px,43vw,560px);overflow:hidden;background:#111}
.gallery-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;height:100%}
.gallery-main{display:block;width:100%;height:100%;padding:0;border:0;background:#111;color:#fff;text-align:left;overflow:hidden}
.gallery-slide{display:block;width:100%;height:100%;animation:gallery-slide-in 480ms var(--ease-out)}
.gallery-slide img{width:100%;height:100%;object-fit:cover}
.gallery-expand{position:absolute;right:20px;top:20px;display:flex;align-items:center;gap:10px;padding:9px 12px;background:#000b;font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:0;transition:opacity 180ms ease}
.gallery-main:hover .gallery-expand,.gallery-main:focus-visible .gallery-expand{opacity:1}
.gallery-controls{position:absolute;left:20px;bottom:20px;display:flex;align-items:center;gap:10px;color:#fff}
.gallery-controls button,.lightbox-control{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #fff6;border-radius:50%;background:#0009;color:#fff}
.gallery-controls button:hover,.lightbox-control:hover{border-color:var(--orange);background:var(--orange);color:#000}
.gallery-controls>span,.lightbox-count{min-width:58px;padding:9px 11px;background:#0009;font-size:9px;letter-spacing:.1em;text-align:center}
.lightbox{position:relative;width:min(1100px,92vw);max-width:92vw;max-height:88dvh;padding:0;border:0;background:transparent;overflow:visible}
.lightbox>img{max-width:92vw;max-height:88dvh;object-fit:contain}
.lightbox .lightbox-close{position:absolute!important;top:12px!important;right:12px!important;bottom:auto!important;left:auto!important;z-index:2;width:40px!important;height:40px!important;display:grid!important;place-items:center!important;background:#fffc!important;color:#000}
.lightbox .lightbox-control{position:absolute!important;top:50%!important;right:auto!important;bottom:auto!important;left:auto!important;z-index:2;width:42px!important;height:42px!important;display:grid!important;place-items:center!important;background:#0009!important;color:#fff!important;transform:translateY(-50%)}
.lightbox .lightbox-control.previous{right:auto!important;left:18px!important}.lightbox .lightbox-control.next{right:18px!important;left:auto!important}.lightbox .lightbox-control .icon-arrow,.lightbox .lightbox-control .icon-arrow svg{display:block;width:18px;height:18px}.lightbox-count{position:absolute;bottom:14px;left:50%;z-index:2;transform:translateX(-50%);color:#fff}
.lightbox::backdrop{background:#080808ed}
@keyframes gallery-slide-in{from{opacity:.3;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}
@media(max-width:760px){.gallery-stage{height:auto;aspect-ratio:4/3}.gallery-track{display:block}.gallery-main:not(:first-child){display:none}.gallery-expand{opacity:1;right:12px;top:12px;font-size:8px}.gallery-controls{left:12px;bottom:12px}.gallery-controls button{width:38px;height:38px}.lightbox-control.previous{left:10px}.lightbox-control.next{right:10px}}
@media(prefers-reduced-motion:reduce){.gallery-slide{animation:none}.gallery-expand{transition:none}}

.project-overview .detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:26px;padding-top:0;border-top:0}
.project-overview .detail-facts>div{min-width:0}
.project-overview .detail-facts strong{display:block;font-size:20px;line-height:1.15;font-weight:400}
.project-overview .detail-facts>div>span{display:block;margin-top:7px;font-size:8px;line-height:1.35;letter-spacing:.04em;color:var(--muted)}
.project-overview .detail-availability-fact{display:flex;flex-direction:column;align-items:flex-start}
.detail-availability-fact .detail-availability{display:inline-flex;align-items:center;padding:6px 10px;background:var(--orange);color:#000;font-size:8px!important;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.08em}
.detail-availability-fact .detail-availability.is-sold-out{background:#000;color:#fff}
.detail-availability-fact .detail-availability.is-unavailable{background:#d9d4cf;color:#000}
.project-overview .detail-availability-fact .detail-availability{width:max-content;margin:0}
@media(max-width:760px){.project-overview .detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;margin-top:30px}.project-overview .detail-facts strong{font-size:20px}.project-overview .detail-facts>div:nth-child(3) strong{font-size:19px}}

.location-section.without-map{grid-template-columns:1fr}
.project-map{position:relative;height:360px;margin:0;background:#e8e5df;overflow:hidden}
.project-map iframe{display:block;width:100%;height:100%;border:0}
.project-map figcaption{position:absolute;right:12px;bottom:10px;display:flex;gap:10px;align-items:center;padding:5px 8px;background:#fffffff0;font-size:8px;letter-spacing:.05em}
.project-map figcaption a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.project-map{height:300px}.project-map figcaption{font-size:7px;gap:7px}}

/* Reading text is deliberately more generous than compact navigational UI. */
.hero-content p,.page-title>p,.intro-bottom p,.feature-copy>p,.lifestyle-copy p,.project-overview p,.amenities-intro>p,.location-section p,.interest-section>div>p,.contact-details p,.wide-copy,.value-list p,.media-feature p,.article-title>p,.article-body p,.legal-body p{font-size:16px;line-height:1.7}
.amenity p{font-size:14px;line-height:1.7}
.footer-top p{font-size:14px;line-height:1.7}
.enquiry-form label{font-size:12px}
.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea{font-size:15px}
.enquiry-form .consent{font-size:13px;line-height:1.55}
.sales-facts small,.project-overview .detail-facts>div>span,.detail-facts span{font-size:9px}

@media(max-width:760px){
  body{font-size:16px;line-height:1.65}
  .hero-content p,.intro-bottom p,.feature-copy>p,.lifestyle-copy p,.amenities-intro>p{font-size:15px;line-height:1.7}
  .page-title>p,.project-overview p,.location-section p,.interest-section>div>p,.contact-details p,.wide-copy,.value-list p,.media-feature p,.article-title>p,.article-body p,.legal-body p{font-size:16px;line-height:1.7}
  .amenity p{font-size:14px;line-height:1.65}
  .enquiry-form label{font-size:12px}
  .enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea{font-size:16px}
  .enquiry-form .consent{font-size:13px;line-height:1.55}
  .eyebrow,.hero-content .eyebrow,.sales-facts small,.project-overview .detail-facts>div>span,.detail-facts span,.amenity-category{font-size:9px}
  .text-link{font-size:13px}
  .footer-top>div>a{font-size:12px}
}

.hero-focus-image{position:absolute;inset:0;z-index:0}
.hero-focus-image .hero-image{position:absolute;inset:0}
.hero>.hero-shade{z-index:1}
.hero>.hero-content,.hero>.hero-bottom{z-index:2}
.hero-focus-progress{position:absolute;top:-1px;left:0;width:100%;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left center;animation:hero-focus-progress 6500ms linear forwards}
.hero-focus-link{display:flex;align-items:center;gap:10px;min-width:0}
.hero-focus-link .eyebrow{margin:0}
.hero-focus-name,.hero-focus-location{white-space:nowrap}
.hero-focus-location{color:#fff;min-width:0;overflow:hidden;text-overflow:ellipsis}
.hero-focus-link>.icon-arrow{flex:0 0 auto}
@media(max-width:760px){
  .hero-bottom{padding-top:18px}
  .hero-bottom .hero-focus-link{width:100%;gap:7px;font-size:12px;line-height:1.3}
  .hero-bottom .hero-focus-link .eyebrow{font-size:8px;letter-spacing:.13em;flex:0 0 auto}
  .hero-bottom .hero-focus-name{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}
  .hero-bottom .hero-focus-location{flex:1 1 auto}
  .hero-bottom .hero-focus-link>.icon-arrow{width:16px;height:16px}
}
@keyframes hero-focus-progress{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.hero-focus-progress{animation:none}}

/* Homepage videos retain the project cover image as a poster/fallback. */
.hero-focus-image .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 53%}

/* Project cards communicate delivery stage rather than sales availability. */
.construction-status-badge{text-transform:uppercase;font-weight:700;letter-spacing:.08em}
.construction-status-badge.is-ongoing{background:var(--orange);color:#000}
.construction-status-badge.is-completed{background:#000;color:#fff}
.construction-status-badge.is-conceptual{background:#d9d4cf;color:#000}

/* Brochure download gate. */
.brochure-dialog{width:min(680px,calc(100vw - 32px));max-width:680px;max-height:calc(100dvh - 32px);padding:0;border:0;background:var(--paper);color:var(--ink)}
.brochure-dialog::backdrop{background:#000a}
.brochure-dialog-content{position:relative;padding:clamp(32px,5vw,56px)}
.brochure-dialog h2{font-size:clamp(28px,3.2vw,42px);max-width:460px}
.brochure-dialog-content>p{margin:14px 0 26px;max-width:490px}
.brochure-dialog-close{position:absolute;top:16px;right:18px;width:40px;height:40px;border:0;background:transparent;font-size:32px;font-weight:300;line-height:1}
.brochure-form .brochure-source{margin:24px 0 18px;padding:10px 12px;background:var(--cream);font-size:12px;line-height:1.5}
.brochure-form .consent{margin-top:0}
.brochure-form .button:disabled{cursor:wait;opacity:.7}
.form-error{margin:16px 0 0;color:#9d271a;font-size:13px;line-height:1.5}
.brochure-trigger{display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(100%,390px);min-height:50px;padding:0 0 11px;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);font-family:inherit;font-size:10px;font-weight:700;letter-spacing:.14em;line-height:1.25;text-align:left;text-transform:uppercase;transition:color 180ms ease,border-color 180ms ease}
.brochure-trigger .icon-arrow{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:9px;border:1px solid currentColor;border-radius:50%;transition:background 180ms ease,color 180ms ease,transform 240ms var(--ease-out)}
.brochure-trigger:hover{border-color:var(--orange);color:#a84212}
.brochure-trigger:hover .icon-arrow{background:var(--orange);border-color:var(--orange);color:var(--ink);transform:translate(3px,-3px)}
.brochure-trigger:focus-visible{outline:2px solid var(--orange);outline-offset:7px}
.brochure-trigger-centered{margin:0 auto}
@media(max-width:760px){.brochure-dialog-content{padding:42px 24px 28px}.brochure-dialog h2{font-size:28px}.brochure-dialog-content>p{font-size:15px}.brochure-form .brochure-source{font-size:11px}}
