.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.work-card{margin:0;background:#252a31;color:#fff;overflow:hidden}
.work-card a{display:block;position:relative}
.work-card a:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
.work-card img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.work-card figcaption{padding:16px 18px;font-weight:700;font-size:15px}
@media(max-width:900px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.works-grid{grid-template-columns:1fr}}
.albums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px;align-items:start}
.album{min-width:0;scroll-margin-top:90px;background:#252a31;color:white}
.album summary{cursor:pointer;list-style:none}
.album summary::-webkit-details-marker{display:none}
.album summary>img{display:block;width:100%;height:300px;object-fit:cover;object-position:center 55%}
.album-label{display:block;padding:22px}
.album-label strong{display:block;font-size:24px;line-height:1.3;margin-bottom:8px}
.album-label>span{font-size:14px;color:#d3d5da}
.album-open-label,.album-close-label{color:#ff777d}
.album-close-label{display:none}
.album[open]{grid-column:1/-1;order:-1}
.album[open] summary>img{display:none}
.album[open] .album-open-label{display:none}
.album[open] .album-close-label{display:inline}
.album-content{padding:0 20px 24px}
.album-content .works-grid{margin-top:0}
.stage-badge{position:absolute;top:12px;left:12px;padding:7px 10px;background:#111d;color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-left:3px solid var(--red)}
.case-studies{display:grid;gap:28px}
.case-study{padding:22px;background:#171b20}
.case-study-heading{margin-bottom:20px}
.case-study-heading .eyebrow{margin:0 0 6px;color:#ff777d;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.case-study-heading h3{margin:0 0 8px;font-size:28px}
.case-study-heading>p:last-child{margin:0;color:#c8cbd0}
.album-back{margin-top:24px;cursor:pointer;font:inherit}
.album summary:focus-visible,button:focus-visible{outline:3px solid #ff777d;outline-offset:3px}
.photo-viewer{width:min(1000px,96vw);max-width:96vw;max-height:96dvh;padding:16px;border:1px solid #555;background:#101216;color:white}
.photo-viewer::backdrop{background:#000d}
.viewer-top,.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}
.photo-viewer button{padding:12px 16px;min-height:44px;border:1px solid #777;background:#252a31;color:white;font:inherit;cursor:pointer}
#viewer-image{display:block;width:100%;height:min(65dvh,760px);object-fit:contain;margin:12px auto}
#viewer-caption{text-align:center;margin:12px 0}
.photo-viewer-open{overflow:hidden}
@media(max-width:1000px){.albums{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.albums{grid-template-columns:1fr}.album summary>img{height:260px}.album-content{padding:0 12px 20px}.album-label strong{font-size:22px}.case-study{padding:14px}.case-study-heading h3{font-size:24px}.photo-viewer{padding:10px}}
