.portfolio-scroll{height:300vh;background:#10101b;position:relative;scroll-margin-top:110px}
.portfolio-sticky{position:sticky;top:0;height:100vh;box-sizing:border-box;padding:110px 5% 24px;display:flex;flex-direction:column;overflow:hidden}
.portfolio-heading{position:static;inset:auto;display:block;flex:none;height:auto;min-height:0;padding:0;background:transparent;border:0;backdrop-filter:none}
.portfolio-heading h2{font-size:28px;margin:8px 0 22px}
.portfolio-window{overflow:hidden;flex:1;min-height:0}
.portfolio-track{display:flex;width:300%;height:100%;will-change:transform}
.portfolio-slide{width:33.333333%;flex:none;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:center;box-sizing:border-box;padding:24px 20px;overflow:auto}
.portfolio-collage{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center;min-width:0;max-width:760px;width:100%;margin:auto}
.portfolio-photo{display:block;width:auto;max-width:100%;height:auto;max-height:120px;object-fit:contain;justify-self:center;transform:translateY(var(--drift,0px));will-change:transform}
.portfolio-photo.photo-0{width:85%;justify-self:end}
.portfolio-photo.photo-1{transform:translateY(calc(var(--drift,0px) * -1))}
.portfolio-photo.photo-2{grid-column:2;grid-row:3;height:auto;width:auto;max-width:95%;transform:translateY(calc(var(--drift,0px) * -1.4))}
.portfolio-video{grid-column:1 / -1;grid-row:2;width:100%;min-height:200px;aspect-ratio:16 / 9;border:0;background:#000;display:block}
.portfolio-slide>img{width:100%;height:100%;max-height:520px;object-fit:contain}
.portfolio-slide h3{font-size:32px;line-height:1.2;margin:12px 0 20px}
.portfolio-slide p{font-size:16px;line-height:1.6;color:#bdc5cb}
.portfolio-slide ul{padding-left:20px;line-height:1.6;font-size:14px;color:#f1f4f5}
.portfolio-slide li{margin:5px 0}
.portfolio-nav{letter-spacing:0;text-transform:none;display:flex;justify-content:center;gap:12px;padding-top:16px;flex-wrap:wrap}
.portfolio-nav button{background:transparent;border:1px solid #56616a;border-radius:6px;color:#fff;padding:10px 14px;font:inherit;font-size:12px;min-height:44px;cursor:pointer}
.portfolio-nav button[aria-current=true],.portfolio-nav button:hover{border-color:#c69aff;color:#c69aff}
.portfolio-nav button:focus-visible{outline:2px solid #c69aff;outline-offset:3px}
.portfolio-events{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.portfolio-events strong{display:inline-block;padding:7px 12px;border:1px solid #c69aff70;border-radius:999px;background:#c69aff14;color:#dec5ff;font-size:13px;line-height:1.4}
@media(max-width:800px),(prefers-reduced-motion:reduce){.portfolio-scroll{height:auto}.portfolio-sticky{position:relative;height:auto;padding:40px 5%}.portfolio-window{overflow-x:auto;scroll-snap-type:x mandatory}.portfolio-track{height:auto}.portfolio-slide{scroll-snap-align:start;grid-template-columns:1fr;gap:20px;overflow:visible;padding:0 16px}.portfolio-slide>img{height:260px}.portfolio-slide h3{font-size:26px}.portfolio-slide p{font-size:14px}}
@media(max-height:760px) and (min-width:801px){.portfolio-photo,.portfolio-photo.photo-2{max-height:80px}.portfolio-slide h3{font-size:26px}.portfolio-slide p{font-size:14px}.portfolio-slide li{margin:2px 0}.portfolio-collage{max-width:560px}}
@media(max-width:800px){.portfolio-photo,.portfolio-photo.photo-2{max-height:110px}.portfolio-collage{gap:12px}.portfolio-slide{padding:16px}.portfolio-photo{will-change:auto}}

@media(max-width:800px){.portfolio-sticky{padding-right:48px}.portfolio-nav button{font-size:11px;max-width:100%;overflow-wrap:anywhere}.portfolio-slide{min-width:0}.portfolio-slide>div{min-width:0}.portfolio-slide h3{overflow-wrap:anywhere}.portfolio-collage{max-width:100%}}
