/* Shared page edges and column rhythm; project media keep their native ratios. */
:root{--column-gap:25px}
main .hero,main .section-space,main .collaborators{padding-inline:var(--pad)}
main .work>.section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px var(--column-gap)}
main .work>.section-heading>.micro:first-child{grid-column:1/-1}
main .work>.section-heading h2{grid-column:1;margin:0;min-width:0;width:auto;text-align:left}
main .work>.section-heading>.micro:last-child{grid-column:2;text-align:right;max-width:24ch;line-height:1.6}
.hero-bottom>.round-link{justify-self:center}
.work-intro{gap:var(--column-gap)}
.work-intro p{min-width:0}
.work-intro>.micro{text-align:right;flex-shrink:0}
.card-meta{display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:12px;align-items:baseline}
.card-text{grid-column:1;grid-row:1;min-width:0}
.card-num{grid-column:2;grid-row:1;font-variant-numeric:tabular-nums}
.card-arrow{grid-column:3;grid-row:1}
.card-text h3{line-height:1.18;overflow-wrap:anywhere}
.card-text>.micro{display:block;line-height:1.8}
.further-body{padding-left:0}
.about-lower{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--column-gap);align-items:start}
.about-lower #about-copy{max-width:60ch}
.process{margin-left:calc((100% + var(--column-gap))/2)}
.process details p{padding-left:0;padding-right:30px}
.contact-lower{align-items:start}
.contact-lower p{margin:0}
#contact-details{overflow-wrap:anywhere}
.footer-bottom{align-items:baseline}
@media(max-width:850px){
 :root{--column-gap:15px}
 main .work>.section-heading>.micro:last-child{display:none}
 main .work>.section-heading{grid-template-columns:minmax(0,1fr);gap:20px}
 .work-intro>.micro{text-align:left}
 .about-lower{grid-template-columns:1fr;gap:32px}
 .process{margin-left:0}
 .card-meta{grid-template-columns:minmax(0,1fr) auto}
 .card-arrow{grid-column:2}
}
@media(max-width:520px){
 .hero-top>span{white-space:normal}
 .hero-top>span:last-child{text-align:right}
 .hero-top-line{min-width:16px}
 .filter-bar{flex-wrap:wrap;justify-content:space-between}
 .filter-bar>div{flex:1 1 100%;min-width:0}
 #work-count{margin-left:0}
 .social-links{flex-wrap:wrap;gap:16px 24px}
 .footer-bottom{align-items:start}
}
