.portfolio-page{--portfolio-accent:#f0441d;background:var(--graphite)}.portfolio-section{padding:140px var(--page-gutter) clamp(72px, 8vw, 128px)}.portfolio-back{min-height:44px;color:var(--muted);align-items:center;gap:10px;font-size:13px;transition:color .18s;display:inline-flex}.portfolio-back:hover{color:var(--white)}.portfolio-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin:26px 0 52px;display:flex}.portfolio-heading h1{letter-spacing:-.025em;text-transform:uppercase;margin:0;font-size:clamp(52px,6.2vw,88px);font-weight:900;line-height:1.04}.portfolio-heading h1 span{color:var(--portfolio-accent);display:block}.portfolio-heading>p{max-width:380px;color:var(--muted);margin:0 0 5px;font-size:16px;line-height:1.7}.portfolio-grid{columns:4;column-gap:20px;margin:0;padding:0;list-style:none}.portfolio-grid>li{break-inside:avoid;margin-bottom:20px}.portfolio-photo{background:var(--graphite-soft);cursor:zoom-in;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.portfolio-photo>img{width:100%;height:auto;transition:filter .22s;display:block}.portfolio-photo-expand{background:var(--graphite);width:38px;height:38px;color:var(--white);place-items:center;transition:background-color .18s;display:grid;position:absolute;bottom:12px;right:12px}.portfolio-photo:hover>img{filter:brightness(1.1)}.portfolio-photo:hover .portfolio-photo-expand,.portfolio-photo:focus-visible .portfolio-photo-expand{background:var(--portfolio-accent)}.portfolio-empty{border-top:1px solid var(--line-dark);color:var(--muted);padding-block:60px}.portfolio-image-error{min-height:220px;color:var(--white);place-items:center;padding:24px;font-size:14px;display:grid}.portfolio-lightbox{width:100%;max-width:none;height:100dvh;max-height:none;color:var(--white);overscroll-behavior:contain;background:#0f0f0ff7;border:0;margin:0;padding:20px 24px;position:fixed;inset:0}.portfolio-lightbox[open]{grid-template-rows:auto minmax(0,1fr) auto;gap:16px;display:grid}.portfolio-lightbox::backdrop{background:var(--graphite)}.portfolio-lightbox-toolbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.portfolio-lightbox-count{font-variant-numeric:tabular-nums;margin:0;font-size:14px}.portfolio-lightbox-count span{color:var(--muted)}.portfolio-lightbox button{border:1px solid var(--line-dark);width:48px;height:48px;color:var(--white);cursor:pointer;background:0 0;flex-shrink:0;place-items:center;padding:0;transition:background-color .18s;display:grid}.portfolio-lightbox button:hover{background:var(--graphite-soft)}.portfolio-lightbox-stage{touch-action:pan-y pinch-zoom;justify-content:center;align-items:center;min-height:0;display:flex}.portfolio-lightbox-stage>img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.portfolio-lightbox-navigation{justify-content:center;align-items:center;gap:24px;display:flex}.portfolio-lightbox-navigation>span{color:var(--muted);font-size:12px}@media (max-width:1000px){.portfolio-grid{columns:3}.portfolio-heading{flex-direction:column;align-items:flex-start;gap:24px}.portfolio-heading>p{max-width:560px}}@media (max-width:600px){.portfolio-section{padding-top:112px}.portfolio-heading{margin:20px 0 32px}.portfolio-heading h1{font-size:clamp(36px,9.5vw,56px)}.portfolio-heading>p{font-size:14px;line-height:1.65}.portfolio-grid{columns:2;column-gap:12px}.portfolio-grid>li{margin-bottom:12px}.portfolio-photo-expand{width:30px;height:30px;bottom:8px;right:8px}.portfolio-lightbox{padding:max(12px, env(safe-area-inset-top)) 12px max(16px, env(safe-area-inset-bottom))}}
