/* Editorial category index and a gallery that fills each row. */
body.pf .pc-work {
  display:grid; grid-template-columns:clamp(210px,18vw,260px) minmax(0,1fr);
  gap:clamp(36px,3vw,56px);
  padding:clamp(82px,9vw,136px) var(--pf-gutter) clamp(90px,10vw,150px);
  overflow:visible;
}
body.pf .pc-work-bar {
  position:sticky; top:32px; align-self:start; display:flex; flex-direction:column;
  align-items:stretch; gap:0; min-width:0; padding:0; margin:0;
}
body.pf .pc-work-h { font:400 clamp(32px,3.4vw,48px)/1 var(--k-font-logo); letter-spacing:-.025em; text-transform:none; }
body.pf .pc-work-h em { font:italic 400 1em/1 var(--k-font-logo); }
body.pf .pc-featured-category { display:flex; flex-direction:column; align-items:start; padding:22px 0 26px; border-bottom:1px solid var(--line); }
body.pf .pc-featured-number { font:400 clamp(110px,11vw,170px)/.82 var(--k-font-logo); letter-spacing:-.06em; color:var(--ink); }
body.pf .pc-featured-name { margin-top:30px; font:400 clamp(31px,2.8vw,42px)/1.03 var(--k-font-logo); color:var(--ink); }
body.pf .pc-featured-count { margin-top:13px; font:400 11px/1.3 var(--k-font-mono); color:var(--ink3); letter-spacing:.12em; text-transform:uppercase; }
body.pf .pc-category-list { display:grid; padding:10px 0 24px; }
body.pf .pc-category-list button { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:12px; align-items:center; width:100%; padding:10px 0; border:0; border-bottom:1px solid var(--line); background:none; color:var(--ink3); cursor:pointer; text-align:left; transition:color .2s; }
body.pf .pc-category-list button:hover,body.pf .pc-category-list button[aria-current="true"] { color:var(--ink); }
body.pf .pc-category-list button span:first-child,body.pf .pc-category-list button small { font:400 10px/1 var(--k-font-mono); letter-spacing:.08em; }
body.pf .pc-category-list button span:nth-child(2) { font:400 16px/1.15 var(--k-font-logo); }
body.pf .pc-tools { display:flex; flex-direction:column; align-items:stretch; gap:14px; min-width:0; }
body.pf .pc-category-list button:focus-visible,body.pf .pc-search:focus-within { outline:1px solid var(--ink); outline-offset:2px; }
body.pf .pc-search { box-sizing:border-box; min-width:0; width:100%; height:46px; padding:0 12px; border:1px solid var(--line); border-radius:3px; }
body.pf .pc-search input { min-height:44px; font-size:14px; }
body.pf .pc-rails { min-width:0; container-type:inline-size; container-name:artist-work; }
body.pf .pc-rail {
  display:block; margin:0 0 clamp(70px,8vw,116px); padding:0;
  border:0; min-width:0;
}
body.pf .pc-rail-h {
  position:static; display:block; padding:0 0 19px; margin:0 0 23px;
  border-bottom:1px solid var(--line);
}
body.pf .pc-rail-h h3 { max-width:none; font:400 clamp(29px,3vw,43px)/1.08 var(--k-font-logo); color:var(--ink); }
body.pf .pc-rail-h h3 small { display:inline; margin-left:12px; font:400 11px/1 var(--k-font-mono); color:var(--ink3); }
body.pf .pc-rail-h h3 small::after { content:none; }
body.pf .pc-track,body.pf .pc-rails.is-grid .pc-track {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(34px,4vw,58px) clamp(16px,2vw,28px);
  padding:0; overflow:visible !important; scroll-snap-type:none; cursor:auto;
}
body.pf .pc-rail .pc-card,body.pf .pc-rail .pc-card:nth-child(n) {
  display:block; grid-column:auto; grid-row:auto; width:100%; min-width:0; max-width:none;
  padding:0; border:0; background:none;
}
body.pf .pc-rail .pc-card-m,body.pf .pc-rail .pc-card:nth-child(n) .pc-card-m {
  grid-column:auto; aspect-ratio:3/2; border-radius:6px;
}
body.pf .pc-rail .pc-card-copy,body.pf .pc-rail .pc-card:nth-child(n) .pc-card-copy { grid-column:auto; padding:15px 0 0; }
body.pf .pc-rail .pc-card-t,body.pf .pc-rail .pc-card:nth-child(n) .pc-card-t {
  position:static; width:auto; height:auto; overflow:visible; white-space:normal;
  clip-path:none; max-width:none; margin:0; padding:0; border:0;
  font:400 clamp(21px,1.8vw,27px)/1.12 var(--k-font-logo); letter-spacing:-.015em;
}
body.pf .pc-card-meta { margin:7px 0 0 !important; font:400 12px/1.45 var(--k-font-body); letter-spacing:0; text-transform:none; color:var(--ink3); }
body.pf .pc-card-links { margin:10px 0 0 !important; gap:6px 16px; }
body.pf .pc-card-links a { font:400 11px/1.3 var(--k-font-body); letter-spacing:0; text-transform:none; text-decoration:underline; text-underline-offset:3px; border:0; }
body.pf .pc-card.has-video .pc-card-links { display:none; }
body.pf .pc-card-head,body.pf .pc-rail-index,body.pf .pc-rail-caption,body.pf .pc-rail-ctl { display:none; }
body.pf .pc-card-m .pf-ph-k,body.pf .pc-card-m .pf-ph-foot { display:none; }
body.pf .pc-card-m .pf-ph-title { display:block; font:400 clamp(28px,2.8vw,42px)/1.04 var(--k-font-logo); letter-spacing:-.025em; }
body.pf .pc-card-m .pf-ph-title.is-long { font-size:clamp(23px,2.3vw,35px); }
body.pf .pc-card-m .pc-card-play { width:40px; height:40px; right:14px; top:14px; margin:0; }
body.pf .pc-none[hidden],body.pf .pc-rail[hidden],body.pf .pc-rail .pc-card[hidden] { display:none !important; }
body.pf .pc-none { grid-column:2; }

