/* Portfolio only. Common navigation and typography are inherited from home.css. */
.rb-portfolio [hidden]{display:none!important}
.rb-portfolio a[aria-current="page"]{color:var(--accent);text-decoration:underline;text-underline-offset:6px}
.rb-portfolio .pf-intro{padding-top:80px;padding-bottom:60px;border-bottom:1px solid var(--line)}
.pf-intro h1{font-family:var(--serif);font-size:clamp(58px,7.8vw,112px);line-height:1.02;letter-spacing:-.045em;margin-bottom:38px}
.pf-intro-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:35px}.pf-intro-bottom p{max-width:60ch;color:var(--muted);font-size:15px}
.rb-portfolio .pf-collection{padding-top:55px;padding-bottom:65px}.pf-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:30px}.pf-heading h2{font-size:38px}.pf-heading p,.pf-help{color:var(--muted);font-size:12px}
.pf-filters{display:flex;flex-wrap:wrap;gap:10px}.pf-filters button{font:inherit;font-size:11px;color:var(--muted);border:1px solid var(--line);background:transparent;padding:12px 16px;cursor:pointer}.pf-filters button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.rb-portfolio button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.pf-status{font-size:12px;color:var(--muted);margin:20px 0}.pf-status:empty{display:none}
.pf-subtitle{font-family:var(--serif);font-size:30px;line-height:1.2;margin:30px 0}.pf-grid{columns:3;column-gap:28px}.pf-photo{display:block;break-inside:avoid;margin-bottom:30px}.pf-photo img{width:100%;height:auto;background:var(--panel)}.pf-photo figcaption{display:flex;justify-content:space-between;gap:15px;padding-top:10px;font-size:10px;color:var(--muted);letter-spacing:.06em}.pf-photo:hover figcaption{color:var(--accent)}
.pf-archive{margin-top:65px;border-top:1px solid var(--line)}.pf-help{margin-bottom:30px;max-width:70ch}.pf-category{border-top:1px solid var(--line);scroll-margin-top:25px}.pf-category:last-child{border-bottom:1px solid var(--line)}.pf-category>summary{cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:24px 0;list-style:none}.pf-category>summary::-webkit-details-marker{display:none}.pf-category>summary>span:first-child{font-family:var(--serif);font-size:30px}.pf-category>summary>span:last-child{font-size:12px;color:var(--muted);align-self:center}.pf-category[open]>summary{color:var(--accent)}.pf-category .pf-grid{padding-block:15px 25px}
.pf-lightbox{background:#111310;color:var(--ink);border:1px solid var(--line);padding:0;width:min(1400px,96vw);max-width:96vw;max-height:96vh;max-height:96dvh;overscroll-behavior:contain}.pf-lightbox::backdrop{background:rgba(0,0,0,.94)}.pf-lightbox:not([open]){display:none}.pf-lightbox-inner{padding:18px 24px}.pf-tools,.pf-controls{display:flex;justify-content:space-between;align-items:center;gap:15px}.pf-tools{margin-bottom:15px}.pf-tools p{font-size:12px;color:var(--muted)}.pf-lightbox button{background:transparent;border:1px solid var(--line);padding:12px 16px;color:var(--ink);font:inherit;font-size:12px;cursor:pointer;min-height:44px}.pf-lightbox button:hover{border-color:var(--accent);color:var(--accent)}.pf-lightbox figure{margin:0}.pf-lightbox img{width:100%;height:65vh;height:65dvh;object-fit:contain;touch-action:pan-y}.pf-lightbox figcaption{font-size:12px;margin-top:12px;text-align:center;min-height:1.65em}.pf-controls{margin-top:16px}#pf-instructions{font-size:11px;color:var(--muted);text-align:center;margin-top:14px}#pf-error{color:var(--accent);text-align:center;font-size:13px}.rb-portfolio .footer-top nav{max-width:420px}
@media(max-width:1000px){.pf-grid{columns:2;column-gap:22px}}
@media(max-width:760px){.rb-portfolio .pf-intro{padding-top:45px}.pf-intro-bottom,.pf-heading{flex-direction:column;align-items:flex-start}.pf-heading{gap:12px}.pf-photo{margin-bottom:25px}.pf-lightbox-inner{padding:14px}.pf-lightbox img{height:58vh;height:58dvh}.pf-lightbox button{padding:10px}.pf-category>summary>span:first-child{font-size:25px}}
@media(max-width:520px){.pf-grid{columns:1}.pf-filters{gap:8px}.pf-filters button{padding:11px 12px}.pf-intro h1{font-size:62px}.pf-lightbox-inner{padding:12px}.pf-controls{gap:8px}.pf-controls button{font-size:11px}.pf-category>summary{gap:10px}}