@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-cyrillic-ext-wght-normal-okcGN4Nq.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-cyrillic-wght-normal-BS41q_Tv.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-greek-ext-wght-normal-DQgQPNk4.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-greek-wght-normal-sS1B39LI.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-vietnamese-wght-normal-TKKdAiBA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-latin-ext-wght-normal-B4u9PlvR.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-latin-wght-normal-DX-nOvPD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-ext-400-normal-C_uLvvQ5.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-400-normal-Bh0R7Dhr.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-vietnamese-400-normal-ByoDsISC.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#0b0b0c;--ink-3:#1f1f22;--paper:#f2f1ed;--white:#fff;--muted:#8b8a85;--muted-dark:#6b6a66;--accent:#ff4a1c;--line-dark:#ffffff1a;--line-light:#0b0b0c1a;--font-display:"Inter Tight Variable", "Inter Tight", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--gutter:clamp(16px, 3.2vw, 48px);--maxw:1440px;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{background:var(--paper);color:var(--ink);font-family:var(--font-display);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5;overflow-x:clip}body.is-loading{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img,svg,canvas{display:block}::selection{background:var(--accent);color:var(--white)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{width:100%;max-width:var(--maxw);padding:0 var(--gutter);margin:0 auto}.mono{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.dim{color:var(--muted)}.section{padding:clamp(80px,12vw,160px) 0;position:relative}.section--dark{background:var(--ink);color:var(--paper)}.label-row{border-bottom:1px solid var(--line-light);justify-content:space-between;align-items:center;margin-bottom:clamp(40px,6vw,72px);padding-bottom:18px;display:flex}.section--dark .label-row{border-color:var(--line-dark)}.chip{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;background:var(--white);border:1px solid var(--line-light);border-radius:4px;align-items:center;gap:8px;padding:6px 10px;font-size:11px;display:inline-flex}.section--dark .chip{background:var(--ink-3);border-color:var(--line-dark)}.dot{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.dot--live{background:#3ddc84;animation:2s infinite pulse;box-shadow:0 0 #3ddc8499}@keyframes pulse{70%{box-shadow:0 0 0 8px #3ddc8400}to{box-shadow:0 0 #3ddc8400}}.display{letter-spacing:-.045em;text-transform:uppercase;margin:0;font-weight:800;line-height:.9}.h-xl{font-size:clamp(44px,8.4vw,132px)}.h-md{font-size:clamp(28px,3.4vw,52px)}.btn{background:var(--ink);height:46px;color:var(--paper);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;transition:background .3s var(--ease);border-radius:6px;align-items:center;gap:12px;padding:0 6px 0 18px;font-size:12px;display:inline-flex}.btn__arrow{background:var(--accent);width:34px;height:34px;color:var(--white);transition:transform .4s var(--ease);border-radius:4px;place-items:center;display:grid}.btn:hover .btn__arrow{transform:rotate(-45deg)}.btn--light{background:var(--paper);color:var(--ink)}.section-title{margin-bottom:clamp(40px,6vw,80px)}.line-mask{margin-bottom:-.06em;padding-bottom:.06em;display:block;overflow:hidden}.line-mask>span{display:block}@keyframes revealUp{0%{opacity:0;translate:0 40px}}@keyframes lineUp{0%{translate:0 110%}}@keyframes fadeUp{0%{opacity:0;translate:0 20px}}@keyframes fadeIn{0%{opacity:0}}.reveal-on [data-reveal]:not([data-revealed]){opacity:0}.reveal-on [data-reveal][data-revealed]{animation:revealUp 1s var(--ease) both}.reveal-on [data-lines] .line-mask>span{translate:0 110%}.reveal-on [data-lines][data-revealed] .line-mask>span{animation:lineUp 1.1s var(--ease) both;translate:none}.reveal-on [data-lines][data-revealed] .line-mask:nth-child(2)>span{animation-delay:80ms}.reveal-on [data-lines][data-revealed] .line-mask:nth-child(3)>span{animation-delay:.16s}.loader{z-index:100;pointer-events:all;position:fixed;top:0;bottom:0;left:0;right:0}.loader__panel{position:absolute;top:0;bottom:0;left:0;right:0}.loader__panel--accent{background:var(--accent)}.loader__panel--ink{background:var(--ink);color:var(--paper);padding:var(--gutter);flex-direction:column;justify-content:space-between;display:flex;overflow:hidden}.loader__grid{will-change:transform;background-image:radial-gradient(#ffffff17 1px,#0000 1px);background-size:28px 28px;animation:12s linear infinite loaderDrift;position:absolute;top:-28px;bottom:-28px;left:-28px;right:-28px;-webkit-mask-image:radial-gradient(#000 20%,#0000 75%);mask-image:radial-gradient(#000 20%,#0000 75%)}@keyframes loaderDrift{to{transform:translate(28px,28px)}}.loader__scan{pointer-events:none;will-change:transform;background:linear-gradient(#0000,#ff4a1c12 70%,#ff4a1c59 99%,#0000);height:30vh;animation:2.4s cubic-bezier(.5,0,.5,1) infinite loaderScan;position:absolute;top:-30vh;left:0;right:0}@keyframes loaderScan{to{transform:translateY(160vh)}}.loader__glow{opacity:.25;pointer-events:none;will-change:opacity;background:radial-gradient(closest-side,#ff4a1c80,#ff4a1c24 50%,#ff4a1c0a 75%,#0000);width:120vw;height:90vh;position:absolute;bottom:-45vh;left:50%;transform:translate(-50%)}.loader__top{grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:relative}.loader__top>:last-child{justify-self:end}.loader__brand{font-family:var(--font-display);letter-spacing:-.03em;text-transform:none;font-size:18px;font-weight:800}.loader__brand sup{font-size:10px}.loader__center{text-align:center;justify-items:center;gap:18px;display:grid;position:relative}.loader__status{color:#9d9c96;align-items:center;gap:6px;margin:0;display:inline-flex}.loader__prompt{color:var(--accent)}.loader__caret{background:var(--accent);width:7px;height:13px;animation:.9s step-end infinite blink}@keyframes blink{50%{opacity:0}}.loader__name{text-transform:uppercase;letter-spacing:-.05em;flex-wrap:wrap;justify-content:center;margin:0;font-size:clamp(56px,12.5vw,210px);font-weight:800;line-height:.9;display:flex}.loader__letter{color:#ff4a1c8c;min-width:.28em;transition:color .35s var(--ease);white-space:pre;display:inline-block}.loader__letter.is-locked{color:var(--paper)}.loader__bottom{justify-content:space-between;align-items:flex-end;gap:32px;display:flex;position:relative}.loader__bar{flex:1;gap:12px;max-width:560px;display:grid}.loader__ticks{grid-template-columns:repeat(36,1fr);gap:4px;display:grid}.loader__ticks span{height:18px;transition:background .25s, transform .25s var(--ease);background:#ffffff14;border-radius:2px}.loader__ticks span.is-on{background:var(--accent);transform:scaleY(1.25)}.loader__bar-labels{justify-content:space-between;display:flex}.loader__pct{letter-spacing:-.06em;font-variant-numeric:tabular-nums;align-items:flex-start;font-size:clamp(80px,13vw,200px);font-weight:800;line-height:.8;display:flex;position:relative}.loader__pct-outline{color:#0000;-webkit-text-stroke:1.5px #ffffff59}.loader__pct-fill{color:var(--accent);clip-path:inset(100% 0 0);position:absolute;top:0;left:0}.loader__pct-sign{color:var(--accent);letter-spacing:0;margin:.12em 0 0 .08em;font-size:.28em}@media (max-width:700px){.loader__hide-sm{display:none}.loader__top{grid-template-columns:1fr 1fr}.loader__bottom{flex-direction:column-reverse;align-items:stretch}.loader__pct{align-self:flex-end}}.nav{z-index:50;color:var(--white);mix-blend-mode:difference;position:fixed;top:0;left:0;right:0}.nav__inner{grid-template-columns:1fr auto 1fr;align-items:center;height:72px;display:grid}.nav__logo{letter-spacing:-.03em;font-size:18px;font-weight:800}.nav__logo sup{font-size:10px}.nav__links{gap:clamp(20px,3vw,44px);display:flex}.nav__links a{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-size:12px;position:relative}.nav__links a:after{content:"";transform-origin:100%;width:100%;height:1px;transition:transform .4s var(--ease);background:currentColor;position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.nav__links a:hover:after{transform-origin:0;transform:scaleX(1)}.nav__right{justify-content:flex-end;align-items:center;gap:24px;display:flex}.nav__clock{font-variant-numeric:tabular-nums}.nav__burger{place-content:center;gap:6px;width:44px;height:44px;margin-right:-6px;display:grid}.nav__burger span{width:26px;height:1.5px;transition:transform .4s var(--ease);background:currentColor;display:block}.nav__burger:hover span:last-child{transform:translate(-6px)}.menu{z-index:60;background:var(--ink);color:var(--paper);clip-path:inset(0 0 100%);transition:clip-path .8s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.menu.is-open{clip-path:inset(0)}.menu__head{justify-content:space-between;align-items:center;height:72px;display:flex}.menu__body{flex:1;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;display:grid}.menu__links{margin:0;padding:0;list-style:none}.menu__links li{border-bottom:1px solid var(--line-dark);overflow:hidden}.menu__links a{text-transform:uppercase;letter-spacing:-.04em;transition:transform .8s var(--ease), color .3s;justify-content:space-between;align-items:center;font-size:clamp(40px,7vw,96px);font-weight:800;line-height:1.05;display:flex;transform:translateY(100%)}.menu.is-open .menu__links a{transform:none}.menu__links li:nth-child(2) a{transition-delay:50ms}.menu__links li:nth-child(3) a{transition-delay:.1s}.menu__links li:nth-child(4) a{transition-delay:.15s}.menu__links li:nth-child(5) a{transition-delay:.2s}.menu__links a:hover{color:var(--accent)}.menu__links a span{transition:transform .4s var(--ease);font-size:.5em;font-weight:300}.menu__links a:hover span{transform:rotate(90deg)}.menu__aside{align-self:end;gap:28px;padding-bottom:48px;display:grid}.menu__aside a:hover{color:var(--accent)}.menu__email{font-size:20px;display:block}.menu__socials{gap:20px;display:flex}.stage{background:var(--ink);color:var(--paper);position:relative}.stage__canvas{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.stage__sticky{height:100svh;position:sticky;top:0;overflow:hidden}.stage__sticky canvas{opacity:0;transition:opacity 1.2s var(--ease)}.stage__sticky.is-ready canvas{opacity:1}.hero{height:100svh;min-height:640px;position:relative;overflow:hidden}.hero__grid{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.hero__grid .wrap{grid-template-columns:repeat(4,1fr);height:100%;display:grid;position:relative}.hero__grid .col{border-left:1px solid var(--line-dark);position:relative}.hero__grid .col:last-child{border-right:1px solid var(--line-dark)}.hero__grid .plus{color:#ffffff59;width:11px;height:11px;position:absolute;left:-6px}.hero__ghost{text-align:center;letter-spacing:-.05em;text-transform:uppercase;color:#0000;-webkit-text-stroke:1px #ffffff12;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:21vw;font-weight:800;line-height:.8;position:absolute;top:76px;left:0;right:0}.hero__fallback{aspect-ratio:1;background:radial-gradient(circle at 50% 45%,#ff4a1c59,#0000 62%);border-radius:50%;width:min(46vw,520px);position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.hero__content{z-index:2;pointer-events:none;flex-direction:column;justify-content:flex-end;height:100%;padding-top:120px;padding-bottom:clamp(20px,3vw,36px);display:flex;position:relative}.hero__content a,.hero__content button{pointer-events:auto}.hero__bottom{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.hero__name{letter-spacing:-.055em;text-transform:uppercase;margin:0;font-size:clamp(64px,15.5vw,250px);font-weight:800;line-height:.8}.hero__name small{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);margin:0 0 18px 6px;font-size:12px;font-weight:400;display:block}.hero__talk{background:var(--paper);color:var(--ink);border-radius:8px;align-items:center;gap:12px;min-width:250px;margin-bottom:10px;padding:10px;display:flex}.hero__talk-avatar{background:var(--ink);width:48px;height:48px;color:var(--accent);border-radius:6px;place-items:center;font-weight:800;display:grid}.hero__talk strong{letter-spacing:-.02em;font-size:15px;display:block}.hero__talk-status{align-items:center;gap:6px;display:flex}.hero__talk .btn__arrow{margin-left:auto}.hero__talk:hover .btn__arrow{transform:rotate(-45deg)}.hero:not(.is-started) .hero__name .line-mask>span{translate:0 110%}.hero:not(.is-started) .hero__fade,.hero:not(.is-started) .hero__ghost{opacity:0}.hero.is-started .hero__name .line-mask>span{animation:lineUp 1.3s var(--ease) both}.hero.is-started .hero__name .line-mask:last-child>span{animation-delay:80ms}.hero.is-started .hero__fade{animation:fadeUp 1s var(--ease) .2s both}.hero.is-started .hero__talk.hero__fade{animation-delay:.28s}.hero.is-started .hero__ghost{animation:fadeIn 2s var(--ease) both}.marquee{border-bottom:1px solid var(--line-light);background:var(--paper)}.marquee__inner{grid-template-columns:180px 1fr;align-items:center;height:96px;display:grid}.marquee__track{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee__list{width:max-content;animation:32s linear infinite marquee;display:flex}.marquee__list span{letter-spacing:-.03em;color:var(--muted-dark);white-space:nowrap;align-items:center;gap:40px;padding:0 40px;font-size:22px;font-weight:700;display:inline-flex}.marquee__list span:after{content:"✳";color:var(--accent);font-size:16px}@keyframes marquee{to{transform:translate(-50%)}}.about{align-items:center;min-height:100svh;padding:110px 0 clamp(48px,6vw,80px);display:flex;position:relative}.about .label-row{border-color:var(--line-dark);margin-bottom:clamp(28px,4vw,48px)}.about .chip{background:var(--ink-3);border-color:var(--line-dark);color:var(--paper)}.about__col{justify-items:start;gap:24px;max-width:560px;display:grid}.about__headline{color:#cfcdc6;letter-spacing:-.035em;margin:0;font-weight:500;line-height:1}.rt-hl{background:linear-gradient(100deg, var(--accent) 0%, #ffb54a 30%, var(--accent) 60%, #ff7a4d 100%);color:#0000;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;font-weight:800;animation:6s linear infinite rtShimmer}@keyframes rtShimmer{to{background-position:-220% 0}}.rt-dim{color:#5f5e59}.rt-strike{color:#6d6c67;white-space:nowrap;position:relative}.rt-strike:after{content:"";background:var(--accent);transform-origin:0;height:.09em;transition:transform .9s var(--ease) .5s;border-radius:1em;position:absolute;top:52%;left:-2%;right:-2%;transform:scaleX(0)}.is-in .rt-strike:after{transform:scaleX(1)}.about__body{color:#a3a29c;max-width:460px;margin:0;font-size:17px;line-height:1.6}.about__steps-label{margin:8px 0 -8px}.steps{grid-template-columns:repeat(2,1fr);gap:10px;width:100%;margin:0;padding:0;list-style:none;display:grid}.step{border:1px solid var(--line-dark);background:#141417b8;border-radius:8px;align-content:start;gap:6px;padding:16px 18px;display:grid}.step__num{color:var(--accent)}.step__title{letter-spacing:-.03em;font-size:22px;font-weight:700;line-height:1.1}.step__text{color:#9d9c96;font-size:14px;line-height:1.45}.step--accent{background:var(--accent);border-color:var(--accent)}.step--accent .step__num,.step--accent .step__text{color:#ffffffd9}.service{border-bottom:1px solid var(--line-light);grid-template-columns:80px 1fr 1.05fr 1.15fr;align-items:start;gap:clamp(20px,3vw,48px);padding:clamp(32px,4.5vw,56px) 0;display:grid}.service:first-of-type{border-top:1px solid var(--line-light)}.service__num{align-items:center;gap:8px;padding-top:10px;display:flex}.service__title{color:var(--accent)}.service__body{gap:18px;display:grid}.service__blurb{color:var(--muted-dark);max-width:420px;margin:0}.service__visual{aspect-ratio:16/10;transition:transform .6s var(--ease), box-shadow .6s var(--ease);background:#0f0f11;border-radius:12px;overflow:hidden;box-shadow:0 24px 60px -28px #0000008c,inset 0 0 0 1px #ffffff0a}.service:hover .service__visual{transform:translateY(-4px);box-shadow:0 34px 70px -28px #ff4a1c59,inset 0 0 0 1px #ff4a1c40}.service__visual svg{width:100%;height:100%}.svc-flow{animation:1.1s linear infinite svcFlow}@keyframes svcFlow{to{stroke-dashoffset:-32px}}.svc-spin{animation:3.2s linear infinite svcSpin}@keyframes svcSpin{to{transform:rotate(360deg)}}.svc-packet{filter:drop-shadow(0 0 4px #ff4a1ce6)}.svc-draw{stroke-dasharray:420;animation:svcDraw 4s var(--ease) infinite}@keyframes svcDraw{0%{stroke-dashoffset:420px}70%,to{stroke-dashoffset:0}}.svc-fade{animation:4s infinite svcFade}@keyframes svcFade{0%,20%{opacity:0}70%,to{opacity:1}}svg.is-paused *,svg.is-paused{animation-play-state:paused!important}.svc-steps{text-transform:uppercase;letter-spacing:.06em;grid-template-columns:repeat(3,1fr);max-width:420px;margin:0;padding:0;font-size:10.5px;list-style:none;display:grid;position:relative}.svc-steps:before{content:"";background:repeating-linear-gradient(90deg, var(--accent) 0 6px, transparent 6px 12px);opacity:.45;transform-origin:0;height:2px;transition:transform .9s var(--ease) .2s;animation:.8s linear infinite stepDash;position:absolute;top:16px;left:16.6667%;right:16.6667%;transform:scaleX(0)}@keyframes stepDash{to{background-position:12px 0}}.is-in .svc-steps:before{transform:scaleX(1)}.svc-steps li{z-index:1;text-align:center;color:var(--ink);opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease);transition-delay:calc(var(--i) * .15s + .1s);flex-direction:column;align-items:center;gap:10px;display:flex;position:relative;transform:translateY(8px)}.svc-steps li span{background:var(--ink);width:34px;height:34px;color:var(--paper);letter-spacing:0;box-shadow:0 0 0 5px var(--paper);animation:stepTurn 3.6s var(--ease) infinite;animation-delay:calc(var(--i) * 1.2s);border-radius:50%;place-items:center;font-size:10px;display:grid}@keyframes stepTurn{0%,30%{background:var(--accent);box-shadow:0 0 0 5px var(--paper), 0 0 0 9px #ff4a1c33;transform:scale(1.12)}36%,to{background:var(--ink);box-shadow:0 0 0 5px var(--paper);transform:none}}.is-in .svc-steps li{opacity:1;transform:none}.tools{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tool{--c:var(--accent);background:var(--white);border:1px solid var(--line-light);font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink);opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease), border-color .3s, box-shadow .3s;transition-delay:calc(var(--i) * 60ms + .25s), calc(var(--i) * 60ms + .25s), 0s, 0s;border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 5px;font-size:11px;display:inline-flex;position:relative;overflow:hidden;transform:translateY(10px)scale(.96)}.tool:before{content:"";background:var(--c);opacity:0;transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.tool__icon{background:var(--paper);width:24px;height:24px;color:var(--ink);transition:transform .4s var(--ease);border-radius:50%;place-items:center;display:grid;position:relative}.is-in .tool{opacity:1;transform:none}.tool:hover{border-color:var(--c);box-shadow:0 6px 18px -8px var(--c);transition-delay:0s;transform:translateY(-2px)}.tool:hover:before{opacity:.08}.tool:hover .tool__icon{transform:rotate(-10deg)scale(1.1)}.tool-icon{display:block}.stack{background:var(--ink);height:100svh;min-height:620px;color:var(--paper);position:relative;overflow:hidden}.stack__head{z-index:2;pointer-events:none;padding-top:clamp(64px,9vw,120px);position:absolute;top:0;bottom:auto;left:0;right:0}.stack__title{text-align:center;font-size:clamp(56px,11vw,180px)}.stack__title em{color:var(--accent);font-style:normal}.stack__hint{z-index:2;text-align:center;pointer-events:none;position:absolute;bottom:28px;left:0;right:0}.stack__canvas{position:absolute;top:0;bottom:0;left:0;right:0}.stack__fallback{padding:200px var(--gutter) 80px;flex-wrap:wrap;place-content:center;gap:12px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.projects{gap:clamp(72px,10vw,150px);display:grid}.project{--glow:var(--accent);grid-template-columns:1.55fr 1fr;align-items:center;gap:clamp(28px,4.5vw,72px);display:grid}.project--flip .project__screen{order:2}.project{scroll-margin-top:110px}.project:target .project__screen{animation:projectPing 1.6s var(--ease) .5s 2}@keyframes projectPing{50%{box-shadow:0 0 0 6px var(--glow), 0 60px 120px -30px var(--glow)}}.project__screen{transform:perspective(1400px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s var(--ease), box-shadow .6s var(--ease);box-shadow:0 50px 100px -50px var(--glow), 0 30px 60px -40px #0000008c;border-radius:16px;position:relative;overflow:hidden}.project__screen:hover{will-change:transform}.project__screen:after{content:"";pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,0%), #ffffff24, transparent 45%);opacity:0;transition:opacity .4s;position:absolute;top:0;bottom:0;left:0;right:0}.project__screen:hover:after{opacity:1}.project:hover .project__screen{box-shadow:0 60px 120px -40px var(--glow), 0 30px 60px -40px #0000008c}.monitor{width:100%;height:auto;display:block}.monitor__bias{animation:5s ease-in-out infinite biasBreathe}@keyframes biasBreathe{0%,to{opacity:.6}50%{opacity:1}}.monitor__screen{transform-box:fill-box;transform-origin:50%}.monitor.is-off .monitor__screen{opacity:0}.monitor.is-on .monitor__screen{animation:monitorOn 1.1s var(--ease) both}@keyframes monitorOn{0%{opacity:0;filter:brightness(4);transform:scale(.5,.006)}35%{opacity:1;filter:brightness(4);transform:scaleY(.006)}to{opacity:1;filter:none;transform:none}}.monitor__sweep{animation:7s ease-in-out infinite monitorSweep}@keyframes monitorSweep{0%,60%{transform:translate(0)}to{transform:translate(900px)}}.project__info{justify-items:start;gap:18px;display:grid}.project__meta{align-items:center;gap:18px;display:flex}.project__index{letter-spacing:-.06em;color:#0000;-webkit-text-stroke:1.5px var(--glow);background:linear-gradient(0deg, var(--glow) 50%, transparent 50%) 0 0 / 100% 200% no-repeat;transition:background-position .8s var(--ease);-webkit-background-clip:text;background-clip:text;font-size:clamp(56px,6.5vw,104px);font-weight:800;line-height:.8}.project:hover .project__index{background-position:0 100%}.project__cat{border:1px solid var(--line-light);background:var(--white);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:11px;display:inline-flex}.project__title{letter-spacing:-.04em;background:linear-gradient(var(--glow), var(--glow)) left 100% / 0 3px no-repeat;transition:background-size .7s var(--ease);margin:0;padding-bottom:6px;font-size:clamp(26px,2.6vw,40px);font-weight:800;line-height:1.02}.project:hover .project__title{background-size:100% 3px}.project__summary{color:var(--muted-dark);max-width:460px;margin:0}.project__built{margin-bottom:-6px}@property --tq-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.tq-section{padding-top:0}.tq{margin:0}.tq__card{isolation:isolate;background:var(--ink);color:var(--paper);box-shadow:inset 0 0 0 1px var(--line-dark), 0 50px 100px -50px #ff4a1c73;border-radius:24px;padding:clamp(28px,5vw,64px);position:relative;overflow:hidden}.tq__card:before{content:"";z-index:2;pointer-events:none;border-radius:inherit;background:conic-gradient(from var(--tq-angle), transparent 0 58%, var(--accent) 74%, #ffb54a 84%, transparent 94%);-webkit-mask-composite:xor;padding:1.5px;animation:6s linear infinite tqSpin;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes tqSpin{to{--tq-angle:360deg}}.tq__card:after{content:"";z-index:-1;aspect-ratio:1;background:radial-gradient(closest-side,#ff4a1c47,#0000);border-radius:50%;width:60%;animation:14s ease-in-out infinite alternate tqDrift;position:absolute;top:-30%;right:-15%}@keyframes tqDrift{to{transform:translate(-45%,35%)scale(1.2)}}.tq__glow{z-index:-1;pointer-events:none;background:radial-gradient(520px circle at var(--mx,75%) var(--my,15%), #ff4a1c24, transparent 60%), radial-gradient(#ffffff12 1px, transparent 1px) 0 0 / 26px 26px;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000,#00000080);mask-image:linear-gradient(#000,#00000080)}.tq__mark{opacity:0;width:clamp(46px,5.5vw,76px);height:auto;transition:transform .9s var(--ease), opacity .6s;transform:scale(.4)rotate(-12deg)}.is-in .tq__mark{opacity:1;animation:5s ease-in-out 1s infinite tqFloat;transform:none}@keyframes tqFloat{50%{transform:translateY(-6px)rotate(-3deg)}}.tq__quote{letter-spacing:-.03em;max-width:1080px;margin:24px 0 40px;font-size:clamp(24px,3.1vw,46px);font-weight:600;line-height:1.16}.tq-word{white-space:pre;opacity:0;filter:blur(8px);transition:opacity .6s var(--ease), filter .6s var(--ease), transform .6s var(--ease);transition-delay:calc(var(--i) * 35ms + .25s);display:inline-block;transform:translateY(14px)}.tq-word--hl{background:linear-gradient(100deg, var(--accent), #ffb54a);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:800}.is-in .tq-word{opacity:1;filter:none;transform:none}.tq__who{border-top:1px solid var(--line-dark);opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transition-delay:calc(var(--n) * 35ms + .4s);grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding-top:28px;display:grid;transform:translateY(14px)}.is-in .tq__who{opacity:1;transform:none}.tq__avatar{place-items:center;width:76px;height:76px;display:grid;position:relative}.tq__avatar img{object-fit:cover;width:60px;height:60px;box-shadow:0 0 0 3px var(--ink);border-radius:50%}.tq__ring{width:100%;height:100%;animation:12s linear infinite svcSpin;position:absolute;top:0;bottom:0;left:0;right:0}.tq__ring circle{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:5 7;stroke-linecap:round}.tq__badge{width:20px;height:20px;color:var(--ink);box-shadow:0 0 0 3px var(--ink);background:#3ddc84;border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid;position:absolute;bottom:4px;right:4px}.tq__id{gap:4px;display:grid}.tq__id strong{letter-spacing:-.02em;font-size:clamp(18px,1.6vw,22px)}.tq__side{justify-items:end;gap:10px;display:grid}.tq-stars{gap:4px;display:inline-flex}.tq-stars svg{fill:#34332f;width:18px;height:18px;transition:fill .3s,transform .5s cubic-bezier(.34,1.8,.64,1);transition-delay:calc(var(--n) * 35ms + .7s + var(--s) * .12s);transform:scale(.6)}.is-in .tq-stars svg{fill:#ffb54a;transform:none}.tq__project{border:1px solid var(--line-dark);text-transform:uppercase;letter-spacing:.05em;color:#b9b8b2;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:10.5px;transition:border-color .3s,color .3s;display:inline-flex}.tq__project:hover{border-color:var(--accent);color:var(--paper)}.tq.is-paused .tq__card:before,.tq.is-paused .tq__card:after,.tq.is-paused .tq__ring,.tq.is-paused .tq__mark{animation-play-state:paused}.exp{border-bottom:1px solid var(--line-dark);transition:padding .4s var(--ease), color .3s;grid-template-columns:1.2fr 1fr 1fr auto;align-items:center;gap:24px;padding:28px 0;display:grid}.exp:first-of-type{border-top:1px solid var(--line-dark)}.exp:hover{padding-left:16px}.exp:hover .exp__role{color:var(--accent)}.exp__role{letter-spacing:-.03em;font-size:clamp(22px,2.6vw,36px);font-weight:700;transition:color .3s}.contact{background:var(--paper)}.contact__grid{grid-template-columns:1.3fr 1fr;gap:clamp(32px,6vw,96px);display:grid}.contact__lead{margin:32px 0}.form{background:var(--ink);color:var(--paper);border-radius:10px;gap:16px;padding:clamp(20px,3vw,32px);display:grid}.form__head{border-bottom:1px solid var(--line-dark);justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}.form__status{color:#9d9c96;align-items:center;gap:8px;display:inline-flex}.field{gap:8px;display:grid;position:relative}.form input,.form textarea{font:inherit;color:var(--paper);background:var(--ink-3);border:1px solid var(--line-dark);resize:vertical;border-radius:8px;padding:14px;transition:border-color .25s,box-shadow .25s,background .25s}.form input:focus,.form textarea:focus{border-color:#ffffff59;outline:none;box-shadow:0 0 0 4px #ffffff0d}.field.has-error input,.field.has-error textarea{border-color:var(--accent);background:#ff4a1c0f;box-shadow:0 0 0 4px #ff4a1c1f}.field.shake-0,.field.shake-1{animation:fieldShake .45s var(--ease)}.field.shake-1{animation-name:fieldShake2}@keyframes fieldShake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes fieldShake2{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.field__error{color:#ffb39d;animation:errIn .35s var(--ease);background:#ff4a1c1f;border:1px solid #ff4a1c66;border-radius:999px;justify-self:start;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:13px;display:inline-flex}.field__error-icon{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;font-weight:800;display:grid}@keyframes errIn{0%{opacity:0;transform:translateY(-6px)}}.form__trap{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.form__submit{justify-self:start}.form__submit:disabled{opacity:.7;cursor:progress}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite svcSpin}.toasts{z-index:90;pointer-events:none;gap:10px;width:min(420px,100vw - 32px);display:grid;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--line-dark);color:var(--paper);-webkit-backdrop-filter:blur(12px);pointer-events:auto;animation:toastIn .5s var(--ease);background:#16161aeb;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:14px 14px 16px;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 50px -20px #0009}.toast strong{letter-spacing:-.01em;font-size:15px;display:block}.toast p{color:#a3a29c;margin:2px 0 0;font-size:13px}.toast__icon{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:grid}.toast--success .toast__icon{color:#0b0b0c;background:#3ddc84}.toast--info .toast__icon{background:var(--paper);color:var(--ink)}.toast__close{color:#6b6a66;padding:4px;font-size:12px}.toast__close:hover{color:var(--paper)}.toast__timer{background:var(--accent);transform-origin:0;width:100%;height:2px;animation:5s linear forwards toastTimer;position:absolute;bottom:0;left:0}.toast--success .toast__timer{background:#3ddc84}@keyframes toastIn{0%{opacity:0;transform:translateY(16px)scale(.97)}}@keyframes toastTimer{to{transform:scaleX(0)}}.footer{background:var(--ink);color:var(--paper);padding-top:clamp(56px,7vw,88px);overflow:hidden}.footer__top{border-bottom:1px solid var(--line-dark);grid-template-columns:1.4fr 1fr 1.3fr auto;gap:clamp(28px,4vw,64px);padding-bottom:40px;display:grid}.footer__brand{align-content:start;gap:14px;max-width:320px;display:grid}.footer__brand p{color:#a3a29c;margin:0;line-height:1.55}.footer__avail{color:#9d9c96;align-items:center;gap:8px;display:inline-flex}.footer__col{align-content:start;gap:12px;display:grid}.footer__col>.mono{margin-bottom:4px}.fsocial{border:1px solid var(--line-dark);border-radius:999px;align-items:center;gap:12px;width:max-content;padding:8px 14px 8px 8px;font-size:15px;transition:border-color .3s,background .3s;display:inline-flex}.fsocial__icon{background:var(--paper);width:32px;height:32px;color:var(--ink);border-radius:50%;place-items:center;display:grid}.fsocial__arrow{color:#6b6a66;transition:transform .35s var(--ease), color .3s}.fsocial:hover{background:#ffffff0a;border-color:#ffffff4d}.fsocial:hover .fsocial__arrow{color:var(--accent);transform:translate(3px,-3px)}.femail{gap:4px;display:grid}.femail__row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.femail__row a{background:linear-gradient(var(--accent), var(--accent)) left bottom / 0 1px no-repeat;transition:background-size .4s var(--ease);font-size:15px}.femail__row a:hover{background-size:100% 1px}.femail__copy{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line-dark);color:#9d9c96;border-radius:999px;padding:4px 9px;font-size:10px;transition:all .25s}.femail__copy:hover{color:var(--paper);border-color:#ffffff4d}.femail__copy.is-copied{color:var(--ink);background:#3ddc84;border-color:#3ddc84}.footer__col--top{justify-items:center}.footer__bottom{flex-wrap:wrap;justify-content:space-between;gap:12px;padding:20px 0;display:flex}.totop{width:68px;height:68px;color:var(--paper);transition:transform .4s var(--ease);border-radius:50%;place-items:center;display:grid;position:relative}.totop:before{content:"";background:var(--ink-3);transition:background .35s var(--ease), transform .4s var(--ease);border-radius:50%;position:absolute;top:6px;bottom:6px;left:6px;right:6px}.totop__ring{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;transform:rotate(-90deg)}.totop__track{fill:none;stroke:var(--line-dark);stroke-width:2px}.totop__progress{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;transition:stroke-dashoffset .15s linear}.totop__arrow{width:20px;height:20px;position:relative;overflow:hidden}.totop__arrow svg{width:20px;height:20px;display:block}.totop:hover{transform:translateY(-3px)}.totop:hover:before{background:var(--accent);transform:scale(1.08)}.totop:hover .totop__arrow svg{animation:arrowUp .55s var(--ease)}@keyframes arrowUp{0%{transform:none}45%{transform:translateY(-120%)}46%{transform:translateY(120%)}to{transform:none}}.footer__name{cursor:crosshair;padding:clamp(24px,4vw,48px) 0 0;position:relative}.footer__name-canvas{width:100%;display:block}@media (max-width:960px){.nav__links{display:none}.nav__inner{grid-template-columns:1fr auto}.hero__grid .col:nth-child(n+3){display:none}.hero__grid .wrap{grid-template-columns:repeat(2,1fr)}.hero__bottom{flex-direction:column;align-items:flex-start}.contact__grid,.menu__body{grid-template-columns:1fr}.about{align-items:flex-end;padding-top:58svh}.about__col{max-width:none}.project,.project--flip{grid-template-columns:1fr}.project--flip .project__screen{order:0}.project__screen{transform:none}.menu__aside{align-self:start}.service{grid-template-columns:1fr;gap:16px}.footer__top{grid-template-columns:1fr 1fr}.tq__who{grid-template-columns:auto 1fr}.tq__side{grid-column:1/-1;justify-items:start}.footer__col--top{justify-items:start}.service__num{padding-top:0}.exp{grid-template-columns:1fr auto;gap:6px 16px}.exp>:nth-child(3){display:none}.marquee__inner{grid-template-columns:1fr;gap:12px;height:auto;padding:20px 0}}@media (max-width:560px){.nav__clock{display:none}.hero__talk{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
