.lightbox{z-index:1100;background:#0a0a0af5;grid-template-rows:1fr auto;animation:.22s ease-out lightboxFade;display:grid;position:fixed;inset:0}@keyframes lightboxFade{0%{opacity:0}to{opacity:1}}.lightbox__frame{place-items:center;min-height:0;padding:64px 80px 24px;display:grid}.lightbox__image{object-fit:contain;border-radius:6px;width:auto;max-width:min(90vw,1600px);height:auto;max-height:76vh;box-shadow:0 20px 60px #00000080}.lightbox__close{color:#fff;cursor:pointer;z-index:2;background:#ffffff14;border:1.5px solid #ffffff4d;border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.05rem;transition:all .2s;display:grid;position:absolute;top:20px;right:24px}.lightbox__close:hover{color:var(--ink);background:#fff;border-color:#fff;transform:rotate(90deg)}.lightbox__close:focus-visible{box-shadow:0 0 0 4px var(--brand-ring);outline:none}.lightbox__nav{color:#fff;cursor:pointer;z-index:2;background:#ffffff14;border:1.5px solid #ffffff4d;border-radius:50%;place-items:center;width:54px;height:54px;font-size:1rem;transition:all .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__nav:hover{color:var(--ink);background:#fff;border-color:#fff}.lightbox__nav:focus-visible{box-shadow:0 0 0 4px var(--brand-ring);outline:none}.lightbox__nav--prev{left:20px}.lightbox__nav--next{right:20px}.lightbox__caption{color:#ffffffd9;text-align:center;font-family:var(--sans);padding:16px 80px 40px}.lightbox__meta{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:10px;display:inline-flex}.lightbox__tag{letter-spacing:.18em;text-transform:uppercase;background:var(--brand);color:#fff;border-radius:999px;padding:5px 12px;font-size:.72rem;font-weight:600;display:inline-block}.lightbox__tag--muted{color:#ffffffe6;background:#ffffff24}.lightbox__title{font-family:var(--serif);color:#fff;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:10px;margin:0 0 6px;font-size:1.15rem;display:flex}.lightbox__project{font-weight:600}.lightbox__sub{color:#ffffffa6;font-style:italic;font-weight:500}.lightbox__count{letter-spacing:.12em;color:#ffffff80;margin:0;font-size:.78rem}@media (max-width:768px){.lightbox__frame{padding:56px 16px 16px}.lightbox__image{max-height:70vh}.lightbox__nav{width:44px;height:44px;top:auto;bottom:100px;transform:none}.lightbox__nav--prev{left:16px}.lightbox__nav--next{right:16px}.lightbox__caption{padding:12px 16px 28px}.lightbox__close{top:14px;right:14px}}@media (prefers-reduced-motion:reduce){.lightbox{animation:none}.lightbox__close:hover{transform:none}}
.portfolio-filters{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr auto;align-items:end;gap:32px;margin-bottom:40px;padding-bottom:32px;display:grid}.portfolio-filters__group{flex-direction:column;gap:10px;display:flex}.portfolio-filters__label{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.portfolio-filters__chips{flex-wrap:wrap;gap:8px;display:flex}.portfolio-filters__count{color:var(--muted);place-self:center end;margin:0;font-size:.88rem}.portfolio-filters__count strong{color:var(--ink);font-weight:600}.portfolio-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:16px;margin:0;padding:0;list-style:none;display:grid}.portfolio-item{grid-row:span 2}.portfolio-item--1,.portfolio-item--4{grid-row:span 3}.portfolio-item--6{grid-row:span 2}.portfolio-item__btn{background:var(--surface-2);border-radius:var(--radius-lg);cursor:zoom-in;width:100%;height:100%;transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out);border:0;padding:0;display:block;position:relative;overflow:hidden}.portfolio-item__btn:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.portfolio-item__btn:focus-visible{box-shadow:0 0 0 3px var(--brand-ring);outline:none}.portfolio-item__img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease-out)}.portfolio-item__btn:hover .portfolio-item__img{transform:scale(1.05)}.portfolio-item__overlay{color:#fff;opacity:0;transition:opacity .4s var(--ease-out);pointer-events:none;font-family:var(--sans);background:linear-gradient(#00000080 0%,#0000 35% 60%,#000000bf 100%);flex-direction:column;justify-content:space-between;padding:18px 20px;display:flex;position:absolute;inset:0}.portfolio-item__btn:hover .portfolio-item__overlay,.portfolio-item__btn:focus-visible .portfolio-item__overlay{opacity:1}.portfolio-item__tags{flex-wrap:wrap;gap:8px;display:flex}.portfolio-item__type,.portfolio-item__cat{letter-spacing:.2em;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;padding:5px 10px;font-size:.65rem;font-weight:600;display:inline-block}.portfolio-item__type{background:var(--brand);color:#fff}.portfolio-item__cat{color:var(--ink);background:#ffffffe6}.portfolio-item__info{flex-direction:column;gap:2px;display:flex}.portfolio-item__info strong{font-family:var(--serif);color:#fff;letter-spacing:-.01em;font-size:1.1rem;font-weight:600}.portfolio-item__info span{color:#fffc;letter-spacing:.01em;font-size:.82rem}.portfolio-item__expand{width:40px;height:40px;color:var(--ink);background:#fffffff2;border-radius:50%;place-items:center;font-size:.85rem;display:grid;position:absolute;top:18px;right:18px}.portfolio-empty{text-align:center;color:var(--muted);justify-items:center;gap:18px;padding:80px 24px;display:grid}.portfolio-empty p{margin:0;font-size:1rem}@media (max-width:1024px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}.portfolio-item--1,.portfolio-item--4{grid-row:span 2}}@media (max-width:768px){.portfolio-filters{grid-template-columns:1fr;align-items:start;gap:20px}.portfolio-filters__count{justify-self:start}.portfolio-grid{grid-template-columns:1fr;grid-auto-rows:auto}.portfolio-item,.portfolio-item--1,.portfolio-item--4,.portfolio-item--6{grid-row:auto}.portfolio-item__btn{aspect-ratio:4/5}.portfolio-item__overlay{opacity:1}}
.portfolio-page{padding-top:0}.portfolio-hero{background:radial-gradient(1100px 500px at 10% 0%, #ff660014, transparent 60%), linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);border-bottom:1px solid var(--line);padding:140px 0 64px}.portfolio-hero__title{font-family:var(--serif);color:var(--ink);max-width:18ch;margin:12px 0 18px;font-size:clamp(2.25rem,5vw,4rem);font-weight:600;line-height:1.1}.portfolio-hero__title em{color:var(--brand);font-style:italic;font-weight:600}.portfolio-hero__lede{color:var(--muted);max-width:620px;margin:0 0 32px;font-size:1.05rem;line-height:1.65}.portfolio-hero__actions{flex-wrap:wrap;gap:12px;display:flex}.portfolio-hero__actions .btn-primary{color:#fff!important}.portfolio-section{padding-top:64px}@media (max-width:768px){.portfolio-hero{padding:112px 0 48px}.portfolio-section{padding-top:48px;padding-bottom:64px}}
