/* Client work and independent projects: two clear audiences, one restrained visual language. */
.portfolio-hero{padding-bottom:0}
.portfolio-hero h1{max-width:18ch}
.portfolio-hero .sub a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.portfolio-client{background:#fff}
.portfolio-own{background:#f0f3f5;border-block:1px solid #dbe1e4}
.portfolio-feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(1.7rem,4vw,4rem);align-items:center}
.portfolio-feature-image,.portfolio-project-image{display:block;overflow:hidden;border-radius:6px;border:1px solid #d7dcd8;background:#e8ecee}
.portfolio-feature-image img,.portfolio-project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.portfolio-feature-image{aspect-ratio:16/10}
.portfolio-feature-copy h3{font-size:clamp(1.6rem,2.8vw,2.35rem);line-height:1.17;letter-spacing:-.04em;margin:0 0 1rem}
.portfolio-feature-copy>p:not(.eyebrow){font-size:.94rem;line-height:1.8;color:var(--ink-2);max-width:48ch;margin:0 0 1.3rem}
.portfolio-feature-copy .tlink,.portfolio-project-links .tlink{display:inline-flex;align-items:center;min-height:40px;font-size:.82rem}
.portfolio-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.2rem,2.5vw,2.3rem)}
.portfolio-project{min-width:0;background:#fff;border:1px solid #d7dfe1;border-radius:7px;overflow:hidden;display:flex;flex-direction:column}
.portfolio-project-image{border:0;border-bottom:1px solid #d7dfe1;border-radius:0;aspect-ratio:16/10}
.portfolio-project-image img{transition:transform .3s ease}
.portfolio-project--city .portfolio-project-image img{object-position:left top}
.portfolio-project-image:hover img{transform:scale(1.025)}
.portfolio-project-copy{padding:clamp(1.35rem,2.5vw,2rem);display:flex;flex-direction:column;flex:1;align-items:flex-start}
.portfolio-project-copy h3{font-size:clamp(1.45rem,2.2vw,1.9rem);letter-spacing:-.035em;line-height:1.2;margin:0 0 .7rem}
.portfolio-project-copy>p:not(.eyebrow){font-size:.88rem;line-height:1.75;color:var(--ink-2);max-width:50ch;margin:0 0 1.2rem}
.portfolio-project-links{display:flex;flex-wrap:wrap;gap:.35rem 1.4rem;margin-top:auto}
.portfolio-caption{font-size:.72rem;line-height:1.7;color:var(--ink-2);margin:1.1rem 0 0}
.portfolio-more{font-size:.84rem;line-height:1.7;color:var(--ink-2);padding:1.1rem 0 0;margin:1.6rem 0 0;border-top:1px solid #d7dfe1}
.portfolio-more a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.portfolio-feature{grid-template-columns:1fr}.portfolio-feature-image{max-width:42rem}.portfolio-project-grid{grid-template-columns:1fr}.portfolio-project-image{aspect-ratio:16/9}}
@media(max-width:520px){.portfolio-feature-image,.portfolio-project-image{aspect-ratio:4/3}.portfolio-project-copy{padding:1.3rem}.portfolio-hero h1{font-size:clamp(2.35rem,10vw,3rem)}}
@media(prefers-reduced-motion:reduce){.portfolio-project-image img{transition:none}}
