/* Own developments remain distinct from the existing visual project examples. */
.properties { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,7vw,112px); align-items:center; border-top:1px solid var(--line); }
.properties-heading .eyebrow { margin-bottom:24px; }
.properties-intro { color:var(--muted); max-width:34em; margin-top:28px; line-height:1.8; }
.properties-empty { padding:clamp(28px,4vw,56px); border:1px solid #ccb89140; background:linear-gradient(135deg,#ccb8910a,transparent); }
.properties-mark { display:block; width:48px; margin-bottom:28px; color:var(--gold); }
.properties-mark svg { width:100%; height:auto; fill:none; stroke:currentColor; stroke-width:1.5; }
.properties-empty h3 { font-size:clamp(20px,2vw,26px); font-weight:400; line-height:1.4; }
.properties-empty p { color:var(--muted); line-height:1.8; margin:20px 0 30px; }
.properties-empty .button { max-width:100%; white-space:normal; text-align:left; }
@media (min-width:1001px) and (max-width:1450px) {
  .header { gap:20px; }
  .header nav { gap:14px; font-size:12px; }
  .header nav a { white-space:nowrap; }
  .header-cta { display:none; }
  .header-actions { gap:12px; }
}
@media (max-width:1000px) {
  .header nav { max-height:calc(100dvh - var(--header-height,120px)); overflow-y:auto; overscroll-behavior:contain; }
  .properties { grid-template-columns:1fr; gap:36px; }
  .properties-heading { max-width:650px; }
}
@media (max-width:600px) {
  .properties-empty { padding:28px 24px; }
  .properties-empty .button { padding-inline:18px; }
}
.property-carousel{grid-column:1/-1;min-width:0;max-width:100%}
.property-carousel-controls{display:flex;align-items:center;gap:12px;margin-bottom:24px;min-height:48px}
.property-carousel-controls[hidden]{display:none}
.property-carousel-counter{margin:0 auto 0 0;color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}
.property-carousel-controls button{display:grid;place-items:center;min-width:48px;min-height:48px;padding:10px;border:1px solid #ccb89170;background:transparent;color:var(--ivory);font:inherit;font-size:24px;cursor:pointer;touch-action:manipulation;transition:background-color .18s,color .18s}
.property-carousel-controls button:hover:not(:disabled){background:#ccb89122;color:var(--gold)}
.property-carousel-controls button:disabled{opacity:.35;cursor:default}
.property-carousel-controls button:focus-visible,.property-listings:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.property-listings { display:flex;align-items:stretch;gap:clamp(16px,2.4vw,32px);min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#ccb89170 transparent;padding-bottom:18px; }
.property-listings:empty,.property-carousel:has(.property-listings:empty) { display:none; }
.properties:has(.property-listing) .properties-heading { grid-column:1/-1; }
.properties-empty[hidden] { display:none; }
.property-listing { flex:0 0 100%;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:start;border:1px solid #ccb89140;min-width:0;scroll-snap-align:start; }
.property-listing>.property-gallery{min-width:0}
.property-listing-body{min-width:0;align-self:center}
.property-listing>img { aspect-ratio:3/2;object-fit:cover; }
.property-listing-body { padding:32px; }
.property-sale-status { display:inline-block;font-size:12px;letter-spacing:.08em;color:var(--gold);margin-bottom:20px; }
.property-listing h3 { line-height:1.3;overflow-wrap:anywhere; }
.property-listing p { margin-top:16px;color:var(--muted);overflow-wrap:anywhere; }
.property-description { white-space:pre-line; }
.property-listing-body>.property-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.property-listing .property-price { color:var(--ivory);font-size:20px;margin-block:24px; }
@media(max-width:900px){.property-listing{flex-basis:100%;grid-template-columns:1fr}.property-listing-body{padding:24px}.property-carousel-controls{margin-bottom:16px}}

.property-gallery a{color:inherit;display:block;position:relative}
.property-cover img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;background:#111411}
.property-gallery-count{position:absolute;bottom:16px;left:16px;right:16px;width:fit-content;max-width:calc(100% - 32px);padding:10px 14px;background:#111411ed;color:#f0ede5;font-size:14px;line-height:1.5}
.property-thumbnails{display:flex;gap:8px;padding:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding:12px;scrollbar-width:thin}
.property-thumbnails[hidden]{display:none}
.property-thumbnail{flex:0 0 80px;min-width:0;min-height:44px;scroll-snap-align:start}
.property-thumbnail img{display:block;width:100%;height:64px;object-fit:cover}
.property-gallery a:focus-visible,.property-lightbox button:focus-visible{outline:3px solid #ccb891;outline-offset:3px}
.property-lightbox{box-sizing:border-box;width:min(1180px,calc(100% - 32px));height:min(880px,calc(100dvh - 32px));max-width:none;max-height:none;margin:auto;padding:24px;border:1px solid #656859;background:#111411;color:#f0ede5;font-family:inherit;overscroll-behavior:contain}
.property-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px}
.property-lightbox::backdrop{background:#080b08ed}
.property-lightbox-header,.property-lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.property-lightbox h2{font:inherit;font-size:20px;line-height:1.4;overflow-wrap:anywhere;margin:0}
.property-lightbox button{font:inherit;font-size:16px;line-height:1.4;min-height:44px;min-width:44px;padding:10px 16px;border:1px solid #656859;background:#1b1e1a;color:#f0ede5;cursor:pointer;touch-action:manipulation;transition:background-color .15s}
.property-lightbox button:hover{background:#33382f}.property-lightbox button:active{background:#49513f}
.property-lightbox-header button{flex-shrink:0}
.property-lightbox figure{margin:0;min-height:0;display:grid;place-items:center;overflow:hidden}
.property-lightbox figure img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;opacity:.55;transition:opacity .18s ease}
.property-lightbox figure img.is-loaded{opacity:1}
.property-lightbox figure{touch-action:pan-y pinch-zoom}
.property-lightbox [hidden]{display:none!important}
.property-gallery-position{font-size:16px;line-height:1.5;white-space:nowrap;text-align:center;margin:0}
.property-gallery-error{font-size:16px;line-height:1.5;padding:24px;text-align:center}
html{scrollbar-gutter:stable}
html.property-gallery-open,html.az-home-smooth.lenis-stopped.property-gallery-open,body.property-gallery-open{overflow:hidden}
@media(max-width:600px){.property-lightbox{width:calc(100% - 16px);height:calc(100dvh - 16px);padding:16px 12px;gap:12px}.property-lightbox h2{font-size:16px}.property-lightbox-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.property-gallery-position{grid-column:1/-1;grid-row:1}.property-lightbox-controls button{font-size:14px;padding:10px 8px}.property-thumbnail{flex-basis:72px}}
@media(prefers-reduced-motion:reduce){.property-lightbox button,.property-lightbox figure img,.property-carousel-controls button{transition:none}.property-listings{scroll-behavior:auto}}

.property-listing-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.property-title-trigger,.property-details-trigger{font:inherit;color:inherit;text-align:left;background:none;cursor:pointer;min-height:44px}
.property-title-trigger{border:0;padding:0;line-height:inherit}
.property-details-trigger{border:0;border-bottom:1px solid currentColor;padding:0 0 8px}
.property-title-trigger:focus-visible,.property-details-trigger:focus-visible,.property-details-contact:focus-visible{outline:3px solid #ccb891;outline-offset:4px}
.property-lightbox-content{min-height:0;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:28px;overflow:hidden}
.property-lightbox-content:has(.property-details-panel[hidden]){grid-template-columns:1fr}
.property-lightbox-content:has(figure[hidden]){grid-template-columns:1fr}
.property-details-panel{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 12px 16px 0;line-height:1.75;overflow-wrap:anywhere}
.property-details-panel p{margin:0 0 20px}
.property-details-panel .property-location{color:#ccb891}
.property-details-contact{display:inline-flex;align-items:center;min-height:44px;color:inherit;margin-top:12px}
/* Mobile gallery and text share normal block flow: long descriptions must not
   shrink an implicit grid row below the rendered photograph. Reserve a definite
   image box before loading, including image failures and large text settings. */
@media(max-width:760px){.property-lightbox-content{display:block;overflow-y:auto;overscroll-behavior:contain}.property-lightbox-content figure{height:clamp(170px,38dvh,320px);min-height:0;max-height:none;aspect-ratio:auto;margin:0 0 20px}.property-lightbox-content figure img{height:100%;max-height:100%;object-fit:contain}.property-details-panel{overflow:visible;padding:0 4px 20px}.property-lightbox-controls{gap:8px}}

/* User-approved separate tour launch, appended after the matching gallery only. */
.property-gallery-tour{padding:0 12px 14px}.property-gallery .property-3d-button{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:44px;padding:10px 18px;border:1px solid var(--gold);background:var(--gold);color:var(--black);font-size:15px;font-weight:600;line-height:1.4}.property-gallery .property-3d-button:hover{background:#e1cda9}.property-gallery .property-3d-button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}

/* Desktop cards follow viewport height; full-resolution lightbox stays unchanged. */
@media (min-width:901px){
 #properties{padding-block:40px;row-gap:24px}
 #properties .properties-heading h2{font-size:clamp(30px,2.3vw,40px);line-height:1.2}
 #properties .properties-heading .eyebrow{margin-bottom:12px}
 #properties .properties-intro{margin-top:16px}
 #properties .property-carousel-controls{margin-bottom:16px}
 #properties .property-carousel-controls button{line-height:1}
 #property-listings .property-cover img{height:clamp(280px,calc(100svh - var(--header-height,96px) - 240px),480px);aspect-ratio:auto;object-fit:contain}
 #property-listings .property-thumbnails{padding:10px}
 #property-listings .property-thumbnail img{height:56px}
 #property-listings .property-listing-body{padding:24px}
 #properties > .property-catalog{margin-top:0}
}

/* Options keep the shared photo-left/details-right layout, including buildings with features. */
.property-features{margin:24px 0;color:inherit;font-size:15px;line-height:1.65}
.property-features summary{cursor:pointer;color:#ccb891;min-height:44px;padding:10px 0;list-style-position:inside}
.property-features summary:focus-visible{outline:2px solid #ccb891;outline-offset:4px}
.property-feature-group{border-top:1px solid #ccb89140;padding:22px 0 24px}
.property-feature-group h4{font-size:clamp(18px,2vw,24px);font-weight:500;line-height:1.4;margin:0 0 24px;color:#f1ede7}
.property-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 30px;padding:0;margin:0;list-style:none}
.property-feature-grid li{display:flex;align-items:flex-start;gap:14px;min-width:0}
.property-feature-icon{flex:0 0 28px;color:#ccb891;margin-top:2px}
.property-feature-label,.property-feature-value{display:block;overflow-wrap:anywhere}
.property-feature-value{color:#b6b1a8;font-size:14px;margin-top:4px}
.property-feature-note{font-size:13px;color:#b6b1a8;max-width:70ch;line-height:1.65;margin:0!important}
.property-listing-body .property-feature-grid{grid-template-columns:1fr}
.property-details-panel:has(.property-features):not(:has(.property-linked-options)){overflow:visible}
.property-details-panel .property-features summary{display:none}
.property-lightbox-content:has(.property-features):not(:has(.property-linked-options)){display:block;overflow-y:auto;overscroll-behavior:contain;padding-right:6px}
.property-lightbox-content:has(.property-features):not(:has(.property-linked-options)) figure{max-height:55dvh;margin-bottom:28px}
.property-lightbox-content:has(.property-features):not(:has(.property-linked-options)) figure img{max-height:55dvh}
.property-lightbox-content:has(.property-features):not(:has(.property-linked-options)) .property-details-panel{padding:0 8px 24px}
@media(max-width:760px){.property-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.property-feature-grid li{gap:10px}.property-features{font-size:14px}.property-lightbox-content:has(.property-features):not(:has(.property-linked-options)) figure{max-height:45dvh}.property-lightbox-content:has(.property-features):not(:has(.property-linked-options)) figure img{max-height:45dvh}}
@media(max-width:420px){.property-feature-grid{grid-template-columns:1fr}.property-feature-group h4{font-size:18px}.property-feature-value{font-size:13px}}

/* Large project photograph, followed by the complete description and features. */
.property-lightbox:has(.property-features):not(:has(.property-linked-options)){padding:20px;gap:12px}
.property-lightbox:has(.property-features):not(:has(.property-linked-options)) h2{font-size:24px;line-height:1.3}
.property-details-panel .property-features{margin:0}
.property-details-panel .property-feature-group{padding:16px 0}
.property-details-panel .property-feature-group h4{font-size:20px;line-height:1.4;margin-bottom:16px}
.property-details-panel .property-feature-grid{gap:16px 24px}
.property-details-panel .property-feature-grid li{gap:12px}
.property-details-panel .property-feature-icon{width:26px;height:26px;flex-basis:26px}
.property-details-overview{min-width:0}
.property-details-overview p{margin-bottom:14px}
.property-details-overview .property-description{line-height:1.6}
@media(min-width:901px){
 .property-lightbox-content:has(.property-features):not(:has(.property-linked-options)){display:grid;grid-template-columns:minmax(0,1fr);align-content:start;align-items:start;gap:24px}
 .property-lightbox-content:has(.property-features):not(:has(.property-linked-options)) figure{grid-column:1/-1;grid-row:1;height:clamp(320px,56dvh,580px);max-height:none;margin:0}
 .property-lightbox-content:has(.property-features):not(:has(.property-linked-options)) figure img{max-height:100%;height:100%;object-fit:contain}
 .property-lightbox-content:has(.property-features):not(:has(.property-linked-options)) .property-details-panel{display:contents}
 .property-lightbox-content:has(.property-features):not(:has(.property-linked-options)) .property-details-overview{grid-column:1/-1;grid-row:2}
 .property-lightbox-content:has(.property-features):not(:has(.property-linked-options)) .property-features{grid-column:1/-1;grid-row:3}
 .property-lightbox-content:has(.property-features):not(:has(.property-linked-options)) .property-details-contact{grid-column:1/-1;grid-row:4;margin:0;justify-self:start}
 :is(.property-details-panel,.property-listing) [data-feature-group="characteristics"] .property-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--feature-rows),auto);grid-auto-flow:column}
 .property-lightbox-content:has(figure[hidden]):has(.property-features):not(:has(.property-linked-options)) .property-details-overview{grid-column:1/-1}
}
@media(max-width:900px){
 .property-lightbox-content:has(.property-features):not(:has(.property-linked-options)) figure{height:auto;min-height:180px;max-height:none;aspect-ratio:auto;margin-bottom:20px}
 .property-lightbox-content:has(.property-features):not(:has(.property-linked-options)) figure img{height:auto;max-height:60dvh;object-fit:contain}
 .property-lightbox-content:has(.property-features):not(:has(.property-linked-options)) .property-details-panel{padding:0 4px 16px}
}
@media(max-width:600px){
 .property-lightbox:has(.property-features):not(:has(.property-linked-options)){padding:14px 12px;gap:10px}
 .property-lightbox:has(.property-features):not(:has(.property-linked-options)) h2{font-size:20px}
 .property-details-panel .property-feature-group h4{font-size:18px;margin-bottom:14px}
 .property-details-panel .property-feature-grid{gap:16px 14px}
 .property-details-panel .property-feature-grid li{gap:10px}
 :is(.property-details-panel,.property-listing) [data-feature-group="characteristics"] .property-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Match the supplied project sheet: compact label/value facts, then 3 amenity columns. */
.property-features [data-feature-group="characteristics"] .property-feature-icon{display:none}
.property-features [data-feature-group="characteristics"] li>div{display:block}
.property-features [data-feature-group="characteristics"] .property-feature-label{display:inline;font-weight:600}
.property-features [data-feature-group="characteristics"] .property-feature-label::after{content:": "}
.property-features [data-feature-group="characteristics"] .property-feature-value{display:inline;margin:0 0 0 8px;font-size:inherit;color:inherit}
@media(min-width:901px){
 :is(.property-details-panel,.property-listing) [data-feature-group="amenities"] .property-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(var(--feature-rows),auto);grid-auto-flow:column}
 #property-listings .property-listing-body{align-self:start}
 #property-listings .property-cover img{object-position:center top}
}
@media(max-width:600px){
 :is(.property-details-panel,.property-listing) [data-feature-group="characteristics"] .property-feature-grid{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row}
}

/* The optional expanded overview gets the full card width, not the narrow text column. */
.property-listing>.property-features{grid-column:1/-1;padding:0 24px 20px;margin:0}
.property-listing>.property-features .property-feature-group{padding:16px 0}
.property-listing>.property-features .property-feature-group h4{font-size:20px;margin-bottom:16px}
.property-listing>.property-features .property-feature-grid{gap:16px 24px}
.property-listing>.property-features .property-feature-note{margin-top:12px!important}
@media(min-width:901px){
 #property-listings .property-listing:has(>.property-features[open]) .property-cover img{height:clamp(200px,28dvh,280px)}
}
@media(max-width:600px){
 .property-listing>.property-features{padding:0 20px 20px}
 .property-listing>.property-features .property-feature-group h4{font-size:18px}
 .property-listing>.property-features .property-feature-grid{gap:16px 14px}
}
/* Keep the reference's two-column facts at tablet widths as well. */
@media(min-width:601px) and (max-width:900px){
 :is(.property-details-panel,.property-listing) [data-feature-group="characteristics"] .property-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--feature-rows),auto);grid-auto-flow:column}
}
@media(min-width:761px) and (max-width:900px){
 :is(.property-details-panel,.property-listing) [data-feature-group="amenities"] .property-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(var(--feature-rows),auto);grid-auto-flow:column}
}

.property-linked-options{margin-top:24px;padding-top:20px;border-top:1px solid #ccb89140}.property-linked-options h3{font-size:18px;margin:0 0 14px}.property-linked-option button{display:flex;width:100%;gap:12px;text-align:left;margin:10px 0;padding:10px}.property-linked-option button>span{display:grid;gap:6px}.property-linked-option img{width:100px;height:90px;object-fit:cover;flex-shrink:0}.property-lightbox-header [data-gallery-back]{font-size:13px;margin-left:auto}.property-lightbox-header:has([data-gallery-back]:not([hidden])){flex-wrap:wrap}.property-lightbox-header:has([data-gallery-back]:not([hidden])) h2{flex:1 1 100%}@media(max-width:600px){.property-linked-option img{width:76px;height:76px}.property-linked-option button{font-size:13px}.property-lightbox-header [data-gallery-back]{margin-left:0}}

.property-call{display:inline-flex;align-items:center;min-height:44px;margin:0 16px 12px 0}
.property-reference{font-size:13px;color:var(--muted);overflow-wrap:anywhere;user-select:text}

#properties .properties-heading{width:100%;max-width:none;text-align:center}
#properties h2,#properties h3,#properties h4,.property-lightbox h2,.property-lightbox h3,.property-lightbox h4{text-align:center}
#catalog .catalog-head{justify-content:center}

.property-ring-frame{position:absolute;visibility:hidden;pointer-events:none;width:100%;height:max(440px,min(750px,calc(85svh - 100px)));border:0;inset:auto;margin:0;padding:0;background:transparent;max-width:none;max-height:none}
.property-ring-ready>.property-ring-frame{position:relative;display:block;visibility:visible;pointer-events:auto}
.property-ring-ready>#property-listings,.property-ring-ready>.property-carousel-controls{display:none}
.property-ring-frame.is-detail{position:fixed;inset:0;width:100vw;height:100dvh;visibility:visible;pointer-events:auto;border:0}
.property-ring-open{overflow:hidden!important}
@media(max-width:700px){.property-ring-frame{height:calc(80svh - 100px);min-height:440px}}

#properties{padding-inline:clamp(16px,3vw,72px);row-gap:24px}
