@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.3zvkfbs08rnj_.woff2)format("woff2");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:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.3strvg7o-g5v2.woff2)format("woff2");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:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.1wwzpfhzaj2r0.woff2)format("woff2");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:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.2rlzm4mj5kw8e.woff2)format("woff2");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:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_e6c9b578-module__xktYVG__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_e6c9b578-module__xktYVG__variable{--font-serif:"Instrument Serif", "Instrument Serif Fallback"}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/91bd2e40df15814e-s.1zpt8rrvsu92z.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.0mxk1tgo-hrwu.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.1akpt5k8ff_pw.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.2rlmbw0a3_pri.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/91bd2e40df15814e-s.1zpt8rrvsu92z.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.0mxk1tgo-hrwu.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.1akpt5k8ff_pw.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.2rlmbw0a3_pri.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/91bd2e40df15814e-s.1zpt8rrvsu92z.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.0mxk1tgo-hrwu.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.1akpt5k8ff_pw.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.2rlmbw0a3_pri.woff2)format("woff2");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:Hanken Grotesk Fallback;src:local(Arial);ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.0%;size-adjust:100.94%}.hanken_grotesk_91c5210d-module__p_Vi1W__className{font-family:Hanken Grotesk,Hanken Grotesk Fallback;font-style:normal}.hanken_grotesk_91c5210d-module__p_Vi1W__variable{--font-sans:"Hanken Grotesk", "Hanken Grotesk Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");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 Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_9326615e-module__w9RNvG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_9326615e-module__w9RNvG__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--h:290;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0812;--bg2:#120e1a;--glass:#0b0812b8;--fg:#f1ecf7;--muted:#a9a1b8;--line:#f1ecf717;--line2:#f1ecf72e;--stripe:#f1ecf70f;--glow2:oklch(.45 .2 calc(var(--h) + 40) / .28);--cube-face:oklch(.6 .2 var(--h) / .05);--accent:#572bba;--on-accent:#fff;--glow:#572bba73;--serif:var(--font-serif), "Instrument Serif", serif;--sans:var(--font-sans), "Hanken Grotesk", system-ui, sans-serif;--mono:var(--font-mono), "JetBrains Mono", monospace;--ease:cubic-bezier(.2, .7, .2, 1);--gutter:clamp(20px, 5vw, 40px)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f5f9;--bg2:#eeeaf3;--glass:#f7f5f9c7;--fg:#17121f;--muted:#5a5266;--line:#17121f1a;--line2:#17121f33;--stripe:#17121f0f;--glow2:oklch(.8 .1 calc(var(--h) + 40) / .3);--cube-face:oklch(.6 .2 var(--h) / .06)}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f5f9;--bg2:#eeeaf3;--glass:#f7f5f9c7;--fg:#17121f;--muted:#5a5266;--line:#17121f1a;--line2:#17121f33;--stripe:#17121f0f;--glow2:oklch(.8 .1 calc(var(--h) + 40) / .3);--cube-face:oklch(.6 .2 var(--h) / .06)}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0}*{box-sizing:border-box}a{color:inherit}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}::selection{background:var(--accent);color:var(--on-accent)}@keyframes xyzspin{0%{transform:rotateX(-22deg)rotateY(0)}to{transform:rotateX(-22deg)rotateY(360deg)}}@keyframes xyzmarquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes xyzdrift{0%{transform:translate(-10%,-6%)scale(1)}50%{transform:translate(8%,4%)scale(1.15)}to{transform:translate(-4%,10%)scale(.95)}}.page{background:var(--bg);min-height:100vh;color:var(--fg);font-family:var(--sans);font-size:17px;line-height:1.55}.wrap{max-width:1320px;padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.mono{font-family:var(--mono)}.serif{font-family:var(--serif);font-weight:400}.muted{color:var(--muted)}.section{border-top:1px solid var(--line)}.section-inner{padding-top:clamp(80px,11vw,140px);padding-bottom:clamp(80px,11vw,140px)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 32px;margin-bottom:clamp(40px,6vw,64px);display:flex}.h2{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:clamp(38px,5.2vw,64px);font-weight:400;line-height:1}.axis{font-family:var(--mono);letter-spacing:.08em;color:var(--accent);font-size:13px}.striped{background:repeating-linear-gradient(135deg, var(--stripe) 0 1px, transparent 1px 11px), var(--bg2)}.spot{pointer-events:none;background:radial-gradient(var(--spot-r,380px) circle at var(--mx,50%) var(--my,50%), var(--glow), transparent 60%);opacity:var(--spot,0);transition:opacity .4s;position:absolute;inset:0}.outline-text{color:#0000;-webkit-text-stroke:1px var(--line2)}.skip{z-index:100;background:var(--accent);color:var(--on-accent);border-radius:8px;padding:10px 16px;position:absolute;top:8px;left:-9999px}.skip:focus{left:16px}.header{z-index:50;background:var(--glass);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #0000;transition:border-color .3s;position:sticky;top:0}.header.scrolled{border-bottom-color:var(--line)}.header-bar{height:104px;transition:height .45s var(--ease);justify-content:space-between;align-items:center;gap:16px;display:flex}.header.scrolled .header-bar{height:68px}.logo-link{min-height:44px;color:var(--fg);transition:transform .35s var(--ease);align-items:center;text-decoration:none;display:flex}.logo-link:hover{transform:scale(1.06)}.logo{width:auto;height:68px;transition:height .45s var(--ease);display:block}.header.scrolled .logo{height:42px}.header-tools{align-items:center;gap:10px;display:flex}.theme-btn{border:1px solid var(--line2);width:44px;height:44px;color:var(--fg);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;transition:border-color .25s;display:flex}.theme-btn:hover{border-color:var(--accent)}.theme-icon{width:16px;height:16px;transition:transform .6s var(--ease);background:linear-gradient(90deg,currentColor 50%,#0000 50%);border:1.5px solid;border-radius:50%}.lang{border:1px solid var(--line2);border-radius:999px;gap:2px;padding:3px;display:flex}.lang button{cursor:pointer;min-width:44px;min-height:38px;font-family:var(--mono);letter-spacing:.04em;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:0 12px;font-size:13px;font-weight:500;transition:background .25s,color .25s}.lang button[aria-pressed=true]{background:var(--fg);color:var(--bg)}.progress{background:var(--accent);transform-origin:0;width:100%;height:2px;position:absolute;bottom:-1px;left:0;transform:scaleX(0)}.hero{isolation:isolate;position:relative;overflow:hidden}.hero-aurora{z-index:-2;pointer-events:none;position:absolute;inset:0}.aurora{animation:24s ease-in-out infinite alternate xyzdrift;position:absolute;inset:-20%}.aurora>div{border-radius:50%;position:absolute}.aurora>div:first-child{background:radial-gradient(closest-side, var(--glow), transparent);width:55%;height:80%;top:0;left:45%}.aurora>div:last-child{background:radial-gradient(closest-side, var(--glow2), transparent);width:45%;height:65%;top:35%;left:5%}.hero-grid{z-index:-1;pointer-events:none;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-position:top;background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70% at 50% 40%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 70% at 50% 40%,#000 20%,#0000 75%)}.hero-glow{z-index:-1;pointer-events:none;background:radial-gradient(circle, var(--glow) 0%, transparent 65%);width:560px;height:560px;transition:transform .6s var(--ease);border-radius:50%;position:absolute;top:0;left:0;transform:translate(40vw,80px)}.hero-inner{flex-wrap:wrap;align-items:center;gap:clamp(40px,6vw,72px);padding-top:clamp(72px,12vw,150px);padding-bottom:clamp(64px,10vw,120px);display:flex}.hero-copy{flex:640px;min-width:0}.eyebrow{font-family:var(--mono);letter-spacing:.06em;color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0 0 28px;font-size:13px;display:flex}.h1{font-family:var(--serif);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(48px,8.4vw,124px);font-weight:400;line-height:.96}.h1 em,.accent-em{color:var(--accent);font-style:italic}.hero-sub{max-width:34em;color:var(--muted);text-wrap:pretty;margin:32px 0 0;font-size:clamp(17px,1.6vw,20px)}.hero-ctas{flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:40px;display:flex}.btn-primary{background:var(--accent);min-height:54px;color:var(--on-accent);transition:transform .3s var(--ease), box-shadow .3s;border-radius:999px;align-items:center;gap:10px;padding:0 28px;font-size:17px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary:hover{box-shadow:0 14px 44px var(--glow);color:var(--on-accent);transform:translateY(-2px)}.hero-mail{font-family:var(--mono);color:var(--muted);align-items:center;min-height:44px;font-size:14px;text-decoration:none;display:inline-flex}.hero-cube{flex:0 300px;justify-content:center;align-items:center;min-width:240px;height:300px;display:flex;position:relative}.hero-foot{font-family:var(--mono);color:var(--muted);letter-spacing:.06em;justify-content:space-between;gap:16px;padding-bottom:28px;font-size:12px;display:flex}.cube-stage{perspective:900px;justify-content:center;align-items:center;width:272px;height:272px;display:flex}.cube-tilt{transform-style:preserve-3d;transition:transform .8s var(--ease)}.cube{width:0;height:0;transform-style:preserve-3d;animation:26s linear infinite xyzspin;position:relative}.cube-face{border:1px solid var(--line2);background:var(--cube-face);width:170px;height:170px;position:absolute;top:-85px;left:-85px}.cube-face.bottom{border-color:var(--accent)}.cube-axis{background:linear-gradient(90deg, var(--accent), transparent);transform-origin:0;width:150px;height:1px;position:absolute;top:0;left:0}.cube-axis span{font-family:var(--mono);color:var(--accent);font-size:13px;position:absolute;top:-9px;right:-18px}.cube-origin{background:var(--accent);width:6px;height:6px;box-shadow:0 0 18px var(--accent);border-radius:50%;position:absolute;top:-3px;left:-3px}.band{border-top:1px solid var(--line);cursor:none;padding:clamp(22px,3vw,40px) 0;position:relative;overflow:hidden}.lens{--s:clamp(150px, 16vw, 230px);z-index:2;width:var(--s);aspect-ratio:1;margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2);pointer-events:none;opacity:0;-webkit-backdrop-filter:blur(3px)saturate(1.8)contrast(1.15)hue-rotate(-18deg);background:radial-gradient(circle at 32% 28%, #ffffff47, #ffffff0a 38%, transparent 62%), radial-gradient(circle at 70% 78%, var(--glow), transparent 60%);box-shadow:inset 0 0 0 1px #ffffff0f, inset 0 -18px 40px -12px var(--glow), inset 0 14px 30px -18px #ffffff80, 0 30px 80px -30px var(--glow);border:1px solid #ffffff38;border-radius:50%;transition:opacity .35s;position:absolute;top:0;left:0;transform:translate(-999px,-999px)scale(.4)}.band-skew{transition:transform .5s var(--ease)}.marquee{will-change:transform;width:max-content;display:flex}.marquee-item{font-family:var(--serif);letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:clamp(24px,3vw,48px);padding-right:clamp(24px,3vw,48px);font-size:clamp(56px,9vw,136px);line-height:1.05;display:flex}.marquee-item .w-outline{color:#0000;-webkit-text-stroke:1px var(--fg)}.marquee-item .w-fill{color:var(--accent);font-style:italic}.marquee-item .x{font-family:var(--mono);color:var(--accent);font-size:.28em}.do-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;display:grid}.cell{display:flex}.do-card{border:1px solid var(--line);background:var(--bg2);transition:border-color .35s, transform .35s var(--ease);border-radius:18px;flex:1;padding:32px 28px 36px;position:relative;overflow:hidden}.do-card:hover{border-color:var(--accent);transform:translateY(-4px)}.do-num{font-family:var(--serif);pointer-events:none;font-size:180px;line-height:1;position:absolute;top:-30px;right:-6px}.do-card h3{font-family:var(--serif);letter-spacing:-.01em;margin:72px 0 12px;font-size:36px;font-weight:400;line-height:1.05}.do-card p{color:var(--muted);text-wrap:pretty;margin:0}.tag{font-family:var(--mono);letter-spacing:.08em;color:var(--muted);font-size:12px}.work-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(28px,3vw,20px) 20px;display:grid}.work-card{flex-direction:column;flex:1;gap:20px;display:flex}.work-thumb{font:inherit;cursor:pointer;text-align:left;aspect-ratio:4/3;border:1px solid var(--line);width:100%;font-family:var(--mono);color:var(--muted);transition:border-color .35s, box-shadow .35s, transform .5s var(--ease);border-radius:18px;justify-content:space-between;align-items:flex-end;padding:16px 18px;font-size:12px;display:flex;position:relative;overflow:hidden}.work-thumb:hover{border-color:var(--accent);box-shadow:0 24px 70px -20px var(--glow)}.work-thumb-name{text-align:center;font-family:var(--serif);letter-spacing:-.02em;pointer-events:none;font-size:clamp(44px,5vw,64px);position:absolute;top:50%;left:0;right:0;transform:translateY(-60%)}.rel{position:relative}.work-chip{background:var(--glass);border:1px solid var(--line2);color:var(--fg);-webkit-backdrop-filter:blur(8px);border-radius:999px;align-items:center;gap:8px;padding:7px 12px;display:flex;position:absolute;top:16px;left:16px}.dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.work-body{flex-direction:column;flex:1;gap:8px;display:flex}.work-body h3{font-family:var(--serif);margin:0;font-size:34px;font-weight:400;line-height:1.05}.work-body p{color:var(--muted);text-wrap:pretty;flex:1;margin:0}.visit{min-height:44px;font-family:var(--mono);letter-spacing:.04em;color:var(--fg);border-bottom:1px solid var(--line2);align-self:flex-start;align-items:center;gap:8px;font-size:13px;text-decoration:none;display:inline-flex}.visit:hover{color:var(--accent);border-bottom-color:var(--accent)}.video-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(32px,4vw,28px) 20px;display:grid}.video-fig{flex-direction:column;gap:16px;margin:0;display:flex}.video-fig.wide{grid-column:1/-1}.video-ph{border:1px solid var(--line);border-radius:18px;justify-content:center;align-items:center;transition:border-color .35s,box-shadow .35s;display:flex;position:relative;overflow:hidden}.video-ph:hover{border-color:var(--accent);box-shadow:0 24px 70px -20px var(--glow)}.play{border:1px solid var(--accent);background:var(--glass);-webkit-backdrop-filter:blur(8px);width:76px;height:76px;transition:transform .4s var(--ease);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.play:hover{transform:scale(1.08)}.play span{border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent var(--accent);width:0;height:0;margin-left:4px}.corner{font-family:var(--mono);color:var(--muted);font-size:12px;position:absolute;bottom:16px}.video-player{object-fit:cover;border:1px solid var(--line);background:var(--bg2);border-radius:18px;width:100%;display:block}.video-cap{flex-wrap:wrap;align-items:baseline;gap:4px 16px;display:flex}.video-cap .serif{font-size:28px;line-height:1.1}.video-cap .muted{text-wrap:pretty}.reviews-track-wrap{padding:8px 0 clamp(80px,11vw,140px);overflow-x:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.reviews-track-wrap.static{overflow-x:auto}.reviews-track{width:max-content;padding-left:var(--gutter);will-change:transform;display:flex}.review{border:1px solid var(--line);background:var(--bg2);border-radius:18px;flex-direction:column;flex-shrink:0;justify-content:space-between;gap:36px;width:min(82vw,440px);margin:0 20px 0 0;padding:34px 32px 30px;transition:border-color .35s;display:flex;position:relative;overflow:hidden}.review:hover{border-color:var(--accent)}.review blockquote{font-family:var(--serif);letter-spacing:-.005em;text-wrap:pretty;margin:0;font-size:27px;line-height:1.2;position:relative}.review figcaption{align-items:center;gap:14px;display:flex;position:relative}.initials{border:1px solid var(--line2);width:44px;height:44px;font-family:var(--mono);color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.who{flex-direction:column;line-height:1.3;display:flex}.who b{font-weight:600}.who span{color:var(--muted);font-size:15px}.about-inner{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start;gap:clamp(40px,6vw,80px);display:grid}.about-side{flex-direction:column;gap:24px;display:flex}.about-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.portrait{will-change:transform;aspect-ratio:4/5;border:1px solid var(--line);max-width:340px;font-family:var(--mono);color:var(--muted);border-radius:18px;align-items:flex-end;padding:16px 18px;font-size:12px;display:flex}.about-body{font-family:var(--serif);letter-spacing:-.01em;text-wrap:pretty;margin:0;font-size:clamp(30px,3.8vw,50px);line-height:1.16}.about-body span{transition:opacity .35s}.contact{isolation:isolate;position:relative;overflow:hidden}.contact-glow{z-index:-1;background:radial-gradient(closest-side, var(--glow), transparent);pointer-events:none;border-radius:50%;width:900px;height:700px;position:absolute;bottom:-420px;left:50%;transform:translate(-50%)}.contact-inner{padding-top:clamp(90px,13vw,170px);padding-bottom:clamp(60px,8vw,90px)}.contact-label{font-family:var(--mono);letter-spacing:.08em;color:var(--accent);margin:0 0 28px;font-size:13px}.contact-title{max-width:14em;font-family:var(--serif);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(42px,7vw,92px);font-weight:400;line-height:.98}.contact-links{flex-wrap:wrap;align-items:center;gap:16px 32px;margin-top:48px;display:flex}.contact-mail{font-family:var(--serif);color:var(--accent);border-bottom:2px solid var(--accent);word-break:break-all;padding-bottom:4px;font-size:clamp(28px,4vw,48px);font-style:italic;line-height:1.1;text-decoration:none;transition:opacity .25s}.contact-mail:hover{opacity:.75;color:var(--accent)}.linkedin{min-height:44px;font-family:var(--mono);color:var(--muted);align-items:center;gap:8px;font-size:14px;text-decoration:none;display:inline-flex}.footer{border-top:1px solid var(--line);font-family:var(--mono);letter-spacing:.04em;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-top:28px;padding-bottom:36px;font-size:12px;display:flex}.footer a{min-height:24px;text-decoration:none}.gallery{--sw:min(76vw, calc((100vh - 290px) * 1.6));z-index:200;background:color-mix(in oklab, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(22px)saturate(1.2);opacity:0;transition:opacity .45s var(--ease);flex-direction:column;display:flex;position:fixed;inset:0}.gallery.visible{opacity:1}.gallery-glow{background:radial-gradient(closest-side, var(--glow), transparent);pointer-events:none;border-radius:50%;width:1100px;height:800px;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.gallery-top{width:100%;transition:transform .6s var(--ease);justify-content:space-between;align-items:flex-start;gap:24px;padding-top:clamp(16px,3vw,28px);padding-bottom:clamp(16px,3vw,28px);display:flex;position:relative;transform:translateY(-16px)}.gallery.visible .gallery-top{transform:none}.gallery-meta{flex-direction:column;gap:6px;min-width:0;display:flex}.gallery-meta h2{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:clamp(34px,4.4vw,56px);font-weight:400;line-height:1}.gallery-meta p{max-width:40em;color:var(--muted);text-wrap:pretty;margin:4px 0 0}.close-btn{border:1px solid var(--line2);background:var(--glass);width:52px;height:52px;color:var(--fg);cursor:pointer;transition:transform .35s var(--ease), border-color .25s;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:26px;line-height:1;display:flex}.close-btn:hover{border-color:var(--accent);transform:rotate(90deg)}.stage{touch-action:pan-y;-webkit-user-select:none;user-select:none;flex:1;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.track{align-items:center;transition:transform .8s cubic-bezier(.65,0,.2,1);display:flex}.slide{width:var(--sw);aspect-ratio:16/10;border:1px solid var(--line2);opacity:0;cursor:pointer;box-shadow:0 50px 120px -50px var(--glow);border-radius:20px;flex:none;margin-right:24px;transition:opacity .7s cubic-bezier(.65,0,.2,1),transform .8s cubic-bezier(.65,0,.2,1);position:relative;overflow:hidden;transform:translateY(40px)scale(.94)}.gallery.visible .slide{opacity:.3;transform:scale(.88)}.gallery.visible .slide.current{opacity:1;cursor:grab;transform:scale(1)}.slide img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.slide-name{text-align:center;font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(40px,7vw,110px);position:absolute;top:50%;left:0;right:0;transform:translateY(-55%)}.slide-label{font-family:var(--mono);color:var(--muted);font-size:12px;position:absolute;bottom:18px;left:20px}.arrow{border:1px solid var(--line2);background:var(--glass);-webkit-backdrop-filter:blur(10px);width:56px;height:56px;color:var(--fg);cursor:pointer;border-radius:50%;font-size:20px;transition:border-color .25s,background .25s;position:absolute;top:50%;transform:translateY(-50%)}.arrow:hover{border-color:var(--accent);background:var(--bg2)}.arrow.prev{left:clamp(10px,3vw,36px)}.arrow.next{right:clamp(10px,3vw,36px)}.gallery-bottom{width:100%;padding-top:clamp(16px,2.5vw,24px);padding-bottom:clamp(20px,3vw,32px);position:relative}.gallery-progress{background:var(--line2);height:1px;margin-bottom:20px;position:relative;overflow:hidden}.gallery-progress div{background:var(--accent);transition:width .6s cubic-bezier(.65,0,.2,1);position:absolute;top:0;bottom:0;left:0}.gallery-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;display:flex}.gallery-caption{align-items:baseline;gap:16px;min-width:0;display:flex}.gallery-caption .mono{color:var(--accent);font-size:13px}.gallery-caption .serif{font-size:clamp(22px,2.4vw,30px);line-height:1.1}.thumbs{gap:10px;display:flex}.thumb{border:1px solid var(--line2);background:repeating-linear-gradient(135deg, var(--stripe) 0 1px, transparent 1px 7px), var(--bg2);opacity:.5;cursor:pointer;width:64px;height:44px;font-family:var(--mono);color:var(--muted);border-radius:10px;font-size:11px;transition:opacity .3s,border-color .3s,transform .3s}.thumb[aria-current=true]{border-color:var(--accent);opacity:1}.thumb:hover{opacity:1;transform:translateY(-2px)}.next-project{min-height:44px;color:var(--fg);cursor:pointer;font-family:var(--mono);letter-spacing:.04em;background:0 0;border:0;align-items:center;gap:10px;padding:0 4px;font-size:13px;display:inline-flex}.next-project:hover{color:var(--accent)}@media (prefers-reduced-motion:reduce){.aurora,.cube{animation:none}.cube{transform:rotateX(-22deg)rotateY(-38deg)}.track,.slide,.gallery-progress div{transition:none}}
