:root{--p-bg:#050505;--p-orange:#ff4d00;--p-line:#2a2a2a;--p-muted:#a0a0a0}.portfolio-page,.project-page{background:var(--p-bg);overflow-x:hidden}.portfolio-page a:focus-visible,.project-page a:focus-visible,.portfolio-page button:focus-visible,.portfolio-page input:focus-visible{outline:2px solid var(--p-orange);outline-offset:5px}.portfolio-nav{opacity:0;transform:translateY(-12px);animation:portfolio-nav-in .7s .9s forwards}.portfolio-nav .is-current{color:var(--p-orange)}.portfolio-loader{position:fixed;z-index:40;inset:0;background:#050505;display:grid;place-content:center;gap:6px;transition:transform .6s cubic-bezier(.7,0,.2,1)}.portfolio-loader.done{transform:translateY(-100%)}.portfolio-loader b{font:800 clamp(5rem,15vw,14rem)/.7 Manrope,sans-serif;letter-spacing:-.12em}.portfolio-loader span{font:500 10px 'DM Mono';letter-spacing:.16em;text-align:center}.portfolio-loader i{font-style:normal}.portfolio-transition{position:fixed;inset:0;background:var(--p-orange);z-index:35;transform:translateY(101%);transition:transform .55s cubic-bezier(.7,0,.2,1);pointer-events:none}.portfolio-transition.is-leaving{transform:translateY(0)}.portfolio-cursor{position:fixed;left:0;top:0;z-index:36;pointer-events:none;mix-blend-mode:difference}.portfolio-cursor span{position:absolute;width:34px;height:34px;transform:translate(-50%,-50%);border:1px solid #fff;border-radius:50%;transition:.25s}.portfolio-cursor b{position:absolute;transform:translate(-50%,-50%);display:none;font:500 10px 'DM Mono';white-space:nowrap}.portfolio-cursor.is-view span{width:82px;height:82px;background:#fff}.portfolio-cursor.is-view b{display:block;color:#050505;mix-blend-mode:normal}.portfolio-progress{position:fixed;right:24px;top:50%;width:1px;height:72px;background:#333;z-index:13}.portfolio-progress i{display:block;width:100%;height:0;background:var(--p-orange)}.portfolio-hero{position:relative;min-height:100svh;padding:clamp(130px,17vw,240px) 5vw 5vw;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.portfolio-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.08) 50%,transparent 50.1%);background-size:20vw 100%;pointer-events:none}.portfolio-hero-glow{position:absolute;right:-20vw;top:8%;width:72vw;height:72vw;background:radial-gradient(circle,#ff4d00 0%,#942600 20%,rgba(255,77,0,.18) 38%,transparent 65%);filter:blur(16px);opacity:.76;animation:portfolio-glow 12s ease-in-out infinite alternate}.portfolio-kicker{position:relative;z-index:1;display:flex;justify-content:space-between;margin:0 0 10vw;color:#aaa;font:500 10px 'DM Mono';letter-spacing:.1em;opacity:0;transform:translateY(20px);animation:portfolio-up .65s 1s forwards}.portfolio-kicker span{color:#fff}.portfolio-hero h1{position:relative;z-index:1;margin:0;font:800 clamp(4.1rem,11vw,12rem)/.75 Manrope,sans-serif;letter-spacing:-.11em}.portfolio-hero h1 span{display:block;clip-path:inset(0 0 100% 0);transform:translateY(110%);animation:portfolio-title 1s cubic-bezier(.16,1,.3,1) forwards}.portfolio-hero h1 span:nth-child(1){animation-delay:1.05s}.portfolio-hero h1 span:nth-child(2){margin-left:12vw;animation-delay:1.17s}.portfolio-hero h1 span:nth-child(3){margin-left:31vw;animation-delay:1.29s}.portfolio-hero h1 i{font-family:'Playfair Display',serif;font-weight:700}.portfolio-hero-bottom{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;margin-top:12vh;opacity:0;animation:portfolio-fade .7s 1.55s forwards}.portfolio-hero-bottom p{margin:0;color:#aaa;font-size:12px;line-height:1.55}.portfolio-scroll-cue{display:flex;gap:15px;align-items:center;color:#fff;text-decoration:none;font:500 10px 'DM Mono';letter-spacing:.1em}.portfolio-scroll-cue b{font-size:22px;color:var(--p-orange);animation:portfolio-bounce 1.5s infinite}.portfolio-featured{padding:11vw 0 4vw;background:#0b0b0b}.portfolio-section-label{padding:0 5vw;display:flex;justify-content:space-between;align-items:start}.portfolio-section-label h2,.portfolio-all-header h2{margin:0;text-align:right;font:800 clamp(3.8rem,8vw,9rem)/.75 Manrope,sans-serif;letter-spacing:-.1em}.portfolio-section-label i,.portfolio-all-header i{font-family:'Playfair Display',serif;font-weight:700}.portfolio-featured-rail{height:87vw;margin-top:7vw;position:relative}.portfolio-featured-track{height:100svh;position:sticky;top:0;padding:5vw;display:flex;align-items:center;gap:3vw;overflow:hidden}.portfolio-featured-card{display:block;position:relative;flex:0 0 min(54vw,750px);height:min(67vh,720px);overflow:hidden;color:#fff;text-decoration:none;background:#181818;transform:translateZ(0)}.portfolio-featured-card:first-child{flex-basis:min(61vw,900px)}.portfolio-featured-card:after,.portfolio-card-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.72));opacity:.65;transition:opacity .5s}.portfolio-featured-card img,.portfolio-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .55s;will-change:transform}.portfolio-featured-card:hover img{transform:scale(1.065);filter:brightness(.75)}.portfolio-featured-copy{position:absolute;z-index:1;inset:auto 22px 19px;display:flex;justify-content:space-between;align-items:end;transform:translateY(25px);transition:transform .45s}.portfolio-featured-card:hover .portfolio-featured-copy{transform:none}.portfolio-featured-copy h3{margin:0;font:800 clamp(2rem,4vw,4rem)/.85 Manrope,sans-serif;letter-spacing:-.1em}.portfolio-featured-copy p{margin:7px 0 0;font:10px 'DM Mono';color:#bbb}.portfolio-featured-copy b{font-size:25px;color:var(--p-orange);font-weight:400}.portfolio-all{padding:13vw 5vw}.portfolio-all-header{display:flex;justify-content:space-between;align-items:end;gap:3vw}.portfolio-search{width:min(260px,30vw);border-bottom:1px solid #555;display:grid;gap:9px;padding-bottom:9px}.portfolio-search span{font:10px 'DM Mono';color:#777}.portfolio-search input{color:#fff;background:transparent;border:0;outline:0;font:500 14px Manrope}.portfolio-search input::placeholder{color:#999}.portfolio-filters{display:flex;gap:8px;flex-wrap:wrap;margin:8vw 0 1.5vw;padding-bottom:15px;border-bottom:1px solid var(--p-line)}.portfolio-filters button{border:1px solid #383838;border-radius:99px;padding:10px 13px;color:#aaa;background:transparent;font:500 10px 'DM Mono';letter-spacing:.04em;cursor:pointer;transition:.3s}.portfolio-filters button:hover,.portfolio-filters button.is-active{color:#050505;background:var(--p-orange);border-color:var(--p-orange)}.portfolio-result-count{min-height:1em;margin:0 0 3vw;color:#888;font:10px 'DM Mono';letter-spacing:.05em}.portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5vw 2.2vw;align-items:start}.portfolio-card{grid-column:span 5;display:block;min-width:0;color:#fff;text-decoration:none;transition:opacity .3s,transform .3s}.portfolio-card[data-size="hero"]{grid-column:span 8}.portfolio-card[data-size="wide"]{grid-column:span 7}.portfolio-card[data-size="portrait"]{grid-column:span 4;margin-top:10vw}.portfolio-card:nth-child(4n+2){margin-top:9vw}.portfolio-card.is-filtered{opacity:0;transform:scale(.96);pointer-events:none}.portfolio-card[hidden]{display:none}.portfolio-card-media{position:relative;overflow:hidden;background:radial-gradient(circle at 70% 25%,#ff4d00,#471200 25%,#121212 65%);aspect-ratio:1.24}.portfolio-card[data-size="hero"] .portfolio-card-media{aspect-ratio:1.5}.portfolio-card[data-size="portrait"] .portfolio-card-media{aspect-ratio:.76}.portfolio-card-media:after{opacity:0}.portfolio-card:hover .portfolio-card-media:after{opacity:.5}.portfolio-card:hover .portfolio-card-media img{transform:translateY(var(--parallax,0)) scale(1.065);filter:brightness(.72)}.portfolio-card-meta{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:baseline;padding-top:12px}.portfolio-card-index,.portfolio-card-year{font:10px 'DM Mono';color:#777}.portfolio-card-meta h3{margin:0;font:800 clamp(1.5rem,2.7vw,3.25rem)/.9 Manrope,sans-serif;letter-spacing:-.09em}.portfolio-card-description{margin:9px 34px 0 0;color:#9e9e9e;font-size:11px;line-height:1.5;max-width:320px}.portfolio-card-arrow{display:inline-block;color:var(--p-orange);font-size:20px;transform:translateX(-9px);opacity:0;transition:.3s}.portfolio-card:hover .portfolio-card-arrow{transform:none;opacity:1}.portfolio-card.is-revealed{animation:portfolio-card-in .8s both}.portfolio-empty{grid-column:1/-1;padding:9vw 0;color:#777;font:500 12px 'DM Mono';text-align:center}.project-page .portfolio-transition{transform:translateY(0);animation:portfolio-open .65s .15s cubic-bezier(.7,0,.2,1) forwards}.project-page-main{padding:14vw 5vw 10vw}.project-back{display:inline-flex;gap:8px;color:#aaa;text-decoration:none;font:500 10px 'DM Mono';letter-spacing:.08em}.project-back:hover{color:var(--p-orange)}.project-detail-hero{margin-top:8vw;display:grid;grid-template-columns:1.1fr 1.9fr;gap:6vw;align-items:end}.project-detail-hero h1{margin:0;font:800 clamp(5rem,13vw,15rem)/.68 Manrope,sans-serif;letter-spacing:-.13em}.project-detail-hero h1 i{font-family:'Playfair Display';font-weight:700}.project-detail-meta{display:grid;gap:2vw;grid-template-columns:repeat(3,1fr);font:500 10px/1.4 'DM Mono';color:#999}.project-detail-meta strong{display:block;margin-top:7px;color:#fff;font:500 12px Manrope}.project-detail-image{position:relative;margin-top:9vw;height:min(75vw,980px);overflow:hidden;background:#181818;animation:project-image-in 1.2s .35s both}.project-detail-image img,.project-gallery-image img{width:100%;height:100%;display:block;object-fit:cover}.project-detail-copy{display:grid;grid-template-columns:1fr 1.5fr;gap:5vw;padding:10vw 8vw}.project-detail-copy h2{font:800 clamp(2.7rem,5vw,6rem)/.83 Manrope,sans-serif;letter-spacing:-.1em;margin:0}.project-detail-copy p{margin:0;max-width:530px;color:#b4b4b4;font-size:clamp(1rem,1.5vw,1.35rem);line-height:1.55}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:3vw;padding:0 5vw 12vw}.project-gallery-image{margin:0;overflow:hidden;background:#161616;min-height:45vw;animation:gallery-reveal linear both;animation-timeline:view();animation-range:entry 10% cover 35%}.project-gallery-image:nth-child(2){margin-top:15vw}.project-gallery-image:nth-child(3){grid-column:1/-1;min-height:58vw}.project-not-found{min-height:80vh;display:grid;place-content:center;text-align:center;padding:20vw 5vw}.project-not-found h1{font:800 clamp(5rem,15vw,16rem)/.7 Manrope;letter-spacing:-.12em;margin:0}.project-not-found p{color:#aaa}.project-not-found a{color:var(--p-orange)}@keyframes portfolio-nav-in{to{opacity:1;transform:none}}@keyframes portfolio-glow{to{transform:translate(-12%,10%) scale(1.15);filter:blur(28px)}}@keyframes portfolio-up{to{opacity:1;transform:none}}@keyframes portfolio-title{to{clip-path:inset(0);transform:none}}@keyframes portfolio-fade{to{opacity:1}}@keyframes portfolio-bounce{50%{transform:translateY(7px)}}@keyframes portfolio-card-in{from{opacity:0;transform:translateY(32px) scale(.98)}to{opacity:1;transform:none}}@keyframes project-image-in{from{clip-path:inset(13% 9%);transform:scale(1.08);opacity:0}to{clip-path:inset(0);transform:none;opacity:1}}@keyframes gallery-reveal{from{clip-path:inset(13%);transform:scale(1.08);opacity:0}to{clip-path:inset(0);transform:none;opacity:1}}@keyframes portfolio-open{to{transform:translateY(-101%)}}@media(max-width:700px){.portfolio-cursor,.portfolio-progress{display:none}.portfolio-nav{height:68px;padding:0 20px}.portfolio-hero{padding:135px 20px 35px}.portfolio-hero h1{font-size:17vw}.portfolio-hero h1 span:nth-child(2),.portfolio-hero h1 span:nth-child(3){margin-left:0}.portfolio-kicker{margin-bottom:auto}.portfolio-hero-bottom{margin-top:auto}.portfolio-hero-glow{width:125vw;height:125vw;right:-55vw;top:20%}.portfolio-featured{padding:24vw 0 12vw}.portfolio-section-label{padding:0 20px}.portfolio-section-label h2,.portfolio-all-header h2{font-size:14vw}.portfolio-featured-rail{height:auto;margin-top:15vw;overflow:auto}.portfolio-featured-track{position:static;height:auto;padding:0 20px 10px;width:max-content;gap:15px}.portfolio-featured-card,.portfolio-featured-card:first-child{flex-basis:76vw;height:106vw}.portfolio-all{padding:24vw 20px}.portfolio-all-header{display:block}.portfolio-search{width:100%;margin-top:14vw}.portfolio-filters{margin-top:15vw;flex-wrap:nowrap;overflow:auto;padding-bottom:16px}.portfolio-filters button{flex:0 0 auto}.portfolio-result-count{margin:5vw 0 9vw}.portfolio-grid{display:block}.portfolio-card,.portfolio-card[data-size="hero"],.portfolio-card[data-size="wide"],.portfolio-card[data-size="portrait"],.portfolio-card:nth-child(4n+2){margin:0 0 16vw}.portfolio-card-media,.portfolio-card[data-size="hero"] .portfolio-card-media,.portfolio-card[data-size="portrait"] .portfolio-card-media{aspect-ratio:1.08}.portfolio-card-meta h3{font-size:10vw}.portfolio-card-description{font-size:12px}.project-page-main{padding:135px 20px 22vw}.project-detail-hero{display:block;margin-top:17vw}.project-detail-hero h1{font-size:21vw}.project-detail-meta{margin-top:15vw;gap:10vw}.project-detail-image{height:120vw;margin-top:16vw}.project-detail-copy{display:block;padding:25vw 0}.project-detail-copy h2{font-size:13vw;margin-bottom:8vw}.project-gallery{display:block;padding:0 0 25vw}.project-gallery-image,.project-gallery-image:nth-child(2),.project-gallery-image:nth-child(3){min-height:100vw;margin:0 0 16vw}.project-gallery-image:nth-child(3){min-height:115vw}}@media(prefers-reduced-motion:reduce){.portfolio-loader,.portfolio-transition,.portfolio-nav,.portfolio-kicker,.portfolio-hero h1 span,.portfolio-hero-bottom,.portfolio-card,.project-detail-image,.project-gallery-image{animation:none!important;transition:none!important}.portfolio-cursor,.portfolio-progress{display:none}.portfolio-kicker,.portfolio-hero-bottom,.portfolio-nav{opacity:1;transform:none}.portfolio-hero h1 span{clip-path:none;transform:none}}
