/* An editorial index for nineteen distinct project worlds. */
.pf-catalog { --pf-ink: #201e1b; --pf-paper: #efede6; background: var(--pf-paper); color: var(--pf-ink); padding: clamp(64px, 8vw, 120px) max(22px, calc((100vw - 1320px) / 2)); overflow: clip; }
.pf-catalog * { box-sizing: border-box; }
.pf-catalog a { color: inherit; }
.pf-catalog .pf-eyebrow { display:flex; justify-content:space-between; gap:20px; margin:0 0 36px; font:600 11px/1.5 ui-monospace,monospace; letter-spacing:.15em; text-transform:uppercase; }
.pf-intro { display:grid; grid-template-columns:1.4fr 1fr; gap:50px; align-items:end; border-bottom:1px solid #201e1b30; padding-bottom:42px; }
.pf-intro h2 { margin:0; max-width:850px; font:600 clamp(42px,6.3vw,90px)/.99 ui-sans-serif,system-ui,sans-serif; letter-spacing:-.07em; }
.pf-intro h2 em { font-family:Georgia,'Times New Roman',serif; font-weight:normal; letter-spacing:-.06em; color:#b8462c; }
.pf-intro-copy { max-width:400px; justify-self:end; }
.pf-intro-copy p { font-size:16px; line-height:1.8; margin:0 0 22px; color:#57534c; }
.pf-intro-copy a { display:inline-flex; gap:28px; align-items:center; min-height:44px; font-size:13px; font-weight:600; text-decoration:underline; text-underline-offset:6px; }
.pf-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:27px; }
.pf-filters { display:flex; flex-wrap:wrap; gap:8px; }
.pf-filters button { display:inline-flex; align-items:center; gap:9px; min-height:44px; border:1px solid #201e1b30; border-radius:30px; padding:10px 17px; color:#48433c; background:transparent; font:500 12px/1.3 ui-sans-serif,system-ui,sans-serif; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }
.pf-filters button b { font:400 10px ui-monospace,monospace; opacity:.65; }
.pf-filters button[aria-pressed=true] { background:#28251f; color:#fffaf0; border-color:#28251f; }
.pf-filters button:hover { border-color:#28251f; }
.pf-catalog :is(a,button):focus-visible { outline:3px solid #994424; outline-offset:5px; }
.pf-count { margin:0; font:11px/1.6 ui-monospace,monospace; color:#625d54; white-space:nowrap; }
.pf-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:28px 24px; }
.pf-card { grid-column:span 4; min-width:0; }
.pf-card.pf-wide { grid-column:span 8; }
.pf-card[hidden] { display:none!important; }
.pf-card-link { display:block; height:100%; text-decoration:none; border-radius:7px; }
.pf-card-art { position:relative; height:clamp(230px,24vw,350px); overflow:hidden; border-radius:7px; background:var(--pf-accent,#292c3a); isolation:isolate; }
.pf-card-art img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s; }
.pf-card-art::after { content:''; position:absolute; inset:0; z-index:0; background:linear-gradient(180deg,#00000035,transparent 30%,transparent 60%,#00000065); pointer-events:none; }
.pf-card-top { position:absolute; z-index:1; inset:17px 17px auto; display:flex; justify-content:space-between; align-items:center; gap:8px; color:#fff; }
.pf-card-number { display:grid; place-items:center; min-width:33px; height:33px; border:1px solid #ffffff78; border-radius:50%; background:#12121260; backdrop-filter:blur(10px); font:10px ui-monospace,monospace; }
.pf-card-status { background:#171819dc; color:#f8f3e9; padding:8px 11px; border:1px solid #ffffff25; border-radius:30px; font:500 9px/1.3 ui-sans-serif,system-ui,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.pf-card-open { position:absolute; bottom:17px; right:17px; z-index:1; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#f3efe4; color:#25221d; font-size:22px; transform:rotate(0); transition:background .25s,transform .3s; }
.pf-card-link:hover .pf-card-art img { transform:scale(1.035); filter:saturate(1.1); }
.pf-card-link:hover .pf-card-open { background:#fff; transform:rotate(45deg); }
.pf-card-body { padding:21px 2px 4px; }
.pf-card-category { color:#756c60; font:500 9px/1.5 ui-monospace,monospace; letter-spacing:.12em; text-transform:uppercase; }
.pf-card-body h3 { margin:8px 0 4px; font:600 clamp(22px,2vw,30px)/1.1 ui-sans-serif,system-ui,sans-serif; letter-spacing:-.045em; }
.pf-card-alias { margin:0 0 12px; font:12px/1.5 ui-sans-serif,system-ui,sans-serif; color:#766a5d; }
.pf-card-body p:last-child { margin:0; color:#635d54; font:14px/1.65 ui-sans-serif,system-ui,sans-serif; max-width:60ch; }
.pf-notes { display:grid; grid-template-columns:1fr 1fr; gap:30px; border-top:1px solid #201e1b30; margin-top:48px; padding-top:26px; color:#71685b; font:12px/1.7 ui-sans-serif,system-ui,sans-serif; }
.pf-notes p { margin:0; }
.pf-end { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:65px; padding:30px 0 0; border-top:1px solid #201e1b30; }
.pf-end strong { max-width:700px; font:500 clamp(24px,3.5vw,46px)/1.1 Georgia,serif; letter-spacing:-.035em; }
.pf-end a { display:inline-flex; align-items:center; justify-content:center; gap:30px; min-height:54px; padding:16px 24px; border:1px solid #71685b; border-radius:40px; text-decoration:none; white-space:nowrap; font-size:13px; }
@media(min-width:1700px) { .pf-card-art {height:360px;} }
@media(max-width:1000px) {
 .pf-catalog {padding-inline:28px;} .pf-intro {grid-template-columns:1fr 1fr;gap:35px;} .pf-intro h2 {font-size:65px;} .pf-card,.pf-card.pf-wide {grid-column:span 6;} .pf-card-art {height:300px;} .pf-card:last-child {grid-column:span 12;} .pf-card:last-child .pf-card-art {height:350px;}
}
@media(max-width:650px) {
 .pf-catalog {padding:62px 20px;} .pf-catalog .pf-eyebrow {font-size:9px;gap:15px;margin-bottom:28px;}.pf-eyebrow span:last-child {text-align:right;max-width:105px;}
 .pf-intro {grid-template-columns:1fr;gap:26px;padding-bottom:26px;}.pf-intro h2 {font-size:clamp(45px,13vw,65px);}.pf-intro-copy {justify-self:start;}.pf-intro-copy p {font-size:14px;margin-bottom:12px;}
 .pf-toolbar {align-items:flex-start;flex-direction:column;gap:14px;padding-block:24px;}.pf-filters {gap:6px;}.pf-filters button {padding:9px 12px;font-size:11px;}.pf-filters button b {font-size:9px;}.pf-count {font-size:10px;}
 .pf-grid {gap:30px;}.pf-card,.pf-card.pf-wide,.pf-card:last-child {grid-column:span 12;}.pf-card-art,.pf-card:last-child .pf-card-art {height:auto;aspect-ratio:1.23;}.pf-card-body {padding-top:16px;}.pf-card-body h3 {font-size:28px;}.pf-card-top {inset:13px 13px auto;}.pf-card-body p:last-child {font-size:14px;}
 .pf-notes {grid-template-columns:1fr;gap:14px;font-size:11px;margin-top:32px;}.pf-end {align-items:start;flex-direction:column;margin-top:36px;gap:24px;}.pf-end strong {font-size:32px;}.pf-end a {min-height:48px;padding:12px 20px;}
}
@media(prefers-reduced-motion:reduce) { .pf-catalog *, .pf-catalog *::before,.pf-catalog *::after {animation:none!important;transition:none!important;} .pf-card-link:hover .pf-card-art img,.pf-card-link:hover .pf-card-open {transform:none;} }
