:root{--bg:#000;--surface:#0c0c0c;--surface-2:#151515;--line:#ffffff1f;--line-strong:#ffffff38;--text:#fff;--text-2:#ffffff9e;--text-3:#fff6;--accent:#ff5a1f;--accent-soft:#ff5a1f2e;--danger:#ff4d4d;--font-sans:"Poppins", system-ui, sans-serif;--font-mono:"Inconsolata", ui-monospace, monospace;--container:1240px;--gutter:32px;--col:calc(min(var(--container), 100vw - var(--gutter) * 2) / 4);--nav-h:76px;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}body{background:var(--bg);color:var(--text);font:400 16px/1.5 var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}h1,h2,h3,p{margin:0}ul{margin:0;padding:0;list-style:none}::selection{background:var(--accent);color:#000}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.container{width:min(var(--container), 100% - var(--gutter) * 2);margin-inline:auto;position:relative}.page{position:relative}main{z-index:1;position:relative}.section{position:relative}.accent{color:var(--accent)}.loader{place-items:center;min-height:100vh;display:grid}.loader span{background:var(--accent);width:14px;height:14px;animation:.8s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.fatal{font-family:var(--font-mono);padding:40px}.gridlines{pointer-events:none;z-index:0;position:fixed;inset:0}.gridlines__inner{border-right:1px solid var(--line);grid-template-columns:repeat(4,1fr);height:100%;display:grid}.gridlines__inner span{border-left:1px solid var(--line)}.section-label{font:400 16px/1.25 var(--font-mono);color:var(--text);margin-bottom:18px}.heading{font:500 clamp(40px, 5vw, 64px) / 1.18 var(--font-sans);letter-spacing:-.02em}.reveal{transition:opacity .9s var(--ease), transform .9s var(--ease), filter .9s var(--ease)}.reveal--up{opacity:0;transform:translateY(40px)}.reveal--fade{opacity:0}.reveal--pop{opacity:0;filter:blur(6px);transform:scale(.85)rotate(-4deg)}.reveal.is-visible{opacity:1;filter:none;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=767px){:root{--gutter:16px;--nav-h:64px}.gridlines__inner{grid-template-columns:repeat(2,1fr)}.gridlines__inner span:nth-child(odd){display:none}.gridlines__inner span:nth-child(3){display:block}}.logo{align-items:center;gap:10px;display:inline-flex}.logo__mark{width:34px;height:34px;fill:var(--accent);transition:transform .6s var(--ease)}.logo__dot{fill:#fff}.logo:hover .logo__mark{transform:rotate(90deg)}.logo__text{font:700 30px/1 var(--font-mono);letter-spacing:-.02em}.logo__text b{color:var(--accent);font-weight:700}.logo--muted{opacity:.35;transition:opacity .4s}.logo--muted:hover{opacity:1}.crosshair{z-index:3;pointer-events:none;width:15px;height:15px;position:absolute;translate:-50% -50%}.crosshair:before,.crosshair:after{content:"";background:#fff;position:absolute}.crosshair:before{width:1px;height:100%;top:0;left:7px}.crosshair:after{width:100%;height:1px;top:7px;left:0}.crosshair[style*=right]{translate:50% -50%}.crosshair[style*=bottom]{translate:-50% 50%}.navbar{z-index:50;height:var(--nav-h);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#151515eb;transition:box-shadow .4s;position:sticky;top:0}.navbar--scrolled{box-shadow:0 1px 0 var(--line)}.navbar__inner{justify-content:space-between;align-items:center;height:100%;display:flex}.navbar__menu{align-items:center;display:flex}.nav-link{text-align:center;min-width:104px;color:var(--text-2);padding:10px 20px;transition:color .3s;display:block}.nav-link__text{vertical-align:top;height:20px;line-height:20px;display:inline-block;position:relative;overflow:hidden}.nav-link__text:after{content:attr(data-text);color:var(--accent);position:absolute;top:100%;left:0}.nav-link__text,.nav-link__text:after{transition:transform .45s var(--ease)}.nav-link:hover .nav-link__text{transform:translateY(0)}.nav-link:hover{color:#0000}.nav-link:hover .nav-link__text:after{transform:translateY(-100%)}.nav-link.is-active{color:#fff;font-weight:500}.nav-link.is-active:hover{color:#0000}.navbar__toggle{padding:8px;display:none}@media (width<=991px){.navbar__toggle{z-index:2;display:inline-flex}.navbar__menu{inset:var(--nav-h) 0 0 0;padding:24px var(--gutter);clip-path:inset(0 0 100%);transition:clip-path .6s var(--ease);background:#0a0a0a;flex-direction:column;align-items:stretch;position:fixed}.navbar__menu.is-open{clip-path:inset(0)}.nav-link{text-align:left;border-bottom:1px solid var(--line);opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease), color .3s;padding:22px 0;font-size:28px;transform:translateY(20px)}.nav-link__text{height:auto;line-height:1.2}.navbar__menu.is-open .nav-link{opacity:1;transition-delay:calc(var(--i) * 60ms + .15s);transform:none}.logo__text{font-size:24px}.logo__mark{width:28px;height:28px}}.arrow-link{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);isolation:isolate;justify-content:space-between;align-items:center;height:54px;padding:0 22px;font-weight:500;display:flex;position:relative;overflow:hidden}.arrow-link:before{content:"";background:var(--accent);z-index:-1;transform-origin:0;transition:transform .5s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.arrow-link:hover:before{transform:scaleX(1)}.arrow-link:hover{color:#000}.arrow-link__icon{width:26px;height:26px;position:relative;overflow:hidden}.arrow-link__icon svg{transition:transform .5s var(--ease);position:absolute;inset:0}.arrow-link__icon svg:last-child{transform:translate(-100%,100%)}.arrow-link:hover .arrow-link__icon svg:first-child{transform:translate(100%,-100%)}.arrow-link:hover .arrow-link__icon svg:last-child{transform:none}.btn{border:1px solid var(--line-strong);height:56px;font:400 16px/1 var(--font-mono);justify-content:center;align-items:center;padding:0 28px;transition:background .3s,color .3s,border-color .3s;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn--primary{background:var(--surface-2);width:100%;overflow:hidden}.btn--primary:hover{background:var(--accent);color:#000;border-color:var(--accent)}.btn:disabled{opacity:.6;cursor:progress}.btn__text{height:16px;line-height:16px;display:inline-block;position:relative;overflow:hidden}.btn__text:after{content:attr(data-text);width:100%;position:absolute;top:100%;left:0}.crosshair[style*=right][style*=bottom]{translate:50% 50%}.mark{-webkit-user-select:none;user-select:none;pointer-events:none}.hero{min-height:calc(100vh - var(--nav-h));overflow:hidden}.hero__grid{grid-template-rows:auto auto 1fr;grid-template-columns:repeat(4,1fr);min-height:920px;display:grid}.hero__intro{z-index:2;grid-area:1/1/auto/5;padding-top:110px;position:relative}.hero__title{font:500 clamp(64px, 9.4vw, 128px) / 1 var(--font-sans);letter-spacing:-.04em;margin:8px 0 18px}.hero__word{vertical-align:bottom;padding-bottom:.06em;display:inline-block;overflow:hidden}.hero__word>span{animation:rise 1.1s var(--ease) both;display:inline-block}.hero__word.accent>span{animation-delay:.12s}@keyframes rise{0%{transform:translateY(105%)}}.hero__role{font:500 clamp(24px, 2.6vw, 36px) / 1.2 var(--font-sans);color:var(--text-3);letter-spacing:-.02em}.hero__cta{z-index:2;grid-area:2/1;margin-top:100px;position:relative}.hero__bio{z-index:2;grid-area:3/1/auto/3;padding-top:120px;padding-right:32px;position:relative}.hero__bio p{font:400 16px/1.55 var(--font-mono);color:var(--text-2)}.hero__meta{letter-spacing:.06em;text-transform:uppercase;margin-top:18px;color:var(--text-3)!important;font-size:13px!important}.hero__scene{grid-area:2/3/4/5;min-height:560px;position:relative}.scene{perspective:1400px;--rx:0deg;--ry:0deg;place-items:center;display:grid;position:absolute;inset:0}.scene__float{width:420px;height:420px;transform-style:preserve-3d;animation:6s ease-in-out infinite float;position:relative}@keyframes float{50%{transform:translateY(-18px)}}.scene__tilt{transform-style:preserve-3d;transform:rotateX(calc(58deg + var(--rx))) rotateZ(calc(-38deg + var(--ry)));transition:transform .6s var(--ease);position:absolute;inset:0}.slab--base{background:linear-gradient(135deg,#2a2a2a,#0b0b0b 70%);border-radius:34px;position:absolute;inset:20px;box-shadow:inset 0 0 0 2px #333,0 1px #444,0 2px #3a3a3a,0 4px #2e2e2e,0 6px #232323,0 10px #1a1a1a,0 16px #111,0 60px 80px #000000e6}.keys{transform-style:preserve-3d;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:18px;display:grid;position:absolute;inset:48px}.key{animation:press 5s var(--ease) infinite;background:linear-gradient(145deg,#3a3a3a,#161616);border-radius:22px;place-items:center;display:grid;position:relative;transform:translateZ(26px);box-shadow:inset 0 0 0 1px #ffffff14,0 2px #2b2b2b,0 5px #202020,0 9px #171717,0 14px #101010,0 24px 30px #000c}.key span{font:700 44px/1 var(--font-mono);color:#fffc;text-shadow:0 0 12px #fff3;transform:rotate(38deg)}.key--a{animation-delay:.4s}.key--b{animation-delay:1.6s}.key--c{animation-delay:2.8s}.key--hot{animation:press-hot 2.4s var(--ease) infinite;background:linear-gradient(145deg,#ff7a3d,#e02d00 60%,#b31d00);box-shadow:inset 0 0 0 1px #ffffff40,0 2px #c42600,0 5px #a51f00,0 9px #861800,0 14px #5e1000,0 0 60px #ff4614b3,0 24px 30px #0009}.key--hot span{color:#fff;text-shadow:0 0 20px #fffc}@keyframes press{0%,12%,to{transform:translateZ(26px)}6%{transform:translateZ(12px)}}@keyframes press-hot{0%,to{transform:translateZ(26px)}50%{transform:translateZ(16px)}}.scene__glow{filter:blur(30px);z-index:-1;background:radial-gradient(closest-side,#ff461459,#0000);width:360px;height:200px;position:absolute;top:58%;left:50%;translate:-50% -50%}@media (width<=991px){.hero__grid{grid-template-rows:auto;grid-template-columns:repeat(2,1fr);min-height:0}.hero__intro{grid-column:1/-1;padding-top:72px}.hero__cta{grid-area:auto/1;margin-top:48px}.hero__bio{grid-area:auto/1/auto/-1;padding-top:32px;padding-right:0}.hero__scene{grid-area:auto/1/auto/-1;min-height:480px}}@media (width<=767px){.hero__cta{grid-column:1/-1}.hero__scene{min-height:380px}.scene__float{width:300px;height:300px}.keys{gap:12px;inset:36px}.key span{font-size:30px}.slab--base{border-radius:26px;inset:14px}}.portrait{height:260vh}.portrait__stage{--p:0;--in:0;--out:0;--text:0;grid-template:1fr/minmax(0,1fr);place-items:center;height:100vh;display:grid;position:sticky;top:0;overflow:hidden}.portrait__stage>*{grid-area:1/1}.portrait__halo{aspect-ratio:1;filter:blur(18px);width:min(120vh,1100px,135vw);opacity:calc(var(--in) * .95 * (1 - var(--out)));transform:translateY(calc((1 - var(--in)) * 8vh)) scale(calc(.5 + var(--in) * .55));will-change:transform, opacity;background:radial-gradient(closest-side,#ff45004d,#ff450012 52%,#0000 70%);border-radius:50%}.portrait__marks{pointer-events:none;width:100%;height:100%;position:relative}.portrait__mark{width:clamp(56px,8vw,120px);height:auto;opacity:calc(var(--in) * .55 * (1 - var(--out)));will-change:transform, opacity;position:absolute}.portrait__mark--1{transform:translateY(calc((.5 - var(--p)) * 180px)) rotate(calc(var(--p) * -14deg));top:16%;left:4%}.portrait__mark--2{transform:translateY(calc((.5 - var(--p)) * 300px)) rotate(calc(var(--p) * 20deg));top:10%;right:6%}.portrait__mark--3{transform:translateY(calc((.5 - var(--p)) * -240px)) rotate(calc(var(--p) * 10deg));bottom:12%;left:9%}.portrait__mark--4{transform:translateY(calc((.5 - var(--p)) * -140px)) rotate(calc(var(--p) * -8deg));bottom:18%;right:4%}.portrait__figure{z-index:2;margin:0}.portrait__img{object-fit:contain;width:auto;height:min(78vh,680px);opacity:calc(var(--in) * (1 - var(--out)));transform:translateY(calc((1 - var(--in)) * 14vh - var(--out) * 12vh)) scale(calc(.88 + var(--in) * .12 + var(--out) * .08));filter:brightness(calc(.3 + var(--in) * .8)) contrast(calc(1.25 - var(--in) * .15)) blur(calc((1 - var(--in)) * 12px));will-change:transform, opacity, filter}.portrait__copy{z-index:1;padding:calc(var(--nav-h) + 32px) 0 72px;opacity:calc(var(--text) * (1 - var(--out)));transform:translateY(calc((1 - var(--text)) * 36px));will-change:transform, opacity;grid-template-rows:auto 1fr auto;align-self:stretch;align-items:center;display:grid}.portrait__copy .section-label{color:var(--text-2);grid-row:1;justify-self:start;margin:0}.portrait__title{text-align:center;font:500 clamp(34px, 9.5vw, 148px) / 1.04 var(--font-sans);letter-spacing:-.05em;text-wrap:balance;color:#ffffffd1;grid-row:2;justify-self:center}.portrait__word{display:inline-block}.portrait__caption{max-width:34ch;font:400 15px/1.5 var(--font-mono);color:var(--text-2);grid-row:3;justify-self:start}.portrait__hint{z-index:3;margin:0 var(--gutter) 72px 0;font:400 12px/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);opacity:calc(1 - var(--in));place-self:end}.portrait__hint:after{content:"";background:linear-gradient(var(--accent), transparent);width:1px;height:40px;margin:12px auto 0;display:block}@media (width<=991px){.portrait{height:220vh}.portrait__img{height:min(62vh,520px)}.portrait__caption{max-width:28ch;font-size:14px}.portrait__mark{width:clamp(52px,9vw,92px)}.portrait__mark--1,.portrait__mark--3{left:1%}.portrait__mark--2,.portrait__mark--4{right:1%}}@media (width<=767px){.portrait{height:190vh}.portrait__img{height:min(52vh,420px)}.portrait__copy{padding-bottom:56px}.portrait__caption{max-width:none;padding-right:20%}.portrait__mark{width:clamp(44px,13vw,72px);opacity:calc(var(--in) * .32 * (1 - var(--out)))}.portrait__mark--1{transform:translateY(calc((.5 - var(--p)) * 90px)) rotate(calc(var(--p) * -14deg));top:13%;left:2%}.portrait__mark--2{transform:translateY(calc((.5 - var(--p)) * 150px)) rotate(calc(var(--p) * 20deg));top:9%;right:3%}.portrait__mark--3{transform:translateY(calc((.5 - var(--p)) * -120px)) rotate(calc(var(--p) * 10deg));bottom:22%;left:3%}.portrait__mark--4{transform:translateY(calc((.5 - var(--p)) * -70px)) rotate(calc(var(--p) * -8deg));bottom:28%;right:2%}.portrait__hint{margin-bottom:48px}}@media (prefers-reduced-motion:reduce){.portrait{height:auto}.portrait__stage{height:auto;min-height:90vh;padding:60px 0;position:static}.portrait__halo,.portrait__mark,.portrait__img,.portrait__copy{opacity:1;transform:none}.portrait__halo{opacity:.8}.portrait__mark{opacity:.4}.portrait__img{filter:none}.portrait__hint{display:none}}.tools__grid{grid-template-columns:repeat(4,1fr);padding-top:60px;display:grid}.tools__head{flex-direction:column;grid-column:1/3;padding:60px 40px 0 0;display:flex}.tools__note{max-width:46ch;font:400 15px/1.6 var(--font-mono);color:var(--text-2);margin-top:28px}.tools__cta{grid-column:1;width:70%;margin-top:auto;padding-top:48px}.tile-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-column:3/5;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;display:grid;position:relative}.tile{aspect-ratio:1;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .4s, opacity .9s var(--ease), transform .9s var(--ease), filter .9s var(--ease);background:0 0;place-items:center;padding-bottom:14px;display:grid;position:relative}.tile:nth-child(4n+4){border-right:0}.tile--alt{background:var(--surface)}.tile--filled{color:#fff;cursor:default}.tile--filled svg{width:34px;height:34px;transition:transform .5s var(--ease), color .3s}.tile--filled:hover{background:var(--surface-2)}.tile--filled:hover svg{color:var(--accent);transform:scale(1.12)rotate(-6deg)}.tile__name{text-align:center;font:400 11px/1.2 var(--font-mono);color:var(--text-3);opacity:1;transition:.35s var(--ease);position:absolute;bottom:10px;left:0;right:0}.tile--filled:hover .tile__name{color:var(--text)}@media (width<=991px){.tools__grid{grid-template-columns:1fr}.tools__head{grid-column:1;padding:20px 0 40px}.tools__cta{width:50%;margin-top:40px}.tile-grid{grid-column:1}}@media (width<=767px){.tools__cta{width:100%}.tile--filled svg{width:28px;height:28px}}.services{margin-top:200px;padding-bottom:160px;overflow:hidden}.services__bg{z-index:-1;opacity:.55;background:radial-gradient(at 50% 0,#0000 0%,#000 75%),repeating-linear-gradient(115deg,#0000 0 180px,#ffffff14 180px 200px,#0000 200px 360px),repeating-linear-gradient(65deg,#0000 0 260px,#ffffff0f 260px 290px,#0000 290px 520px),#070707;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 15% 85%,#0000);mask-image:linear-gradient(#0000,#000 15% 85%,#0000)}.services__bg:after{content:"";mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E");position:absolute;inset:0}.services__grid{grid-template-rows:300px repeat(3,minmax(300px,auto));grid-template-columns:repeat(4,1fr);display:grid}.services__head{text-align:right;grid-area:1/3/auto/5;padding-top:0}.service{border-top:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .45s, opacity .9s var(--ease), transform .9s var(--ease);background:#00000040;flex-direction:column;padding:24px 20px;display:flex;position:relative}.service:before{content:"";background:var(--accent);transform-origin:100%;height:2px;transition:transform .5s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.service:hover{background:#151515e6}.service:hover:before{transform-origin:0;transform:scaleX(1)}.service__cross{top:0;left:0}.service__top{justify-content:space-between;gap:12px;display:flex}.service__title{font:500 clamp(36px, 3.4vw, 48px) / 1 var(--font-sans);letter-spacing:-.03em;color:var(--text-2);max-width:6ch;transition:color .35s}.service:hover .service__title{color:#fff}.service__cat{font:400 14px/1.2 var(--font-mono);color:#fffc;padding-top:6px}.service__desc{font:400 15px/1.4 var(--font-mono);color:var(--text-2);opacity:0;max-height:0;transition:max-height .5s var(--ease), opacity .4s, transform .5s var(--ease);margin-top:16px;overflow:hidden;transform:translateY(8px)}.service:hover .service__desc{opacity:1;max-height:80px;transform:none}.service__tags{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:24px;display:flex}.service__tags li{color:#bbb;border:1px solid var(--line-strong);background:#0006;padding:7px 12px;font-size:14px;transition:border-color .3s,color .3s}.service:hover .service__tags li{border-color:var(--accent);color:#fff}@media (width<=991px){.services{margin-top:120px;padding-bottom:80px}.services__grid{grid-template-rows:auto;grid-template-columns:1fr 1fr}.services__head{text-align:left;grid-column:1/-1;padding-bottom:48px}.service{min-height:280px;grid-area:auto!important}.service__desc{opacity:1;max-height:none;transform:none}}@media (width<=767px){.services__grid{grid-template-columns:1fr}.service{min-height:240px}}.exp{padding-top:180px}.exp__head{padding-bottom:56px}.exp__list{border-top:1px solid var(--line)}.exp__item{border-bottom:1px solid var(--line);transition:background .45s, opacity .9s var(--ease), transform .9s var(--ease);grid-template-columns:1fr 3fr;align-items:start;gap:0 32px;padding:44px 0 40px;display:grid;position:relative}.exp__item:hover{background:var(--surface)}.exp__cross{top:0;left:0}.exp__period{font:400 13px/1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:10px;padding:8px 0 0 20px;display:flex}.exp__now{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px;animation:2.4s ease-in-out infinite exp-pulse}@keyframes exp-pulse{50%{opacity:.25;transform:scale(.7)}}.exp__role{font:500 clamp(22px, 2.2vw, 30px) / 1.2 var(--font-sans);letter-spacing:-.02em}.exp__company{font:400 15px/1.4 var(--font-mono);color:var(--accent);margin-top:6px}.exp__bullets{gap:10px;margin-top:20px;display:grid}.exp__bullets li{font:400 15px/1.55 var(--font-mono);color:var(--text-2);max-width:68ch;padding-left:22px;position:relative}.exp__bullets li:before{content:"";background:var(--line-strong);width:8px;height:1px;position:absolute;top:.62em;left:0}.exp__item:hover .exp__bullets li:before{background:var(--accent)}.exp__edu{grid-template-columns:1fr 3fr;gap:0 32px;padding:44px 0 0;display:grid}.exp__edu-key{font:400 13px/1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);padding-left:20px}.exp__edu-detail{font:400 15px/1.55 var(--font-mono);color:var(--text-2);max-width:68ch;margin-top:14px}@media (width<=991px){.exp{padding-top:110px}.exp__head{padding-bottom:36px}.exp__item,.exp__edu{grid-template-columns:1fr;gap:14px}.exp__period,.exp__edu-key{padding-left:0}.exp__item{padding:32px 0 30px}}@media (width<=767px){.exp__bullets li,.exp__edu-detail{font-size:14px}}.work{padding-top:220px}.work__head{padding-bottom:24px}.work__stage{aspect-ratio:1000/560;outline:none;position:relative;overflow:hidden}.work__track{height:100%;transition:transform .9s var(--ease);display:flex}.work__slide{flex:0 0 100%;height:100%;overflow:hidden}.cover{width:100%;height:100%;transition:transform 1.2s var(--ease)}.work__slide:hover .cover{transform:scale(1.04)}.work__shade{pointer-events:none;opacity:calc(.75 - var(--p) * .75);background:#000;position:absolute;inset:0}.work__bar{border-bottom:1px solid var(--line);grid-template-columns:1fr 2fr 1fr;align-items:stretch;display:grid}.work__btn{place-items:center;height:56px;transition:background .3s,color .3s;display:grid}.work__btn:hover{background:var(--accent);color:#000}.work__btn svg{transition:transform .4s var(--ease)}.work__btn:first-child:hover svg{transform:translate(-6px)}.work__btn:last-child:hover svg{transform:translate(6px)}.work__titles{position:relative;overflow:hidden}.work__title{text-align:center;font:400 clamp(22px, 2.6vw, 36px) / 1 var(--font-mono);color:var(--text-2);opacity:0;transition:.6s var(--ease);place-items:center;display:grid;position:absolute;inset:0;transform:translateY(100%)}.work__title.is-active{opacity:1;transform:none}.work__dots{justify-content:center;gap:8px;padding:18px 0;display:flex}.work__dots button{background:var(--line-strong);width:22px;height:3px;transition:.4s var(--ease);padding:0}.work__dots button.is-active{background:var(--accent);width:44px}.work__detail{border-top:1px solid var(--line);grid-template-columns:3fr 2fr;gap:32px;padding:36px 0 0;display:grid}.work__cat{font:400 12px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);padding-bottom:12px}.work__summary{font:400 16px/1.6 var(--font-mono);color:var(--text-2);max-width:70ch}.work__visit{font:400 14px/1 var(--font-mono);color:var(--text);border-bottom:1px solid var(--line-strong);margin-top:16px;padding-bottom:4px;transition:color .3s,border-color .3s;display:inline-block}.work__visit:hover{color:var(--accent);border-color:var(--accent)}.work__stack{flex-wrap:wrap;align-content:flex-start;gap:8px;display:flex}.work__stack li{font:400 13px/1 var(--font-mono);color:#ddd;border:1px solid var(--line-strong);padding:8px 12px;transition:border-color .3s,color .3s}.work__stack li:hover{border-color:var(--accent);color:#fff}@media (width<=991px){.work{padding-top:120px}.work__detail{grid-template-columns:1fr;gap:20px}}@media (width<=767px){.work__stage{aspect-ratio:4/3}.work__bar{grid-template-columns:56px 1fr 56px}}.contact{padding-top:300px;padding-bottom:160px}.contact__grid{grid-template-columns:repeat(4,1fr);display:grid}.contact__head{border-bottom:1px solid var(--line);grid-column:2/4;padding:60px 80px 70px;position:relative}.contact__head .heading{font-size:clamp(32px,3vw,42px);line-height:1.2}.contact__panel{background:#070707;grid-column:2/4;position:relative;overflow:hidden}.contact__art{pointer-events:none;position:absolute;inset:0}.contact__art span{filter:blur(18px);opacity:.55;background:linear-gradient(#0000,#ff5a1fcc,#0000);border-radius:40px;width:70px;height:80%;animation:9s ease-in-out infinite alternate drift;position:absolute;top:-10%}.contact__art span:first-child{width:40px;left:55%}.contact__art span:nth-child(2){animation-delay:-3s;left:68%}.contact__art span:nth-child(3){opacity:.8;width:110px;animation-delay:-5s;left:88%}.contact__art span:nth-child(4){opacity:.25;width:60px;animation-delay:-1s;top:70%;left:20%}@keyframes drift{to{transform:translate(-30px,60px)scaleY(1.15)}}.contact__art:after{content:"";background:linear-gradient(90deg,#070707f2 0%,#070707b3 60%,#0707074d);position:absolute;inset:0}.form{z-index:1;gap:40px;padding:56px 58px 64px;display:grid;position:relative}.field{gap:8px;display:grid}.field label{font-size:14px;font-weight:500}.req{color:var(--danger)}.field input,.field textarea{color:#fff;border:0;border-bottom:1px solid var(--line-strong);width:100%;font:400 18px/1.4 var(--font-mono);resize:vertical;background:0 0;background-image:linear-gradient(var(--accent), var(--accent));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;outline:none;padding:6px 0 10px;transition:border-color .35s}.field input:focus,.field textarea:focus{transition:background-size .6s var(--ease);background-size:100% 1px}.field input::placeholder,.field textarea::placeholder{color:var(--text-3)}.field small{color:var(--danger);font:400 13px/1.2 var(--font-mono)}.field--error input,.field--error textarea{border-color:var(--danger)}.form-msg{font-family:var(--font-mono)}.form-msg--err{color:var(--danger)}.form-msg--ok{z-index:1;animation:rise-in .7s var(--ease);justify-items:start;gap:28px;padding:80px 58px;font-size:20px;display:grid;position:relative}@keyframes rise-in{0%{opacity:0;transform:translateY(20px)}}@media (width<=991px){.contact{padding-top:140px;padding-bottom:100px}.contact__grid{grid-template-columns:1fr}.contact__head,.contact__panel{grid-column:1}.contact__head{padding:40px 0}}@media (width<=767px){.form{gap:30px;padding:40px 20px}.form-msg--ok{padding:60px 20px}}.footer{z-index:1;position:relative}.footer__top,.footer__contact{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.footer__top{padding:60px 0 40px}.footer__contact{padding:40px 0 0}.footer__brand{grid-column:1/3;padding-left:24px}.footer__col{grid-column:3/5;grid-template-columns:1fr 1fr;display:grid}.footer__contact>div:first-child{grid-column:1/3}.footer__key{font:400 18px/1.2 var(--font-mono);color:#8a8a8a;text-transform:uppercase}.footer__col ul{gap:10px;display:grid}.footer__link{font:400 18px/1.2 var(--font-mono);color:#e5e5e5;text-transform:uppercase;background:linear-gradient(var(--accent), var(--accent)) left bottom / 0 1px no-repeat;transition:background-size .4s var(--ease), color .3s}.footer__contact .footer__link{text-transform:none}.footer__link:hover{color:var(--accent);background-size:100% 1px}.footer__bottom{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);align-items:end;margin-top:20px;display:grid;position:relative}.footer__name{font:500 clamp(56px, 8vw, 120px) / 1 var(--font-sans);letter-spacing:-.04em;white-space:nowrap;grid-area:1/1/auto/3;padding:0 0 36px 24px}.footer__social-key{text-align:center;color:#fff;grid-area:1/3;align-self:start;padding-top:24px;font-size:16px}.social-grid{border-left:1px solid var(--line);border-top:1px solid var(--line);grid-area:1/4;grid-template-columns:repeat(4,1fr);display:grid;position:relative}.social-cell{aspect-ratio:1;place-items:center;display:grid}.social-cell--alt{background:var(--surface)}.social-cell--link{background:#1a1a1a;transition:background .3s,color .3s}.social-cell--link svg{transition:transform .4s var(--ease)}.social-cell--link:hover{background:var(--accent);color:#000}.social-cell--link:hover svg{transform:scale(1.2)}.footer__legal{justify-content:space-between;align-items:center;gap:16px;padding:18px 0 28px;font-size:14px;display:flex}.footer__top-btn{font:400 16px/1 var(--font-mono);text-transform:uppercase;align-items:center;gap:8px;display:inline-flex}.footer__top-btn svg{transition:transform .4s var(--ease)}.footer__top-btn:hover{color:var(--accent)}.footer__top-btn:hover svg{transform:translateY(-4px)}@media (width<=991px){.footer__top,.footer__contact{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1;padding:0 0 32px}.footer__col{grid-column:1/-1}.footer__contact>div:first-child{display:none}.footer__bottom{grid-template-columns:1fr 1fr}.footer__name{grid-column:1/-1;padding:40px 0 24px}.footer__social-key{text-align:left;grid-area:2/1;padding-top:16px}.social-grid{grid-area:2/2}}@media (width<=767px){.footer__col{grid-template-columns:1fr;gap:16px}.footer__legal{flex-direction:column;align-items:flex-start}.footer__key,.footer__link{font-size:16px}}
