html,body{height:100%;overflow:hidden;scrollbar-width:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}
body.menu-open{overflow:hidden}
.site-head{position:fixed;background:#080808}
.head-word{display:inline-block;white-space:nowrap}
.head-s-outline{color:transparent;-webkit-text-stroke:1.5px #f1f1ee;paint-order:stroke fill}
.scene-stage{position:relative;height:100dvh;overflow:hidden}
.scene{position:absolute;inset:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;min-height:0}
.scene::-webkit-scrollbar{display:none}
.menu-panel,.project-overlay{scrollbar-width:none;overscroll-behavior:contain}
.project-overlay{overflow-anchor:none}
.menu-panel::-webkit-scrollbar,.project-overlay::-webkit-scrollbar{display:none}
.overlay-progress{position:fixed;z-index:4;left:0;top:0;bottom:0;width:4px;background:#bbb;pointer-events:none}
.overlay-progress span{display:block;width:100%;height:0;background:#111;transition:height .18s ease-out}
.scene[hidden]{display:none!important}
.scene.is-active{z-index:2}
.scene.is-leaving{z-index:1;pointer-events:none}
.scene>.section-top{position:relative}
.scene.featured,.scene.work,.scene.sound,.scene.outro,.scene.profile-copy-section,.scene.profile-contact{padding-top:86px}
.scene.featured h2{font-size:clamp(55px,5.2vw,88px)}
.scene-controls{position:fixed;z-index:45;right:calc(var(--rail) + 22px);bottom:23px;display:flex;align-items:center;gap:8px;padding:8px;background:#101010e8;border:1px solid #474747;box-shadow:0 12px 40px #0008;color:#eee;font:10px var(--font-mono);letter-spacing:.08em}
.scene-controls button{width:36px;height:36px;border:1px solid #555;background:#202020;color:#eee;font:20px var(--font-body);transition:background .25s,color .25s}
.scene-controls button:hover,.scene-controls button:focus-visible{background:#e5e5e2;color:#080808}
.scene-controls button:disabled{opacity:.3;cursor:default}
.scene-controls span{padding:0 8px;white-space:nowrap}
.scene-controls #sceneName{color:#999;min-width:92px;text-align:right}
.scene-progress{position:fixed;z-index:45;left:0;top:86px;bottom:0;width:3px;background:#262626;pointer-events:none}
.scene-progress span{display:block;width:100%;height:0;background:#efefec;transition:height .18s ease-out}
.route-wipe{--wipe-ink:#080808;position:fixed;z-index:64;inset:0 var(--rail) 0 0;display:none;place-items:center;pointer-events:none;background:#dededb;color:var(--wipe-ink);transform:translateY(-102%);overflow:hidden;will-change:transform,clip-path}
.route-wipe.is-visible{display:grid}
.route-wipe>span{display:block;max-width:100%;box-sizing:border-box;font:clamp(48px,10vw,160px)/.82 var(--font-heavy);letter-spacing:-.095em;text-transform:uppercase;text-align:center;padding:0 6vw;white-space:nowrap}
.route-wipe>span.wipe-long{font-size:clamp(42px,7.2vw,116px)}
.route-wipe .wipe-letter{display:inline-grid;vertical-align:baseline;white-space:pre;transform-origin:center bottom;will-change:transform,opacity,filter}
.route-wipe .wipe-letter-fill,.route-wipe .wipe-letter-outline{grid-area:1/1;white-space:pre}
.route-wipe .wipe-letter-outline{color:transparent;-webkit-text-stroke:1.5px var(--wipe-ink);opacity:0}
.route-wipe.tonal-wipe .wipe-letter-outline{color:inherit;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.5px currentColor}
.route-wipe.dark{--wipe-ink:#efefec;background:#2b2b2b}.route-wipe.mid{background:#8b8b8b}
.route-wipe.pill-morph{transform:translate3d(0,0,0);will-change:clip-path}
html.cross-page-arrival::before{content:attr(data-arrival-label);position:fixed;z-index:64;inset:0 var(--rail) 0 0;display:grid;place-items:center;overflow:hidden;background:#f1f1ee;color:#080808;font:clamp(48px,10vw,160px)/.82 var(--font-heavy);font-size:var(--arrival-label-size,clamp(48px,10vw,160px));letter-spacing:-.095em;text-align:center;padding:0 6vw;white-space:nowrap;text-overflow:clip;transform:translate3d(0,0,0);clip-path:polygon(0 0,100% 0,100% 100%,0 100%);will-change:transform,clip-path;pointer-events:none}
html.cross-page-arrival.arrival-ready::before{animation:arrivalSlant .88s cubic-bezier(.77,0,.18,1) both}
@keyframes arrivalSlant{0%{transform:translate3d(0,0,0);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}55%{transform:translate3d(0,-50%,0);clip-path:polygon(0 0,100% 0,100% 100%,0 89%)}100%{transform:translate3d(0,-103%,0);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}
.pill-flight-label{position:absolute;display:flex;align-items:center;white-space:pre;transform-origin:center center;color:var(--wipe-ink);font:10px/1 var(--font-mono);letter-spacing:.09em;pointer-events:none}
.pill-flight-label span{display:inline-block;white-space:pre;transform-origin:center bottom}
.project-overlay{transform:translate3d(0,104%,0);clip-path:polygon(0 12%,100% 0,100% 100%,0 100%);transition:transform .9s cubic-bezier(.77,0,.18,1),clip-path .9s linear,visibility .9s;will-change:transform,clip-path}
.project-overlay.open{transform:translate3d(0,0,0);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.project-overlay.is-closing #projectDetail .detail-stage.is-visible{opacity:0;transform:translate3d(0,-28px,0);filter:blur(4px);transition-delay:0ms;transition-duration:.42s}
.project-overlay.is-closing #projectDetail .detail-title{opacity:0;transform:translate3d(0,-18px,0);transition:opacity .42s ease,transform .42s ease}
.project-overlay.is-closing .project-close{opacity:0;transition:opacity .25s ease}
.project-overlay.is-closing #projectDetail .detail-cover.detail-stage.is-visible,.project-overlay.is-closing #projectDetail .detail-cover-abstract.detail-stage.is-visible{animation:detailImageExit .42s ease both}
@keyframes detailImageExit{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 0 100%)}}
.detail-title{letter-spacing:0}
.detail-title .detail-word{display:inline-block;white-space:nowrap;letter-spacing:0}
.detail-title .detail-letter{display:inline-block;white-space:pre;letter-spacing:0;margin-right:.012em;transform-origin:50% 85%;will-change:transform,opacity,filter,color,-webkit-text-stroke}
.detail-title .detail-word .detail-letter:last-child{margin-right:0}
.project-overlay.detail-morphing #projectDetail .detail-title{opacity:0!important;transition:none!important}
.detail-title-morph{position:fixed;z-index:81;inset:0;visibility:hidden;overflow:hidden;pointer-events:none}
.detail-title-morph.is-active{visibility:visible}
.detail-title-morph-band{position:sticky;top:0;z-index:2;width:100%;height:82px;margin-bottom:-82px;background:#eee;border-bottom:1px solid #bcbcbc;box-sizing:border-box;opacity:0;pointer-events:none}
.detail-title-morph-target{position:absolute;top:26px;left:clamp(24px,5vw,90px);font:24px/1 var(--font-heavy);letter-spacing:0;text-transform:uppercase;white-space:nowrap;visibility:hidden;color:transparent;-webkit-text-stroke:1.1px #090909}
.detail-title-morph-target .detail-morph-word{display:inline-block;white-space:nowrap;letter-spacing:0}
.detail-title-morph-target .detail-morph-letter{display:inline-block;white-space:pre;letter-spacing:0;margin-right:.025em}
.detail-title-morph-target .detail-morph-word .detail-morph-letter:last-child{margin-right:0}
.detail-title-morph-glyphs{position:absolute;inset:0}
.detail-title-morph-glyphs span{position:absolute;white-space:pre;transform-origin:top left;will-change:transform}
.project-close-dock{position:sticky;top:0;z-index:3;height:0;pointer-events:none}
.project-close-dock .project-close{position:absolute;top:25px;right:25px;pointer-events:auto}
@media(max-width:760px){.detail-title-morph-band{height:64px;margin-bottom:-64px}.detail-title-morph-target{top:16px;left:20px;font-size:19px;line-height:1.08;white-space:normal}.detail-wrap{padding-top:72px}.detail-top{gap:12px}.detail-top span:first-child{min-width:0}.detail-top span:last-child{flex:0 0 auto;text-align:right}}
@media(max-width:760px){.project-close-dock .project-close{top:16px;right:16px}}
#projectDetail .detail-stage{opacity:0;transform:translate3d(0,34px,0);filter:blur(5px);transition:opacity .78s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),filter .9s ease;transition-delay:var(--detail-delay,0ms)}
#projectDetail .detail-stage.is-visible{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
#projectDetail .detail-cover.detail-stage,#projectDetail .detail-cover-abstract.detail-stage{transform:translate3d(0,24px,0) scale(1.025);transition:opacity .7s ease,transform 1.05s cubic-bezier(.22,1,.36,1),filter .9s ease}
#projectDetail .detail-cover.detail-stage.is-visible,#projectDetail .detail-cover-abstract.detail-stage.is-visible{transform:translate3d(0,0,0) scale(1);animation:detailImageWipe 1.05s cubic-bezier(.77,0,.18,1) both}
@keyframes detailImageWipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
#projectDetail img.detail-stage{filter:grayscale(1) blur(5px)}
#projectDetail img.detail-stage.is-visible{filter:grayscale(1) blur(0)}
.project-close{display:inline-flex;align-items:center;gap:10px;padding:10px 13px;font:10px/1 var(--font-mono);letter-spacing:.06em}
.project-close>span:first-child{font:10px/1 var(--font-mono);margin:0;vertical-align:baseline}
.project-close .project-close-x{font:12px/1 var(--font-mono);margin:0;vertical-align:baseline}
.project-close:hover,.project-close:focus-visible{background:#343434}
.hero .hero-code{position:absolute;top:86px;bottom:0;right:var(--rail);width:min(70vw,1120px);z-index:0;overflow:hidden;pointer-events:none;color:#d8d8d8;mask-image:linear-gradient(90deg,transparent,#000 35%),linear-gradient(180deg,transparent,#000 6%,#000 92%,transparent);mask-composite:intersect}
.hero-code-stream{height:100%;overflow:hidden;padding:10px 22px 20px 36px;background:linear-gradient(90deg,transparent,#ffffff06 40%,transparent)}
.hero-code-track{display:flex;flex-direction:column;gap:2px;will-change:transform}
.hero-code-line{flex:0 0 auto;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.5 var(--font-mono);letter-spacing:.03em;opacity:.45;transition:opacity .55s ease}
.hero-code-line:nth-child(3n){opacity:.67}.hero-code-line.is-writing{opacity:.92}
.hero-code-line::before{content:attr(data-line);display:inline-block;width:28px;margin-right:18px;color:#707070;text-align:right}
.hero-code-line.is-writing::after{content:"▌";color:#f1f1ee;animation:codeCaret .75s steps(1) infinite}
.hero-code-text{white-space:pre-wrap;overflow-wrap:anywhere}
.code-glyph{display:inline-block;white-space:pre;animation:codeGlyphIn .3s cubic-bezier(.22,1,.36,1) both}
@keyframes codeGlyphIn{from{opacity:0;transform:translate3d(0,5px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes codeCaret{50%{opacity:0}}
.hero .hero-main,.hero .hero-meta,.hero .hero-footer{z-index:1}
.hero-sequencing .hero .hero-code{opacity:.12;transition:opacity .42s ease}
.hero-sequence-layer{position:fixed;inset:0;z-index:32;overflow:hidden;pointer-events:none}
.hero-sequence-target{position:absolute;visibility:hidden;white-space:pre;line-height:1}
.hero-sequence-target span{display:inline-block;white-space:pre}
.hero-sequence-letter{position:absolute;display:inline-block;white-space:pre;transform-origin:top left;will-change:transform}
.hero-sequence-lede{position:absolute;margin:0;white-space:normal;overflow-wrap:anywhere;transform-origin:top left;pointer-events:none}
.hero-sequence-word{display:inline-block;white-space:nowrap}
.hero-sequence-glyph{display:inline-block;white-space:pre;transform-origin:center bottom;will-change:transform,opacity}
.hero-sequence-target-glyph{display:inline-block;white-space:pre}
.hero-sequence-source-mask .hero-sequence-target-glyph{opacity:0}
.hero-sequence-layer.is-settled .hero-sequence-letter,.hero-sequence-layer.is-settled .hero-sequence-glyph{will-change:auto}
.sound-item{grid-template-columns:clamp(130px,12vw,180px) minmax(0,1fr);gap:clamp(18px,2.2vw,30px);padding:24px 0;transition:none}
.sound-item:hover{padding-left:0}
.sound-item .sound-artwork{position:relative;display:block;width:100%;height:auto;aspect-ratio:1;overflow:hidden;border:1px solid #6d6d6d;border-radius:0;padding:0;background:#232323;color:#f0f0ed;text-align:left;isolation:isolate}
.sound-artwork::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff44 50%,transparent 70%);transform:translateX(-130%);transition:transform .8s cubic-bezier(.22,1,.36,1);pointer-events:none}
.sound-item:hover .sound-artwork::after,.sound-artwork:focus-visible::after{transform:translateX(130%)}
.sound-artwork img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .8s cubic-bezier(.22,1,.36,1),filter .8s ease}
.sound-item:hover .sound-artwork img,.sound-artwork:focus-visible img{transform:scale(1.085);filter:grayscale(0)}
.sound-item .sound-num{position:absolute;z-index:2;top:8px;left:8px;padding:4px 6px;background:#080808c9;color:#f0f0ed;font:9px/1 var(--font-mono);letter-spacing:.08em}
.sound-artwork-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:20px 12px 12px;background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),#ffffff18 calc(25% - 1px) 25%),radial-gradient(circle at 65% 52%,#404040,#171717 70%)}
.sound-artwork-fallback::after{content:"";position:absolute;width:66%;aspect-ratio:1;right:-12%;top:18%;border:1px solid #ffffff4d;border-radius:50%;box-shadow:0 0 0 16px #ffffff0a,0 0 0 32px #ffffff08}
.sound-artwork-fallback strong{font:clamp(23px,3.8vw,50px)/1 var(--font-heavy);letter-spacing:-.1em;transform:rotate(-8deg);align-self:center;margin:auto;z-index:1}
.sound-artwork-fallback small{font:8px/1 var(--font-mono);letter-spacing:.08em;color:#bcbcbc;z-index:1}
.sound-item-info{min-width:0}
.sound-item .sound-title-button{display:block;width:100%;height:auto;min-height:0;border:0;border-radius:0;padding:0;background:none;color:inherit;text-align:left}
.sound-item .sound-title-button:hover,.sound-item .sound-title-button:focus-visible{background:none;color:#d6d6d3}
.sound-title-button h3{overflow-wrap:anywhere;transition:color .35s ease}
.sound-item-info>small{display:block;line-height:1.5}
.sound-platforms{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.sound-platform{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:34px;padding:8px 11px;border:1px solid #777;border-radius:24px;font:9px/1 var(--font-mono);letter-spacing:.05em;white-space:nowrap;transition:color .35s ease,border-color .35s ease}
.sound-platform::before{content:"";position:absolute;inset:0;z-index:-1;background:#efefec;transform:translateX(-103%);transition:transform .5s cubic-bezier(.22,1,.36,1)}
.sound-platform:hover,.sound-platform:focus-visible{color:#080808;border-color:#efefec}
.sound-platform:hover::before,.sound-platform:focus-visible::before{transform:translateX(0)}
.sound-platform>span:last-child{display:inline-flex;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.sound-platform:hover>span:last-child,.sound-platform:focus-visible>span:last-child{transform:translate3d(2px,-2px,0)}
.detail-links{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:760px){.sound-item{grid-template-columns:72px minmax(0,1fr);gap:14px;padding:20px 0}.sound-title-button h3{font-size:clamp(20px,6vw,30px)}.sound-artwork-fallback{padding:15px 6px 6px}.sound-artwork-fallback strong{font-size:24px}.sound-artwork-fallback small{font-size:6px}.sound-platforms{gap:6px;margin-top:12px}.sound-platform{font-size:8px;min-height:30px;padding:7px 9px;gap:8px}}
.work h2.work-title-long{font-size:clamp(48px,6vw,104px)}
.work-heading h2{flex:1 1 auto;min-width:0}
.work-heading>p{flex:0 1 350px}
.scene>.section-top>span{white-space:nowrap}
@media(max-width:760px){.scene>.section-top{font-size:9px}.scene>.section-top>span:last-child{display:none}}
.work-title-morph{position:fixed;inset:0;z-index:29;pointer-events:none;visibility:hidden;overflow:hidden}
.work-title-morph.is-active{visibility:visible}
.work-morph-band{position:absolute;top:86px;left:0;right:var(--rail);height:70px;background:#080808;border-bottom:1px solid #454545;opacity:0}
.work-morph-target{position:absolute;top:101px;left:clamp(24px,4.3vw,80px);font:30px/1 var(--font-heavy);letter-spacing:-.035em;text-transform:uppercase;white-space:nowrap;visibility:hidden}
.work-morph-target span{display:inline-block;white-space:pre}
.work-morph-glyphs{position:absolute;inset:0}
.work-morph-glyphs span{position:absolute;white-space:pre;transform-origin:top left;will-change:transform,opacity}
.title-line{display:block;overflow:visible;padding:.1em .05em;margin:-.1em -.05em}
.title-line-inner{display:inline-block;white-space:nowrap;padding:.06em .04em;margin:-.06em -.04em;transform-origin:left center}
.hero-title .title-line-inner{padding-right:.16em;margin-right:-.16em}
.title-glyph{display:inline-block;white-space:pre;transform-origin:center bottom}
.accent-copy{position:relative;padding-left:22px}
.accent-copy::before{content:"";position:absolute;left:0;top:.22em;width:2px;height:min(58px,calc(100% - .4em));background:currentColor;opacity:0;transform:scaleY(0);transform-origin:top;transition:width .35s cubic-bezier(.22,1,.36,1),left .35s cubic-bezier(.22,1,.36,1),background-color .35s ease}
.scene.is-active .accent-copy::before{animation:accent-copy-draw .85s .3s cubic-bezier(.22,1,.36,1) both}
.accent-copy:hover::before{width:5px;left:3px}
.profile-prose.accent-copy::before{top:35px;height:58px}
@keyframes accent-copy-draw{from{opacity:0;transform:scaleY(0)}to{opacity:.85;transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.scene.is-active .accent-copy::before{animation:none;opacity:.85;transform:none}}
.asb-icon{display:inline-block;width:1em;height:1em;vertical-align:-.13em;flex:0 0 auto;overflow:visible}
.mark-star .asb-icon{width:12px;height:12px;vertical-align:top}
.rail-prompt .asb-icon{width:16px;height:16px;vertical-align:-.32em}
.menu-links small .asb-icon{width:1.1em;height:1.1em}
.filter{position:relative;overflow:hidden;isolation:isolate;transition:color .4s ease,border-color .4s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.filter::before{content:"";position:absolute;inset:0;z-index:-1;background:#eee;transform:translateX(-105%) skewX(-14deg);transition:transform .52s cubic-bezier(.22,1,.36,1)}
.filter.active,.filter:hover,.filter:focus-visible{background:transparent;color:#080808;border-color:#eee;transform:translateY(-2px)}
.filter.active::before,.filter:hover::before,.filter:focus-visible::before{transform:translateX(0) skewX(0)}
.filter.active span,.filter:hover span,.filter:focus-visible span{color:#555}
.detail-child{position:relative;overflow:hidden;width:100%;appearance:none;background:transparent;color:#090909;text-align:left;min-height:clamp(94px,11vw,158px);padding:20px 24px;border:0;border-top:1px solid #aaa}
.detail-child:last-child{border-bottom:1px solid #aaa}
.detail-child .detail-child-title{display:grid;min-width:0;flex:1 1 auto;font:clamp(26px,4vw,60px)/1 var(--font-heavy);letter-spacing:-.06em;text-transform:uppercase;padding:.06em .04em;margin:-.06em -.04em}
.detail-child .detail-child-title>span{grid-area:1/1;font:inherit;letter-spacing:inherit;overflow-wrap:anywhere}
.detail-child .detail-child-ink{position:relative;z-index:1;clip-path:inset(0 0 0 0);transition:clip-path .8s cubic-bezier(.22,1,.36,1)}
.detail-child .detail-child-outline{color:transparent;-webkit-text-stroke:1.3px #101010}
.detail-child:hover .detail-child-ink,.detail-child:focus-visible .detail-child-ink{clip-path:inset(0 0 0 100%)}
.detail-child .detail-child-action{display:inline-flex;align-items:center;flex:0 0 auto;gap:14px;position:relative;z-index:1;font:11px var(--font-mono);letter-spacing:.07em;white-space:nowrap;transition:transform .55s cubic-bezier(.22,1,.36,1)}
.detail-child .detail-child-action>span{font:inherit;letter-spacing:inherit}
.detail-child .detail-child-arrow{display:grid;place-items:center;width:38px;height:38px;border:1px solid currentColor;border-radius:50%;font:20px/1 var(--font-body)!important;transition:transform .55s cubic-bezier(.22,1,.36,1),background .4s ease,color .4s ease}
.detail-child:hover .detail-child-action,.detail-child:focus-visible .detail-child-action{transform:translateX(-5px)}
.detail-child:hover .detail-child-arrow,.detail-child:focus-visible .detail-child-arrow{transform:rotate(45deg);background:#101010;color:#eee}
@media(max-width:760px){.detail-child{min-height:88px;padding:15px 10px;gap:8px}.detail-child .detail-child-title{font-size:clamp(20px,6vw,34px)}.detail-child .detail-child-action>span:first-child{display:none}.detail-child .detail-child-arrow{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.filter,.filter::before,.detail-child,.detail-child .detail-child-ink,.detail-child .detail-child-action,.detail-child .detail-child-arrow{transition:none!important}}
.pill-link{position:relative;isolation:isolate;overflow:hidden;padding:13px 19px;min-width:165px;background:transparent;transition:color .38s ease,transform .38s cubic-bezier(.22,1,.36,1),border-color .38s ease}
.pill-link::before{content:"";position:absolute;inset:0;z-index:-1;background:#f0f0ed;transform:translateX(-102%);transition:transform .5s cubic-bezier(.77,0,.18,1)}
.pill-link>span:first-child{font:10px/1.2 var(--font-mono);letter-spacing:.09em}
.pill-link>span:last-child{font:20px/1 var(--font-body);transition:transform .4s cubic-bezier(.22,1,.36,1)}
.pill-link:hover,.pill-link:focus-visible{background:transparent;color:#080808;transform:translateY(-3px)}
.pill-link:hover::before,.pill-link:focus-visible::before{transform:translateX(0)}
.pill-link:hover>span:last-child,.pill-link:focus-visible>span:last-child{transform:translate(4px,-4px) rotate(8deg)}
.detail-cta{position:relative;isolation:isolate;overflow:hidden;justify-content:space-between;gap:35px;min-width:165px;background:transparent;font:10px/1.2 var(--font-mono);letter-spacing:.09em;transition:color .38s ease,transform .38s cubic-bezier(.22,1,.36,1)}
.detail-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:#101010;transform:translateX(-102%);transition:transform .5s cubic-bezier(.77,0,.18,1)}
.detail-cta>span:last-child{font:20px/1 var(--font-body);transition:transform .4s cubic-bezier(.22,1,.36,1)}
.detail-cta:hover,.detail-cta:focus-visible{background:transparent;color:#eee;transform:translateY(-3px)}
.detail-cta:hover::before,.detail-cta:focus-visible::before{transform:translateX(0)}
.detail-cta:hover>span:last-child,.detail-cta:focus-visible>span:last-child{transform:translate(4px,-4px) rotate(8deg)}
.scene .hero-main{min-height:calc(100dvh - 190px)}
.scene.featured,.scene.work,.scene.sound,.scene.outro{padding-bottom:120px}
.scene.outro{min-height:100dvh}
.scene.outro .outro-content{min-height:calc(100dvh - 160px);display:flex;flex-direction:column;justify-content:center}
.scene.outro .outro-content h2{margin-bottom:55px}
.contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,5vw,90px);margin-top:clamp(54px,7vh,100px);border-top:1px solid #555}
.contact-detail{display:grid;grid-template-columns:100px minmax(0,1fr);gap:18px;align-items:start;min-width:0;padding:24px 0;border-bottom:1px solid #555}
.contact-detail>span{font:10px/1.5 var(--font-mono);letter-spacing:.1em;color:#888}
.contact-detail address,.contact-detail>a{min-width:0;margin:0;color:#efefec;font:clamp(17px,2vw,27px)/1.25 var(--font-body);font-weight:650;font-style:normal;letter-spacing:-.04em;overflow-wrap:anywhere;white-space:pre-line}
.contact-detail>a[href]{text-decoration:none;transition:color .3s ease,text-decoration-color .3s ease}
.contact-detail>a[href]:hover,.contact-detail>a[href]:focus-visible{color:#aaa;text-decoration:underline;text-underline-offset:5px}
.contact-detail>a:not([href]){color:#777;cursor:default}
.site-footer{display:none;position:fixed;z-index:24;left:0;right:var(--rail);bottom:0;background:#080808;border-top:1px solid #333;padding:13px clamp(24px,4.3vw,80px);padding-right:340px}
body[data-scene="contact"] .site-footer,body[data-scene="connect"] .site-footer{display:flex}
.menu-panel{background:#202020;color:#efefec;border-left:1px solid #4b4b4b}
.menu-top,.menu-bottom,.menu-links,.menu-links a{border-color:#505050}
.menu-links a:hover,.menu-links a:focus-visible{background:#343434}
.menu-links a>span:first-child{display:inline-block;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.menu-links a:hover,.menu-links a:focus-visible{padding-left:13px}
.menu-links a:hover>span:first-child,.menu-links a:focus-visible>span:first-child{transform:translateX(5px)}
.menu-link-letter{display:inline-grid;vertical-align:baseline;white-space:pre;transform-origin:center bottom;will-change:transform,opacity,filter}
.menu-link-word{display:inline-flex;white-space:nowrap;vertical-align:baseline}
.menu-link-letter .ink,.menu-link-letter .stroke{grid-area:1/1;white-space:pre;transition:opacity .32s ease var(--swap-delay)}
.menu-link-letter .stroke{color:transparent;-webkit-text-stroke:1px #efefec;opacity:0}
.menu-links a:hover .menu-link-letter .ink,.menu-links a:focus-visible .menu-link-letter .ink{opacity:0}
.menu-links a:hover .menu-link-letter .stroke,.menu-links a:focus-visible .menu-link-letter .stroke{opacity:1}
.menu-brand{opacity:0;margin-top:32px;margin-bottom:35px;transition:none}
.menu-brand.brand-visible{opacity:1}
.menu-brand .word,.menu-brand .letter,.menu-panel.open .menu-brand .word,.menu-panel.open .menu-brand .letter{transform:none;opacity:1;transition:none}
.menu-brand .word{display:flex;white-space:nowrap}
.menu-brand .letter{display:inline-block}
.menu-brand .outline{-webkit-text-stroke-color:#efefec}
.menu-rail[aria-expanded=true]{background:#202020;color:#efefec}
.menu-rail[aria-expanded=true] .rail-brand .outline{-webkit-text-stroke-color:#efefec}
.brand-morphing .menu-rail[aria-expanded=true]{background:#eee;color:#080808}
.menu-flight{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}
.menu-flight span.menu-morph-letter{position:absolute;font-family:var(--font-heavy);line-height:1;letter-spacing:-.09em;transform-origin:center;white-space:pre;will-change:transform,color}
.menu-flight span.menu-morph-letter.outline{-webkit-text-fill-color:transparent;-webkit-text-stroke:1px currentColor}
.menu-shell{position:fixed;z-index:65;right:0;top:0;width:var(--rail);height:100dvh;background:#303030;color:#efefec;border-left:1px solid #4b4b4b;overflow:hidden;transition:width .84s cubic-bezier(.77,0,.18,1),background-color .62s ease,color .62s ease,border-color .62s ease;will-change:width}
.menu-shell.open{width:min(836px,100vw);background:#202020;color:#efefec;border-color:#4b4b4b}
.menu-shell.closing{background:#202020;color:#efefec;border-color:#4b4b4b}
.menu-shell .menu-rail,.menu-shell .menu-rail[aria-expanded=true],.brand-morphing .menu-shell .menu-rail[aria-expanded=true]{position:absolute;z-index:2;right:0;top:0;width:var(--rail);height:100%;background:transparent;color:inherit;border:0;border-left:1px solid transparent;transition:color .62s ease}
.menu-shell .menu-rail:hover,.menu-shell .menu-rail:focus-visible{background:transparent}
.menu-shell .rail-brand .letter,.menu-shell .menu-rail:hover .letter:nth-child(odd),.menu-shell .menu-rail:hover .letter:nth-child(even){transform:none;transition:none}
.menu-shell .rail-brand{gap:0}
.menu-shell .rail-brand .outline{-webkit-text-stroke-color:#efefec}
.menu-shell.open .rail-brand .outline{-webkit-text-stroke-color:#efefec}
.menu-shell .menu-panel{position:absolute;z-index:1;left:auto;right:var(--rail);top:0;width:calc(min(836px,100vw) - var(--rail));height:100%;transform:none;opacity:0;visibility:hidden;pointer-events:none;background:transparent;color:inherit;border:0;transition:opacity .28s ease .22s,visibility 0s linear .5s;overflow-y:auto}
.menu-shell.open .menu-panel{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:opacity .28s ease .22s,visibility 0s}
.menu-shell .menu-inner{padding:28px clamp(24px,4.8vw,60px) 32px}
.menu-shell .menu-brand{display:flex;flex-direction:row;align-items:baseline;flex-wrap:nowrap;white-space:nowrap;gap:0;margin:47px 0 42px;font-size:clamp(17px,4vw,52px);line-height:1;letter-spacing:-.11em;width:max-content;max-width:100%}
.menu-shell .menu-brand .word{display:inline-flex;flex:0 0 auto;white-space:nowrap}
.menu-shell .menu-brand .letter{display:inline-block;flex:0 0 auto;white-space:pre}
.menu-shell .menu-brand .outline{-webkit-text-stroke-color:#efefec}
.menu-shell .menu-brand{cursor:pointer;transition:filter .25s ease}
.menu-shell .menu-brand:hover,.menu-shell .menu-brand:focus-visible{filter:brightness(.65)}
.menu-shell .menu-brand:focus-visible{outline:1px solid #efefec;outline-offset:8px}
.menu-shell .menu-close{display:grid;place-items:center;width:34px;height:34px;padding:0;margin:-5px 0;background:transparent;border:1px solid #666;color:#efefec;font:25px/1 var(--font-body);transition:background .2s,color .2s}
.menu-shell .menu-close:hover,.menu-shell .menu-close:focus-visible{background:#efefec;color:#202020}
.site-head{min-width:0}
.head-mark,.head-right{flex-shrink:0;white-space:nowrap}
.head-center{min-width:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.head-center,.head-right{transition:opacity .18s ease}
body.menu-open .head-center,body.menu-open .head-right,body.menu-transitioning .head-center,body.menu-transitioning .head-right{opacity:0}
@media(min-width:761px) and (prefers-reduced-motion:no-preference){
  .head-mark{transition:transform .72s cubic-bezier(.22,1,.36,1),opacity .72s ease;transform-origin:left center}
  body.menu-open .head-mark{transform:translateX(-5px) scale(.86);opacity:.62}
  .scene.is-active>.section-top,.scene.is-active .hero-meta{transition:transform .72s cubic-bezier(.22,1,.36,1),opacity .72s ease}
  body.menu-open .scene.is-active>.section-top,body.menu-open .scene.is-active .hero-meta{transform:translate3d(-14px,0,0);opacity:.48}
  .scene.is-active .hero-main,.scene.is-active .featured-layout,.scene.is-active .work-heading,.scene.is-active .sound-layout,.scene.is-active .outro-content,.scene.is-active .profile-hero-body,.scene.is-active .profile-copy-layout,.scene.is-active .profile-contact-main,.scene.is-active .profile-identity,.scene.is-active .project-grid,.scene.is-active .filter-bar{transition:transform .86s cubic-bezier(.22,1,.36,1),opacity .7s ease,filter .86s ease;transform-origin:12% 42%}
  body.menu-open .scene.is-active .hero-main,body.menu-open .scene.is-active .featured-layout,body.menu-open .scene.is-active .work-heading,body.menu-open .scene.is-active .sound-layout,body.menu-open .scene.is-active .outro-content,body.menu-open .scene.is-active .profile-hero-body,body.menu-open .scene.is-active .profile-copy-layout,body.menu-open .scene.is-active .profile-contact-main{transform:translate3d(-22px,10px,0) scale(.91);opacity:.64;filter:blur(.5px)}
  body.menu-open .scene.is-active .profile-identity,body.menu-open .scene.is-active .project-grid,body.menu-open .scene.is-active .filter-bar{transform:translate3d(-14px,8px,0) scale(.965);opacity:.56}
  .scene.is-active .featured-card{transition:transform .86s cubic-bezier(.22,1,.36,1),filter .86s ease}
  body.menu-open .scene.is-active .featured-card{transform:translate3d(-14px,6px,0) rotate(-2deg) scale(.96);filter:grayscale(1) brightness(.72)}
  .scene.is-active .hero-code{transition:transform .86s cubic-bezier(.22,1,.36,1),opacity .86s ease;transform-origin:right center}
  body.menu-open .scene.is-active .hero-code{transform:translate3d(-18px,0,0) scale(.94);opacity:.28}
  .scene.is-active h1 em,.scene.is-active h2 em{transition:color .75s ease,-webkit-text-fill-color .75s ease,-webkit-text-stroke-color .75s ease}
  body.menu-open .scene.is-active h1 em,body.menu-open .scene.is-active h2 em{color:rgba(239,239,236,.24);-webkit-text-fill-color:rgba(239,239,236,.24)}
  body.menu-open .scene.profile-approach.is-active h2 em{color:rgba(8,8,8,.24);-webkit-text-fill-color:rgba(8,8,8,.24)}
}
.load-screen{background:#050505;isolation:isolate}
.cross-page-arrival .load-screen{opacity:0;visibility:hidden;transition:none;animation:none}
.load-screen::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.065) 1px,transparent 1px);background-size:clamp(50px,8vw,130px) clamp(50px,8vw,130px);animation:gridDraw 1.45s cubic-bezier(.22,1,.36,1) both}
.load-screen::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;z-index:0;background:#c8c8c8;box-shadow:0 0 24px #fff8;opacity:0;animation:gridScan 1.45s ease-out both}
.load-screen>.load-top,.load-screen>.load-center,.load-screen>.load-bottom{position:relative;z-index:1}
.load-screen .load-center{display:flex;align-items:baseline;justify-content:center;flex-wrap:nowrap;width:max-content;max-width:calc(100vw - 32px);white-space:nowrap;font-size:clamp(18px,6vw,90px);line-height:1;opacity:0;transform:none;animation:none}
.load-screen .load-center>span{display:inline-flex;flex:0 0 auto}
.load-screen .load-center.intro-ready{opacity:1}
.load-screen .load-center [data-key]{display:inline-block;will-change:transform,opacity,filter}
@keyframes gridDraw{0%{clip-path:inset(0 100% 100% 0);opacity:0}25%{opacity:.65}55%{clip-path:inset(0 0 54% 0)}100%{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes gridScan{0%{top:0;opacity:0}12%{opacity:.5}85%{opacity:.45}100%{top:100%;opacity:0}}
@media(max-width:760px){.menu-shell.open{width:100vw}.menu-shell .menu-inner{padding:24px 22px 28px}.menu-shell .menu-brand{font-size:clamp(15px,4.4vw,32px);margin:38px 0 34px}.menu-shell .menu-close{width:31px;height:31px;font-size:23px}}
@media(max-width:760px){.menu-shell .menu-brand{font-size:clamp(16.25px,4.75vw,32.5px);letter-spacing:-.09em;max-width:calc(100vw - var(--rail) - 44px)}.menu-shell .menu-links a{font-size:clamp(14px,4.2vw,21px);line-height:1.08;gap:7px;padding:12px 0}.menu-shell .menu-links a>span:first-child{min-width:0;max-width:calc(100% - 48px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-shell .menu-links a small{flex:0 0 auto;font-size:8px}}
@media(max-width:760px){.menu-shell .rail-prompt{top:15px;left:0;right:auto;width:calc(var(--rail) - 1px);transform:none;display:flex;flex-direction:column;align-items:center;gap:3px;line-height:1}.menu-shell .rail-prompt>span:first-child{font-size:9px}.menu-shell .rail-prompt>span:last-child{display:grid;place-items:center;font-size:13px;line-height:1}.menu-shell .rail-prompt .asb-icon{display:block;width:13px;height:13px;vertical-align:0}}
@media(max-width:1040px){.head-center{display:none}}
@media(prefers-reduced-motion:reduce){.menu-shell,.menu-shell .menu-panel,.menu-shell .menu-rail{transition:none!important}.load-screen::before,.load-screen::after{animation:none;clip-path:none;opacity:.5}.load-screen .load-center [data-key]{will-change:auto}}
@media(max-width:760px){.scene-controls{right:calc(var(--rail) + 10px);bottom:12px;gap:4px;padding:5px}.scene-controls button{width:32px;height:32px}.scene-controls #sceneName{display:none}.scene-progress{top:64px}.scene .hero-main{min-height:0}.scene.outro .outro-content{min-height:calc(100dvh - 150px)}.site-footer{padding:12px 20px;padding-right:150px}.site-footer span:nth-child(2){display:none}.route-wipe>span{font-size:clamp(24px,11vw,58px);padding:0 14px}.route-wipe>span.wipe-medium{font-size:clamp(20px,7vw,44px)}.route-wipe>span.wipe-long{font-size:clamp(16px,5.3vw,34px)}.menu-brand{margin-top:34px;margin-bottom:30px}}
@media(max-width:760px){html.cross-page-arrival::before{font-size:var(--arrival-label-size,clamp(24px,11vw,58px));padding:0 14px}}
@media(max-width:760px){.scene.featured,.scene.work,.scene.sound,.scene.outro,.scene.profile-copy-section,.scene.profile-contact{padding-top:64px}.scene.featured h2{font-size:clamp(48px,11vw,66px)}}
@media(max-width:760px){.contact-details{grid-template-columns:1fr;margin-top:58px}.contact-detail{grid-template-columns:75px minmax(0,1fr);gap:12px;padding:20px 0}}
@media(max-width:760px){.hero .hero-code{top:64px;right:var(--rail);width:85vw;opacity:.38;mask-image:linear-gradient(90deg,transparent,#000 45%),linear-gradient(180deg,transparent,#000 9%,#000 90%,transparent)}.hero-code-stream{padding-left:8px}.hero-code-line{font-size:9px}.work-morph-band{top:64px;height:59px}.work-morph-target{top:78px;left:20px}.project-close{top:16px;right:16px}}
@media(max-width:420px){.scene-controls{right:calc(var(--rail) + 5px);bottom:7px}.scene-controls span{padding:0 3px}.site-footer{font-size:8px;padding-right:150px}.menu-brand{font-size:10.5vw}}
@media(prefers-reduced-motion:reduce){.route-wipe{display:none!important}html.cross-page-arrival::before{transition:none;display:none}.title-line-inner{will-change:auto}}
@media(prefers-reduced-motion:reduce){.pill-link::before,.pill-link>span:last-child,.detail-cta,.detail-cta::before,.detail-cta>span:last-child{transition:none!important}.title-glyph{will-change:auto}}
@media(prefers-reduced-motion:reduce){.code-glyph,.hero-code-line.is-writing::after{animation:none}.hero-code-track{will-change:auto}.work-morph-glyphs span{will-change:auto}}
@media(prefers-reduced-motion:reduce){.project-overlay{transition:none!important;clip-path:none!important}.detail-title .detail-letter{will-change:auto}#projectDetail .detail-stage{transition:none!important}#projectDetail .detail-cover.detail-stage.is-visible,#projectDetail .detail-cover-abstract.detail-stage.is-visible{animation:none!important}}
.scene.outro .outro-content h2{font-size:clamp(60px,8.5vw,148px)}
#profileTitle{font-size:clamp(70px,9vw,158px)}
#contactTitle{font-size:clamp(64px,8.5vw,142px)}
@media(max-width:760px){.scene.outro .outro-content h2{font-size:clamp(32px,10vw,72px)}#profileTitle{font-size:clamp(50px,14vw,105px)}#contactTitle{font-size:clamp(42px,11.5vw,86px)}}
.scene.outro.contact-sequencing #contactTitle{transition:none}
.scene.outro.contact-sequencing .outro-content{padding-top:clamp(42px,6vh,70px)}
.scene.outro.contact-sequencing #contactTitle.is-compact{font-size:clamp(32px,3.5vw,60px)}
.scene.outro.contact-sequencing #contactTitle.is-compact .title-glyph{transform-origin:top left;will-change:transform}
.scene.outro.contact-sequencing .outro-bottom,.scene.outro.contact-sequencing .contact-details{opacity:0;transform:translate3d(0,28px,0);filter:blur(4px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1),filter .85s ease}
.scene.outro.contact-sequencing.contact-intro-visible .outro-bottom,.scene.outro.contact-sequencing.contact-details-visible .contact-details{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
.scene.outro.contact-sequencing .contact-detail>*{opacity:0;transform:translate3d(-12px,28px,0) rotate(-3deg);transform-origin:left center;transition:opacity .6s ease,transform .8s cubic-bezier(.22,1,.36,1)}
.scene.outro.contact-sequencing.contact-details-visible .contact-detail>*{opacity:1;transform:translate3d(0,0,0)}
.scene.outro.contact-sequencing.contact-details-visible .contact-detail:nth-child(2)>*{transition-delay:130ms}
.contact-word{display:inline-block;white-space:nowrap}
.contact-glyph{display:inline-block;white-space:pre;transform-origin:center bottom;will-change:transform,opacity,filter}
@media(max-width:760px){.scene.outro.contact-sequencing #contactTitle.is-compact{font-size:clamp(25px,5.8vw,42px)}}
@media(prefers-reduced-motion:reduce){.scene.outro #contactTitle,.scene.outro .outro-bottom,.scene.outro .contact-details,.scene.outro .contact-detail>*{transition:none!important}}
.project-card.is-classified .project-visual img,.project-card.is-classified .project-visual .abstract{filter:grayscale(1) blur(12px) brightness(.6);transform:scale(1.08)}
.project-card.is-classified:hover .project-visual img,.project-card.is-classified:focus-visible .project-visual img{filter:grayscale(1) blur(12px) brightness(.6);transform:scale(1.12)}
.sound-item.is-classified .sound-artwork img,.sound-item.is-classified:hover .sound-artwork img,.sound-item.is-classified .sound-artwork:focus-visible img{filter:grayscale(1) blur(8px) brightness(.6);transform:scale(1.08)}
.sound-item.is-classified .sound-artwork-fallback{filter:blur(6px) brightness(.6)}
.classified-visual{position:relative;overflow:hidden;isolation:isolate}
.classified-cover{margin:0;line-height:0}
.classified-cover>.detail-cover,.classified-cover>.detail-cover-abstract{display:block;width:100%}
.classified-gallery-visual{line-height:0}
.classified-gallery-visual>img{display:block;width:100%;height:auto}
#projectDetail .classified-visual>img.detail-stage,#projectDetail .classified-visual>img.detail-stage.is-visible,#projectDetail .classified-visual>.detail-cover-abstract.detail-stage,#projectDetail .classified-visual>.detail-cover-abstract.detail-stage.is-visible{filter:grayscale(1) blur(14px) brightness(.62);}
.classified-visual>img,.classified-visual>.detail-cover-abstract{transform:scale(1.045)}
.classified-visual::after{content:"";position:absolute;z-index:1;inset:0;background:repeating-linear-gradient(0deg,transparent 0 7px,rgba(255,255,255,.045) 8px,transparent 9px);pointer-events:none}
.classified-stamp{position:absolute;z-index:4;top:clamp(22px,5%,50px);left:50%;display:flex;flex-direction:column;align-items:center;gap:3px;max-width:calc(100% - 44px);padding:12px 24px 10px;border:2px solid #f2f2ef;background:rgba(8,8,8,.76);color:#f2f2ef;box-shadow:0 0 0 5px rgba(8,8,8,.36);text-align:center;white-space:nowrap;transform:translateX(-50%) rotate(-7deg);pointer-events:none}
.classified-stamp::after{content:"";position:absolute;inset:4px;border:1px solid currentColor;opacity:.75}
.classified-stamp strong{font:clamp(15px,2.2vw,32px)/1 var(--font-heavy);letter-spacing:.075em}
.classified-stamp small{font:9px/1.3 var(--font-mono);letter-spacing:.22em}
.classified-gallery-visual .classified-stamp{padding:9px 18px 7px}
.classified-gallery-visual .classified-stamp strong{font-size:clamp(13px,1.5vw,21px)}
.sound-artwork .classified-stamp{top:20%;max-width:calc(100% - 12px);padding:5px 7px 3px;border-width:1px;gap:0}
.sound-artwork .classified-stamp::after{inset:2px}
.sound-artwork .classified-stamp strong{font-size:clamp(7px,.9vw,12px);letter-spacing:.015em}
.sound-artwork .classified-stamp small{display:none}
@media(max-width:760px){.classified-stamp{top:20px;padding:9px 16px 7px}.classified-stamp strong{font-size:clamp(14px,4.6vw,22px)}.classified-stamp small{font-size:7px}}
@media(max-width:760px){.sound-artwork .classified-stamp{top:22%;padding:3px 4px 2px}.sound-artwork .classified-stamp strong{font-size:7px}}
.project-card.reveal{position:relative;opacity:1;transform:none;transition:none;border-bottom-color:transparent}
.project-card.reveal::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line);transform:scaleX(0);transform-origin:left center;transition:transform .75s cubic-bezier(.22,1,.36,1) .7s}
.project-card.reveal.visible::after{transform:scaleX(1)}
.project-card.reveal .project-visual{clip-path:polygon(0 12%,100% 0,100% 0,0 12%);transform:translate3d(0,48px,0) rotate(-1.5deg) scale(.96);transform-origin:center bottom;transition:clip-path 1.05s cubic-bezier(.76,0,.2,1),transform 1.05s cubic-bezier(.22,1,.36,1)}
.project-card.reveal.visible .project-visual{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:translate3d(0,0,0) rotate(0) scale(1)}
.project-card.reveal:not(.visible) .project-visual img,.project-card.reveal:not(.visible) .project-visual .abstract{transform:scale(1.13);filter:grayscale(1) blur(5px)}
.project-card.reveal.visible .project-visual img,.project-card.reveal.visible .project-visual .abstract{transition:transform 1.25s cubic-bezier(.22,1,.36,1),filter 1.1s ease}
.project-card.reveal.visible:not(.is-classified) .project-visual img{transform:scale(1);filter:grayscale(1)}
.project-card.reveal.visible:not(.is-classified):hover .project-visual img,.project-card.reveal.visible:not(.is-classified):focus-visible .project-visual img{transform:scale(1.08);filter:grayscale(.25)}
.project-card.reveal .project-number,.project-card.reveal .project-kind{opacity:0;transform:translate3d(0,15px,0);transition:opacity .55s ease,transform .65s cubic-bezier(.22,1,.36,1)}
.project-card.reveal.visible .project-number{opacity:1;transform:none;transition-delay:.42s}
.project-card.reveal.visible .project-kind{opacity:1;transform:none;transition-delay:.54s}
.project-card.reveal .project-caption{overflow:visible}
.project-title-word{display:inline-block;white-space:nowrap}
.project-title-letter{display:inline-block;white-space:pre;transform-origin:center bottom;color:#f1f1ee}
.project-card.reveal:not(.visible) .project-title-letter{opacity:0;transform:translate3d(0,23px,0) rotate(-5deg);-webkit-text-fill-color:transparent;-webkit-text-stroke:1px #f1f1ee}
.project-card.reveal.visible .project-title-letter{opacity:1;transform:translate3d(0,0,0) rotate(0);-webkit-text-fill-color:#f1f1ee;-webkit-text-stroke:0 transparent;animation:projectTitleInk .78s cubic-bezier(.22,1,.36,1) calc(250ms + var(--letter-delay,0ms)) both}
@keyframes projectTitleInk{0%{opacity:0;transform:translate3d(0,23px,0) rotate(-5deg);-webkit-text-fill-color:transparent;-webkit-text-stroke:1px #f1f1ee}48%{opacity:1;transform:translate3d(0,-4px,0) rotate(1deg);-webkit-text-fill-color:transparent;-webkit-text-stroke:1px #f1f1ee}100%{opacity:1;transform:translate3d(0,0,0) rotate(0);-webkit-text-fill-color:#f1f1ee;-webkit-text-stroke:0 transparent}}
.project-card.reveal .project-caption>span,.project-card.reveal .project-caption>p{opacity:0;transform:translate3d(0,18px,0);transition:opacity .6s ease,transform .75s cubic-bezier(.22,1,.36,1)}
.project-card.reveal.visible .project-caption>span{opacity:1;transform:none;transition-delay:.48s}
.project-card.reveal.visible .project-caption>p{opacity:1;transform:none;transition-delay:.65s}
.project-card.filter-arrival::after,.project-card.filter-arrival .project-visual,.project-card.filter-arrival .project-visual img,.project-card.filter-arrival .project-visual .abstract,.project-card.filter-arrival .project-number,.project-card.filter-arrival .project-kind,.project-card.filter-arrival .project-title-letter,.project-card.filter-arrival .project-caption>span,.project-card.filter-arrival .project-caption>p{transition:none!important}
.project-card.filter-arrival .project-title-letter,.project-card.filter-settled .project-title-letter{animation:none!important}
@media(max-width:760px){.project-card.reveal .project-visual{transform:translate3d(0,32px,0) rotate(-1deg) scale(.97)}}
@media(prefers-reduced-motion:reduce){.project-card.reveal::after{transform:none;transition:none}.project-card.reveal .project-visual{clip-path:none;transform:none;transition:none;will-change:auto}.project-card.reveal .project-visual img,.project-card.reveal .project-visual .abstract{filter:grayscale(1);transform:none;transition:none}.project-card.reveal .project-number,.project-card.reveal .project-kind,.project-card.reveal .project-title-letter,.project-card.reveal .project-caption>span,.project-card.reveal .project-caption>p{opacity:1;transform:none;transition:none;animation:none;-webkit-text-fill-color:currentColor;-webkit-text-stroke:0 transparent}}
