@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-cyrillic-ext-400-normal-9PYOMWMR.woff2)format("woff2"),url(/assets/geist-cyrillic-ext-400-normal-ChfpGzr5.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:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-cyrillic-400-normal-DXusLSnH.woff2)format("woff2"),url(/assets/geist-cyrillic-400-normal-DkrqoNl2.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-vietnamese-400-normal-C4gMWAkH.woff2)format("woff2"),url(/assets/geist-vietnamese-400-normal-C8xY9-dI.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:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-latin-ext-400-normal-CND6cjiG.woff2)format("woff2"),url(/assets/geist-latin-ext-400-normal-Bz1pQMyt.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:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-latin-400-normal-B40WzpMT.woff2)format("woff2"),url(/assets/geist-latin-400-normal-akEymXtG.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}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-cyrillic-ext-500-normal-UpgxCE-h.woff2)format("woff2"),url(/assets/geist-cyrillic-ext-500-normal-BXrH8YSv.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:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-cyrillic-500-normal-NWpm63d5.woff2)format("woff2"),url(/assets/geist-cyrillic-500-normal-BboVsk8R.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-vietnamese-500-normal-DEhtl5QD.woff2)format("woff2"),url(/assets/geist-vietnamese-500-normal-_b1ojCbH.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:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-latin-ext-500-normal-BovoTgeE.woff2)format("woff2"),url(/assets/geist-latin-ext-500-normal-C9fx-R30.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:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-latin-500-normal-CTWBw9NS.woff2)format("woff2"),url(/assets/geist-latin-500-normal-BDXIbFrL.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}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-cyrillic-ext-600-normal-Cr7e20Aw.woff2)format("woff2"),url(/assets/geist-cyrillic-ext-600-normal-PR76dHFV.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:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-cyrillic-600-normal-BeW5VFD_.woff2)format("woff2"),url(/assets/geist-cyrillic-600-normal-CnEeIcMC.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-vietnamese-600-normal-BFUgqsz8.woff2)format("woff2"),url(/assets/geist-vietnamese-600-normal-B5MZcNo4.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:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-latin-ext-600-normal-CVFbg5dS.woff2)format("woff2"),url(/assets/geist-latin-ext-600-normal-TmIUreF9.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:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-latin-600-normal-CSETrqM2.woff2)format("woff2"),url(/assets/geist-latin-600-normal-DsPlZH-9.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}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-cyrillic-ext-400-normal-XB2BPmDK.woff2)format("woff2"),url(/assets/geist-mono-cyrillic-ext-400-normal-CkxHOdCb.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:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-cyrillic-400-normal-C51Di1Mf.woff2)format("woff2"),url(/assets/geist-mono-cyrillic-400-normal-CPJFfJgk.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-symbols2-400-normal-BS9BGVxz.woff2)format("woff2"),url(/assets/geist-mono-symbols2-400-normal-DjbiTEEA.woff)format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-vietnamese-400-normal-CKEaXIlx.woff2)format("woff2"),url(/assets/geist-mono-vietnamese-400-normal-CZEPLOgu.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:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-ext-400-normal-DI-rJ0UV.woff2)format("woff2"),url(/assets/geist-mono-latin-ext-400-normal-CfzLURNc.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:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-400-normal-DTRLJnHl.woff2)format("woff2"),url(/assets/geist-mono-latin-400-normal-B2yvC1Cq.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}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-cyrillic-ext-500-normal-C7aYOB1D.woff2)format("woff2"),url(/assets/geist-mono-cyrillic-ext-500-normal-BY1KTvO5.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:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-cyrillic-500-normal-D2cXvDHF.woff2)format("woff2"),url(/assets/geist-mono-cyrillic-500-normal-DfuvdVgn.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-symbols2-500-normal-Q_ksOahU.woff2)format("woff2"),url(/assets/geist-mono-symbols2-500-normal-CmnCPGa0.woff)format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-vietnamese-500-normal-Bs29RrUZ.woff2)format("woff2"),url(/assets/geist-mono-vietnamese-500-normal-Dx9-epDo.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:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-ext-500-normal-Buglb9-a.woff2)format("woff2"),url(/assets/geist-mono-latin-ext-500-normal-CrWEgvU_.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:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-500-normal-YINYabwD.woff2)format("woff2"),url(/assets/geist-mono-latin-500-normal-D-GG86Jb.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}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.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:Archivo;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.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}:root{--paper:#f4f1ea;--paper-2:#e9e2d4;--ink:#12354e;--ink-2:#4f6470;--line:#d8d0c0;--panel:#12354e;--panel-2:#183f5c;--panel-line:#2b5674;--on-panel:#f2f8fa;--on-panel-2:#a7d4e4;--cobalt:#064f6e;--cobalt-2:#a7d4e4;--sky:#a7d4e4;--mint:#b5decc;--sea:#96d1aa;--ecru:#c2ae93;--slate:#34454c;--flag:#f9c1ce;--ok:#96d1aa;--f-display:"Archivo", "Arial Narrow", Arial, sans-serif;--f-body:"Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"Geist Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--r:22px;--r-s:14px;--ease:cubic-bezier(.22,1,.36,1);--gut:clamp(10px,1.4vw,18px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55;overflow-x:hidden}a{color:inherit}img,canvas,svg{max-width:100%}:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px}.page{padding-inline:var(--gut);padding-block:var(--gut) 0;gap:var(--gut);grid-template-columns:minmax(0,1fr);display:grid}.mono{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.74rem}.label{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:8px;font-size:.76rem;display:inline-flex}.display{font-family:var(--f-display);text-transform:uppercase;letter-spacing:-.01em;margin:0;font-weight:640;font-stretch:78%;line-height:.9}h2.title{font-family:var(--f-body);letter-spacing:-.03em;text-wrap:balance;margin:10px 0 0;font-size:clamp(2rem,4.4vw,3.6rem);font-weight:500;line-height:1}.btn{height:44px;font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform .5s var(--ease);border:0;border-radius:10px;align-items:center;gap:10px;padding:0 18px;font-size:.74rem;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn span{z-index:1;position:relative}.btn:before{content:"";transition:transform .5s var(--ease);position:absolute;inset:0;transform:translateY(101%)}.btn:hover:before{transform:none}.btn.light{background:var(--paper);color:var(--ink)}.btn.light:before{background:#fff}.btn.dark{background:var(--ink);color:var(--on-panel)}.btn.dark:before{background:var(--cobalt)}.btn.light:hover{color:var(--ink)}.btn.blue{background:var(--cobalt);color:#fff}.btn.blue:before{background:var(--ink)}.btn .arr{transition:transform .5s var(--ease)}.btn:hover .arr{transform:translate(3px)}.pill{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;background:#ffffff24;border-radius:999px;align-items:center;height:24px;padding:0 10px;font-size:.72rem;font-weight:500;display:inline-flex}.nav{z-index:60;top:calc(var(--gut) + env(safe-area-inset-top,0px));left:var(--gut);right:var(--gut);pointer-events:none;justify-content:center;display:flex;position:fixed}.nav-bar{pointer-events:auto;-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4);width:min(1500px,100%);height:56px;color:var(--on-panel);background:#0a243680;border:1px solid #ffffff14;border-radius:14px;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 8px 0 18px;transition:background .4s,color .4s,border-color .4s;display:grid}.nav.on-paper .nav-bar{color:var(--ink);background:#f4f1eac7;border-color:#0000000f}.logo{letter-spacing:-.01em;align-items:center;gap:10px;font-weight:600;text-decoration:none;display:inline-flex}.logo i{font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-style:normal;font-weight:700;line-height:1}.nav-links{gap:4px;margin:0;padding:0;list-style:none;display:flex}.nav-links a{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:8px;padding:8px 12px;font-size:.74rem;text-decoration:none;transition:background .3s;display:block}.nav-links a:hover{background:#7f7f7f2e}.nav-cta{justify-self:end;gap:6px;display:flex}.nav-cta .btn{height:38px;padding:0 12px}.chip-res{color:inherit;background:#ffffff1f}.nav.on-paper .chip-res{background:#0000000f}.chip-res:before{background:#7f7f7f33}.menu-btn{color:inherit;cursor:pointer;background:0 0;border:0;justify-self:end;width:44px;height:40px;display:none}.menu-btn b{background:currentColor;height:1.5px;margin:6px 10px;display:block}.hero{height:calc(100svh - 2*var(--gut));border-radius:var(--r);color:#fff;isolation:isolate;background:radial-gradient(90% 90% at 76% 42%,#3b8aa6 0%,#0d5a7a 26%,#12354e 60%,#0a2233 100%);min-height:620px;max-height:1000px;position:relative;overflow:hidden}.hero:after{content:"";z-index:-1;background:radial-gradient(60% 50% at 18% 100%,#96d1aa33,#0000 70%);position:absolute;inset:0}#heroGL{z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-fallback{color:#0000;-webkit-text-stroke:2px #ffffff2e;z-index:0;font-family:Georgia,Times New Roman,serif;font-size:min(62vh,52vw);font-weight:700;line-height:.8;display:none;position:absolute;top:50%;right:6%;transform:translateY(-50%)}.no-gl .hero-fallback{display:block}.hero-copy{z-index:2;max-width:min(900px,92%);position:absolute;bottom:clamp(70px,13vh,140px);left:clamp(18px,3.4vw,52px)}.hero .label{color:#ffffffbf}.hero h1{margin:16px 0 18px;font-size:clamp(3rem,8.4vw,8rem)}.hero h1 .ln{padding-bottom:.04em;display:block;overflow:hidden}.hero h1 .ln>span{display:block}.hero p{color:#ffffffd1;max-width:42ch;margin:0 0 24px;font-size:clamp(1rem,1.3vw,1.1rem)}.hero-ctas{flex-wrap:wrap;gap:10px;display:flex}.hero-foot{z-index:2;color:#ffffffb3;justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:22px;left:clamp(18px,3.4vw,52px);right:clamp(18px,3.4vw,52px)}.hero-foot .live{align-items:center;gap:8px;display:inline-flex}.hero-foot .live i{background:var(--ok);border-radius:50%;width:8px;height:8px;animation:2s infinite ping;box-shadow:0 0 #96d1aa99}@keyframes ping{0%{box-shadow:0 0 #96d1aa99}to{box-shadow:0 0 0 10px #96d1aa00}}.spin{animation:6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.sec{padding:clamp(56px,8vw,110px) clamp(6px,1.6vw,26px) clamp(24px,3vw,40px)}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:clamp(22px,3vw,36px);display:flex}.sec-head .big{font-family:var(--f-body);letter-spacing:-.035em;align-items:center;gap:.3em;margin:0;font-size:clamp(2.2rem,5vw,4.4rem);font-weight:500;line-height:1;display:flex}.sec-head .big svg{width:.62em;height:.62em}.link-all{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;font-size:.74rem;text-decoration:none;display:inline-flex}.link-all:hover{color:var(--cobalt)}.work-grid{gap:var(--gut);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.card{border-radius:var(--r);background:var(--panel);color:#fff;isolation:isolate;min-height:clamp(380px,46vw,620px);text-decoration:none;display:block;position:relative;overflow:hidden}.card.wide{grid-column:span 2;min-height:clamp(420px,52vw,720px)}.card.short{min-height:clamp(320px,34vw,460px)}.card .media{transition:transform 1.1s var(--ease);position:absolute;inset:0}.card:hover .media{transform:scale(1.025)}.card .meta{z-index:3;background:linear-gradient(#0000,#0000008c);justify-content:space-between;align-items:flex-end;gap:16px;padding:22px;display:flex;position:absolute;bottom:0;left:0;right:0}.card .meta h3{letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(1.25rem,2vw,1.7rem);font-weight:500}.card .meta .pills{flex-wrap:wrap;gap:6px;display:flex}.card .meta .yr{font-family:var(--f-mono);opacity:.75;white-space:nowrap;font-size:.74rem}.card .top{z-index:3;font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;opacity:.75;justify-content:space-between;font-size:.72rem;display:flex;position:absolute;top:18px;left:22px;right:22px}.card .bar{z-index:4;background:#ffffff1f;height:2px;position:absolute;bottom:0;left:22px;right:22px}.card .bar i{background:var(--cobalt-2);width:0;height:100%;display:block}.m-drip{background:radial-gradient(80% 70% at 50% 0,#1d6a8a 0%,#12354e 55%,#0a2233 100%)}.m-drip .desk{background:#ffffff0a;border:1px solid #ffffff12;border-radius:12px;position:absolute;inset:22% 8% 20%;overflow:hidden}.m-drip .desk pre{font-family:var(--f-mono);color:#ffffff61;white-space:pre;margin:0;padding:22px 26px;font-size:clamp(.62rem,.9vw,.82rem);line-height:1.8}.m-drip .desk pre b{color:#ffffffbf;font-weight:400}.island{z-index:2;color:#eaf1f6;width:300px;max-width:84%;height:56px;transition:width .6s var(--ease),height .6s var(--ease),box-shadow .6s;background:#05070a;border:1px solid #1e2a34;border-top:0;border-radius:0 0 22px 22px;position:absolute;top:0;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 18px 40px -14px #000c}.island.big{width:420px;height:208px}.island[data-s=ask]{box-shadow:0 18px 40px -14px #000c,0 0 0 1px #f2b13a80}.island .head{align-items:center;gap:10px;height:56px;padding:0 14px;display:flex}.island .drop{width:22px;height:26px;clip-path:path("M11 0 C14 6 22 12 22 17 A11 11 0 0 1 0 17 C0 12 8 6 11 0 Z");background:#4cc2db;flex:none;transition:background .4s}.island[data-s=ask] .drop{background:#f2b13a}.island[data-s=done] .drop{background:var(--ok)}.island .hd{flex:1;min-width:0;line-height:1.25}.island .hd b{font-size:.82rem;font-weight:600;display:block}.island .hd span{color:#8696a5;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;display:block;overflow:hidden}.island .chip{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:#4cc2db;background:#4cc2db26;border-radius:99px;padding:3px 8px;font-size:.6rem}.island[data-s=ask] .chip{color:#f2b13a;background:#f2b13a26}.island[data-s=done] .chip{color:var(--ok);background:#3bd07f26}.island .body{gap:10px;padding:0 14px 14px;display:grid}.island .cmd{font-family:var(--f-mono);color:#eaf1f6;background:#151d25;border:1px solid #1e2a34;border-radius:8px;padding:9px 11px;font-size:.74rem}.island .acts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.island .acts span{background:#151d25;border:1px solid #1e2a34;border-radius:9px;place-items:center;height:34px;font-size:.78rem;font-weight:600;display:grid}.island .acts span.allow{color:#04222a;background:#4cc2db;border-color:#4cc2db;transition:transform .2s}.island .acts span.allow.press{transform:scale(.94)}.island .timer{background:#1e2a34;border-radius:3px;height:3px;overflow:hidden}.island .timer i{transform-origin:0;background:#f2b13a;width:100%;height:100%;display:block}.m-water{background:linear-gradient(160deg,#0d4a66,#12354e 60%,#0a2233)}.m-water svg{width:100%;height:100%;position:absolute;inset:0}.m-sys{background:radial-gradient(70% 70% at 50% 45%,#0f6383 0%,#12354e 60%,#0a2233 100%)}.m-sys canvas,.m-cpu canvas{width:100%;height:100%;position:absolute;inset:0}.m-cpu{background:linear-gradient(170deg,#183f5c,#0f2c40)}.m-cpu .gantt{align-content:center;gap:12px;display:grid;position:absolute;inset:58px 22px 120px}.m-cpu .lane{font-family:var(--f-mono);color:#ffffff8c;grid-template-columns:30px 1fr;align-items:center;gap:10px;font-size:.72rem;display:grid}.m-cpu .track{background:#ffffff0d;border-radius:6px;height:20px;position:relative;overflow:hidden}.m-cpu .blk{transform-origin:0;border-radius:5px;height:100%;position:absolute;top:0;transform:scaleX(0)}.tile-cta{border-radius:var(--r);background:var(--paper-2);flex-direction:column;justify-content:space-between;min-height:clamp(320px,34vw,460px);padding:26px;text-decoration:none;display:flex}.tile-cta .display{font-size:clamp(2.6rem,5vw,4.6rem)}.tile-cta:hover .display{color:var(--cobalt)}.dark-panel{background:var(--panel);color:var(--on-panel);border-radius:var(--r);padding:clamp(28px,4vw,56px) clamp(16px,3vw,44px) clamp(18px,2.6vw,34px)}.dark-panel .label{color:var(--on-panel-2)}.dark-panel h2.title{max-width:16ch}.dark-panel .sub{color:var(--on-panel-2);max-width:52ch;margin:16px 0 0}.skills{gap:var(--gut);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(28px,4vw,52px);display:grid}.skill{background:var(--panel-2);border:1px solid var(--panel-line);border-radius:var(--r-s);flex-direction:column;min-width:0;display:flex;overflow:hidden}.skill .gl{aspect-ratio:1/.82;background:radial-gradient(70% 60% at 50% 55%,#2a6a88,#183f5c 72%);width:100%;position:relative}.skill .gl canvas{width:100%;height:100%;position:absolute;inset:0}.skill .txt{gap:10px;padding:20px 20px 22px;display:grid}.skill h3{letter-spacing:-.02em;margin:0;font-size:1.3rem;font-weight:500}.skill p{color:var(--on-panel-2);margin:0;font-size:.94rem}.skill .pills{flex-wrap:wrap;gap:6px;display:flex}.skill .pill{color:var(--on-panel);background:#ffffff12}.marquee{border-top:1px solid var(--panel-line);gap:12px;margin-top:clamp(22px,3vw,40px);padding-top:22px;display:grid;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.track-m{gap:12px;width:max-content;animation:38s linear infinite marq;display:flex}.track-m.rev{animation-duration:44s;animation-direction:reverse}.track-m span{border:1px solid var(--panel-line);white-space:nowrap;height:48px;color:var(--on-panel);border-radius:12px;align-items:center;gap:10px;padding:0 20px;font-weight:500;display:inline-flex}.track-m span i{background:var(--sea);border-radius:2px;width:8px;height:8px}@keyframes marq{to{transform:translate(-50%)}}.bento{gap:var(--gut);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.b{border-radius:var(--r);background:#fff;min-width:0;padding:22px;position:relative;overflow:hidden}.b.stat{flex-direction:column;grid-column:span 3;justify-content:space-between;min-height:190px;display:flex}.b.stat strong{font-family:var(--f-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:clamp(3rem,6vw,5rem);font-weight:700;font-stretch:80%;line-height:.9}.b.stat strong em{color:var(--cobalt);font-style:normal}.b.stat>span{color:var(--ink-2);font-size:.92rem}.b.globe{background:var(--panel);color:var(--on-panel);grid-area:span 2/span 6;min-height:400px}.b.globe canvas{aspect-ratio:1;width:min(560px,120%);height:auto;position:absolute;bottom:-38%;left:50%;transform:translate(-50%)}.b.globe .gtop{z-index:1;text-align:center;justify-items:center;gap:6px;display:grid;position:relative}.b.globe .gtop b{letter-spacing:-.02em;font-size:1.4rem;font-weight:500}.b.globe .gtop .mono{color:var(--ok);align-items:center;gap:8px;display:inline-flex}.b.globe .gtop .mono i{background:var(--ok);border-radius:50%;width:7px;height:7px}.b.portrait{background:linear-gradient(160deg,#eef6f8,#a7d4e4 48%,#96d1aa);grid-area:span 2/span 4;min-height:420px;padding:0}.b.portrait .ph{color:var(--ink);place-items:center;display:grid;position:absolute;inset:0}.b.portrait .ph b{opacity:.22;font-family:Georgia,Times New Roman,serif;font-size:9rem;font-weight:400;line-height:1}.b.portrait .cap{color:var(--ink);justify-content:space-between;gap:8px;display:flex;position:absolute;bottom:18px;left:18px;right:18px}.b.bio{flex-direction:column;grid-area:span 2/span 8;justify-content:space-between;gap:20px;display:flex}.b.bio h3{letter-spacing:-.025em;max-width:26ch;margin:0;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:500;line-height:1.15}.b.bio p{color:var(--ink-2);max-width:62ch;margin:0}.now-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;display:grid}.now-list div{background:var(--paper);border-radius:12px;padding:12px 14px}.now-list dt{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:4px;font-size:.68rem}.now-list dd{margin:0;font-size:.92rem;font-weight:500}.ledger{border-top:1px solid var(--line)}.row{border-bottom:1px solid var(--line);isolation:isolate;grid-template-columns:minmax(0,2.2fr) minmax(0,1.6fr) minmax(0,1fr) 30px;align-items:center;gap:16px;padding:20px 14px;display:grid;position:relative}.row:before{content:"";background:var(--ink);transform-origin:bottom;transition:transform .5s var(--ease);z-index:-1;border-radius:10px;position:absolute;inset:0;transform:scaleY(0)}.row:hover:before{transform:none}.row:hover{color:var(--on-panel)}.row b{letter-spacing:-.01em;font-size:clamp(1rem,1.6vw,1.25rem);font-weight:500}.row span{color:var(--ink-2);transition:color .4s}.row:hover span{color:var(--on-panel-2)}.row .yr{font-family:var(--f-mono);text-align:right;font-size:.78rem}.row .ar{transition:transform .5s var(--ease)}.row:hover .ar{transform:rotate(-45deg)}.cta{border-radius:var(--r);background:var(--sky);color:var(--ink);padding:clamp(40px,7vw,100px) clamp(18px,3.4vw,52px) clamp(28px,4vw,48px);position:relative;overflow:hidden}.cta .label{color:var(--ink-2)}.cta .display{margin:18px 0 30px;font-size:clamp(4rem,15vw,15rem);line-height:.82}.cta-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cta .mail{color:var(--ink);margin-left:8px;font-size:clamp(1.1rem,2vw,1.5rem)}.foot{border-top:1px solid #12354e38;grid-template-columns:2fr repeat(3,1fr);gap:24px;margin-top:clamp(40px,7vw,90px);padding-top:24px;display:grid}.foot h4{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;opacity:.7;margin:0 0 10px;font-size:.72rem;font-weight:400}.foot ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.foot a{text-decoration:none}.foot a:hover{text-decoration:underline}.legal{color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;gap:10px;padding:22px clamp(6px,1.6vw,26px) 30px;display:flex}.sign{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:end;gap:clamp(18px,4vw,60px);margin:-6px 0 34px;display:grid}.sign .note{max-width:34ch;margin:0;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.45}.sig{color:var(--ink);justify-self:end;width:min(560px,100%);text-decoration:none;display:block;position:relative}.sig svg{width:100%;height:auto;display:block;overflow:visible}.sig .ink path{stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}.sig .main path{stroke-width:3.2px}.sig .main .u{stroke-width:2px}.sig .nib path{stroke-width:1.1px;opacity:.85}.sig .dot{stroke-width:4px}.sig-hint{opacity:0;transition:opacity .4s var(--ease),transform .4s var(--ease);color:var(--ink-2);position:absolute;bottom:-8px;right:0;transform:translateY(6px)}.sig:hover .sig-hint,.sig:focus-visible .sig-hint{opacity:1;transform:none}@media (width<=680px){.sign{grid-template-columns:1fr}.sig{justify-self:start}}.cursor{z-index:80;pointer-events:none;background:var(--cobalt);color:#fff;width:12px;height:12px;font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease),opacity .3s;opacity:0;border-radius:50%;place-items:center;margin:-6px 0 0 -6px;font-size:.66rem;display:grid;position:fixed;top:0;left:0}.cursor span{opacity:0;transition:opacity .2s}.cursor.view{width:84px;height:84px;margin:-42px 0 0 -42px}.cursor.view span{opacity:1}@media (pointer:fine){.cursor{opacity:1}}@media (width<=980px){.nav-links,.nav-cta{display:none}.menu-btn{display:block}.nav-bar{grid-template-columns:1fr auto}.skills{grid-template-columns:1fr}.skill{flex-direction:row}.skill .gl{aspect-ratio:auto;width:42%;min-height:220px}.skill .txt{flex:1;align-content:center}.b.stat{grid-column:span 6}.b.globe,.b.bio{grid-column:span 12}.b.portrait{grid-column:span 12;min-height:360px}.foot{grid-template-columns:1fr 1fr}}@media (width<=680px){.work-grid{grid-template-columns:1fr}.card.wide{grid-column:auto}.card,.card.wide{min-height:440px}.island.big{width:92%;height:200px}.skill{flex-direction:column}.skill .gl{aspect-ratio:1/.7;width:100%}.row{grid-template-columns:1fr auto;gap:4px 12px}.row span:not(.yr){grid-column:1}.row .ar{display:none}.row .yr{grid-area:1/2}.hero-copy{bottom:84px}.hero-foot .hide-s{display:none}}@media (width<=520px){.b.stat{grid-column:span 12;min-height:150px}}.sheet{z-index:70;background:var(--ink);color:var(--on-panel);transition:transform .6s var(--ease);align-content:center;gap:6px;padding:24px;display:grid;position:fixed;inset:0;transform:translateY(-100%)}.sheet.open{transform:none}.sheet a{font-family:var(--f-display);text-transform:uppercase;font-size:3.4rem;font-weight:700;font-stretch:78%;line-height:1;text-decoration:none}.sheet button{border:1px solid var(--panel-line);color:inherit;height:40px;font-family:var(--f-mono);text-transform:uppercase;background:0 0;border-radius:10px;padding:0 14px;font-size:.72rem;position:absolute;top:24px;right:24px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}html.lenis{scroll-behavior:auto}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
