.project-collection .project-hero-photo {margin:0;background:#fff;border:1px solid #d7e5ef;border-radius:20px;overflow:hidden;}
.project-collection .project-hero-photo img {display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;}
.project-collection .project-hero-photo figcaption {padding:14px 18px;color:#526b80;font-size:.82rem;line-height:1.7;}
.project-collection .project-period {display:inline-block;color:#fff;border:1px solid #ffffff55;border-radius:20px;padding:6px 14px;font-size:.85rem;margin:0 0 16px;}
.project-collection .project-copy {max-width:82ch;line-height:1.85;color:var(--muted);}
.project-areas {display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:24px 0 0;}
.project-areas li {border:1px solid var(--line);background:var(--surface);border-radius:24px;padding:8px 16px;color:var(--text);font-size:.9rem;}
.project-filters {display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 16px;}
.project-filters button {font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;padding:11px 17px;border:1px solid var(--line);border-radius:28px;color:var(--text);background:var(--surface);}
.project-filters button[aria-pressed="true"] {background:#0c2d58;color:#fff;border-color:#0c2d58;}
.project-filter-count {color:var(--muted);font-size:.88rem;margin-bottom:22px;}
.project-photo-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.project-photo-card {background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;min-width:0;}
.project-photo-card[hidden] {display:none;}
.project-photo-link {display:block;position:relative;aspect-ratio:4/3;background:var(--alt);border-bottom:1px solid var(--line);}
.project-photo-link img {display:block;width:100%;height:100%;object-fit:contain;}
.project-photo-link .project-open-label {position:absolute;right:12px;bottom:12px;padding:6px 11px;border-radius:20px;background:#092b4fe8;color:white;font-size:.76rem;}
.project-photo-copy {padding:21px;}
.project-photo-copy .project-photo-number {font-size:.75rem;color:var(--gold,#997328);font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.project-photo-copy h3 {font-size:1.06rem;line-height:1.5;margin:8px 0;color:var(--text);}
.project-photo-copy p {font-size:.88rem;line-height:1.8;color:var(--muted);margin:0;}
.project-proof-actions {display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.project-collection .project-case-link {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:center;margin-top:24px;background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;}
.project-case-link img {width:100%;display:block;height:auto;aspect-ratio:4/3;object-fit:contain;}
.project-case-copy {padding:24px 28px 24px 0;}
.project-case-copy h3 {font-size:1.3rem;color:var(--text);line-height:1.5;}
.project-case-copy p {line-height:1.8;color:var(--muted);margin:14px 0;}
.project-lightbox {width:min(1100px,94vw);max-height:94vh;overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--surface,#fff);color:var(--text,#082440);padding:20px;margin:auto;}
.project-lightbox::backdrop {background:#02172ce8;}
.project-lightbox[open] {display:grid;gap:16px;}
.project-lightbox-header,.project-lightbox-controls {display:flex;align-items:center;justify-content:space-between;gap:14px;}
.project-lightbox button {font:inherit;border:1px solid var(--line,#c7d8e5);border-radius:9px;background:var(--alt,#edf6fc);color:var(--text,#082440);padding:10px 16px;cursor:pointer;}
.project-lightbox button:disabled {opacity:.45;cursor:default;}
.project-lightbox figure {margin:0;}
.project-lightbox img {display:block;max-height:65vh;max-width:100%;height:auto;width:auto;margin:auto;object-fit:contain;}
.project-lightbox figcaption {line-height:1.7;color:var(--muted,#526b80);margin-top:16px;font-size:.92rem;}
.project-lightbox .project-lightbox-position {color:var(--muted,#526b80);font-size:.88rem;}
@media(max-width:1000px){.project-photo-grid {grid-template-columns:repeat(2,minmax(0,1fr));}.project-proof-actions {align-items:stretch;}.install-proof .project-proof-actions .btn {white-space:normal;}}
@media(max-width:650px){.project-photo-grid,.project-collection .project-case-link {grid-template-columns:minmax(0,1fr);}.project-case-copy {padding:0 22px 24px;}.project-filters {gap:8px;}.project-filters button {font-size:.82rem;padding:10px 14px;}.project-proof-actions {flex-direction:column;align-items:stretch;width:100%;}.project-proof-actions .btn {width:100%;text-align:center;white-space:normal;}.project-lightbox {padding:14px;}.project-lightbox-controls button {padding:10px 12px;}}
