.pf .pf-head .bc-display{max-width:22ch;font-size:clamp(2.6rem,6.2vw,6.4rem);line-height:.96}.pf .pf-index{border-top:1px solid var(--bc-line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(2.5rem,5vw,4rem);display:grid}@media (min-width:1100px){.pf .pf-index{grid-template-columns:repeat(4,minmax(0,1fr))}}.pf .pf-index a{border-bottom:1px solid var(--bc-line-faint);min-height:3.5rem;font-family:var(--bc-font-display);text-transform:uppercase;color:var(--bc-ink);transition:box-shadow .2s var(--bc-ease);align-items:baseline;gap:.7rem;padding:1rem .75rem 1rem 0;font-size:1.15rem;line-height:1.05;text-decoration:none;display:flex}.pf .pf-index a span{letter-spacing:.1em;color:var(--bc-mute);flex:none;font-size:.68rem}.pf .pf-index a:hover{box-shadow:inset 0 -2px 0 var(--bc-red)}.pf .pf-sheet{border-top:1px solid var(--bc-line);margin:0;padding:0;list-style:none;display:grid}.pf .pf-cell{border-bottom:1px solid var(--bc-line);min-width:0;scroll-margin-top:calc(var(--bc-header) + 1.5rem);padding:clamp(1.75rem,5vw,2.5rem) 0}@media (min-width:720px){.pf .pf-sheet{border-left:1px solid var(--bc-line);grid-template-columns:repeat(12,minmax(0,1fr))}.pf .pf-cell{border-right:1px solid var(--bc-line);grid-column:span 6;padding:clamp(1.5rem,2.6vw,2.25rem)}.pf .pf-cell--feature,.pf .pf-cell--flip,.pf .pf-cell--wide:last-child{grid-column:1/-1}}@media (min-width:1100px){.pf .pf-cell--wide{grid-column:span 7}.pf .pf-cell--narrow{grid-column:span 5}}.pf .pf-project{align-content:start;gap:clamp(1.25rem,2.5vw,1.75rem);display:grid}.pf .pf-frame{aspect-ratio:4/5;background:var(--bc-paper-2);margin:0}.pf .pf-cell--wide .pf-frame{aspect-ratio:4/3}.pf .pf-cell--wide:last-child .pf-frame{max-width:56rem}.pf .pf-frame__photo{object-fit:cover}@media (min-width:720px){.pf .pf-cell--feature .pf-project,.pf .pf-cell--flip .pf-project{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;column-gap:clamp(1.5rem,3.5vw,3.5rem)}.pf .pf-cell--flip .pf-project{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.pf .pf-cell--flip .pf-frame{order:2}.pf .pf-cell--feature .pf-frame,.pf .pf-cell--flip .pf-frame{max-height:80vh}.pf .pf-cell--feature .pf-project__text,.pf .pf-cell--flip .pf-project__text{flex-direction:column;justify-content:flex-end;align-self:stretch;display:flex}}.pf .pf-project__big{font-family:var(--bc-font-display);color:#0000;-webkit-text-stroke:1px var(--bc-line-strong);margin:0 0 auto;padding-bottom:2rem;font-size:clamp(5rem,10vw,9.5rem);line-height:.8;display:none}@media (min-width:720px){.pf .pf-project__big{display:block}}.pf .pf-project__code{font-family:var(--bc-font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--bc-mute);align-items:center;gap:.75rem;margin:0 0 1rem;font-size:.72rem;font-weight:500;display:flex}.pf .pf-project__code .bc-num{color:var(--bc-ink);font-weight:600}.pf .pf-project__rule{background:var(--bc-line);min-width:1.5rem;height:1px;transition:background-color .2s var(--bc-ease);flex:1}.pf .pf-cell--feature .bc-h3,.pf .pf-cell--flip .bc-h3{font-size:clamp(2rem,3.6vw,3.4rem)}.pf .pf-project .bc-body{max-width:34rem;margin-top:.9rem}.pf .pf-project__meta{margin-top:1.5rem}.pf .pf-project__meta .bc-ledger__row{grid-template-columns:minmax(5.5rem,1fr) minmax(0,3fr);align-items:baseline;padding:.75rem 0}.pf .pf-project__meta dd{font-size:.94rem}.pf .pf-services{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.pf .pf-link{min-height:44px;color:var(--bc-ink);text-decoration:underline;-webkit-text-decoration-color:var(--bc-line-strong);text-decoration-color:var(--bc-line-strong);text-underline-offset:.3em;transition:text-decoration-color .16s var(--bc-ease);align-items:center;gap:.45rem;margin-block:-.65rem;display:inline-flex}.pf .pf-link svg{width:1rem;height:1rem;transition:transform .2s var(--bc-ease);flex:none}.pf .pf-link:hover{-webkit-text-decoration-color:var(--bc-red);text-decoration-color:var(--bc-red)}.pf .pf-link:hover svg{transform:translate(2px,-2px)}.pf .pf-cell:hover .pf-frame,.pf .pf-cell:focus-within .pf-frame{--tick:var(--bc-red)}.pf .pf-cell:hover .pf-project__rule,.pf .pf-cell:focus-within .pf-project__rule{background:var(--bc-red)}@media (prefers-reduced-motion:reduce){.pf .pf-index a,.pf .pf-link,.pf .pf-link svg,.pf .pf-project__rule{transition:none}}
