@property --fxN{syntax:"<integer>";initial-value:0;inherits:false}.fx{--ease:cubic-bezier(0.2,0.8,0.2,1);--swing:cubic-bezier(0.76,0,0.24,1);--soft:#8a8a8a;--loaded:1.45s;overflow-x:clip}.fxLabel{font-size:13px;letter-spacing:.01em;color:var(--soft)}.fxLoader{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--bg);pointer-events:none;animation:fxLift .95s var(--swing) var(--loaded) forwards}.fxLoaderName{position:relative;top:-34px;font-family:var(--display);font-size:22px;letter-spacing:-.02em;color:#fff;animation:fxFadeUp .6s var(--ease) both}.fxLoaderBar{position:absolute;left:0;right:0;top:50%;height:22px;margin-top:-11px;background:#ededed;transform-origin:left;animation:fxBar 1.25s var(--swing) .1s both}.fxLoaderCount{position:absolute;right:28px;bottom:22px;font-family:var(--display);font-size:clamp(64px,12vw,180px);line-height:1;letter-spacing:-.05em;color:#fff;counter-reset:fxN var(--fxN);animation:fxCount 1.25s var(--swing) .1s both}.fxLoaderCount:after{content:counter(fxN)}.fxLoaderCount[data-n]:after{content:attr(data-n)}@keyframes fxLift{to{-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0);visibility:hidden}}@keyframes fxBar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes fxCount{0%{--fxN:0}to{--fxN:100}}@keyframes fxFadeUp{0%{opacity:0;transform:translateY(14px)}}@keyframes fxFadeIn{0%{opacity:0}}.fxNav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 28px;color:#fff;font-size:14px;mix-blend-mode:difference;animation:fxFadeIn .8s ease calc(var(--loaded) + .4s) both}.fxNavBack{font-weight:600}.fxNavLinks{list-style:none;display:flex;gap:30px}.fxNavBack,.fxNavLinks a{background:linear-gradient(currentColor,currentColor) no-repeat 100% 100% /0 1px;padding-bottom:3px;transition:background-size .45s var(--swing)}.fxNavBack:hover,.fxNavLinks a:hover{background-position:0 100%;background-size:100% 1px}.fxNavTalk{border:1px solid #fff;border-radius:999px;padding:9px 16px;transition:background-color .3s ease,color .3s ease}.fxNavTalk:hover{background:#fff;color:#000}@media (max-width:700px){.fxNavLinks{display:none}.fxNav{padding:18px 22px}}.fxHero{--hp:0;position:relative;height:100svh;min-height:620px;overflow:hidden;isolation:isolate}.fxHero:after{content:"";position:absolute;inset:-60px;z-index:6;pointer-events:none;opacity:.13;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:220px 220px;animation:grainDrift .9s steps(3) infinite}.fxHeroIntro{position:absolute;right:28px;bottom:calc(3vw + 13.6vw + 34px);z-index:5;width:min(340px,26vw);animation:fxFadeUp .9s var(--ease) calc(var(--loaded) + .55s) both;translate:0 calc(var(--hp) * -60px)}.fxHeroLead{margin-top:12px;font-family:var(--display);font-size:clamp(22px,2.3vw,30px);line-height:1.16;letter-spacing:-.025em;color:#fff}.fxLinks{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px}.fxLinks a{font-size:13px;letter-spacing:.02em;color:#9a9a9a;padding-bottom:4px;border-bottom:1px solid var(--muted-2);transition:color .3s ease,border-color .3s ease}.fxLinks a:hover{color:#fff;border-bottom-color:#fff}.fxHeroFoot{position:absolute;top:104px;right:28px;z-index:5;display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-size:13px;color:var(--soft);animation:fxFadeIn .9s ease calc(var(--loaded) + .7s) both}.fxScrollCue:after{content:"";display:block;width:1px;height:46px;margin:12px 0 0 auto;background:linear-gradient(#fff,transparent);transform-origin:top;animation:fxCue 2.2s var(--swing) infinite}@keyframes fxCue{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.fxName{position:absolute;left:0;right:0;bottom:3vw;margin:0;font-family:var(--display);font-weight:400;line-height:.8;letter-spacing:-.06em;color:#ededed}.fxNameRow{display:block;white-space:nowrap;overflow:hidden;padding-top:.06em}.fxNameBack{position:absolute;left:-.02em;bottom:.82em;z-index:1;font-size:30vw;translate:calc(var(--hp) * -16vw) 0}.fxNameFront{position:relative;z-index:3;padding:.06em 0 .09em .02em;font-size:13.6vw;color:#fff;mix-blend-mode:difference;translate:calc(var(--hp) * 12vw) 0}.fxChar{display:inline-block;transform:translateY(108%);animation:fxRise 1.15s var(--ease) both;animation-delay:calc(var(--loaded) + .15s + var(--i) * 42ms)}@keyframes fxRise{0%{transform:translateY(108%)}to{transform:none}}.fxPortrait{position:absolute;bottom:0;left:58%;z-index:2;height:min(88svh,980px);width:auto;max-width:none;translate:-50% calc(var(--hp) * 14%);scale:calc(1 + var(--hp) * .06);transform-origin:50% 100%;animation:fxPortraitIn 1.6s var(--ease) calc(var(--loaded) + .05s) both;-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes fxPortraitIn{0%{opacity:0;transform:translateY(6%) scale(1.08);filter:blur(10px)}}@media (max-width:700px){.fxHero{min-height:600px}.fxHeroIntro{top:84px;bottom:auto;left:22px;right:22px;width:auto}.fxHeroLead{font-size:21px;max-width:300px}.fxLinks{gap:8px 16px}.fxHeroFoot{display:none}.fxPortrait{left:60%;height:66svh}.fxNameBack{z-index:3;color:#fff;mix-blend-mode:difference}}.fxMarquee{position:relative;z-index:5;margin:0 -2vw;padding:1.6vw 0 1.3vw;background:#ededed;color:var(--bg);overflow:hidden;transform:rotate(-2deg)}.fxMarqueeTrack{display:flex;width:max-content;will-change:transform}html:not(.fxLive) .fxMarqueeTrack{animation:fxMarq 40s linear infinite}.fxMarqueeRun{display:flex}.fxMarqueeRun>span{display:inline-flex;align-items:center;padding-right:.32em;font-family:var(--display);font-size:clamp(54px,9vw,150px);line-height:1;letter-spacing:-.045em;white-space:nowrap}.fxMarqueeRun i{display:inline-block;margin-left:.32em;font-style:normal;font-size:.55em;animation:fxSpin 7s linear infinite}@keyframes fxMarq{to{transform:translateX(-50%)}}@keyframes fxSpin{to{transform:rotate(1turn)}}.fx .logoBar{padding-top:92px}.fx .section{border-top:none}.fxWide{max-width:1320px}.fxTitle{font-family:var(--display);font-weight:400;font-size:clamp(36px,5.6vw,88px);line-height:1;letter-spacing:-.045em;color:#fff}.fxWord{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}.fxWord>span{display:inline-block;transform:translateY(110%);transition:transform 1.05s var(--ease);transition-delay:calc(.12s + var(--i) * 55ms)}.reveal.in .fxWord>span{transform:none}.fxFilmFrame{--fp:1;position:relative;max-width:1560px;margin:72px -28px 0;-webkit-clip-path:inset(calc((1 - var(--fp)) * 10%) calc((1 - var(--fp)) * 18%) round calc((1 - var(--fp)) * 26px));clip-path:inset(calc((1 - var(--fp)) * 10%) calc((1 - var(--fp)) * 18%) round calc((1 - var(--fp)) * 26px))}@media (max-width:680px){.fxFilmFrame{margin-left:-22px;margin-right:-22px}}@media (min-width:1616px){.fxFilmFrame{margin-left:auto;margin-right:auto}}.fxFilmVideo{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000;transform:scale(calc(1.18 - var(--fp) * .18))}.fxFilmMeta{display:flex;flex-wrap:wrap;gap:6px 22px;padding:16px 28px 0;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.fxFilmBelow{margin-top:30px}.fxArrowLink{display:inline-flex;gap:10px;margin-top:26px;font-size:15px;color:#fff;padding-bottom:5px;border-bottom:1px solid var(--muted-2);transition:border-color .3s ease,gap .4s var(--ease)}.fxArrowLink:hover{gap:18px;border-bottom-color:#fff}.fxTunnel{--p:0;position:relative;height:340vh}.fxTunnelStage{position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:hidden;perspective:900px}.fxTunnelSpace{position:absolute;inset:0;transform-style:preserve-3d}.fxTunnelCard{--t:calc(var(--p) * 1.6 - var(--z));display:block;width:calc(var(--cw) * 1vw);min-width:calc(var(--cw) * 8px);height:auto;aspect-ratio:var(--ar);object-fit:cover;transform:translate(-50%,-50%) translate3d(calc(var(--x) * 1vw),calc(var(--y) * 1vh),calc((var(--t) * 1900 - 1300) * 1px));opacity:clamp(0,min(var(--t) * 5,(1 - var(--t)) * 6),1);will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}.fxTunnelCard,.fxTunnelCore{position:absolute;left:50%;top:50%}.fxTunnelCore{display:flex;flex-direction:column;align-items:center;gap:14px;transform:translate(-50%,-50%);pointer-events:none}.fxTunnelRing{width:72px;height:auto;overflow:visible}.fxTunnelRing ellipse{fill:none;stroke:#fff;stroke-width:1.4;transform-box:fill-box;transform-origin:center;animation:fxTurn 3.2s linear infinite}.fxTunnelRing ellipse:nth-child(2){animation-delay:-1.07s}.fxTunnelRing ellipse:nth-child(3){animation-delay:-2.13s}@keyframes fxTurn{0%{transform:scaleX(1)}50%{transform:scaleX(-1)}to{transform:scaleX(1)}}@media (max-width:700px){.fxTunnel{height:260vh}}.fxWorkList{list-style:none;border-top:1px solid var(--line)}.fxWorkRow{position:relative;display:grid;grid-template-columns:70px 1fr minmax(0,280px) 48px;align-items:center;grid-gap:24px;gap:24px;padding:34px 18px;border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate;transition:color .5s var(--swing)}.fxWorkRow:before{content:"";position:absolute;inset:0;z-index:-1;background:#ededed;transform:scaleY(0);transform-origin:50% 100%;transition:transform .6s var(--swing)}.fxWorkRow:hover{color:var(--bg)}.fxWorkRow:hover:before{transform:scaleY(1)}.fxWorkNum{font-size:13px;color:var(--soft);transition:color .5s var(--swing)}.fxWorkTitle{font-family:var(--display);font-size:clamp(42px,7.4vw,124px);line-height:.95;letter-spacing:-.05em;transition:transform .7s var(--ease)}.fxWorkNote{font-size:14px;line-height:1.5;color:#9a9a9a;transition:color .5s var(--swing)}.fxWorkArrow{justify-self:end;font-size:34px;transition:transform .6s var(--ease)}.fxWorkRow:hover .fxWorkTitle{transform:translateX(2.2vw)}.fxWorkRow:hover .fxWorkNote,.fxWorkRow:hover .fxWorkNum{color:#3a3a3a}.fxWorkRow:hover .fxWorkArrow{transform:rotate(45deg)}.fxWorkThumb{display:none}@media (hover:none),(max-width:700px){.fxWorkRow{grid-template-columns:auto 1fr auto;gap:10px 16px;padding:26px 0}.fxWorkNote{grid-column:1/-1;grid-row:2}.fxWorkThumb{display:block;grid-column:1/-1;width:100%;aspect-ratio:16/10;object-fit:cover;margin-top:8px}}.fxPreview{display:none}html.fxCursorOn .fxPreview{display:block;position:fixed;left:0;top:0;z-index:40;width:360px;aspect-ratio:4/3;pointer-events:none}.fxPreview img{display:block;width:100%;height:100%;object-fit:cover;transform:translate(-50%,-50%) scale(0);transition:transform .55s var(--ease)}.fxPreview[data-on="1"] img{transform:translate(-50%,-50%) scale(1)}.fxSvc{display:grid;grid-template-columns:200px 1fr;align-items:start}.fxSvc+.fxSvc{margin-top:30px}.fxSvcTitle{grid-column:1/-1;margin-bottom:22px;font-family:var(--display);font-weight:400;font-size:clamp(30px,3.6vw,52px);letter-spacing:-.035em;color:#fff}.fxSvcCount{padding-top:14px;font-size:14px;color:var(--soft)}.fxSvcList{list-style:none}.fxSvcList li{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px;color:#9a9a9a;transition:color .3s ease,padding .45s var(--ease)}.fxSvcList li:hover{color:#fff;padding-left:14px}.reveal .fxSvcList li{opacity:0;transform:translateY(14px);transition:color .3s ease,padding .45s var(--ease),opacity .7s ease,transform .8s var(--ease)}.reveal.in .fxSvcList li{opacity:1;transform:none}.reveal.in .fxSvcList li:nth-child(2){transition-delay:0s,0s,.06s,.06s}.reveal.in .fxSvcList li:nth-child(3){transition-delay:0s,0s,.12s,.12s}.reveal.in .fxSvcList li:nth-child(4){transition-delay:0s,0s,.18s,.18s}.reveal.in .fxSvcList li:nth-child(5){transition-delay:0s,0s,.24s,.24s}.reveal.in .fxSvcList li:nth-child(6){transition-delay:0s,0s,.3s,.3s}@media (max-width:700px){.fxSvc{grid-template-columns:64px 1fr}}.fxContactLead{font-size:16px;color:#9a9a9a}.fxTalk{align-items:flex-start;gap:.12em;margin:20px 0 46px;font-family:var(--display);font-size:clamp(64px,15vw,250px);letter-spacing:-.055em;color:#fff}.fxRoll,.fxTalk{display:inline-flex}.fxRoll{height:1em;line-height:1;overflow:hidden}.fxRoll>span{display:inline-block;text-shadow:0 1em currentColor;transition:transform .65s var(--swing);transition-delay:calc(var(--i) * 22ms)}.fxTalk:hover .fxRoll>span{transform:translateY(-1em)}.fxTalkArrow{font-size:.32em;margin-top:.12em;transition:transform .6s var(--ease)}.fxTalk:hover .fxTalkArrow{transform:rotate(45deg)}.fxContactLinks{margin-top:0}.fxFoot{display:flex;justify-content:space-between;gap:20px;padding:26px 28px 30px;border-top:1px solid var(--line);font-size:13px;color:var(--soft)}.fxFoot a:hover{color:#fff}.fxCursor{display:none}html.fxCursorOn .fx,html.fxCursorOn .fx a{cursor:none}html.fxCursorOn .fx video{cursor:auto}html.fxCursorOn .fxCursor{display:block;position:fixed;left:0;top:0;z-index:90;pointer-events:none;mix-blend-mode:difference}.fxCursor:before{content:"";position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;transition:transform .4s var(--ease),opacity .2s ease}.fxCursor[data-state=link]:before{transform:scale(3.2)}.fxCursor[data-state=label]:before{transform:scale(7.4)}.fxCursor[data-state=hidden]:before{opacity:0}.fxCursorLabel{position:absolute;transform:translate(-50%,-50%);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#000;opacity:0;transition:opacity .25s ease}.fxCursor[data-state=label] .fxCursorLabel{opacity:1}@media (prefers-reduced-motion:reduce){.fxLoader{display:none}.fxChar,.fxHero:after,.fxHeroFoot,.fxHeroIntro,.fxMarqueeRun i,.fxNav,.fxPortrait,.fxScrollCue:after,.fxTunnelRing ellipse{animation:none}.fxChar,.fxWord>span{transform:none}html:not(.fxLive) .fxMarqueeTrack{animation:none}.fxTunnel{height:auto}.fxTunnelStage{position:relative;height:auto;padding:96px 28px;perspective:none}.fxTunnelSpace{position:static;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:12px;gap:12px}.fxTunnelCard{position:static;width:100%;min-width:0;aspect-ratio:1;transform:none;opacity:1}.fxTunnelCore{display:none}}