/* Resource previews and project framing; all changes stay within this section. */
#project-portfolio .pf-feature{
  padding:clamp(20px,2.5vh,28px) var(--pf-pad);
}
#project-portfolio .pf-head{margin:0 0 22px}
#project-portfolio .pf-kicker{
  font-size:9px;line-height:1.6;letter-spacing:.065em;
  color:var(--pf-soft);margin-bottom:10px;max-width:none;
}
#project-portfolio h3{
  font-size:clamp(28px,2.65vw,38px);line-height:1.15;
  letter-spacing:-.025em;max-width:34ch;text-wrap:balance;
}
#project-portfolio .pf-docs{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);
  gap:clamp(24px,2.5vw,40px);align-items:stretch;
}
#project-portfolio .pf-doc{
  display:grid;grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto var(--pf-preview-h,220px) auto;
  row-gap:9px;column-gap:0;align-items:end;
}
#project-portfolio .pf-doc-deck{border:0;padding:0}
#project-portfolio .pf-doc-label{
  grid-column:1;grid-row:1;margin:0;
  padding-bottom:7px;border-bottom:1px solid var(--pf-line);
  font-size:10px;line-height:1.4;letter-spacing:.07em;color:var(--pf-mint);
}
#project-portfolio a.pf-doc-cover{
  grid-column:1;grid-row:2;align-self:end;justify-self:start;
  width:auto;max-width:100%;box-shadow:0 8px 24px #0003;
}
#project-portfolio .pf-doc-brochure .pf-doc-cover{width:calc((var(--pf-preview-h,220px) - 26px) * .7071)}
#project-portfolio .pf-doc-deck .pf-doc-cover{width:calc((var(--pf-preview-h,220px) - 26px) * 1.7778)}
#project-portfolio .pf-doc-cover img{
  width:100%;height:calc(var(--pf-preview-h,220px) - 26px);
  aspect-ratio:auto;object-fit:contain;object-position:left bottom;
}
#project-portfolio .pf-doc-view{min-height:26px;padding:6px 9px;font-size:8.5px}
#project-portfolio .pf-doc-links{
  grid-column:1;grid-row:3;align-self:start;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
}
#project-portfolio .pf-doc-deck .pf-doc-links{grid-template-columns:1fr}
#project-portfolio a.pf-file{padding:9px 0 0;gap:5px 6px;min-width:0}
#project-portfolio .pf-file-name{font-size:9px;line-height:1.4;letter-spacing:.01em}
#project-portfolio .pf-file-meta{font-size:10px;line-height:1.4;grid-column:1/-1}
#project-portfolio .pf-file svg{width:13px;height:13px}
@media(min-width:1100px){
  #project-portfolio{--pf-preview-h:clamp(235px,35vh,355px)}
  #project-portfolio .pf-feature{
    display:block;
  }
  #project-portfolio .pf-head{margin:0 0 22px;padding:0}
  #project-portfolio h3{max-width:34ch;font-size:clamp(28px,2.55vw,38px);line-height:1.15}
}
@media(min-width:900px) and (max-width:1099px){
  #project-portfolio{--pf-preview-h:175px}
  #project-portfolio .pf-feature{padding-top:22px;padding-bottom:22px}
  #project-portfolio .pf-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
  #project-portfolio .pf-kicker{max-width:24ch;flex:0 0 170px;margin:0}
  #project-portfolio h3{font-size:26px;max-width:24ch}
  #project-portfolio .pf-docs{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:34px}
}
@media(min-width:900px) and (max-height:760px){
  #project-portfolio{--pf-preview-h:166px}
  #project-portfolio .pf-feature{padding-top:19px;padding-bottom:20px}
  #project-portfolio .pf-doc{row-gap:9px}
  #project-portfolio .pf-doc-label{padding-bottom:7px}
  #project-portfolio .pf-head{margin-bottom:18px}
}
@media(min-width:1100px) and (max-height:760px){
  #project-portfolio .pf-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}
  #project-portfolio .pf-kicker{max-width:24ch;flex:0 0 170px;margin:0}
  #project-portfolio h3{font-size:28px;max-width:24ch}
}
@media(min-width:651px) and (max-width:899px){
  #project-portfolio{--pf-preview-h:195px}
  #project-portfolio .pf-head{margin-bottom:28px}
}
@media(max-width:650px){
  #project-portfolio{--pf-preview-h:215px}
  #project-portfolio .pf-feature{padding-top:26px;padding-bottom:28px}
  #project-portfolio .pf-head{margin-bottom:28px}
  #project-portfolio .pf-kicker{font-size:8px;max-width:none;margin-bottom:12px}
  #project-portfolio h3{font-size:clamp(26px,6.4vw,34px);line-height:1.18;max-width:22ch}
  #project-portfolio .pf-docs{grid-template-columns:1fr;gap:28px}
  #project-portfolio .pf-doc{
    grid-template-columns:minmax(0,1fr) minmax(125px,1fr);
    grid-template-rows:auto auto;column-gap:20px;row-gap:12px;
  }
  #project-portfolio .pf-doc-label{grid-column:1/-1;grid-row:1}
  #project-portfolio .pf-doc-links{grid-column:2;grid-row:2;grid-template-columns:1fr;gap:14px;align-self:end}
  #project-portfolio .pf-doc-cover img{height:auto;aspect-ratio:auto}
  #project-portfolio .pf-doc-brochure .pf-doc-cover{width:150px}
  #project-portfolio .pf-doc-deck .pf-doc-cover{width:250px}
  #project-portfolio .pf-file-name{font-size:9px}
  #project-portfolio .pf-doc-deck{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto}
  #project-portfolio .pf-doc-deck .pf-doc-cover{width:100%}
  #project-portfolio .pf-doc-deck .pf-doc-links{grid-column:1;grid-row:3}
}
@media(max-width:420px){
  #project-portfolio .pf-doc{column-gap:15px}
  #project-portfolio .pf-doc-view{font-size:8px}
}
#project-portfolio .pf-plate-img{
  top:0;bottom:auto;height:74%;width:100%;
  object-fit:cover;object-position:center 52%;
}
#project-portfolio .pf-plate:nth-child(1) .pf-plate-img{object-position:52% 55%}
#project-portfolio .pf-plate:nth-child(2) .pf-plate-img{object-position:48% 57%}
#project-portfolio .pf-plate:nth-child(3) .pf-plate-img{object-position:55% 48%}
#project-portfolio .pf-plate:after{
  background:linear-gradient(to bottom,rgba(var(--pf-scrim),0) 0%,rgba(var(--pf-scrim),.03) 22%,rgba(var(--pf-scrim),.38) 42%,rgba(var(--pf-scrim),.94) 64%,rgba(var(--pf-scrim),1) 74%);
}
#project-portfolio .pf-plate-body{padding-top:14px;padding-bottom:16px}
#project-portfolio .pf-stats,#project-portfolio .pf-note{min-height:48px;margin-top:12px}
#project-portfolio a.pf-action{margin-top:12px;padding-top:10px}
