/* Approved portfolio additions. Existing brand tokens and Hanken Grotesk are inherited. */
.pf-note{padding:100px var(--gutter,5vw) 0;color:var(--color-text-muted);font-size:var(--fs-small);}
.pf-note a{display:inline-block;padding:12px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px;}
.pf-project .dh{padding-top:40px;}
.pf-project .dh__frame:has(.pf-picture){height:auto;min-height:0;aspect-ratio:auto;}
.pf-media,.pf-project .dh__img.pf-media{display:block!important;position:relative!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;overflow:visible;}
.pf-picture{display:block;width:100%;height:auto!important;}
.pf-picture img{display:block!important;position:static!important;width:100%!important;height:auto!important;max-width:100%;object-fit:contain!important;}
.pf-project .sq-r__img:has(.pf-picture){height:auto;aspect-ratio:auto;}
.pf-plans{width:min(1280px,90%);margin:80px auto;padding-top:40px;border-top:1px solid var(--color-rule);}
.pf-plan{margin:40px 0 64px;}
.pf-plan a{display:block;padding:clamp(12px,3vw,36px);background:var(--stoic-blanco);}
.pf-plan .pf-picture{max-width:1000px;margin:auto;}
.pf-plan img{max-height:1000px;object-fit:contain!important;}
.pf-plan figcaption{padding-top:16px;color:var(--color-text-muted);font-size:var(--fs-small);}
.pf-index{width:min(1280px,90%);margin:140px auto 80px;}
.pf-index .lead{max-width:760px;margin:24px 0 56px;}
.pf-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px;padding:0;list-style:none;}
.pf-card{display:block;text-decoration:none;}
.pf-card .pf-picture{background:var(--color-bg-alt);aspect-ratio:3/2;display:flex;align-items:center;}
.pf-card .pf-picture img{max-height:440px;object-fit:contain!important;}
.pf-card h2{margin-top:20px;}
.pf-index a:focus-visible,.pf-plans a:focus-visible,.pf-note a:focus-visible{outline:3px solid var(--color-focus);outline-offset:6px;}
@media(max-width:759px){.pf-cards{grid-template-columns:1fr;gap:40px;}.pf-index{margin-top:120px;}.pf-plans{margin:48px auto;}.pf-plan{margin:28px 0 40px;}.pf-note{padding-top:88px;}.pf-project .dh{padding-top:24px;}}
@media(prefers-reduced-motion:reduce){.pf-card *{transition:none!important;animation:none!important;}}
