/* Bounded public project selection. Preserve full architectural images. */
.residential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.residential-card{min-width:0;background:var(--white,#fff);border:1px solid #d7dbe1}
.residential-card figure{margin:0;background:#e8e9e6}
.residential-card figure img{display:block;width:100%;height:350px;object-fit:contain}
.residential-card figcaption{padding:12px 18px;background:#091c42;color:#fff;font-size:12px;line-height:1.5}
.residential-copy{padding:24px}
.residential-copy h3{font-family:var(--serif,Georgia,serif);font-size:28px;line-height:1.2;margin:0 0 12px}
.residential-copy p{color:#4c586b;font-size:15px;margin:6px 0 0}
.residential-copy .residential-location{font-size:12px;letter-spacing:.04em}
@media(max-width:700px){.residential-grid{grid-template-columns:1fr;gap:24px}.residential-card figure img{height:300px}.residential-copy{padding:20px}.residential-copy h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.residential-card{animation:none;transition:none}}
.residential-copy .gallery-link,.gallery-link{display:inline-flex;align-items:center;gap:32px;margin-top:20px;padding:10px 0;border-bottom:1px solid #9a7b45;color:#091c42;font-size:14px;font-weight:600;text-decoration:none}
.gallery-link:hover{color:#765a28}.gallery-link:focus-visible,.architecture-view a:focus-visible,.gallery-back:focus-visible{outline:3px solid #9a7b45;outline-offset:6px}
.architecture-intro{padding:65px 0 30px;background:#f5f3ee}.architecture-intro h1{font-family:var(--serif,Georgia,serif);font-size:clamp(36px,5vw,72px);line-height:1.08;margin:20px 0;max-width:1000px}.architecture-intro .eyebrow{margin-top:35px}.gallery-back{font-size:13px;text-decoration:none;color:#4c586b}.architecture-location{font-size:16px;color:#47546a}.architecture-stage{font-size:13px;color:#665439;margin-top:22px}
.architecture-gallery{padding-top:30px}.architecture-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.architecture-view{margin:0;min-width:0;background:#eeece6}.architecture-view-main{grid-column:1/-1}.architecture-view a{display:block;position:relative;text-decoration:none}.architecture-view img{display:block;width:100%;height:420px;object-fit:contain}.architecture-view-main img{height:min(74vh,760px);min-height:390px;background:#0c1c37}.architecture-view figcaption{padding:16px 20px;font-size:12px;line-height:1.6;background:#091c42;color:#fff}.image-expand{position:absolute;bottom:16px;right:16px;border:1px solid #c8b187;background:#091c42;color:#fff;width:38px;height:38px;display:grid;place-items:center}.gallery-end{display:flex;flex-wrap:wrap;justify-content:space-between;gap:22px;margin-top:28px}
#architecture-viewer{border:0;background:#09192f;color:#fff;padding:48px 20px 20px;width:94vw;max-width:1480px;height:94dvh;max-height:94dvh;overflow:auto}#architecture-viewer::backdrop{background:rgba(0,8,22,.94)}.viewer-image{display:block;max-width:100%;max-height:calc(94dvh - 170px);margin:auto;object-fit:contain}.viewer-close{position:absolute;right:14px;top:8px;font-size:30px;background:transparent;color:#fff;border:0;cursor:pointer;width:40px;height:40px}.viewer-caption{font-size:12px;line-height:1.5;text-align:center;margin:15px auto;max-width:900px}.viewer-controls{display:flex;justify-content:center;align-items:center;gap:25px}.viewer-controls button{background:transparent;color:#fff;border:1px solid #8f9caf;width:44px;height:36px;cursor:pointer}.viewer-count{font-size:13px;direction:ltr}.architecture-viewer-open{overflow:hidden}
@media(max-width:700px){.architecture-views{grid-template-columns:1fr;gap:22px}.architecture-view-main{grid-column:auto}.architecture-view img{height:350px}.architecture-view-main img{height:65vh;min-height:340px}.architecture-intro{padding-top:40px}.architecture-view figcaption{padding:14px}.architecture-intro .eyebrow{margin-top:25px}#architecture-viewer{width:98vw;padding-inline:10px}}
