.portfolio-hero{background:var(--color-black)}.page-hero__bg{object-fit:cover;object-position:center 40%;z-index:0;filter:brightness(.5)saturate(.7);width:100%;height:100%;position:absolute;inset:0}.page-hero__overlay{z-index:1;background:linear-gradient(90deg,#080808e6 30%,#08080880 100%),linear-gradient(#0000 50%,#080808cc 100%);position:absolute;inset:0}.portfolio-section{background:var(--color-black)}.portfolio-group+.portfolio-group{margin-top:64px}.portfolio-group__head{border-bottom:1px solid #ffffff14;align-items:baseline;gap:16px;margin-bottom:20px;padding-bottom:14px;display:flex}.portfolio-group__head h2{font-family:var(--font-display,"Bebas Neue", sans-serif);letter-spacing:.02em;color:var(--color-white);margin:0;font-size:clamp(30px,4vw,44px);font-weight:400;line-height:1}.portfolio-group__head span{font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--color-red);font-size:12px;font-weight:600}.portfolio-gallery{column-count:3;column-gap:12px}.portfolio-gallery--2{column-count:2}.portfolio-gallery--1{column-count:1;max-width:66%}.portfolio-tile{border-radius:var(--radius-lg);cursor:zoom-in;break-inside:avoid;width:100%;transition:box-shadow var(--transition-base), border-color var(--transition-base);background:#111;border:1px solid #ffffff0d;margin:0 0 12px;padding:0;display:block;position:relative;overflow:hidden}.portfolio-tile img{width:100%;height:auto;transition:transform .6s,filter .4s;display:block}.portfolio-tile:after{content:"";opacity:0;transition:opacity var(--transition-base);pointer-events:none;background:linear-gradient(#08080800 55%,#080808d9 100%);position:absolute;inset:0}.portfolio-tile__label{z-index:1;font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:#fff;opacity:0;transition:all var(--transition-base);font-size:12px;font-weight:600;position:absolute;bottom:14px;left:16px;transform:translateY(6px)}.portfolio-tile:hover,.portfolio-tile:focus-visible{border-color:#e5292a80;outline:none;box-shadow:0 20px 60px #00000080}.portfolio-tile:hover img,.portfolio-tile:focus-visible img{transform:scale(1.04)}.portfolio-tile:hover:after,.portfolio-tile:focus-visible:after,.portfolio-tile:hover .portfolio-tile__label,.portfolio-tile:focus-visible .portfolio-tile__label{opacity:1;transform:none}.portfolio-lightbox{z-index:2000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#050505f0;justify-content:center;align-items:center;gap:16px;padding:56px 24px 32px;animation:.2s portfolio-fade;display:flex;position:fixed;inset:0}@keyframes portfolio-fade{0%{opacity:0}to{opacity:1}}.portfolio-lightbox__figure{flex-direction:column;align-items:center;gap:14px;max-width:min(1400px,100%);margin:0;display:flex}.portfolio-lightbox__figure img{object-fit:contain;border-radius:var(--radius-lg);max-width:100%;max-height:calc(100vh - 150px);animation:.25s portfolio-fade;box-shadow:0 30px 90px #0009}.portfolio-lightbox__figure figcaption{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:#fff;align-items:baseline;gap:18px;font-size:13px;font-weight:600;display:flex}.portfolio-lightbox__count{color:var(--color-muted);font-weight:500}.portfolio-lightbox__close,.portfolio-lightbox__nav{color:#fff;cursor:pointer;width:48px;height:48px;transition:background var(--transition-base), border-color var(--transition-base);background:#ffffff0f;border:1px solid #ffffff26;border-radius:50%;flex:none;place-items:center;font-size:18px;display:grid}.portfolio-lightbox__close:hover,.portfolio-lightbox__nav:hover{background:var(--color-red);border-color:var(--color-red)}.portfolio-lightbox__close{position:absolute;top:16px;right:16px}.portfolio-cta{background:var(--color-surface);border-top:1px solid #ffffff0d;padding:100px 0}.portfolio-cta p{font-family:var(--font-ui);color:var(--color-muted);margin-top:16px;font-size:18px}@media (max-width:900px){.portfolio-gallery,.portfolio-gallery--2{column-count:2}.portfolio-gallery--1{max-width:100%}}@media (max-width:580px){.portfolio-gallery,.portfolio-gallery--2{column-count:1}.portfolio-group+.portfolio-group{margin-top:44px}.portfolio-tile__label{opacity:1;transform:none}.portfolio-tile:after{opacity:1}.portfolio-lightbox{gap:0;padding:56px 8px 24px}.portfolio-lightbox__nav{width:44px;height:44px;position:absolute;bottom:20px}.portfolio-lightbox__nav--prev{left:16px}.portfolio-lightbox__nav--next{right:16px}.portfolio-lightbox__figure img{max-height:calc(100vh - 170px)}}
