/* Real projects: quiet captions, generous spacing, full-image viewing. */
.hero-image>a{display:block;width:100%;height:100%}
.hero-image img{object-position:center 48%}
.hero-image figcaption{pointer-events:none}
.projects{padding-bottom:100px}
.project-index{display:flex;flex-wrap:wrap;gap:12px 36px;border-bottom:1px solid var(--line);padding:0 0 28px}
.project-index a{display:flex;gap:25px;align-items:center;padding:8px 0;font-size:15px}
.project-index span{color:var(--muted)}
.project-chapter{padding-top:70px;scroll-margin-top:32px}
.chapter-intro{display:grid;grid-template-columns:1fr 1fr;gap:10px 9%;margin-bottom:35px}
.chapter-intro .eyebrow{grid-column:1/-1;color:var(--muted);margin-bottom:15px}
.chapter-intro h3{font-size:clamp(32px,3.7vw,54px);line-height:1.15;letter-spacing:-.025em;margin:0}
.chapter-intro p{margin:0;max-width:490px;color:var(--muted)}
.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 32px}
.project-photo{min-width:0}
.photo-link{display:block;position:relative;background:#e6e7df;overflow:hidden}
.photo-link img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:transform .5s ease}
.photo-link:hover img{transform:scale(1.015)}
.photo-wide{grid-column:1/-1}
.photo-wide img{aspect-ratio:auto}
.photo-expand{position:absolute;bottom:18px;right:18px;background:var(--paper);color:var(--ink);width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-size:23px}
.project-photo figcaption{position:static;display:flex;justify-content:space-between;color:var(--ink);font-size:14px;letter-spacing:0;margin-top:13px;gap:15px;align-items:baseline}
.project-photo figcaption span:last-child{font-size:10px;letter-spacing:.1em;color:var(--muted);white-space:nowrap}
.photo-dialog{border:0;padding:65px 72px 35px;background:#181b18;color:#fff;width:96vw;max-width:1500px;height:94dvh;max-height:94dvh;overflow:hidden}
.photo-dialog::backdrop{background:#000d}
.photo-dialog figure{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.photo-dialog img{display:block;max-width:100%;max-height:calc(100% - 50px);min-height:0;object-fit:contain}
.photo-dialog figcaption{position:static;color:#e4e6de;font-size:14px;letter-spacing:0;text-align:center;display:block}
.photo-dialog button{position:absolute;border:1px solid #ffffff66;color:white;background:#181b18;padding:10px 15px;font:inherit;cursor:pointer;z-index:2}
.photo-dialog button:hover{background:#363c32}
.photo-dialog button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.dialog-close{top:12px;right:18px}
.dialog-prev{left:12px;top:50%}
.dialog-next{right:12px;top:50%}
body.gallery-open{overflow:hidden}
@media(max-width:1000px){header nav{gap:18px}.project-photo figcaption{flex-direction:column;gap:3px}}
@media(max-width:600px){.chapter-intro{grid-template-columns:1fr;gap:18px}.chapter-intro .eyebrow{margin:0}.project-chapter{padding-top:48px}.photo-grid{gap:30px 14px}.project-photo figcaption{font-size:13px}.project-photo figcaption span:last-child{display:none}.photo-expand{width:32px;height:32px;bottom:10px;right:10px;font-size:20px}.project-index{gap:6px 24px}.project-index a{font-size:14px;gap:12px}.photo-dialog{padding:65px 10px 65px;width:100vw;height:100dvh;max-height:100dvh;max-width:100vw}.dialog-prev,.dialog-next{top:auto;bottom:10px}.dialog-prev{left:calc(50% - 65px)}.dialog-next{right:calc(50% - 65px)}.photo-dialog figcaption{font-size:12px}.projects{padding-bottom:65px}.hero-image{height:350px}}
@media(max-width:380px){.photo-grid{grid-template-columns:1fr}.photo-wide{grid-column:auto}header nav{font-size:13px;gap:10px}}
.project-index{max-width:none;width:100%;justify-content:flex-start}
