:root{--bg:#08090c;--bg2:#11141a;--fg:#f0f1ef;--muted:#a1a6af;--dim:#717780;--line:rgba(236,241,245,.18);--accent:#c4d2e7;--header:78px;--edge:clamp(22px,4.5vw,86px);--ease:cubic-bezier(.19,1,.22,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:#b8c9e4;color:#111}
:focus-visible{outline:2px solid #e3edf9;outline-offset:5px}#app{min-height:100vh;position:relative;z-index:2}#ambient-canvas{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;opacity:.75}body::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(120deg,transparent 10%,rgba(11,13,20,.035) 50%,transparent 90%)}
#scroll-progress{position:fixed;z-index:55;top:0;left:0;height:2px;width:0;background:#c6d8ed;box-shadow:0 0 12px #c6d8ed;transition:width .08s linear}#transition-curtain{position:fixed;inset:0;z-index:60;background:#090b10;transform:translateY(101%);pointer-events:none;transition:transform .72s var(--ease)}body.is-transitioning #transition-curtain{transform:translateY(0)}
.site-header{height:var(--header);position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 var(--edge);border-bottom:1px solid transparent;transition:background .4s,border-color .4s;gap:20px}.site-header.scrolled,.site-header.menu-on,.site-header:not(.hero-header){background:rgba(8,9,12,.83);backdrop-filter:blur(20px);border-color:var(--line)}.wordmark{display:flex;align-items:baseline;gap:2px;white-space:nowrap;font-size:29px;line-height:1;font-weight:800;letter-spacing:-.085em}.wordmark-slash{color:var(--accent);margin-left:1px}.wordmark small{font-size:10px;letter-spacing:.16em;margin-left:16px;font-weight:650}.desktop-nav{display:flex;align-items:center;gap:clamp(22px,3vw,52px);margin-left:auto}.desktop-nav a,.header-clock{font-size:10px;letter-spacing:.18em;font-weight:700}.desktop-nav a{color:#c4c7d0;transition:color .25s}.desktop-nav a:hover,.desktop-nav a.active{color:white}.header-end{display:flex;gap:22px;align-items:center;margin-left:clamp(4px,2.3vw,40px)}.header-clock{white-space:nowrap;color:#acb0bb}.menu-toggle{display:flex;width:37px;height:38px;padding:8px 2px;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;background:transparent;border:0;color:white;position:relative;z-index:80}.menu-toggle span{height:1px;width:28px;background:white;transition:transform .3s,width .3s}.menu-toggle span:last-child{width:18px}.menu-toggle:hover span:last-child{width:28px}.menu-toggle.on span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle.on span:last-child{width:28px;transform:translateY(-3.5px) rotate(-45deg)}
.menu-overlay{position:fixed;inset:0;z-index:45;visibility:hidden;opacity:0;background:#0b0d12;transition:opacity .38s,visibility .38s}.menu-overlay.open{visibility:visible;opacity:1}.menu-overlay-inner{padding:calc(var(--header) + 5vh) var(--edge) 5vh;min-height:100%;display:flex;flex-direction:column}.menu-link{font-weight:600;font-size:clamp(2.8rem,7.8vw,7rem);letter-spacing:-.07em;line-height:1.21;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:clamp(12px,3vw,40px);transition:padding .3s,color .3s}.menu-link:hover{padding-left:14px;color:var(--accent)}.menu-link span{font-family:monospace;font-size:12px;letter-spacing:.06em;color:var(--dim);font-weight:400}.menu-link b{font-size:.32em;font-weight:300;margin-left:auto}.menu-overlay-footer{display:flex;justify-content:space-between;gap:20px;margin-top:auto;padding-top:42px;font-family:monospace;font-size:10px;color:#a7aab2;letter-spacing:.09em}
.eyebrow,.kicker,.mono{font-family:"Courier New",Courier,monospace;font-size:10px;line-height:1.6;font-weight:400;letter-spacing:.13em;text-transform:uppercase}.eyebrow{color:#bfc4d0}.micro-number{font-size:11px;font-family:monospace;color:#a3a7b3}.section-label{display:flex;align-items:center;gap:16px;color:#b7bdc8}.section-label::before{content:"";width:6px;height:6px;background:#b7cbe5;border-radius:50%;box-shadow:0 0 12px #a2bbd5}
.hero{min-height:760px;height:100svh;position:relative;overflow:hidden;background:#111419}.hero-media{position:absolute;inset:0;overflow:hidden;transform:translateZ(0)}.hero-media img{width:100%;height:115%;object-fit:cover;object-position:center 45%;transform:translate3d(0,var(--hero-y,0px),0) scale(1.07);will-change:transform;filter:saturate(.67) contrast(1.08)}.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,11,.82) 0%,rgba(5,7,11,.48) 38%,rgba(5,7,11,.03) 75%),linear-gradient(0deg,rgba(5,7,11,.95) 0%,transparent 31%,rgba(5,7,11,.25) 100%)}.hero-veil{position:absolute;inset:0;background:radial-gradient(circle at 32% 48%,transparent,rgba(6,9,15,.18) 75%);mix-blend-mode:multiply}.hero-lines{position:absolute;inset:0;background:repeating-linear-gradient(to right,transparent 0,transparent calc(25% - 1px),rgba(255,255,255,.06) calc(25% - 1px),rgba(255,255,255,.06) 25%);pointer-events:none;mask-image:linear-gradient(90deg,black,transparent 70%)}.hero-inner{position:relative;height:100%;padding:calc(var(--header) + 58px) var(--edge) 44px;display:flex;flex-direction:column;justify-content:space-between;z-index:3}.hero-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.hero-topline .eyebrow{color:#e4e7ef}.hero-side-label{font-family:monospace;font-size:11px;letter-spacing:.12em;color:#e1e6eb;writing-mode:vertical-rl;position:absolute;right:var(--edge);top:35%}.hero-title-block{margin-top:auto;padding:0 0 8vh}.hero-title{margin:0;font-size:clamp(5rem,10vw,12rem);font-weight:650;letter-spacing:-.097em;line-height:.81;text-transform:uppercase;max-width:1200px}.hero-title span{display:block}.hero-title .outlined{color:transparent;-webkit-text-stroke:1px rgba(240,244,250,.9)}.hero-title .lastword{padding-left:clamp(24px,8vw,160px)}.hero-meta{display:flex;justify-content:space-between;align-items:end;gap:25px;border-top:1px solid rgba(255,255,255,.27);padding-top:20px}.hero-meta p{font-size:clamp(11px,.92vw,14px);letter-spacing:.16em;line-height:1.8;margin:0;max-width:400px}.hero-scroll{display:flex;align-items:center;gap:20px;font-family:monospace;font-size:11px;letter-spacing:.1em}.hero-scroll-line{display:block;height:1px;width:62px;background:rgba(255,255,255,.5);overflow:hidden}.hero-scroll-line::before{content:"";display:block;width:35%;height:1px;background:white;animation:scroll-laser 2.8s infinite ease-in-out}@keyframes scroll-laser{from{transform:translateX(-100%)}to{transform:translateX(350%)}}
.running-line{display:flex;gap:30px;align-items:center;justify-content:space-between;padding:20px var(--edge);background:#d3d8de;color:#0b0e13;font-size:10px;font-weight:700;letter-spacing:.16em;overflow:hidden}.running-line span{white-space:nowrap}.running-line .asterisk{font-size:21px;font-weight:300}
.intro-section{padding:clamp(120px,16vw,240px) var(--edge) clamp(100px,12vw,190px);position:relative;overflow:hidden}.intro-heading{font-size:clamp(3.3rem,7.9vw,10.5rem);line-height:.99;letter-spacing:-.08em;max-width:1380px;margin:40px 0 50px;font-weight:550}.intro-heading em{font-style:normal;color:#67727f}.intro-end{margin-left:auto;width:min(480px,100%);display:grid;grid-template-columns:22px 1fr;gap:20px;align-items:start}.intro-end::before{content:'↳';font-family:monospace;font-size:17px;color:#becfe1}.intro-end p{margin:0;color:#adb3bf;line-height:1.9;font-size:15px}.faint-outline{position:absolute;right:-1.5vw;bottom:-120px;font-size:clamp(160px,25vw,370px);font-weight:700;letter-spacing:-.13em;color:transparent;-webkit-text-stroke:1px rgba(158,178,202,.035);pointer-events:none}
.chapter{min-height:145vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(30px,6vw,110px);padding:100px var(--edge) 150px;position:relative}.chapter-visual{position:sticky;top:calc(var(--header) + 24px);height:calc(100vh - var(--header) - 48px);max-height:790px;overflow:hidden;background:#12151a;border:1px solid #313942}.chapter-visual img{height:100%;width:100%;object-fit:cover;object-position:center;filter:saturate(.7);transition:opacity .8s,transform 1.2s var(--ease)}.chapter-visual img.change{opacity:.08;transform:scale(1.08)}.chapter-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,6,10,.78),transparent 34%)}.chapter-visual-top{position:absolute;z-index:2;left:28px;top:28px;font:10px monospace;letter-spacing:.15em;display:flex;align-items:center;gap:10px}.chapter-visual-top::before{content:"";height:6px;width:6px;border-radius:50%;background:#d5e3f2;box-shadow:0 0 8px #ddeaff}.chapter-visual-bottom{position:absolute;z-index:2;bottom:28px;left:28px;right:28px;display:flex;justify-content:space-between;gap:20px;font:10px monospace;letter-spacing:.15em}.chapter-side{padding-top:15vh}.chapter-intro h2{font-size:clamp(3rem,5.5vw,6rem);line-height:1;letter-spacing:-.077em;font-weight:600;margin:26px 0 25px}.chapter-intro p{max-width:480px;color:#aeb5c0;line-height:1.9;font-size:15px}.chapter-step{min-height:50vh;display:flex;flex-direction:column;justify-content:center;padding:38px 0;border-top:1px solid var(--line);opacity:.37;transition:opacity .4s}.chapter-step.active{opacity:1}.chapter-step .step-num{font:11px monospace;color:#aab7c7}.chapter-step h3{font-size:clamp(2rem,3.3vw,4rem);letter-spacing:-.07em;font-weight:500;line-height:1.1;margin:20px 0 15px}.chapter-step p{font-size:14px;line-height:1.9;color:#aeb6c2;max-width:350px}
.works-section{position:relative;padding:110px var(--edge) 145px;background:linear-gradient(180deg,rgba(12,16,21,.25),rgba(20,24,29,.8) 20%,rgba(8,10,13,.2) 100%);scroll-margin-top:0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:50px}.section-top h2{margin:15px 0 0;font-size:clamp(4.5rem,11vw,12rem);line-height:.9;letter-spacing:-.09em;font-weight:600}.section-top .eyebrow{margin-bottom:10px;max-width:200px;text-align:right}.works-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;margin:0 0 42px;flex-wrap:wrap}.filters{display:flex;gap:6px;flex-wrap:wrap}.filter{padding:11px 15px;border:1px solid transparent;background:none;color:#979faa;font-family:monospace;font-size:10px;letter-spacing:.08em;transition:all .3s}.filter:hover,.filter.active{border-color:#75808d;color:#f5f6f6;background:#252a32}.filter-count{opacity:.55;font-size:9px;margin-left:4px}.work-search{display:flex;align-items:center;gap:8px;border-bottom:1px solid #5f6976;padding:8px 4px;color:#a8b1bd}.work-search span{font:17px monospace}.work-search input{width:185px;color:white;outline:none;background:transparent;border:0;font:11px monospace;letter-spacing:.02em}.work-search input::placeholder{color:#87929f}.work-count{font:11px monospace;color:#a2aeb9;text-align:right;margin-bottom:28px}
.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(20px,3vw,52px) clamp(18px,2.3vw,38px)}.project-card{grid-column:span 4;min-width:0;position:relative}.project-card.featured{grid-column:span 6}.project-card:nth-child(5n+4):not(.featured){grid-column:span 5}.project-card:nth-child(5n+5):not(.featured){grid-column:span 7}.card-image{display:block;aspect-ratio:3/4;overflow:hidden;position:relative;background:#171c23;isolation:isolate}.project-card.featured .card-image{aspect-ratio:1.35/1}.project-card:nth-child(5n+5):not(.featured) .card-image{aspect-ratio:1.35/1}.project-card:nth-child(5n+4):not(.featured) .card-image{aspect-ratio:1/1}.card-image::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(4,7,10,.5),transparent 44%);transition:background .3s}.card-image img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,center);filter:saturate(.72);transition:transform 1.2s var(--ease),filter .8s}.project-card:hover .card-image img{transform:scale(1.065);filter:saturate(.98)}.card-corner{position:absolute;z-index:2;top:18px;left:18px;font:10px monospace;color:#f5f7fb;background:rgba(9,11,16,.65);border:1px solid rgba(255,255,255,.2);padding:9px 12px;backdrop-filter:blur(10px);letter-spacing:.06em}.card-arrow{position:absolute;bottom:19px;right:19px;z-index:2;font-size:26px;font-weight:300;background:#e5ebf0;color:#0b0e13;width:42px;height:42px;display:grid;place-items:center;opacity:0;transform:translate(-9px,9px);transition:opacity .3s,transform .3s}.project-card:hover .card-arrow,.project-card:focus-within .card-arrow{opacity:1;transform:translate(0,0)}.card-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-top:16px}.card-meta h3{font-size:clamp(18px,2vw,29px);line-height:1.2;letter-spacing:-.045em;font-weight:550;margin:0 0 8px}.card-meta p{color:#9da5b2;font:10px/1.7 monospace;letter-spacing:.08em;margin:0}.card-index{font:11px monospace;white-space:nowrap;color:#aeb7c4;margin-top:4px}.empty-results{padding:80px 0;color:#a6b0ba;text-align:center;font:14px monospace}
.statement-band{background:#cbd2d9;color:#0c0e12;padding:clamp(75px,11vw,165px) var(--edge);overflow:hidden}.statement-band .eyebrow{color:#4f5966}.statement-band h2{font-size:clamp(3.4rem,9vw,11rem);font-weight:650;line-height:.94;letter-spacing:-.091em;max-width:1350px;margin:26px 0 40px}.statement-band h2 span{color:#6a7683}.statement-band .statement-footer{border-top:1px solid #87929b;padding-top:22px;display:flex;justify-content:space-between;gap:20px;align-items:center;font:11px monospace;letter-spacing:.08em}.statement-band .statement-footer a{border-bottom:1px solid #2b333b;padding-bottom:5px}
.footer{padding:82px var(--edge) 30px;background:#090b0f;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:30px;padding-bottom:100px}.footer-title{font-size:clamp(4.5rem,12vw,14rem);line-height:.8;letter-spacing:-.105em;margin:20px 0 0;font-weight:650}.footer-top p{margin:0 0 4px auto;line-height:1.75;color:#a9b0bb;max-width:330px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:26px;font:10px monospace;letter-spacing:.08em;color:#8e97a4;flex-wrap:wrap}.footer-bottom a{color:#e7ebf0}.footer-bottom span{display:inline-flex;gap:24px}.footer-email{font-size:clamp(16px,2vw,24px);word-break:break-word;display:inline-block;border-bottom:1px solid #929ba7;margin-top:24px;padding-bottom:8px}.footer-email:hover{color:#d2e3f8}.footer-pending{display:inline-block;margin-top:24px;color:#9ba7b4;font:12px monospace}
.about-hero{min-height:73vh;padding:clamp(180px,25vh,300px) var(--edge) 100px;display:flex;justify-content:space-between;align-items:flex-end;gap:50px;position:relative}.about-hero h1{max-width:1300px;margin:26px 0 0;font-size:clamp(5rem,11vw,13rem);line-height:.83;letter-spacing:-.105em;font-weight:600}.about-hero h1 span{color:#6f8197}.about-hero .about-id{writing-mode:vertical-rl;font:10px monospace;letter-spacing:.15em;color:#a6b1bc}.about-split{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:60px var(--edge) 150px}.about-split p{font-size:clamp(21px,3vw,40px);line-height:1.45;letter-spacing:-.04em;margin:0}.about-split .small-copy{font-size:15px;line-height:2;max-width:570px;color:#9da6b2;letter-spacing:0}.skill-lines{padding:0 var(--edge) 145px}.skill-line{display:flex;justify-content:space-between;align-items:baseline;padding:29px 0;border-top:1px solid var(--line);gap:20px}.skill-line span:first-child{font-size:clamp(23px,3.6vw,55px);letter-spacing:-.06em}.skill-line span:last-child{font:11px monospace;color:#8f9ba9}
.detail-hero{height:min(940px,100svh);min-height:690px;position:relative;overflow:hidden;background:#121822}.detail-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#090b0f 0%,rgba(5,7,10,.2) 45%,rgba(8,9,13,.3) 100%),linear-gradient(to right,rgba(8,10,13,.35),transparent 75%);pointer-events:none}.detail-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--detail-pos,center);filter:contrast(1.07) saturate(.77);transform:scale(1.04)}.detail-content{position:relative;z-index:2;height:100%;padding:calc(var(--header) + 50px) var(--edge) 70px;display:flex;flex-direction:column;justify-content:space-between}.detail-topbar{display:flex;justify-content:space-between;align-items:center;gap:18px}.back-link{display:inline-flex;align-items:center;gap:13px;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:8px;font:11px monospace;letter-spacing:.12em;transition:gap .3s}.back-link:hover{gap:21px}.detail-heading-wrap{margin-top:auto}.detail-heading{max-width:1250px;font-size:clamp(5rem,11vw,13rem);line-height:.83;letter-spacing:-.09em;margin:0 0 38px;font-weight:650;overflow-wrap:anywhere}.detail-bottom{border-top:1px solid rgba(255,255,255,.4);padding-top:22px;display:flex;align-items:end;justify-content:space-between;gap:20px}.detail-bottom span{font:11px/1.7 monospace;letter-spacing:.08em}.detail-bottom strong{font-weight:400;color:#d0d6df}.detail-deck{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(40px,8vw,180px);padding:clamp(100px,14vw,220px) var(--edge)}.detail-deck h2{font-size:clamp(3.2rem,6.7vw,8.5rem);line-height:1;letter-spacing:-.08em;font-weight:550;margin:30px 0 0}.detail-deck-right{align-self:end}.detail-deck-right p{font-size:15px;line-height:1.9;color:#aeb6c1;max-width:480px}.detail-index{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid var(--line);padding-top:38px;margin:55px 0 0}.detail-index dt{font:10px monospace;letter-spacing:.07em;color:#8594a6}.detail-index dd{margin:12px 0 0;font:12px monospace;letter-spacing:.01em}.gallery-section{padding:0 var(--edge) 130px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;border-top:1px solid var(--line);padding:33px 0 38px}.gallery-heading h2{margin:0;font-size:clamp(2.8rem,5vw,6rem);letter-spacing:-.075em;font-weight:550}.gallery-heading span{font:11px monospace;color:#9aa8b9}.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,2.5vw,40px)}.gallery-item{grid-column:span 6;margin:0;min-width:0}.gallery-item.wide{grid-column:span 12}.gallery-item button{padding:0;border:0;background:#171a20;width:100%;display:block;position:relative;overflow:hidden}.gallery-item button::after{content:'↗';position:absolute;z-index:2;bottom:15px;right:15px;display:grid;place-items:center;background:#cdd8e4;color:#10151b;font-size:23px;width:44px;height:44px;opacity:0;transform:translateY(6px);transition:.3s}.gallery-item button:hover::after,.gallery-item button:focus-visible::after{opacity:1;transform:translateY(0)}.gallery-item img{width:100%;max-height:920px;object-fit:cover;filter:saturate(.81);transition:transform 1s var(--ease)}.gallery-item.wide img{max-height:790px;object-fit:contain;background:#191d24}.gallery-item button:hover img{transform:scale(1.02)}.gallery-item figcaption{display:flex;justify-content:space-between;margin-top:15px;font:10px monospace;letter-spacing:.08em;color:#9ea9b5}.gallery-item figcaption span:last-child{color:#687687}.next-project{padding:100px var(--edge) 110px;border-top:1px solid var(--line);background:linear-gradient(130deg,#090b0f,#1a2029)}.next-project a{display:flex;align-items:end;justify-content:space-between;gap:20px}.next-project h2{font-size:clamp(3.7rem,9vw,11rem);line-height:.92;letter-spacing:-.09em;margin:18px 0 0;font-weight:600}.next-project a:hover h2{color:#d6e5f5}.next-arrow{font-size:clamp(50px,8vw,120px);font-weight:300}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(4,5,9,.97);visibility:hidden;opacity:0;display:flex;align-items:center;justify-content:center;padding:50px 5vw 65px;transition:opacity .3s,visibility .3s}.lightbox.open{opacity:1;visibility:visible}.lightbox img{object-fit:contain;max-height:calc(100vh - 130px);max-width:100%}.lightbox-close{position:absolute;right:4vw;top:22px;background:transparent;border:1px solid #8491a2;width:46px;height:46px;color:white;font-size:30px;font-weight:200;z-index:3}.lightbox-label{position:absolute;bottom:22px;left:5vw;font:11px monospace;letter-spacing:.11em;color:#a6b1c2}.cursor-orbit{width:28px;height:28px;border:1px solid rgba(207,227,247,.65);border-radius:50%;position:fixed;z-index:90;pointer-events:none;left:0;top:0;opacity:0;transform:translate(-50%,-50%);transition:opacity .25s,width .3s,height .3s}body.has-cursor .cursor-orbit{opacity:.8}body.has-cursor .cursor-orbit.big{width:65px;height:65px;background:rgba(203,218,239,.06)}
.reveal{opacity:0;transform:translate3d(0,48px,0);transition:opacity 1.05s var(--ease),transform 1.15s var(--ease)}.reveal.visible{opacity:1;transform:translate3d(0,0,0)}
@media(max-width:1050px){.desktop-nav,.header-clock{display:none}.hero-title{font-size:clamp(4.5rem,11vw,8rem)}.chapter{grid-template-columns:1fr 1fr;gap:30px}.project-card{grid-column:span 6}.project-card:nth-child(5n+4):not(.featured),.project-card:nth-child(5n+5):not(.featured){grid-column:span 6}.detail-deck{gap:35px}}
@media(max-width:680px){:root{--header:66px;--edge:22px}.wordmark{font-size:26px}.wordmark small{font-size:8px;margin-left:10px}.menu-overlay-inner{padding-top:calc(var(--header) + 58px)}.menu-overlay-footer span{display:none}.hero{min-height:630px;height:100svh}.hero-media img{height:100%;object-position:61% center;transform:translate3d(0,var(--hero-y,0px),0) scale(1.1)}.hero-media::after{background:linear-gradient(0deg,rgba(4,6,10,.94),rgba(4,6,10,.15) 72%),linear-gradient(90deg,rgba(4,6,10,.38),transparent 75%)}.hero-inner{padding:calc(var(--header) + 35px) var(--edge) 32px}.hero-topline span:last-child{display:none}.hero-title-block{padding-bottom:11vh}.hero-title{font-size:clamp(3.8rem,13.8vw,6.9rem);letter-spacing:-.085em}.hero-title .lastword{padding-left:0}.hero-side-label{display:none}.hero-meta{align-items:start}.hero-meta p{font-size:10px;max-width:230px}.hero-scroll{gap:7px;font-size:9px}.hero-scroll-line{display:none}.running-line{gap:14px;padding:15px var(--edge);font-size:8px;overflow:hidden}.running-line span:nth-child(n+4){display:none}.intro-section{padding:100px var(--edge)}.intro-heading{font-size:clamp(3.25rem,12vw,6.5rem);margin:34px 0 40px}.intro-end{width:100%}.chapter{display:flex;flex-direction:column;padding:15px var(--edge) 110px;min-height:0;gap:0}.chapter-visual{position:relative;top:0;width:100%;height:65svh;min-height:430px;max-height:650px;margin-bottom:44px}.chapter-side{padding:0}.chapter-intro h2{font-size:3.5rem}.chapter-step{min-height:0;padding:42px 0;opacity:1}.chapter-step h3{font-size:2.5rem}.works-section{padding:75px var(--edge) 90px}.section-top h2{font-size:clamp(4.1rem,15vw,7rem)}.section-top .eyebrow{max-width:120px;font-size:9px}.works-tools{padding:16px 0;gap:25px}.filters{width:100%;gap:0;justify-content:space-between}.filter{font-size:9px;padding:9px 8px}.work-search{width:100%}.work-search input{width:100%;font-size:13px}.project-grid{gap:45px 12px}.project-card,.project-card.featured,.project-card:nth-child(5n+4):not(.featured),.project-card:nth-child(5n+5):not(.featured){grid-column:span 12}.project-card .card-image,.project-card.featured .card-image,.project-card:nth-child(5n+5):not(.featured) .card-image{aspect-ratio:1.1/1}.project-card:nth-child(2n+1):not(.featured) .card-image{aspect-ratio:3/4}.card-arrow{opacity:1;transform:none}.card-meta h3{font-size:27px}.statement-band{padding:90px var(--edge)}.statement-band h2{font-size:clamp(3.5rem,12vw,7rem)}.statement-band .statement-footer{font-size:9px}.footer{padding-top:68px}.footer-top{grid-template-columns:1fr;gap:44px;padding-bottom:80px}.footer-title{font-size:clamp(5.8rem,18vw,8rem)}.footer-top p{margin:0}.footer-bottom{line-height:1.8}.about-hero{min-height:58vh;padding-top:180px}.about-hero h1{font-size:clamp(4.5rem,16vw,8rem)}.about-split{grid-template-columns:1fr;gap:40px;padding-bottom:100px}.about-split p{font-size:30px}.about-split .small-copy{font-size:14px}.skill-lines{padding-bottom:100px}.skill-line span:first-child{font-size:24px}.skill-line span:last-child{font-size:9px}.detail-hero{height:83svh;min-height:640px}.detail-cover{object-position:var(--detail-pos,center)}.detail-content{padding:calc(var(--header) + 40px) var(--edge) 48px}.detail-heading{font-size:clamp(4rem,14vw,7rem)}.detail-topbar .eyebrow{font-size:9px}.detail-bottom span{font-size:9px}.detail-deck{display:block;padding:100px var(--edge) 85px}.detail-deck h2{font-size:clamp(3.5rem,12vw,6rem);margin:25px 0 50px}.detail-deck-right p{font-size:14px}.detail-index{grid-template-columns:1fr 1fr;gap:28px 14px}.gallery-section{padding-bottom:80px}.gallery-heading h2{font-size:2.9rem}.gallery-item,.gallery-item.wide{grid-column:span 12}.gallery-item.wide img{max-height:500px}.next-project{padding:75px var(--edge)}.next-project h2{font-size:clamp(3.1rem,13vw,6rem)}.next-arrow{font-size:45px}.cursor-orbit{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}#ambient-canvas{display:none}.hero-media img{transform:none!important}}

#app.page-enter{animation:page-enter .65s var(--ease) both}@keyframes page-enter{from{opacity:.15;filter:brightness(.7);transform:translateY(10px)}to{opacity:1;filter:none;transform:translateY(0)}}

/* VERSION 02 — filmische Bewegung. Das bestehende Raster bleibt erhalten. */
body{font-family:var(--font,Arial,Helvetica,sans-serif)}
.skip-link{position:fixed;top:10px;left:16px;z-index:150;padding:14px 20px;background:var(--fg);color:var(--bg);transform:translateY(-180%)}.skip-link:focus{transform:none}
#transition-curtain{background:none;transform:none;display:flex;transition:none;overflow:hidden}
#transition-curtain span{flex:1;background:var(--bg);transform:translateY(101%);transition:transform var(--route-duration,560ms) var(--ease)}
#transition-curtain span:nth-child(2){transition-delay:45ms}#transition-curtain span:nth-child(3){transition-delay:90ms}
body.is-transitioning #transition-curtain{transform:none;pointer-events:auto}
body.is-transitioning #transition-curtain span{transform:translateY(0)}
body.is-transitioning #app{pointer-events:none}
.hero-media img{transform:translate3d(0,var(--hero-y,0px),0) scale(var(--hero-scale,1.04))}
.hero-title-block{transform:translateY(var(--hero-text-y,0px))}
.hero-title span{animation:hero-line-in 1.3s var(--ease) both}.hero-title span:nth-child(2){animation-delay:140ms}.hero-title span:nth-child(3){animation-delay:270ms}
@keyframes hero-line-in{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(32px)}to{opacity:1;clip-path:inset(-20% -10% -20% -10%);transform:translateY(0)}}
.hero-media{animation:hero-image-in 1.7s var(--ease) both}@keyframes hero-image-in{from{opacity:.2;filter:brightness(.6)}to{opacity:1;filter:brightness(1)}}
.chapter-layers{position:absolute;inset:0}
.chapter-visual .chapter-layer{position:absolute;inset:0;opacity:0;transform:scale(1.065);transition:opacity var(--chapter-duration,650ms) ease,transform calc(var(--chapter-duration,650ms) * 1.6) var(--ease);pointer-events:none}
.chapter-visual .chapter-layer.active{opacity:1;transform:scale(1)}
.chapter-controls{position:absolute;z-index:3;top:60px;left:28px;right:28px;display:flex;gap:12px}
.chapter-controls button{background:transparent;color:var(--fg);border:0;padding:12px 0;width:58px;min-height:44px;text-align:left;font:10px monospace;opacity:.48;transition:opacity .3s}
.chapter-controls button[aria-pressed=true],.chapter-controls button:hover{opacity:1}
.chapter-controls i{display:block;height:2px;background:rgba(220,233,250,.25);margin-top:8px;overflow:hidden}
.chapter-controls i::after{content:'';display:block;height:100%;background:var(--accent);transform:scaleX(var(--chapter-progress,0));transform-origin:left}
.chapter-step.active .step-num{color:var(--accent)}
.card-image{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .35s ease;isolation:isolate}
.card-image::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at var(--glare-x,50%) var(--glare-y,50%),rgba(210,228,255,.12),transparent 62%);opacity:0;transition:opacity .4s}
.card-image:hover::after{opacity:1}
.desktop-nav a,.hero-scroll,.back-link,.next-arrow{transform:translate(var(--magnet-x,0),var(--magnet-y,0));transition:transform .35s var(--ease),color .3s}
.detail-cover{transform:translateY(var(--detail-y,0px)) scale(1.08)}
.menu-overlay{clip-path:inset(0 0 100% 0);transition:clip-path .65s var(--ease),opacity .45s,visibility .65s}
.menu-overlay.open{clip-path:inset(0 0 0 0)}
.menu-link{opacity:0;transform:translateY(35px);transition:transform .8s var(--ease),opacity .5s,padding .3s,color .3s}
.menu-overlay.open .menu-link{opacity:1;transform:none}
.menu-link:nth-of-type(2){transition-delay:60ms}.menu-link:nth-of-type(3){transition-delay:120ms}.menu-link:nth-of-type(4){transition-delay:180ms}
.reveal{transition-duration:var(--reveal-duration,950ms);transition-delay:var(--reveal-delay,0ms)}
#app.page-enter{animation:page-enter .6s var(--ease) both}
.lightbox-prev,.lightbox-next,.lightbox-zoom{position:absolute;z-index:4;border:1px solid #8491a2;color:var(--fg);background:var(--bg);min-width:46px;min-height:46px;padding:10px;font:14px monospace}
.lightbox-prev{left:22px;top:48%}.lightbox-next{right:22px;top:48%}.lightbox-zoom{right:calc(4vw + 65px);top:22px;font-size:10px;letter-spacing:.1em}
.lightbox img{transition:transform .4s var(--ease);cursor:zoom-in}.lightbox.zoomed{overflow:auto;align-items:flex-start}.lightbox.zoomed img{max-width:none;max-height:none;width:auto;height:160vh;flex-shrink:0;cursor:zoom-out}.lightbox.zoomed .lightbox-label{position:fixed;background:var(--bg);padding:10px}
.lightbox button[hidden]{display:none}.lightbox button:disabled{opacity:.4}
.lightbox-label{max-width:80vw;line-height:1.6}
body.cursor-disabled .cursor-orbit{display:none}
@media(max-width:680px){.chapter-controls{left:20px;right:20px;top:52px}.chapter-visual-top,.chapter-visual-bottom{left:20px;right:20px}.chapter{gap:0}.chapter-visual{position:sticky;top:var(--header);height:44svh;min-height:275px;max-height:430px;z-index:4;margin:0 0 30px;box-shadow:0 18px 35px rgba(0,0,0,.5)}.chapter-side{padding-top:12px}.chapter-step{min-height:48svh;scroll-margin-top:calc(var(--header) + 44svh)}.chapter-intro h2{font-size:2.8rem}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-prev,.lightbox-next{top:auto;bottom:75px}.lightbox-label{font-size:10px;max-width:88vw}.hero-title{font-size:clamp(2.8rem,12.7vw,6.9rem)}.menu-link{min-height:62px}.works-section{scroll-margin-top:65px}}
@media(pointer:coarse){.card-image{transform:none}.cursor-orbit{display:none}.desktop-nav a,.hero-scroll,.back-link,.next-arrow{transform:none}}
.motion-off *, .motion-off *::before,.motion-off *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .reveal{opacity:1;transform:none}.motion-off .hero-media img,.motion-off .detail-cover,.motion-off .hero-title-block,.motion-off .card-image{transform:none!important}.motion-off #ambient-canvas,.motion-off .cursor-orbit{display:none}.motion-off .menu-overlay.open{clip-path:none}
@media(prefers-reduced-motion:reduce){.hero-title span{clip-path:none;transform:none}.hero-title-block,.detail-cover,.card-image{transform:none!important}.menu-overlay.open{clip-path:none}}
/* All retained sections remain reachable in the expanded menu. */
.menu-overlay{overflow-y:auto;overscroll-behavior:contain}
.menu-link.native-menu-link{font-size:clamp(1.8rem,4vw,3.5rem);padding-block:.3em}