@media(max-width:900px) {
  body.pf .pc-work { display:block; padding:74px var(--pf-gutter) 100px; }
  body.pf .pc-work-bar { position:static; display:block; margin-bottom:52px; }
  body.pf .pc-work-h { margin-bottom:28px; font:400 clamp(44px,10vw,64px)/1 var(--k-font-logo); letter-spacing:-.025em; text-transform:none; }
  body.pf .pc-work-h em { font:italic 400 1em/1 var(--k-font-logo); }
  body.pf .pc-featured-category,body.pf .pc-category-list { display:none; }
  body.pf .pc-tools { display:flex; flex-direction:row; gap:12px; }
  body.pf .pc-search { width:100%; }
  body.pf .pc-track,body.pf .pc-rails.is-grid .pc-track { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 16px; }
}
@container artist-work (max-width:719px) {
  body.pf .pc-track,body.pf .pc-rails.is-grid .pc-track { grid-template-columns:minmax(0,1fr); }
}

/* time codes of an appearance: tap one to play the film from that moment (YouTube titles) */
body.pf .pc-card .pc-card-links.is-extra { display: flex !important; }
body.pf .pc-card-scenes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 9px; margin: 14px 0 0 !important; font: 400 11px/1.2 var(--k-font-mono); letter-spacing: .08em; color: var(--ink3); }
body.pf .pc-card-scenes > span { margin-right: 4px; text-transform: uppercase; letter-spacing: .14em; }
body.pf .pc-card-scenes b { display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; font: 500 12.5px/1 var(--k-font-mono); letter-spacing: .05em; color: var(--ink); background: var(--hover, transparent); }
body.pf .pc-card-scenes em { font-style: normal; color: var(--ink3); }
body.pf .pc-scene { display: inline-flex; align-items: center; gap: 8px; min-height: 0; padding: 8px 14px 8px 12px; font-size: 12.5px; font-weight: 500; border: 1px solid var(--line); border-radius: 999px; background: none; color: var(--ink2); font: inherit; letter-spacing: .06em; cursor: pointer; transition: background .25s, color .25s, border-color .25s; }
body.pf .pc-scene::before { content: ''; border-left: 7px solid currentColor; border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
body.pf .pc-scene:hover, body.pf .pc-scene:focus-visible { background: var(--ink); color: var(--bg); border-color: var(--ink); }


/* phones: the category list becomes a sticky row of chips, so any section is one tap away while scrolling */
@media (max-width: 900px) {
  body.pf .pc-category-list { display: flex !important; position: sticky; top: 0; z-index: 6; gap: 8px; margin: 0 calc(-1 * var(--pf-gutter)); padding: 12px var(--pf-gutter); overflow-x: auto; scrollbar-width: none; background: color-mix(in srgb, var(--bg) 92%, transparent); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
  body.pf .pc-category-list::-webkit-scrollbar { display: none; }
  body.pf .pc-category-list button { display: inline-flex !important; align-items: center; gap: 8px; flex: none; width: auto !important; padding: 9px 14px !important; border: 1px solid var(--line) !important; border-radius: 999px; background: none; color: var(--ink2); cursor: pointer; white-space: nowrap; }
  body.pf .pc-category-list button span:first-child { display: none; }
  body.pf .pc-category-list button span:nth-child(2) { font: 400 11px/1 var(--k-font-mono); letter-spacing: .12em; text-transform: uppercase; }
  body.pf .pc-category-list button small { font: 400 10px/1 var(--k-font-mono); opacity: .6; }
  body.pf .pc-category-list button[aria-current="true"] { background: var(--ink); color: var(--bg); border-color: var(--ink) !important; }
  body.pf .pc-featured-category { display: none; }
  body.pf .pc-work { scroll-margin-top: 56px; }
}
@media (max-width: 900px) {
  body.pf .pc-work-bar { display: contents !important; }
  body.pf .pc-work-h { margin-bottom: 28px; }
  body.pf .pc-tools { margin: 20px 0 44px; }
  body.pf .pc-category-list button { min-height: 44px; }
  body.pf .pc-rail { scroll-margin-top: 92px; }
}

/* Keep project links comfortable to tap without changing the desktop visual language. */
@media(max-width:900px){body.pf .pc-card-links a{min-height:44px;display:inline-flex;align-items:center;font-size:13px}body.pf .pc-card-meta{color:var(--ink2)}}

html body .pf-sico-labeled{width:auto;height:auto;min-height:44px;gap:9px;padding:8px 0;margin-right:16px;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0;transition:color .2s,border-color .2s}
html body .pf-sico-labeled span{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;font-size:12px;letter-spacing:0;text-transform:none}

html body .pf-sico-labeled:hover,html body .pf-sico-labeled:focus-visible{background:transparent;transform:none;border-bottom-color:var(--ink)!important}
html body .pf-sico-labeled:hover span{text-decoration:underline;text-underline-offset:4px}
/* Compact paper tickets keep their position on hover. */
body.pf .pc-index{background:var(--bg)}
body.pf .pc-index .pc-marquee{padding-block:26px 32px}
body.pf .pc-index .pc-marquee a{gap:14px;margin:0 20px 0 0;padding:14px 24px;min-height:72px;border:1px solid #282b2655;border-radius:2px;background:#f5f0e5;color:#252a25;font:600 clamp(24px,2.4vw,34px)/1 var(--k-font-display);text-transform:uppercase;letter-spacing:.01em;box-shadow:0 2px 0 #252a2526;clip-path:polygon(0 0,96% 0,100% 16%,100% 100%,4% 100%,0 84%);transition:border-color .2s}
body.pf .pc-index .pc-marquee a:nth-child(even){background:#28382f;color:#f5f0e5;border-color:#28382f}
body.pf .pc-index .pc-marquee a:nth-child(3n){background:#ddd9d0;color:#252a25}
body.pf .pc-index .pc-marquee a:hover,body.pf .pc-index .pc-marquee a:focus-visible{padding-left:24px;border-color:currentColor;transform:none}
body.pf .pc-index .pc-marquee a small,body.pf .pc-index .pc-marquee-icon{color:inherit}
body.pf .pc-index .pc-marquee a small{opacity:.75}
body.pf .pc-index .pc-marquee-name{font-style:normal}
body.pf .pc-index .pc-marquee-icon{width:40px;height:40px;flex-shrink:0;border:1px solid currentColor;border-radius:50%;padding:6px}
body.pf .pc-index .pc-marquee-icon svg{width:28px;height:28px}
body.pf .pc-lede{font:400 clamp(17px,1.4vw,21px)/1.75 var(--k-font-body);letter-spacing:0;max-width:66ch;color:var(--ink)}
body.pf .pc-lede .pc-wd{opacity:1;transition:none}
@media(max-width:600px){body.pf .pc-index .pc-marquee a{font-size:25px;min-height:68px}body.pf .pc-lede{font-size:17px}}

body.pf .pc-about-l{padding-top:5px;font:400 clamp(26px,3vw,38px)/1.1 var(--k-font-logo);letter-spacing:0;text-transform:none;color:var(--ink2)}
body.pf .pc-about-l em{font-style:italic}
body.pf .pc-bio-intro{font:500 clamp(23px,2.2vw,32px)/1.45 var(--k-font-body);letter-spacing:-.025em;max-width:44ch;margin:0 0 26px}
body.pf .pc-bio-copy{font:400 clamp(17px,1.35vw,20px)/1.8 var(--k-font-body);letter-spacing:0;max-width:66ch;margin:0 0 20px;color:var(--ink2)}
