.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.project-card{background:#fff;min-width:0;border:1px solid #e0e3d8}
.project-cover{position:relative;display:block;height:300px;overflow:hidden;background:#e8e9e2}
.project-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.project-cover:hover img{transform:scale(1.025)}
.enlarge-label{position:absolute;bottom:14px;right:14px;background:#faf8f4ec;color:#293428;padding:7px 12px;font-size:11px;letter-spacing:.03em}
.project-card-body{padding:27px}
.project-card-body .eyebrow{margin-bottom:15px;font-size:10px}
.project-card-body h2{font-family:Arial,Helvetica,sans-serif;font-size:24px;line-height:1.2;letter-spacing:-.035em}
.project-card-body>p:not(.eyebrow){font-size:14px;margin:15px 0 22px}
.portfolio-section{padding-bottom:64px}
.portfolio-intro{max-width:1600px;margin:auto}
.project-intro{padding:44px 5.5%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:48px;max-width:1600px;margin:auto}
.project-intro h1{font-size:clamp(36px,4vw,52px)}
.back-link{display:inline-block;font-size:13px;color:#626e58;margin-bottom:24px}
.project-hero-photo{position:relative;display:block;background:#eeeee7}
.project-hero-photo img{width:100%;height:360px;object-fit:contain}
.photo-hint{font-size:12px;margin-top:24px}
.project-photo-section{padding-top:35px}
.project-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 30px}
.project-image>a{position:relative;display:block;background:#eeeee7}
.project-image img{width:100%;height:360px;object-fit:contain}
.project-image figcaption{padding-top:17px}
.project-image h3{font-size:15px;line-height:1.5;margin-top:6px}
.image-stage{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#66755d}
.next-project{padding:35px 5.5%;border-top:1px solid #d6dccd;display:flex;align-items:center;justify-content:space-between;gap:24px}
.next-project>span{font-size:10px;letter-spacing:.15em;color:#66755d}
.next-project>a{font:26px/1.2 Georgia,serif}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.photo-dialog{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff;overflow:auto}
.photo-dialog::backdrop{background:rgba(13,20,14,.86)}
.photo-panel{position:relative;width:min(960px,88vw);margin:6vh auto;background:#faf8f4;color:#293428;padding:22px;border-radius:3px;box-shadow:0 10px 60px #0005}
.photo-large{display:block;width:100%;height:min(65vh,650px);object-fit:contain;background:#eeeee7}
.photo-close{position:absolute;top:-16px;right:-16px;width:40px;height:40px;background:white;border:0;border-radius:50%;font:28px/1 Arial;cursor:pointer;color:#293428}
.photo-bar{display:flex;align-items:center;gap:20px;margin-top:16px}
.photo-bar button{width:38px;height:36px;flex-shrink:0;background:white;border:1px solid #c5cfba;cursor:pointer}
.photo-caption{flex:1;text-align:center;font-size:13px;color:#354334}
.photo-counter{font-size:11px;text-align:center;margin-top:8px;color:#66755d}
body.photo-open{overflow:hidden}
@media(max-width:1050px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-intro{gap:35px}.project-cover{height:280px}}
@media(max-width:760px){.project-grid{grid-template-columns:1fr}.project-cover{height:320px}.project-intro{grid-template-columns:1fr;padding:30px 6%;gap:24px}.project-hero-photo img{height:300px}.project-images{grid-template-columns:1fr;gap:30px}.project-image img{height:300px}.next-project{padding:30px 6%;align-items:start;flex-direction:column}.photo-panel{padding:12px;width:90vw;margin:8vh auto}.photo-large{height:58vh}.photo-close{right:-10px;top:-16px}.photo-bar{gap:10px}.photo-caption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.project-cover img{transition:none}}

@media(max-width:760px){.project-intro h1{font-size:34px}.project-intro .eyebrow{margin-bottom:14px}.project-intro .lead{margin-top:18px}.project-photo-section{padding-top:16px}.portfolio-section{padding-bottom:40px}.project-card-body{padding:22px!important}.project-card-body h2{font-size:24px!important}.project-cover{height:260px}.filters{gap:8px;margin-bottom:22px}.filter{padding:9px 13px}.next-project>a{font-size:24px}}
