/* Property collection and project pages: supplied October 10 layout references.
   Every project retains its own brochure palette. */
.property-page { background:#fff; }
.property-page main h1,.property-page main h2 { font-weight:600; letter-spacing:-.025em; }
.property-catalogue-page main { width:min(1376px,calc(100% - 80px)); padding-top:calc(var(--header-height) + 30px); }
.property-collection-intro { display:flex; justify-content:space-between; gap:30px; padding:0 0 26px; align-items:center; }
.property-collection-intro .property-eyebrow { margin-bottom:8px; }
.property-collection-intro h1 { font-size:38px; line-height:1.1; }
.property-intro-note { max-width:380px; }
.property-intro-note p { margin:0; font-size:13px; }
.property-intro-note > span { display:none; }
.property-filter-panel { border:0; background:transparent; padding:0; }
.property-filter-panel form { gap:16px; }
.property-filter-panel label > span { font-size:10px; }
.property-filter-panel input,.property-filter-panel select { border:1px solid #d3d5d1; border-radius:7px; padding:12px; background:#fff; }
.property-results-bar { padding:18px 0; }
.property-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.property-card { border:0; background:var(--property-accent); box-shadow:0 5px 18px #00000014; }
.property-card-image .property-media { aspect-ratio:1.42; }
.property-card-body { padding:19px 17px 17px; border-top:3px solid #fff; color:var(--property-onAccent); }
.property-page main .property-card h2 { font-size:27px; color:var(--property-onAccent); line-height:1.1; margin:0 0 8px; letter-spacing:-.015em; }
.property-card .property-location { color:var(--property-onAccent); font-size:14px; font-weight:600; margin:0 0 14px; }
.property-card-meta { color:var(--property-onAccent); font-size:12px; gap:10px; }
.property-card-meta > span:last-child { display:none; }
.property-category { color:inherit; background:none; padding:0; font-size:13px; letter-spacing:0; }
.property-category::before { content:'⌂'; font-size:20px; margin-right:10px; }
.property-card-address { display:flex; align-items:baseline; gap:10px; font-size:12px; margin:7px 0 12px; }
.property-card-address > span:first-child { font-size:20px; flex:none; }
.property-card-address > span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.property-card-bottom { gap:10px; border-color:currentColor; padding-top:13px; flex-wrap:wrap; }
.property-card-price > span { display:none; }
.property-card-price strong { font:600 14px/1.4 var(--sans); }
.property-card .property-button { min-height:38px; padding:8px 12px; font-size:11px; gap:9px; }
.property-card .property-button .button-arrow { font-size:15px; }
/* An edge-to-edge project photograph with information placed over it. */
.property-detail-page main.shell { width:100%; padding-top:var(--header-height); padding-bottom:0; }
.property-detail-page #property-unavailable,.property-detail-page .property-preview-notice { margin:30px; }
.property-detail-hero { position:relative; display:flex; min-height:660px; min-height:clamp(560px,76svh,880px); padding:0; isolation:isolate; align-items:flex-end; }
.property-detail-visual { position:absolute; inset:0; z-index:-1; }
.property-detail-visual .property-media { width:100%; height:100%; aspect-ratio:auto; }
.property-detail-visual .property-media > img { object-position:center; }
.property-detail-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,color-mix(in srgb,var(--property-accent) 45%,transparent)); pointer-events:none; }
.property-detail-visual figcaption { position:absolute; bottom:8px; right:20px; z-index:1; margin:0; padding:4px 8px; background:var(--property-accent); color:var(--property-onAccent); font-size:9px; }
.property-detail-intro { margin:36px 4% 42px; width:max-content; max-width:min(870px,88%); padding:25px 28px; background:#fffdf5ed; border:1px solid #ffffffb0; border-radius:9px; box-shadow:0 5px 30px #0002; backdrop-filter:blur(12px); }
.property-detail-intro .property-eyebrow { font-size:10px; margin-bottom:10px; letter-spacing:.12em; }
.property-detail-intro h1 { font-size:clamp(34px,3.3vw,56px); margin:0 0 10px; line-height:1.05; }
.property-detail-location { font-size:15px; margin:0 0 17px; }
.property-hero-chips { display:flex; flex-wrap:wrap; gap:10px; }
.property-hero-chips > span { display:inline-block; padding:9px 12px; border-radius:4px; background:var(--property-accent); color:var(--property-onAccent); font-size:12px; line-height:1.5; }
.property-hero-chips strong { font-weight:700; }
.property-actions { display:flex; flex-wrap:wrap; gap:18px; margin-top:17px; }
.property-actions .property-button { min-height:40px; padding:9px 15px; font-size:11px; }
.property-actions .property-text-link { color:var(--property-ink); }
.property-breadcrumb { padding:12px 4% 0; font-size:11px; }
.property-detail-facts { display:flex; flex-wrap:wrap; gap:12px; padding:13px 4% 25px; margin:0; border:0; background:#fff; }
.property-detail-facts > div { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px; padding:11px 15px; background:var(--property-wash); border-radius:5px; }
.property-detail-facts dt { color:var(--property-ink); font-size:12px; font-weight:700; letter-spacing:0; margin:0; }
.property-detail-facts dt::after { content:':'; }
.property-detail-facts dd { font-size:13px; }
.property-section-nav { padding-inline:4%; gap:28px; border-block:1px solid var(--property-line); background:#fff; }
.property-section-nav a { min-height:48px; font-size:11px; }
.property-detail-body { display:block; padding-top:16px; }
.property-detail-section { padding:60px max(6%,calc((100% - 1220px)/2)); margin:0 16px 16px; border:0; scroll-margin-top:calc(var(--header-height) + 18px); }
#overview,#highlights { background:linear-gradient(105deg,var(--property-wash),#fffdf6 170%); }
.property-detail-section .property-eyebrow { font-family:var(--serif); font-size:20px; font-weight:700; letter-spacing:.13em; margin-bottom:24px; }
.property-detail-section .property-eyebrow::after { content:''; display:block; width:38px; height:3px; margin-top:7px; background:var(--property-accent); border-radius:4px; }
.property-detail-section h2 { font-size:clamp(32px,3.5vw,49px); line-height:1.1; max-width:none; margin-bottom:25px; }
#overview { display:grid; grid-template-columns:1.25fr 1fr; column-gap:6%; align-items:start; }
#overview > .property-eyebrow,#overview > h2,#overview > .property-overview-copy { grid-column:1; }
.property-overview-image { grid-column:2; grid-row:1/4; margin:0; align-self:center; }
.property-overview-image .property-media { aspect-ratio:1.12; border-radius:16px; }
.property-overview-image figcaption { font-size:10px; line-height:1.5; margin-top:8px; color:var(--muted); }
.property-overview-copy p { font-size:15px; line-height:1.8; margin:0 0 18px; color:var(--property-ink); }
.property-overview-copy p + p { font-size:12px; }
.property-overview-copy .property-button { margin-top:6px; }
.property-highlights { margin-bottom:25px; }
.property-highlights li { border:0; padding:9px 0; gap:16px; }
.property-highlights li > span { font-size:19px; }
.property-highlights li > p { font-size:15px; line-height:1.8; color:var(--property-ink); }
.property-configurations { font-size:14px; }
.property-configurations td:nth-child(2) { min-width:260px; }
.property-configurations tbody th { min-width:155px; }
.property-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; }
.property-gallery figure { border:1px solid var(--property-line); background:#fff; padding:12px; }
.property-gallery-image .property-media { aspect-ratio:1.5; background:#fff; }
.property-gallery-image .property-media > img { height:100%; object-fit:contain; }
.property-gallery-image:hover .property-media > img { transform:none; }
.property-detail-section > p:not(.property-eyebrow) { font-size:15px; }
.property-enquiry { position:static; display:block; margin:0; padding:50px max(6%,calc((100% - 1220px)/2)); border:0; background:var(--property-wash); }
.property-enquiry h2 { font-size:42px; }
.property-enquiry .property-button { display:inline-flex; padding:14px 22px; margin:15px 25px 10px 0; }
.property-enquiry .property-text-link { display:inline-flex; }
.property-related { padding:55px 6%; }
.property-brochure-dock { position:fixed; z-index:20; right:0; top:46%; writing-mode:vertical-rl; transform:rotate(180deg); padding:20px 12px; background:#111; color:#fff; font-size:12px; font-weight:600; border-radius:0 5px 5px 0; box-shadow:0 3px 12px #0002; }
.property-brochure-dock:hover { background:var(--property-accent); color:var(--property-onAccent); }
.property-brochure-dock:focus-visible { outline:3px solid var(--property-accent); outline-offset:3px; }
@media(min-width:1600px) { .property-card-bottom { flex-wrap:nowrap; } }
@media(max-width:1100px) {
 .property-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
 .property-detail-section { padding:45px 5%; }
 .property-detail-intro { max-width:85%; }
 #overview { column-gap:4%; }
}
@media(max-width:800px) {
 .property-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .property-catalogue-page main { width:calc(100% - 40px); }
 .property-intro-note { display:none; }
 .property-detail-hero { min-height:600px; }
 .property-detail-intro { margin:24px 5% 32px; padding:22px; max-width:86%; }
 #overview { grid-template-columns:1fr; }
 .property-overview-image { grid-column:1; grid-row:auto; margin-top:28px; width:100%; }
 .property-overview-image .property-media { aspect-ratio:1.6; }
 .property-detail-section { margin-inline:10px; padding:35px 5%; }
 .property-detail-section h2 { font-size:37px; }
 .property-brochure-dock { padding:15px 9px; font-size:10px; }
}
@media(max-width:540px) {
 .property-catalogue-page main { width:calc(100% - 36px); padding-top:calc(var(--header-height) + 22px); }
 .property-collection-intro h1 { font-size:34px; }
 .property-grid { grid-template-columns:1fr; gap:25px; }
 .property-card-image .property-media { aspect-ratio:1.5; }
 .property-page main .property-card h2 { font-size:30px; }
 .property-card-bottom { flex-wrap:nowrap; }
 .property-card-bottom .property-button { width:auto; }
 .property-card-body { padding:20px; }
 .property-detail-hero { min-height:590px; }
 .property-detail-visual .property-media > img { object-position:52% center; }
 .property-detail-intro { max-width:none; width:calc(100% - 40px); margin:150px 20px 30px; padding:20px; }
 .property-detail-intro h1 { font-size:35px; }
 .property-detail-intro .property-eyebrow { font-size:8px; letter-spacing:.06em; }
 .property-detail-location { font-size:12px; }
 .property-hero-chips { gap:7px; }
 .property-hero-chips > span { font-size:11px; padding:7px 9px; }
 .property-actions { gap:9px; margin-top:12px; }
 .property-actions .property-button { font-size:10px; gap:8px; padding-inline:12px; }
 .property-actions .property-text-link { font-size:10px; }
 .property-detail-visual figcaption { font-size:8px; right:10px; bottom:4px; }
 .property-detail-facts { gap:8px; padding-bottom:18px; }
 .property-detail-facts > div { padding:9px 11px; }
 .property-detail-facts dt,.property-detail-facts dd { font-size:11px; }
 .property-section-nav { gap:22px; }
 .property-detail-section .property-eyebrow { font-size:17px; margin-bottom:18px; }
 .property-detail-section h2 { font-size:33px; }
 .property-overview-copy p,.property-highlights li > p { font-size:14px; }
 .property-overview-copy p + p { font-size:12px; }
 .property-gallery { grid-template-columns:1fr; gap:18px; }
 .property-enquiry { padding:35px 7%; }
 .property-enquiry h2 { font-size:34px; }
 .property-brochure-dock { top:36%; padding:12px 7px; font-size:9px; }
}

#property-detail .property-card h2 { color:var(--property-onAccent); }

/* The selected project's brochure palette coordinates the complete detail area. */
#property-detail { background:var(--property-wash); --muted:var(--property-ink); }
#property-detail .property-detail-intro { background:var(--property-wash); border-color:var(--property-line); }
#property-detail .property-breadcrumb,
#property-detail .property-detail-facts { background:var(--property-wash); }
#property-detail .property-detail-facts > div { background:var(--property-accent); }
#property-detail .property-detail-facts dt,
#property-detail .property-detail-facts dd { color:var(--property-onAccent); }
#property-detail .property-section-nav { background:var(--property-accent); border-color:var(--property-accent); }
#property-detail .property-section-nav a { color:var(--property-onAccent); }
#property-detail .property-detail-section { background:color-mix(in srgb,var(--property-wash) 65%,white); }
#property-detail #overview,#property-detail #highlights { background:var(--property-wash); }
#property-detail .property-brochure-dock { background:var(--property-accent); color:var(--property-onAccent); }

/* ATS polish uses the selected brochure's palette for every project. */
#property-detail .property-detail-intro { padding:32px; border-radius:12px; }
#property-detail .property-detail-intro h1 { max-width:18ch; text-wrap:balance; }
#property-detail .property-actions { align-items:center; }
#property-detail .property-actions a { min-height:44px; display:inline-flex; align-items:center; font-size:12px; }
#property-detail .property-detail-facts { gap:14px; padding-block:24px 32px; }
#property-detail .property-detail-facts > div { flex:1 1 180px; display:block; padding:18px 20px; }
#property-detail .property-detail-facts dt { font-size:11px; font-weight:500; margin-bottom:8px; }
#property-detail .property-detail-facts dt::after { content:none; }
#property-detail .property-detail-facts dd { margin:0; font-size:18px; font-weight:600; }
#property-detail .property-detail-section .property-eyebrow { font-family:var(--sans); font-size:11px; letter-spacing:.16em; }
.property-area-line { display:grid; gap:3px; margin:0 0 12px; }
.property-area-line:last-child { margin-bottom:0; }
.property-area-line span { font-size:11px; color:var(--property-ink); }
.property-area-line strong { font-size:14px; font-weight:500; }
.property-gallery-image { position:relative; display:block; }
.property-gallery-open { display:block; padding:12px 8px 2px; font:600 12px/1.5 var(--sans); color:var(--property-ink); }
#property-detail .property-gallery figure { border-radius:10px; overflow:hidden; }
#property-detail .property-enquiry { scroll-margin-top:calc(var(--header-height) + 20px); }
.property-image-dialog { width:min(1100px,94vw); max-width:94vw; max-height:92dvh; padding:18px; border:1px solid var(--property-line); border-radius:12px; background:var(--property-wash); color:var(--property-ink); }
.property-image-dialog::backdrop { background:#000c; }
.property-viewer-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.property-viewer-toolbar h2 { font:600 17px/1.3 var(--sans); margin:0; }
.property-viewer-controls { display:flex; gap:8px; }
.property-viewer-controls button { min-height:44px; padding:10px 16px; border:1px solid var(--property-line); border-radius:6px; background:var(--property-accent); color:var(--property-onAccent); cursor:pointer; }
.property-viewer-controls button:focus-visible { outline:3px solid var(--property-ink); outline-offset:3px; }
.property-viewer-stage { overflow:auto; max-height:65dvh; background:#fff; }
.property-viewer-stage img { display:block; width:100%; max-width:none; height:auto; }
.property-viewer-stage[data-zoomed="true"] img { width:200%; }
.property-viewer-caption { font-size:12px; line-height:1.5; margin:14px 0 0; }
@media(max-width:540px) {
 #property-detail .property-detail-intro { padding:22px; }
 #property-detail .property-detail-facts { gap:10px; }
 #property-detail .property-detail-facts > div { flex-basis:calc(50% - 10px); padding:14px; }
 #property-detail .property-detail-facts dd { font-size:15px; }
 #property-detail .property-enquiry .property-button { display:flex; width:100%; margin:12px 0; justify-content:center; }
 .property-image-dialog { padding:12px; }
}
