@font-face{font-family:'Obida';src:url('assets/fonts/Obida.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0020-007E}
:root{--info-font:'Obida',Arial,sans-serif}
.project-information p,.project-information .metric-note,.project-location-facts dd,.technical-facts dd,.project-facility-grid li,.project-breakdown span,.project-breakdown small,.residence-counts dd>span,.parking-facts dd>span,.facility-area p,.gallery-heading p,.render-caption,.collection-title>span,.footer-bottom>span,.lightbox-bottom>span{
 font-family:var(--info-font);font-weight:400;letter-spacing:0;text-transform:none;font-synthesis:none
}
.project-information p{font-size:16px;line-height:1.65}
.project-summary p{font-size:18px;line-height:1.6}
.project-metrics .metric-note{font-size:14px;line-height:1.55;max-width:190px}
.project-location-facts dd,.technical-facts dd{font-size:16px;line-height:1.6}
.project-facility-grid li{font-size:16px;line-height:1.65}
.project-breakdown span{font-size:16px}.project-breakdown small{font-size:14px}
.project-level-list p,.facility-area p{font-size:15px}
.residence-counts dd>span,.parking-facts dd>span{font-size:14px}
.gallery-heading p{font-size:17px;line-height:1.6}
.gallery-room-index{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0 0 34px;padding:18px 0;border-bottom:1px solid var(--line)}
.gallery-room-index a{font-size:10px;line-height:1.6;padding:5px 0}
.gallery-room-index a:hover,.gallery-room-index a:focus-visible{color:#c4c9ac}
body.interior-mode #gallery-grid .curated-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;gap:36px 24px;align-items:start}
body.interior-mode #gallery-grid .interior-card{grid-column:span 1;min-width:0;margin:0;display:block}
body.interior-mode #gallery-grid .interior-card.gallery-wide{grid-column:1 / -1}
body.interior-mode #gallery-grid .interior-card .thumb-wrap{position:relative;width:100%;height:auto;aspect-ratio:3/4;overflow:hidden;isolation:isolate;background:#202b29}
body.interior-mode #gallery-grid .interior-card.gallery-wide .thumb-wrap{aspect-ratio:16/9}
body.interior-mode #gallery-grid .interior-card .gallery-tile-backdrop{position:absolute;inset:-20px;background-size:cover;background-position:center;filter:blur(18px) brightness(.45) saturate(.75);opacity:.65;pointer-events:none;z-index:0}
body.interior-mode #gallery-grid .interior-card .thumb-wrap img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:50% 50%;transform:none;z-index:1}
body.interior-mode #gallery-grid .interior-card:hover .thumb-wrap img{transform:none}
body.interior-mode #gallery-grid .interior-card .thumb-wrap:after{z-index:2}
body.interior-mode #gallery-grid .render-caption{font-size:16px;line-height:1.4;gap:12px;margin-top:13px}
body.interior-mode #gallery-grid .render-caption>span:first-child{font-family:var(--info-font);font-size:13px;letter-spacing:0}
body.interior-mode #gallery-grid .gallery-empty-slot{grid-column:span 1;aspect-ratio:3/4;pointer-events:none;visibility:hidden}
body.interior-mode .room-collection{margin-bottom:60px}
@media(max-width:760px){
 .project-information p{font-size:15px}.project-summary p{font-size:17px}
 .project-metrics .metric-note{font-size:13px}.project-location-facts dd,.technical-facts dd,.project-facility-grid li{font-size:15px}
 .project-level-list p,.facility-area p{font-size:14px}
 .gallery-heading p{font-size:16px}.collection-title>span{font-family:var(--info-font);font-size:15px}
 .gallery-room-index{gap:6px 17px;margin-bottom:27px}.gallery-room-index a{font-size:9px}
 body.interior-mode #gallery-grid .curated-room-grid{gap:25px 14px}
 body.interior-mode #gallery-grid .render-caption{font-size:14px;gap:7px;margin-top:9px}
 body.interior-mode #gallery-grid .render-caption>span:first-child{font-size:11px}
 body.interior-mode .room-collection{margin-bottom:42px}
}

/* On desktop, two-column wides and one-column details share an exact row height. */
@media(min-width:1101px){
 body.interior-mode .room-collection{container-type:inline-size}
 body.interior-mode #gallery-grid .curated-room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 body.interior-mode #gallery-grid .interior-card.gallery-wide{grid-column:span 2}
 body.interior-mode #gallery-grid .interior-card .thumb-wrap,
 body.interior-mode #gallery-grid .interior-card.gallery-wide .thumb-wrap{height:calc(37.5cqw - 4.5px);aspect-ratio:auto}
 body.interior-mode #gallery-grid .gallery-empty-slot{order:1;aspect-ratio:auto;min-height:calc(37.5cqw - 4.5px + 36px)}
}
.project-metrics dd:not(.metric-note)>span{font-family:var(--info-font)}


/* Compact interior collections: no spacer tiles and tighter room transitions. */
body.interior-mode .gallery-heading{padding:30px 0 26px}
body.interior-mode .gallery-collection{margin-bottom:32px}
body.interior-mode .collection-title{padding:20px 0 8px}
body.interior-mode .gallery-room-index{gap:6px 20px;margin-bottom:16px;padding:10px 0}
body.interior-mode .room-collection{margin-top:18px;margin-bottom:24px}
body.interior-mode .room-collection h4{margin-bottom:12px}
body.interior-mode .room-collection:last-child{margin-bottom:0}
body.interior-mode #gallery-grid .curated-room-grid{grid-auto-flow:row dense;gap:18px 16px}
body.interior-mode #gallery-grid .gallery-empty-slot{display:none}
body.interior-mode #gallery-grid .render-caption{margin-top:8px}
@media(min-width:1101px){
 body.interior-mode #gallery-grid .curated-room-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 body.interior-mode #gallery-grid .interior-card .thumb-wrap,
 body.interior-mode #gallery-grid .interior-card.gallery-wide .thumb-wrap{height:calc(28.125cqw - 4.5px)}
}
@media(max-width:760px){
 body.interior-mode .gallery-heading{padding:24px 0}
 body.interior-mode .gallery-collection{margin-bottom:26px}
 body.interior-mode .room-collection{margin-top:15px;margin-bottom:20px}
 body.interior-mode .gallery-room-index{margin-bottom:12px;padding:8px 0;gap:4px 14px}
 body.interior-mode #gallery-grid .curated-room-grid{gap:15px 12px}
}

