.portfolio{padding:110px clamp(24px,8vw,128px);background:var(--cream)}
.portfolio-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;align-items:end;margin-bottom:60px}
.portfolio h2{font-family:"Libre Caslon Display",serif;font-size:clamp(39px,4vw,64px);font-weight:400;line-height:1.03;letter-spacing:-.02em;margin:0}
.portfolio-intro>p{color:var(--muted);font-size:18px;margin:0}
.project-card{border-top:1px solid #c9c4b8;padding:56px 0 72px}
.project-copy{display:grid;grid-template-columns:180px 1fr 1fr;gap:35px;align-items:start;margin-bottom:30px}
.scope{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#8a6a43;padding-top:8px}
.project-copy h3{font-family:"Libre Caslon Display",serif;font-size:clamp(28px,3vw,43px);font-weight:400;line-height:1.1;margin:0}
.project-copy p{margin:5px 0 0;color:var(--muted)}
.photo-pair,.photo-grid.four{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.photo-pair img{width:100%;height:clamp(320px,38vw,560px);object-fit:cover;display:block}
.photo-grid.four{grid-template-rows:repeat(2,clamp(250px,28vw,420px))}
.photo-grid.four img{width:100%;height:100%;object-fit:cover;display:block}
.before-after figure{margin:0;position:relative}
.before-after figure img{height:clamp(320px,38vw,560px)}
.before-after figcaption{position:absolute;left:16px;bottom:16px;background:rgba(19,35,31,.9);color:#fff;padding:8px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.scope-note{font-size:13px;color:var(--muted);max-width:800px;margin:0}
.portfolio img{background:#d8d4c9}
@media(max-width:820px){.portfolio{padding-top:80px;padding-bottom:80px}.portfolio-intro,.project-copy{grid-template-columns:1fr;gap:18px}.portfolio-intro{margin-bottom:40px}.project-card{padding:42px 0 54px}.photo-pair,.photo-grid.four{grid-template-columns:1fr}.photo-grid.four{grid-template-rows:repeat(4,340px)}.photo-pair img,.before-after figure img{height:360px}}
@media(max-width:480px){.portfolio h2{font-size:39px}.photo-pair img,.before-after figure img{height:290px}.photo-grid.four{grid-template-rows:repeat(4,290px)}}
