@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.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:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.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:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..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:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.0gfhww.tctz1o.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:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.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:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.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_2fbad08d-module__Y6qpBa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_2fbad08d-module__Y6qpBa__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
:root,body.sys-s02{--page:#fff;--page-2:#f5f5f5;--ink:#0a0a0a;--ink-2:#555;--ink-3:#8a8a8a;--rule:#e5e5e5;--rule-2:#f0f0f0;--accent:#e01b24;--accent-ink:#fff;--hl:#fff;--font-display:var(--font-inter),system-ui,sans-serif;--font-body:var(--font-inter),system-ui,sans-serif;--font-mono:var(--font-jetbrains),ui-monospace,monospace;--display-weight:700;--display-track:-.03em;--display-line:.98;--em-style:normal;--em-weight:700;--em-deco:none;--radius-card:8px;--radius-btn:6px;--btn-pad:13px 22px;--bar-bg:#0a0a0aeb;--bar-ink:#fff;--bar-muted:#ffffffa6;--bar-seg:#ffffff1a;--bar-active-bg:#fff;--bar-active-ink:#0a0a0a;--dot:#e01b24;--hero-pad-y:52px 0 40px;--hero-title-gap:16px;--hero-title-max:980px;--hero-copy-max:680px;--hero-copy-size:16px}body.sys-s05{--page:#1a1a1a;--page-2:#252525;--ink:#f7f7f7;--ink-2:#bdbdbd;--ink-3:#7d7d7d;--rule:#3a3a3a;--rule-2:#2e2e2e;--accent:#d6ff3a;--accent-ink:#0a0a0a;--hl:#1a1a1a;--font-display:"Space Grotesk",sans-serif;--font-body:"Space Grotesk",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--display-weight:700;--display-track:-.035em;--display-line:.96;--em-style:normal;--em-weight:700;--em-deco:underline;--radius-card:16px;--radius-btn:100px;--btn-pad:14px 24px;--bar-bg:#fffffff2;--bar-ink:#0a0a0a;--bar-muted:#0a0a0aa6;--bar-seg:#00000014;--bar-active-bg:#0a0a0a;--bar-active-ink:#fff;--dot:#d6ff3a}body.sys-bauhaus{--page:#f4ede0;--page-2:#ebe2cf;--ink:#0e0e0e;--ink-2:#3a3a3a;--ink-3:#7a7065;--rule:#0e0e0e;--rule-2:#cdc2a8;--accent:#dc2626;--accent-ink:#f4ede0;--hl:#f9f3e6;--font-display:"Archivo",Helvetica,Arial,sans-serif;--font-body:"Space Grotesk",Helvetica,Arial,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--display-weight:900;--display-track:-.04em;--display-line:.92;--em-style:normal;--em-weight:900;--em-deco:none;--radius-card:0;--radius-btn:0;--btn-pad:13px 22px;--bar-bg:#0e0e0ef0;--bar-ink:#f4ede0;--bar-muted:#f4ede0a6;--bar-seg:#f4ede01f;--bar-active-bg:#f5c518;--bar-active-ink:#0e0e0e;--dot:#1e4ed8}body.sys-editorial{--page:#faf6ee;--page-2:#f3ede0;--ink:#1a1612;--ink-2:#5a5044;--ink-3:#8d8273;--rule:#d8cdb8;--rule-2:#e8dec9;--accent:#b8410e;--accent-ink:#faf6ee;--hl:#fbf8f1;--font-display:"Source Serif 4",Georgia,"Times New Roman",serif;--font-body:"Source Serif 4",Georgia,"Times New Roman",serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--display-weight:700;--display-track:-.02em;--display-line:1;--em-style:italic;--em-weight:400;--em-deco:none;--radius-card:6px;--radius-btn:4px;--btn-pad:12px 22px;--bar-bg:#1a1612eb;--bar-ink:#faf6ee;--bar-muted:#faf6eea6;--bar-seg:#faf6ee1f;--bar-active-bg:#faf6ee;--bar-active-ink:#1a1612;--dot:#b8410e}body.sys-engineering{--page:#fbfbfb;--page-2:#f3f4f6;--ink:#0d1117;--ink-2:#3a4452;--ink-3:#6e7781;--rule:#d6dbe1;--rule-2:#e8eaed;--accent:#0969da;--accent-ink:#fff;--hl:#fff;--font-display:"IBM Plex Sans","Helvetica Neue",system-ui,sans-serif;--font-body:"IBM Plex Sans","Helvetica Neue",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--display-weight:600;--display-track:-.02em;--display-line:1.05;--em-style:normal;--em-weight:600;--em-deco:none;--radius-card:4px;--radius-btn:3px;--btn-pad:11px 20px;--bar-bg:#0d1117eb;--bar-ink:#e6edf3;--bar-muted:#e6edf3a6;--bar-seg:#e6edf31a;--bar-active-bg:#0969da;--bar-active-ink:#fff;--dot:#0969da}body.sys-lex{--page:#fbfaf7;--page-2:#f4f2ec;--ink:#1a1d24;--ink-2:#3d424d;--ink-3:#6b7280;--rule:#e6e2d8;--rule-2:#efeae0;--accent:#a98842;--accent-ink:#fff;--hl:#fff;--font-display:"Cormorant Garamond","Times New Roman",Georgia,serif;--font-body:Inter,"Helvetica Neue",system-ui,sans-serif;--font-mono:Inter,"Helvetica Neue",system-ui,sans-serif;--display-weight:600;--display-track:-.015em;--display-line:1.04;--em-style:italic;--em-weight:500;--em-deco:none;--radius-card:8px;--radius-btn:2px;--btn-pad:12px 22px;--bar-bg:#0f1e3df0;--bar-ink:#fff;--bar-muted:#ffffffad;--bar-seg:#ffffff1a;--bar-active-bg:#a98842;--bar-active-ink:#fff;--dot:#a98842}body.sys-terminal{--page:#0a0e0a;--page-2:#0f1410;--ink:#c8f5c8;--ink-2:#7fb87f;--ink-3:#4a704a;--rule:#1f2a1f;--rule-2:#162016;--accent:#3aff60;--accent-ink:#0a0e0a;--hl:#0d120e;--font-display:"JetBrains Mono",ui-monospace,Menlo,monospace;--font-body:"IBM Plex Mono",ui-monospace,Menlo,monospace;--font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--display-weight:700;--display-track:-.02em;--display-line:1;--em-style:normal;--em-weight:700;--em-deco:none;--radius-card:0;--radius-btn:0;--btn-pad:10px 18px;--bar-bg:#0a0e0af0;--bar-ink:#c8f5c8;--bar-muted:#c8f5c894;--bar-seg:#3aff601a;--bar-active-bg:#3aff60;--bar-active-ink:#0a0e0a;--dot:#3aff60}*{box-sizing:border-box}html,body{background:var(--page);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;max-width:100%;margin:0;padding:0;transition:background .2s,color .2s;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}img{max-width:100%;display:block}em.acc{font-style:var(--em-style);font-weight:var(--em-weight);color:var(--accent);-webkit-text-decoration:var(--em-deco);text-decoration:var(--em-deco);text-underline-offset:6px;text-decoration-thickness:4px}code{font-family:var(--font-mono);background:var(--page-2);border-radius:4px;padding:2px 6px;font-size:.88em}body.sys-engineering{background-image:none}body.sys-terminal{background-image:linear-gradient(#3aff6006 50%,#0000 50%);background-size:100% 3px}body.sys-bauhaus .hero .kicker:after{content:"";background:#f5c518;border-radius:50%;width:12px;height:12px;margin-left:10px;display:inline-block;box-shadow:18px 0 #1e4ed8}body.sys-terminal .hero h1:after{content:"_";color:var(--accent);animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.shell{max-width:1200px;margin:0 auto;padding:0 40px}.nav{background:color-mix(in srgb, var(--page) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule);z-index:50;padding-top:0;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1200px;margin:0 auto;padding:14px 40px;display:flex}.brand{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:11px;transition:opacity .15s}.brand:hover{opacity:.7}.brand strong{color:var(--ink);font-weight:500}.nav-links{gap:2px;font-size:13px;font-weight:500;display:flex}.nav-links a{border-radius:var(--radius-btn);color:var(--ink-2);padding:8px 14px;transition:background .15s,color .15s}.nav-links a:hover{color:var(--ink)}.nav-links a.on{background:var(--ink);color:var(--page)}body.sys-s05 .nav-links a.on{background:var(--accent);color:var(--accent-ink)}.nav-right{font-family:var(--font-mono);color:var(--ink-3);align-items:center;gap:14px;font-size:11px;display:flex}.nav-right .clk{font-variant-numeric:tabular-nums;color:var(--ink-2)}.nav-right .mode{border:1px solid var(--rule);border-radius:100px;padding:5px 10px}.page{animation:.3s pageIn;display:none}.page.on{display:block}@keyframes pageIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 3px #4caf5040,0 0 #4caf5073}50%{box-shadow:0 0 0 5px #4caf502e,0 0 0 10px #4caf5000}}@keyframes pulse-circle{0%,to{box-shadow:0 0 #0000002e}50%{box-shadow:0 0 0 6px #0000}}@keyframes pulse-yellow{0%,to{box-shadow:0 0 0 5px #f5b22947,0 0 #f5b22973}50%{box-shadow:0 0 0 7px #f5b2292e,0 0 0 13px #f5b22900}}.btn{padding:var(--btn-pad);border-radius:var(--radius-btn);cursor:pointer;border:1.5px solid #0000;align-items:center;gap:8px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn.primary{background:var(--ink);color:var(--page);border-color:var(--ink)}body.sys-s05 .btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:hover{transform:translateY(-1px)}.btn.secondary{color:var(--ink);border-color:var(--rule);background:0 0}.btn.secondary:hover{border-color:var(--ink)}.btn .ar{transition:transform .2s}.btn:hover .ar{transform:translate(3px)}.home-hero{grid-template-columns:minmax(0,1.45fr) minmax(320px,.9fr);align-items:center;gap:36px;padding:68px 0 56px;display:grid}.home-hero .copy{padding-bottom:28px;position:relative}.home-hero .copy:after{content:"";width:min(100%,var(--hero-rule-w,760px));background:var(--rule);height:1px;position:absolute;bottom:0;left:0}.home-hero .badge,.hub-feature-badge,.badge-below-explore .badge{border:1px solid var(--rule);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);border-radius:100px;align-items:center;gap:10px;margin-bottom:26px;padding:7px 13px;font-size:11px;display:inline-flex}.home-hero .badge .tag,.hub-feature-badge .tag,.badge-below-explore .badge .tag{background:var(--accent);color:var(--accent-ink);letter-spacing:.06em;border-radius:100px;padding:2px 8px;font-size:10px;font-weight:700}.hub-feature-badge{display:none}.home-hero h1{font-family:var(--font-display);font-weight:var(--display-weight);font-size:clamp(42px,5.4vw,70px);line-height:var(--display-line);letter-spacing:var(--display-track);text-wrap:balance;margin:0 0 24px}.home-hero .lede{color:var(--ink-2);text-wrap:pretty;max-width:560px;margin:0 0 32px;font-size:17px;line-height:1.5}.home-hero .ctas{flex-wrap:wrap;gap:12px;display:flex}.hero-stats-mobile{display:none}.home-hero .micro{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;gap:26px;margin-top:18px;font-size:11px;display:flex}.home-hero .micro strong{color:var(--ink);font-weight:600;font-family:var(--font-display);margin-right:5px}.home-hero .portrait{aspect-ratio:4/5;border-radius:var(--radius-card);background:var(--page-2);position:relative;overflow:hidden}.home-hero .portrait img{object-fit:cover;filter:grayscale(.05);width:100%;height:100%}.home-hero .portrait .tag{color:#fff;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;text-shadow:0 1px 3px #00000080;justify-content:space-between;font-size:10.5px;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.now-strip{font-family:var(--font-mono);box-sizing:border-box;border:0;grid-template-columns:auto auto 1fr auto;align-items:center;gap:16px;max-width:560px;padding:20px 0 0;font-size:12px;display:grid}.now-strip .lbl{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px}.now-strip .val{color:var(--ink);white-space:nowrap}.now-strip .loc{color:var(--accent);white-space:nowrap;justify-self:end;align-items:center;display:inline-flex}.now-strip .spacer{display:none}.now-dot{background:#4caf50;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-in-out infinite pulse-dot;display:block;box-shadow:0 0 0 3px #4caf5040}body.sys-s05 .now-dot{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent)}.home-metrics{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);gap:0;margin:6px 0 0;display:flex}.home-metrics span{border-right:1px solid var(--rule);flex:1;padding:17px 22px;font-size:11px}.home-metrics span:last-child{border-right:0}.home-metrics strong{color:var(--ink);font-family:var(--font-display);letter-spacing:var(--display-track);margin-bottom:5px;font-size:22px;line-height:1;display:block}.hub-sec{padding:52px 0 56px}.sec-title{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-track);margin:0 0 6px;font-size:32px;line-height:1.1}.sec-sub{color:var(--ink-2);font-size:14px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;margin:0 0 32px;font-size:11.5px}.hub{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.hub-card{border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--page);cursor:pointer;flex-direction:column;gap:10px;min-height:180px;padding:22px;transition:all .15s;display:flex}.hub-card:hover{border-color:var(--ink);transform:translateY(-2px)}body.sys-s05 .hub-card:hover{border-color:var(--accent);background:var(--page-2)}.hub-card .n{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.hub-card .nm{font-family:var(--font-display);font-size:22px;font-weight:var(--display-weight);letter-spacing:var(--display-track);margin-top:auto;line-height:1}.hub-card .desc{color:var(--ink-2);font-size:12.5px;line-height:1.4}.hub-card .go{font-family:var(--font-mono);color:var(--accent);align-items:center;gap:6px;margin-top:6px;font-size:11px;display:flex}.featured-sec{padding:24px 0 72px}.feat-card{border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--page);grid-template-columns:minmax(0,1fr) minmax(340px,.86fr);max-width:1040px;margin:0 auto;display:grid;overflow:hidden}.feat-card .img{color:#fff;height:100%;min-height:320px;max-height:380px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.92;background:#fff;justify-content:center;align-items:center;padding:18px;font-size:12px;display:flex;overflow:hidden}.feat-card .img img{object-fit:contain;width:100%;max-width:620px;height:100%;max-height:330px;display:block}body.sys-s05 .feat-card .img{background:repeating-linear-gradient(135deg, var(--accent) 0 20px, color-mix(in srgb,var(--accent) 70%, #000) 20px 40px);color:var(--accent-ink)}.feat-card .body{padding:36px}.feat-card .kicker{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;gap:16px;margin-bottom:14px;font-size:11px;display:flex}.feat-card h4{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-track);margin:0 0 14px;font-size:32px;line-height:1.1}.feat-card p{color:var(--ink-2);margin:0 0 22px;font-size:15px;line-height:1.55}.feat-tags{flex-wrap:wrap;gap:6px;margin-bottom:22px;display:flex}.feat-tags span{background:var(--page-2);color:var(--ink-2);font-size:11px;font-family:var(--font-mono);border-radius:100px;padding:5px 10px}.feat-card .read{color:var(--ink);border-bottom:1.5px solid var(--ink);align-items:center;gap:6px;padding-bottom:2px;font-size:13px;font-weight:600;display:inline-flex}.exp-row .logo img{object-fit:cover;border-radius:0;width:100%;height:100%}.flag-mini{vertical-align:middle;border:1px solid var(--rule);width:16px;height:11px;margin-right:4px;display:inline-block}.proj-card .img img{object-fit:cover;width:100%;height:100%;display:block}.proj-carousel{aspect-ratio:16/10;background:var(--page-2);border-bottom:1px solid var(--rule-2);touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;position:relative;overflow:hidden}.proj-carousel.dragging{cursor:grabbing}.proj-carousel .slides{will-change:transform;height:100%;transition:transform .3s;display:flex}.proj-carousel.dragging .slides{transition:none}.proj-carousel .slide{background:#fff;flex:0 0 100%;justify-content:center;align-items:center;height:100%;display:flex;position:relative}.proj-carousel .slide img,.proj-carousel .slide video{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.slide-label{color:#fff;max-width:calc(100% - 24px);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;opacity:0;pointer-events:none;z-index:1;background:#0a0a0ad1;border-radius:999px;padding:6px 10px;font-size:10.5px;line-height:1.2;transition:opacity .15s,transform .15s;position:absolute;bottom:12px;left:12px;overflow:hidden;transform:translateY(6px)}.proj-card:hover .slide-label,.proj-carousel:focus-within .slide-label{opacity:1;transform:none}.proj-carousel .nav{color:#0a0a0a;cursor:pointer;opacity:0;z-index:2;background:#ffffffd9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;font-weight:600;transition:opacity .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.proj-card:hover .proj-carousel .nav{opacity:1}.proj-carousel .nav.prev{left:10px}.proj-carousel .nav.next{right:10px}.proj-carousel .dots{z-index:2;gap:6px;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.proj-carousel .dots button{cursor:pointer;background:#0a0a0a59;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:all .15s}.proj-carousel .dots button.on{background:#0a0a0a;border-radius:3px;width:18px}.blog-list{flex-direction:column;gap:0;display:flex}.blog-row{border-bottom:1px solid var(--rule-2);grid-template-columns:1fr auto;align-items:center;gap:16px;padding:20px 0;transition:background .15s;display:grid}.blog-row:hover{background:var(--page-2)}.blog-row .bl-title{margin-bottom:4px;font-size:15px;font-weight:600}.blog-row .bl-sum{color:var(--ink-2);font-size:13px;line-height:1.4}.blog-row .bl-meta{text-align:right;font-family:var(--font-mono);color:var(--ink-3);white-space:nowrap;font-size:11px}.blog-row .bl-tag{background:var(--page-2);color:var(--ink-3);font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border-radius:100px;margin-top:4px;padding:2px 7px;display:inline-block}.about-hero{padding:var(--hero-pad-y);border-bottom:1px solid var(--rule)}.about-hero h1{font-family:var(--font-display);font-weight:var(--display-weight);max-width:var(--hero-title-max);margin:0 0 var(--hero-title-gap);letter-spacing:var(--display-track);font-size:clamp(38px,5vw,60px);line-height:var(--display-line);text-wrap:balance}.about-hero p{font-size:var(--hero-copy-size);color:var(--ink-2);max-width:var(--hero-copy-max);text-wrap:pretty;margin:0;line-height:1.55}.about-tabs{border-bottom:1px solid var(--rule);scrollbar-width:none;gap:0;margin-top:8px;padding:0;display:flex;position:relative;overflow-x:auto}.about-tabs::-webkit-scrollbar{display:none}.about-tabs .tab{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);cursor:pointer;white-space:nowrap;border-bottom:2px solid #0000;padding:16px 18px;font-size:11.5px;transition:color .15s,border-color .15s}.about-tabs .tab:hover{color:var(--ink-2)}.about-tabs .tab.on{color:var(--ink);border-bottom-color:var(--ink)}body.sys-s05 .about-tabs .tab.on{color:var(--accent);border-bottom-color:var(--accent)}.about-tabs .tab .c{color:var(--ink-3);background:var(--rule-2);border-radius:100px;margin-left:6px;padding:2px 6px;font-size:10px}.about-tabs .tab.on .c{background:var(--ink);color:var(--page)}body.sys-s05 .about-tabs .tab.on .c{background:var(--accent);color:var(--accent-ink)}.tab-panel{padding:40px 0;display:none}.tab-panel.on{display:block}.timeline-wrap{border-bottom:1px solid var(--rule-2);margin-bottom:32px;padding:0 0 36px}.tl-head{justify-content:space-between;align-items:baseline;margin-bottom:24px;display:flex}.tl-head h3{font-family:var(--font-display);font-size:18px;font-weight:var(--display-weight);letter-spacing:var(--display-track);margin:0}.tl-head .meta{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px}.tl-now{border-bottom:1px solid var(--rule);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:10px;margin:-8px 0 22px;padding:0 0 16px;font-size:13px;display:flex}.tl-now .now-dot{margin-right:0}.tl-now .txt{text-transform:none;letter-spacing:.04em;color:var(--ink);font-size:16px}.timeline{scrollbar-width:thin;gap:0;padding:14px 0 8px 24px;display:flex;position:relative;overflow-x:auto}.timeline:before{content:"";background:var(--rule);pointer-events:none;height:2px;position:absolute;top:52px;left:0;right:0}.timeline{--tl-line-color:var(--rule)}.timeline>.tl-line{background:var(--rule);pointer-events:none;z-index:0;min-width:0;height:2px;position:absolute;top:64px;left:51px;right:0}#tl-exp:before,#tl-edu:before,#tl-pat:before{display:none}#tl-pat>.tl-line{top:53px;left:8px}.tl-node{cursor:pointer;flex:0 0 200px;padding-right:20px;position:relative}.tl-node .year{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.04em;margin:0 0 16px;font-size:11px}.tl-node .circle{background:var(--page);border:2px solid var(--ink-3);z-index:1;border-radius:50%;width:16px;height:16px;margin:18px 0 12px;transition:all .15s;position:relative}.tl-node.active .circle{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 22%, transparent)}.tl-node.now .circle{border-color:var(--ink);animation:2s ease-in-out infinite pulse-circle}body.sys-s05 .tl-node.now .circle{border-color:var(--accent)}#tl-exp .tl-node .circle{border:1px solid var(--rule);width:54px;height:54px;box-shadow:none;background:#fff;border-radius:50%;justify-content:center;align-items:center;margin:-5px 0 12px;animation:none;display:flex;overflow:hidden}#tl-exp .tl-node.active .circle{border-color:var(--rule);box-shadow:none;background:#fff}#tl-exp .tl-node.now .circle{border:2px solid #4caf50;animation:2s ease-in-out infinite pulse-dot;box-shadow:0 0 0 5px #4caf5040}#tl-exp .tl-node .circle img{object-fit:contain;object-position:center;background:#fff;border-radius:0;width:100%;height:100%;padding:3px}#tl-exp .tl-node .circle.logo-scale-up img{object-fit:cover;padding:0}#tl-exp .tl-node .circle.logo-black-bg,#tl-exp .tl-node .circle.logo-black-bg img{background:#000}#tl-exp .tl-node .circle.logo-green-team img{width:80%;height:80%}#tl-exp .tl-node .circle.logo-edag,#tl-exp .tl-node .circle.logo-edag img{background:#f0f3fa}#tl-exp .tl-node .circle.logo-apuama img{padding:4px;transform:scale(1.4)}#tl-edu .tl-node .circle{border:1px solid var(--rule);width:54px;height:54px;box-shadow:none;background:#fff;border-radius:50%;justify-content:center;align-items:center;margin:-5px 0 12px;animation:none;display:flex;overflow:hidden}#tl-edu .tl-node.active .circle{border-color:var(--rule);box-shadow:none;background:#fff}#tl-edu .tl-node.now .circle{border:2px solid #4caf50;animation:2s ease-in-out infinite pulse-dot;box-shadow:0 0 0 5px #4caf5040}#tl-edu .tl-node .circle img{object-fit:contain;object-position:center;background:#fff;border-radius:0;width:100%;height:100%;padding:3px}#tl-pat .tl-node.active .circle{background:#f5b229;border-color:#f5b229;animation:2s ease-in-out infinite pulse-yellow;box-shadow:0 0 0 5px #f5b22947}.tl-node .role{color:var(--ink);margin-bottom:4px;font-size:13px;font-weight:600;line-height:1.3}.tl-node .co{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}.subfilter{flex-wrap:wrap;gap:6px;margin-bottom:24px;display:flex}.subfilter .chip{border:1px solid var(--rule);font-family:var(--font-mono);color:var(--ink-2);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;border-radius:100px;padding:6px 12px;font-size:11px;transition:all .15s}.subfilter .chip:hover{border-color:var(--ink-2)}.subfilter .chip.on{background:var(--ink);color:var(--page);border-color:var(--ink)}body.sys-s05 .subfilter .chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.exp-list{flex-direction:column;display:flex}.exp-row{border-bottom:1px solid var(--rule-2);grid-template-columns:72px 1fr;align-items:start;gap:6px 22px;padding:18px 0;transition:opacity .2s;display:grid}.exp-row:last-child{border-bottom:none}.exp-row.hidden{display:none}.exp-row .logo{width:64px;height:64px;font-family:var(--font-mono);color:var(--ink-2);border:1px solid var(--rule);background:#fff;border-radius:50%;grid-area:1/1;justify-content:center;align-self:start;align-items:center;font-size:10px;font-weight:600;display:flex;overflow:hidden}.exp-row a.logo{cursor:pointer;transition:border-color .15s,transform .15s}.exp-row a.logo:hover{border-color:var(--accent);transform:translateY(-1px)}.exp-row .logo img{object-fit:contain;object-position:center center;background:#fff;border-radius:0;width:100%;height:100%;padding:4px}.exp-row .logo.logo-scale-up img{object-fit:cover;padding:0}.exp-row .logo.logo-black-bg{background:#000}.exp-row .logo.logo-black-bg img{object-fit:contain;background:#000}.exp-row .logo.logo-green-team img{width:80%;height:80%}.exp-row .logo.logo-edag,.exp-row .logo.logo-edag img{background:#f0f3fa}.exp-row .logo.logo-apuama img{padding:6px;transform:scale(1.4)}.exp-row .logo.logo-pro-alumni img{padding:14px}.exp-row .logo.logo-aegee{background:#173f7b}.exp-row .logo.logo-aegee img{background:#173f7b;padding:4px}.mobile-exp-date,.mobile-exp-tags,.mobile-exp-place,.desktop-exp-place{display:none}.exp-row>div:nth-child(2){grid-area:1/2/span 2}.exp-row .role{margin-bottom:3px;font-size:15px;font-weight:600;line-height:1.3}.exp-row .co{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.exp-row .co a{color:var(--ink);text-underline-offset:3px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.exp-row .co a:hover{color:var(--accent)}.exp-row .co .tag{font-family:var(--font-mono);background:var(--page-2);color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;border-radius:100px;padding:2px 7px;font-size:10px}.exp-row .co .desktop-exp-place{color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.exp-row .co .mobile-exp-place{display:none}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.tag-live{font-family:var(--font-mono);color:#16a34a;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle;background:#22c55e1f;border:1px solid #22c55e59;border-radius:100px;align-items:center;gap:5px;margin-left:8px;padding:2px 8px 2px 6px;font-size:10px;font-weight:700;display:inline-flex}.tag-live:before{content:"";background:#22c55e;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.8s ease-in-out infinite live-pulse}.assoc-list .assoc-place{gap:6px;margin-top:6px}.exp-row .meta{text-align:center;font-family:var(--font-mono);color:var(--ink-3);white-space:normal;grid-area:1/1;align-self:start;margin-top:74px;font-size:10px;line-height:1.3}.exp-row .meta .dur{color:var(--ink-2);margin-top:2px;font-size:9px;display:block}.exp-bullets{color:var(--ink-2);margin:8px 0 0;padding:0;font-size:13px;line-height:1.55;list-style:none}.exp-bullets li{margin-bottom:4px;padding-left:14px;position:relative}.exp-bullets li:before{content:"";background:var(--ink-3);width:6px;height:1px;position:absolute;top:9px;left:0}.exp-bullets li.merit,.exp-bullets li.thesis,.exp-bullets li.formula{grid-template-columns:16px minmax(0,1fr);align-items:start;gap:7px;padding-left:0;display:grid}.exp-bullets li.merit:before,.exp-bullets li.thesis:before,.exp-bullets li.formula:before{content:none}.exp-bullets .sub-bullets{color:var(--ink-2);margin:3px 0 0;padding:0;list-style:none}.exp-bullets .sub-bullets li{margin:1px 0 0;padding-left:12px}.exp-bullets .sub-bullets li:before{width:4px;top:9px}.bullet-icon{width:14px;height:14px;stroke:var(--ink-3);fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;opacity:.82;margin-top:4px}.bullet-icon.fill{fill:var(--ink-3);stroke:none}.formula-team-link{color:var(--accent);text-underline-offset:3px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.formula-team-link:hover,.formula-team-link:focus-visible{color:var(--ink)}.icon-options{border:1px dashed var(--rule);border-radius:var(--radius-card);background:var(--page-2);margin:18px 0 22px;padding:18px;display:none}.icon-options h4{font-family:var(--font-display);font-size:16px;font-weight:var(--display-weight);letter-spacing:var(--display-track);color:var(--ink);margin:0 0 12px}.icon-options .row{grid-template-columns:96px repeat(10,minmax(38px,1fr));align-items:center;gap:10px;margin-top:12px;display:grid}.icon-options .label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-size:10px}.icon-choice{color:var(--ink);flex-direction:column;align-items:center;gap:6px;display:flex}.icon-choice .ico{justify-content:center;align-items:center;height:30px;display:flex}.icon-choice svg{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.icon-choice svg.fill{fill:currentColor;stroke:none}.icon-choice .num{font-family:var(--font-mono);color:var(--ink-3);font-size:9px}.inline-preview{margin-top:3px;margin-bottom:12px;display:block}.inline-preview>summary{font-family:var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border-bottom:1px solid;padding-bottom:2px;font-size:11px;list-style:none;display:inline-flex}.inline-preview>summary::-webkit-details-marker{display:none}.inline-preview>summary:after{content:" ↓"}.inline-preview[open]>summary:after{content:" ↑"}.inline-preview .preview-frame{border:1px solid var(--rule);border-radius:var(--radius-card);background:#fff;width:min(560px,100%);margin-top:12px;position:relative;overflow:hidden}.inline-preview .preview-frame>img,.inline-preview .preview-frame>video{object-fit:contain;background:#fff;width:100%;height:330px;display:block}.inline-preview .preview-strip{border-top:1px solid var(--rule);background:var(--page-2);gap:6px;padding:8px;display:flex;overflow-x:auto}.inline-preview .preview-strip button{background:0 0;border:0;flex:none;padding:0;line-height:0;display:block}.inline-preview .preview-strip img{object-fit:cover;border:1px solid var(--rule);cursor:pointer;opacity:.62;background:#fff;border-radius:6px;width:64px;height:44px;transition:opacity .15s,border-color .15s,transform .15s}.inline-preview .preview-strip img.on{opacity:1;border-color:var(--accent);transform:translateY(-1px)}.inline-preview .preview-nav{color:#111;cursor:pointer;z-index:2;background:#ffffffeb;border:1px solid #00000024;border-radius:50%;place-items:center;width:32px;height:32px;font-size:22px;line-height:1;display:grid;position:absolute;top:165px;transform:translateY(-50%);box-shadow:0 6px 18px #00000026}.inline-preview .preview-nav.prev{left:10px}.inline-preview .preview-nav.next{right:10px}.inline-preview .preview-count{color:#fff;font-family:var(--font-mono);letter-spacing:.04em;z-index:2;background:#000000a3;border-radius:999px;padding:4px 7px;font-size:10px;position:absolute;bottom:62px;right:10px}.empty-state{text-align:center;color:var(--ink-3);font-family:var(--font-mono);padding:40px;font-size:12px}.skills-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.skill-section{border-top:0;grid-column:1/-1;margin-top:0;padding-top:18px}.skill-section.code{padding-top:0}.skill-section+.skill-section{margin-top:34px}.skill-section-head{margin-bottom:22px;display:block}.skill-section-head h3{font-family:var(--font-display);font-size:26px;font-weight:var(--display-weight);letter-spacing:var(--display-track);margin:0;line-height:1.1}.skill-section-head p{max-width:760px;color:var(--ink-2);text-align:justify;margin:10px 0 0;font-size:13.5px;line-height:1.55}.skill-section-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.skill-section.code .skill-section-grid{grid-template-columns:repeat(3,1fr)}.skill-section.homelab .skill-section-grid{grid-template-columns:1fr}.skill-section.homelab .skill-group .sec-sub{min-height:0;margin:0 0 12px!important}.skill-section.homelab .stack-badges{margin:0}.skill-section.code .git-activity{grid-column:1/-1}.skill-section-grid{counter-reset:skill-grp}.skill-group{counter-increment:skill-grp}.skill-group h4{font-family:var(--font-mono);color:var(--ink);text-transform:uppercase;letter-spacing:.07em;margin:0 0 10px;font-size:14px;font-weight:700}.skill-group h4:before{content:counter(skill-grp,lower-roman) ". ";color:var(--accent);font-size:inherit;font-weight:700}.skill-group .sec-sub{text-align:justify;-webkit-hyphens:auto;hyphens:auto;min-height:4.7em;line-height:1.55;display:block;margin:0 0 18px!important}.skill-list{flex-direction:column;gap:8px;display:flex}.skill-item{border-bottom:1px solid var(--rule-2);grid-template-columns:minmax(0,1fr) 96px 32px 80px;align-items:center;gap:10px;padding:10px 0;font-size:13px;display:grid}.skill-item .nm{min-width:0;font-weight:500;line-height:1.35}.skill-item .nm a{color:var(--ink);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;transition:color .15s,text-shadow .15s}.skill-item .nm a:hover,.skill-item .nm a:focus-visible{color:var(--accent);text-shadow:0 0 14px color-mix(in srgb,var(--accent) 45%, transparent)}.skill-item .lv{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;text-align:center;white-space:nowrap;font-size:10.5px}.skill-bar{background:var(--rule);border-radius:100px;grid-column:4;justify-self:end;width:80px;height:4px;margin-left:0;overflow:hidden}.skill-bar span{background:var(--ink);border-radius:100px;height:100%;display:block}body.sys-s05 .skill-bar span{background:var(--accent)}.stack-badges{flex-wrap:wrap;gap:8px;margin:12px 0 14px;display:flex}.stack-badges a,.stack-badges span{border:1px solid var(--rule);background:var(--page-2);border-radius:4px;line-height:0;display:inline-flex;overflow:hidden}.stack-badges a span{background:0 0;border:0;border-radius:0;overflow:visible}.stack-badges img{height:22px;display:block}.stack-badges .logo-badge{color:#fff;height:22px;line-height:1;font-family:var(--font-mono);background:#111827;align-items:center;gap:6px;padding:0 8px 0 4px;font-size:11px;text-decoration:none}.stack-badges .logo-badge img{object-fit:contain;border-radius:3px;width:16px;height:16px}.stack-badges .logo-badge.infisical-badge{color:#111827;background:#fde047}.stack-badges .logo-badge.nocodb-badge{color:#fff;background:#2563eb}.stack-badges .logo-badge.nocodb-badge img{background:#fff;padding:1px}.stack-badges .icon-badge{background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;padding:0}.stack-badges .icon-badge img{object-fit:contain;border-radius:5px;width:22px;height:22px}.stack-badges .icon-badge.initials{background:var(--page-2);border:1px solid var(--rule);color:var(--ink);font-family:var(--font-mono);letter-spacing:.02em;font-size:9px;font-weight:700;line-height:1;text-decoration:none}.git-activity{border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--page);grid-column:1/-1;padding:22px 24px;position:relative;overflow:visible}.git-activity:before{content:"";background:var(--accent);height:3px;position:absolute;inset:0 0 auto}.git-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.git-kicker{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:10.5px}.git-title{font-family:var(--font-display);font-size:22px;font-weight:var(--display-weight);letter-spacing:var(--display-track);margin:0 0 6px;line-height:1.15}.git-sub{color:var(--ink-2);text-align:justify;max-width:680px;margin:0;font-size:13px;line-height:1.5}.git-total{text-align:right;font-family:var(--font-mono);color:var(--ink-3);white-space:nowrap;font-size:11px}.git-total strong{font-family:var(--font-display);color:var(--ink);letter-spacing:var(--display-track);margin-bottom:5px;font-size:28px;line-height:1;display:block}.git-chart{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:8px 10px;margin-top:-22px;padding:34px 0 4px;display:grid;position:relative;overflow:auto visible}.git-months{min-width:max-content;font-family:var(--font-mono);color:var(--ink-3);grid-column:2;grid-template-columns:repeat(53,12px);gap:3px;font-size:10px;line-height:1;display:grid}.git-months span{grid-column:var(--start) / span 4}.git-days{font-family:var(--font-mono);color:var(--ink-3);text-align:right;grid-column:1;grid-template-rows:repeat(7,12px);gap:3px;padding-top:15px;font-size:10px;line-height:12px;display:grid}.git-days span:first-child{grid-row:2}.git-days span:nth-child(2){grid-row:4}.git-days span:nth-child(3){grid-row:6}.git-grid{grid-column:2;grid-template-rows:repeat(7,12px);grid-auto-columns:12px;grid-auto-flow:column;gap:3px;min-width:max-content;padding-top:15px;display:grid}.git-cell{background:var(--git-0,#ebedf0);cursor:default;border:0;border-radius:2px;outline:none;width:12px;height:12px;padding:0;position:relative}.git-cell.lvl-1{background:var(--git-1,#fee2e2)}.git-cell.lvl-2{background:var(--git-2,#fca5a5)}.git-cell.lvl-3{background:var(--git-3,#ef4444)}.git-cell.lvl-4{background:var(--git-4,#991b1b)}.git-cell:hover,.git-cell:focus-visible{box-shadow:0 0 0 2px var(--page),0 0 0 4px var(--accent);z-index:2}.git-tooltip{color:#fff;width:260px;max-width:260px;font-family:var(--font-mono);z-index:999;pointer-events:none;opacity:0;visibility:hidden;background:#111827;border-radius:6px;padding:9px 11px;font-size:11px;line-height:1.35;transition:opacity 80ms;position:absolute;top:0;left:0;transform:translateY(-100%);box-shadow:0 10px 28px #00000047}.git-tooltip.on{opacity:1;visibility:visible}.git-tooltip span{white-space:normal;overflow-wrap:anywhere;display:block}.git-tooltip-arrow{border:6px solid #0000;border-top-color:#111827;width:0;height:0;position:absolute;top:100%;left:50%;transform:translate(-50%)}.git-foot{font-family:var(--font-mono);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;font-size:11px;display:flex}.git-legend{color:var(--ink-2);align-items:center;gap:8px;display:flex}.git-legend .sw{background:linear-gradient(90deg,var(--git-0,#ebedf0) 0%,var(--git-1,#fdd49e) 25%,var(--git-2,#fdb56a) 50%,var(--git-3,#ef7d32) 75%,var(--git-4,#9a3412) 100%);border-radius:999px;width:72px;height:10px}:root{--git-0:#eef0f2;--git-1:#fee2e2;--git-2:#fca5a5;--git-3:#ef4444;--git-4:#991b1b}body.sys-s05{--git-0:#30363d;--git-1:#3f1f22;--git-2:#7f1d1d;--git-3:#dc2626;--git-4:#fca5a5}body.sys-terminal{--git-0:#132016;--git-1:#1f5c2d;--git-2:#2ea043;--git-3:#3aff60;--git-4:#a5ffb5}.honor-list{flex-direction:column;gap:0;display:flex}.honor-row{border-bottom:1px solid var(--rule-2);grid-template-columns:120px minmax(640px,1fr) minmax(220px,360px);align-items:baseline;gap:28px;padding:20px 0;display:grid}.honor-row .yr{font-family:var(--font-mono);color:var(--ink-3);font-size:11px}.honor-row .ttl{font-size:15px;font-weight:600}.honor-row .sub{color:var(--ink-2);text-align:justify;text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto;max-width:860px;margin-top:4px;font-size:13px}.honor-row .org{font-family:var(--font-mono);color:var(--ink-3);text-align:right;white-space:normal;text-wrap:balance;justify-self:end;max-width:360px;font-size:11px}.lang-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.lang-card{border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--page);padding:24px}.lang-card .flag{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;margin-bottom:14px;font-size:10px;display:flex}.lang-card .flag img{object-fit:cover;border:1px solid var(--rule);width:22px;height:15px}.lang-card .nm{font-family:var(--font-display);font-size:24px;font-weight:var(--display-weight);letter-spacing:var(--display-track);margin-bottom:8px}.lang-card .lv{font-family:var(--font-mono);color:var(--accent);font-size:12px;font-weight:600}.lang-card .lv-sub{color:var(--ink-2);margin-top:4px;font-size:12px}.patents-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.pat-card{border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--page);padding:24px;position:relative;overflow:hidden}.pat-card:before{content:"";background:var(--accent);height:3px;position:absolute;top:0;left:0;right:0}.pat-num{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.06em;margin-bottom:16px;font-size:12px}.pat-org{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.03em;margin-top:-14px;margin-bottom:16px;font-size:11px}.pat-area{min-height:3.2em;color:var(--accent);margin-bottom:20px;font-size:16px;font-weight:600;line-height:1.35}.pat-rows{font-family:var(--font-mono);grid-template-columns:auto 1fr;align-items:baseline;gap:6px 16px;font-size:11.5px;display:grid}.pat-rows .lbl{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.pat-rows .val{color:var(--ink-2)}.pat-rows .val.desc{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.pat-status{font-family:var(--font-mono);color:#b8680b;text-transform:uppercase;letter-spacing:.06em;background:#fff6e5;border-radius:100px;align-items:center;gap:8px;margin-top:16px;padding:4px 10px;font-size:11px;display:inline-flex}body.sys-s05 .pat-status{color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent)}.pat-status .d{background:currentColor;border-radius:50%;width:6px;height:6px}.projects-head{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px 20px;padding:52px 0 32px;display:grid}.projects-head>div:first-child{grid-area:1/1}.projects-head h1{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-track);font-size:clamp(38px,5vw,60px);line-height:var(--display-line);margin:0}.projects-disclaimer{border:1px solid var(--rule);border-left:4px solid var(--accent);border-radius:var(--radius-card);background:var(--page-2);max-width:none;color:var(--ink-2);text-align:justify;grid-area:2/1/auto/-1;margin:0;padding:16px 18px;font-size:13.5px;line-height:1.55}.projects-disclaimer .lbl{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:6px;font-size:10.5px;display:block}.proj-filter-wrap{flex-direction:column;grid-area:1/2;align-items:flex-start;gap:8px;display:flex}.proj-filter-label{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px}.proj-filter{flex-wrap:wrap;gap:6px;display:flex}.proj-filter .chip{border:1px solid var(--rule);font-family:var(--font-mono);color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;background:0 0;border-radius:100px;padding:6px 12px;font-size:11px;transition:all .15s}.proj-filter .chip:hover{border-color:var(--ink-2);color:var(--ink)}.proj-filter .chip.on{background:var(--ink);border-color:var(--ink);color:var(--page)}body.sys-s05 .proj-filter .chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.proj-grid{grid-template-columns:repeat(2,1fr);gap:20px;padding:40px 0;display:grid}.proj-card{border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--page);cursor:pointer;transition:all .15s;overflow:hidden}.proj-card:hover{border-color:var(--ink);transform:translateY(-2px)}.proj-card .img{aspect-ratio:16/10;background:var(--page-2);font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;justify-content:center;align-items:center;font-size:11px;display:flex;position:relative;overflow:hidden}.proj-card .img.p1{color:#fff;opacity:.92;background:repeating-linear-gradient(135deg,#2a2a2a 0 20px,#1d1d1d 20px 40px)}.proj-card .img.p2{color:#fff;background:linear-gradient(135deg,#f2c94c,#eb5757)}.proj-card .img.p3{color:#fff;background:linear-gradient(135deg,#0e7490,#1e40af)}.proj-card .img.p4{color:#fff;background:linear-gradient(135deg,#0a0a0a,#3a3a3a)}.proj-card .body{padding:22px 24px}.proj-card .kicker{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;gap:14px;margin-bottom:10px;font-size:10.5px;display:flex}.proj-card h3{font-family:var(--font-display);font-size:22px;font-weight:var(--display-weight);letter-spacing:var(--display-track);margin:0 0 8px;line-height:1.15}.title-accent{color:var(--accent)}.proj-card p{color:var(--ink-2);margin:0;font-size:13.5px;line-height:1.5}.proj-card .feat-tags{align-items:center;margin-bottom:0}.proj-card .read{color:var(--ink);border-bottom:1.5px solid var(--ink);align-items:center;gap:6px;margin-left:8px;padding-bottom:2px;font-size:13px;font-weight:600;display:inline-flex}.work-detail{padding-top:52px}.work-detail-hero{max-width:980px;padding:0 0 18px}.work-back{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:22px;font-size:11px;transition:color .15s;display:inline-flex}.work-back:hover{color:var(--accent)}.work-detail-hero h1{font-family:var(--font-display);font-weight:var(--display-weight);font-size:clamp(38px,5vw,66px);line-height:var(--display-line);letter-spacing:var(--display-track);text-wrap:balance;max-width:980px;margin:0 0 18px}.work-title-line{display:block}.work-detail-date{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:-4px 0 12px;font-size:11px;display:block}.work-detail-tags{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);flex-wrap:wrap;gap:8px;margin:0 0 18px;font-size:10.5px;display:flex}.work-detail-tags span{border:1px solid color-mix(in srgb,var(--accent) 42%,var(--rule));background:color-mix(in srgb,var(--accent) 8%,var(--page));color:var(--accent);border-radius:999px;padding:4px 9px}.work-detail-hero p{color:var(--ink-2);text-wrap:pretty;max-width:720px;margin:0;font-size:17px;line-height:1.62;text-align:justify!important}.work-cover{border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--page);margin:36px 0 44px;overflow:hidden}.work-cover img{object-fit:contain;background:#fff;width:100%;max-height:620px;padding:24px}.work-cover figcaption{border-top:1px solid var(--rule);font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;text-align:center;padding:12px 16px;font-size:11px;line-height:1.45}.work-detail-prose{max-width:980px;color:var(--ink-2);margin:0;font-size:15.5px;line-height:1.75}.work-detail-prose h1,.work-detail-prose h2,.work-detail-prose h3,.work-detail-prose h4{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-track);color:var(--ink);text-align:left;margin:42px 0 14px;line-height:1.15}.work-detail-prose h2{border-top:1px solid var(--rule);padding-top:22px;font-size:clamp(26px,3vw,36px)}.work-detail-prose>h2:first-child{margin-top:24px;padding-top:18px}.work-detail-prose h3{font-size:24px}.work-detail-prose p,.work-detail-prose [class*=Text]{text-wrap:pretty;color:var(--ink-2);margin:0 0 18px;line-height:1.75;text-align:justify!important}.work-detail-prose :where(p,li,blockquote,div,span),.work-detail :where(p,li){text-align:justify!important}.work-detail-prose a{color:var(--accent);text-underline-offset:3px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.work-detail-prose ul,.work-detail-prose ol{margin:0 0 22px;padding:0;list-style:none}.work-detail-prose li{margin:0 0 10px;padding-left:18px;position:relative;text-align:justify!important}.work-detail-prose li:before{content:"";background:var(--accent);width:6px;height:1px;position:absolute;top:.82em;left:0}.work-detail-prose figure{text-align:center!important;max-width:980px!important;margin:30px 0 36px!important}.work-detail-prose .mdx-figure-box{border:1px solid var(--rule);border-radius:var(--radius-card);background:#fff;padding:18px;overflow:hidden}.work-detail-prose .mdx-figure-box img{object-fit:contain;width:100%;height:auto;display:block}.work-detail-prose figcaption{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)!important;margin-top:10px!important;font-size:11px!important;line-height:1.45!important}.work-related{border-top:1px solid var(--rule);margin-top:58px;padding-top:34px}.work-related h2{font-family:var(--font-display);letter-spacing:var(--display-track);margin:0 0 22px;font-size:clamp(28px,3vw,40px);line-height:1.15}.work-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.work-related-card{border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--page);padding:0;transition:border-color .15s,transform .15s;display:block;overflow:hidden}.work-related-card:hover{border-color:var(--ink);transform:translateY(-2px)}.work-related-image{aspect-ratio:16/8.6;border:0;border-bottom:1px solid var(--rule);background:#fff;border-radius:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.work-related-image img{object-fit:contain;width:100%;height:100%;display:block}.work-related-body{padding:24px 32px 28px;display:block}.work-related-date{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;font-size:10px;display:block}.work-related-card h3{font-family:var(--font-display);letter-spacing:var(--display-track);color:var(--ink);margin:0 0 8px;font-size:20px;line-height:1.12}.work-related-card p{color:var(--ink-2);text-align:justify;margin:0;font-size:13px;line-height:1.45}.blog-head{border-bottom:1px solid var(--rule);padding:52px 0 40px}.blog-head h1{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-track);font-size:clamp(38px,5vw,60px);line-height:var(--display-line);margin:0 0 14px}.blog-head p{color:var(--ink-2);text-align:justify;max-width:560px;margin:0;font-size:16px}.gallery-section{padding:48px 0 32px}.gallery-section h2{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-track);margin:0 0 8px;font-size:clamp(28px,3.4vw,40px);line-height:1.15}.gallery-section .sec-sub{color:var(--ink-2);margin:0 0 24px;font-size:14px}.gallery-years{background:0 0;border-radius:0;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:0;padding:0;display:grid}.gallery-year,.gallery-scroll,.gallery-feed{display:contents}.gallery-year-head{display:none}.gallery-year-head h3{font-family:var(--font-display);font-size:24px;font-weight:var(--display-weight);letter-spacing:var(--display-track);margin:0}.gallery-year-head .line{background:var(--rule);flex:1;height:1px}.gallery-scroll{position:relative}.gallery-feed{display:contents}.gallery-scroll-btn{display:none}.gallery-post{cursor:zoom-in;background:0 0;border:0;border-radius:0;width:auto;min-width:0;transition:transform .15s;display:block;position:relative;overflow:visible}.gallery-post:hover{transform:translateY(-1px)}.gallery-post .ig-head{display:none}.gallery-post .avatar{background:var(--page-2);border-radius:50%;width:34px;height:34px;overflow:hidden}.gallery-post .avatar img{object-fit:cover;width:100%;height:100%;display:block}.gallery-post .user{font-size:13px;font-weight:700;line-height:1.2}.gallery-post .loc{font-family:var(--font-mono);color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.04em;margin-top:3px;font-size:10px;overflow:hidden}.gallery-post .photo,.gallery-post .photo.wide{background:0 0;border-radius:8px;width:100%;height:220px;position:relative;overflow:hidden}.gallery-post .photo.portrait{height:220px}.gallery-post .photo img{object-fit:cover;object-position:var(--pos,center);width:100%;height:100%;transform:scale(var(--scale,1));transform-origin:var(--pos,center);transition:transform .3s;display:block}.gallery-post .cap{font-family:var(--font-mono);color:#fff;text-transform:uppercase;letter-spacing:.04em;opacity:0;background:linear-gradient(#0000,#000000b8);padding:8px 10px;font-size:10px;transition:opacity .15s;position:absolute;bottom:0;left:0;right:0}.gallery-post:hover .cap{opacity:1}.gallery-post .copy{display:none}.gallery-post .copy strong{color:var(--ink);margin-bottom:6px;font-size:14px;line-height:1.35;display:block}.gallery-post a,.ig-modal a{color:#2563eb;font-weight:600;text-decoration:none}.gallery-post a:hover,.ig-modal a:hover{text-decoration:underline}.gallery-post .date{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin-top:10px;font-size:10px}.post-body,.post-source{display:none}.ig-modal{z-index:9999;background:#000000d9;justify-content:center;align-items:center;padding:28px;display:none;position:fixed;inset:0}.ig-modal.on{display:flex}.ig-shell{color:#262626;background:#000;border-radius:4px;grid-template-columns:minmax(0,1fr) 360px;width:min(90vw,960px);height:min(90vh,680px);display:grid;position:relative;overflow:hidden;box-shadow:0 12px 60px #000000b3}.ig-image{background:#000;justify-content:center;align-items:center;min-width:0;padding:0;display:flex;position:relative}.ig-image img{object-fit:contain;object-position:var(--pos,center);width:auto;max-width:100%;height:auto;max-height:100%;transform:translate(var(--move-x,0px),var(--move-y,0px)) scale(var(--zoom,1));transform-origin:50%;display:block}.ig-panel{background:#111;border-left:1px solid #ffffff1a;flex-direction:column;min-height:0;display:flex}.ig-panel-head{border-bottom:0;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;padding:28px 16px 12px;display:grid}.ig-panel-head .avatar{background:#333;border-radius:50%;width:32px;height:32px;overflow:hidden}.ig-panel-head .avatar img{object-fit:cover;width:100%;height:100%;display:block}.ig-username{color:#e8e8e8;font-size:14px;font-weight:600;line-height:1.2}.ig-meta{color:#8a8a8a;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-top:3px;font-size:13px;line-height:1.4;display:grid}.ig-meta .left,.ig-meta .right{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.ig-meta .right{justify-content:flex-end;justify-self:end}.ig-meta svg{opacity:.7;flex-shrink:0}.ig-meta img{object-fit:cover;border-radius:2px;flex-shrink:0;width:16px;height:11px}.ig-text{color:#d0d0d0;flex:1;padding:16px;font-size:13px;line-height:1.6;overflow:auto}.ig-text .ig-divider{background:#ffffff1f;height:1px;margin-bottom:12px}.ig-text .lead{color:#f0f0f0;margin:0;font-size:14px;font-weight:600;line-height:1.6}.ig-text p{text-align:justify;margin:0 0 12px}.ig-count{font-family:var(--font-mono);color:#8a8a8a;border-top:1px solid #ffffff1a;margin-top:auto;padding:12px 16px;font-size:12px}.ig-more-btn{color:#8a8a8a;cursor:pointer;background:0 0;border:none;margin-top:4px;padding:4px 0;font-size:14px;line-height:1.4;display:block}.ig-more-btn:hover{color:#b0b0b0}.ig-mobile-post .ig-username{color:#e8e8e8}.ig-mobile-post .ig-meta{color:#8a8a8a}.ig-mobile-post .lead{color:#f0f0f0;margin:0;font-size:17px;font-weight:600;line-height:1.45}.ig-mobile-post .body-text{color:#d0d0d0;text-align:justify;margin:8px 0 0;font-size:15px;line-height:1.65}.ig-mobile-post .body-text.collapsed{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ig-mobile-post .body-link{color:#2563eb;margin-top:10px;font-size:14px;font-weight:500;display:block}.ig-mobile-post .post-count{color:#8a8a8a;margin-top:14px;padding:10px 16px 0;font-size:12px;display:block}.ig-close{z-index:3;color:#fff;cursor:pointer;text-shadow:0 2px 8px #000;background:0 0;border:0;font-size:28px;line-height:1;position:absolute;top:10px;right:12px}.ig-arrow{z-index:3;color:#000;cursor:pointer;background:#ffffffe6;border:0;border-radius:50%;place-items:center;width:32px;height:32px;font-size:20px;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #0000004d}.ig-arrow.prev{left:12px}.ig-arrow.next{right:372px}.ig-mobile-feed{display:none}.ig-mobile-post{color:#f5f5f5;background:#0b0d10;border-bottom:1px solid #ffffff1a;padding-bottom:28px;scroll-margin-top:12px}.ig-mobile-post .ig-panel-head{border-bottom:0;padding-top:14px}.ig-mobile-post .mobile-photo{background:#000;border-radius:10px;height:clamp(260px,42vh,390px);margin:0 12px;overflow:hidden}.ig-mobile-post .mobile-photo img{object-fit:cover;object-position:var(--pos,center);width:100%;height:100%;transform:scale(var(--scale,1));display:block}.ig-mobile-post .ig-text{padding-top:14px;overflow:visible}@media (max-width:720px){.gallery-section{padding-top:34px}.gallery-years{gap:18px;margin:0;padding:0}.gallery-year-head h3{font-size:18px}.gallery-scroll-btn{display:none}.gallery-feed{grid-template-columns:1fr;gap:12px;padding-right:0;display:grid}.gallery-post{flex-direction:column;flex-basis:auto;width:100%;max-width:100%}.gallery-post .photo,.gallery-post .photo.wide{height:var(--ph,220px);aspect-ratio:auto;max-width:100%}.gallery-post .photo.portrait{height:var(--ph,320px)}.ig-modal{-webkit-overflow-scrolling:touch;background:#0b0d10;align-items:stretch;padding:0;overflow:auto}.ig-shell{width:100%;height:auto;min-height:100dvh;box-shadow:none;background:#0b0d10;border-radius:0;display:block;overflow:visible}.ig-image,.ig-panel,.ig-arrow{display:none}.ig-close{top:calc(env(safe-area-inset-top,0px) + 10px);z-index:4;background:#ffffff1f;border-radius:50%;width:34px;height:34px;font-size:24px;position:fixed;right:14px}.ig-mobile-feed{padding-top:calc(env(safe-area-inset-top,0px) + 8px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 64px);display:block}}.ment-hero{padding:var(--hero-pad-y);border-bottom:1px solid var(--rule)}.ment-hero h1{font-family:var(--font-display);font-weight:var(--display-weight);margin:0 0 var(--hero-title-gap);letter-spacing:var(--display-track);font-size:clamp(38px,5vw,60px);line-height:var(--display-line);max-width:var(--hero-title-max);text-wrap:balance}.ment-hero h1 em{font-style:var(--em-style);color:var(--accent)}.ment-hero p{font-size:var(--hero-copy-size);color:var(--ink-2);max-width:var(--hero-copy-max);text-align:justify;text-wrap:pretty;margin:0;line-height:1.55}.ment-hero p+p{margin-top:16px}.ment-hero p+.ment-notice{margin-top:28px}.ment-topics{padding:48px 0}.ment-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.ment-card{border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--page);flex-direction:column;gap:10px;min-height:160px;padding:28px;display:flex}.ment-card .n{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px}.ment-card h3{font-family:var(--font-display);font-size:22px;font-weight:var(--display-weight);letter-spacing:var(--display-track);margin:0;line-height:1.15}.ment-card p{color:var(--ink-2);margin:0;font-size:13.5px;line-height:1.5}.ment-cta{background:var(--page-2);border-radius:var(--radius-card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:40px;padding:32px;display:flex}.ment-cta .ttl{font-family:var(--font-display);font-size:22px;font-weight:var(--display-weight);letter-spacing:var(--display-track)}.ment-cta .sub{color:var(--ink-2);margin-top:4px;font-size:13px}.ment-notice{border-radius:var(--radius-card);color:var(--ink-2);background:#d977060f;border:1px solid #d9770647;border-left:4px solid #d97706;margin:0 0 28px;padding:14px 18px;font-size:13.5px;line-height:1.55}.ment-notice .lbl{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#d97706;margin-bottom:5px;font-size:10.5px;display:block}.ment-pause-note{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-align:center;border-top:1px solid var(--rule);margin:0 0 24px;padding:12px 0 0;font-size:11px}footer{border-top:1px solid var(--rule);margin-top:56px;padding:40px 0 32px}footer .f-inner{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px;margin-bottom:26px;display:grid}footer h5{font-family:var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--rule);margin:0 0 10px;padding-bottom:6px;font-size:10px;font-weight:700}footer a.fl{color:var(--ink-2);align-items:center;gap:7px;padding:6px 0;font-size:13px;transition:color .15s;display:flex}footer a.fl:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:4px;height:4px}footer a.fl:hover{color:var(--ink)}footer .brand-big{font-family:var(--font-display);font-size:26px;font-weight:var(--display-weight);letter-spacing:var(--display-track);margin-bottom:6px}footer .tag-line{color:var(--ink-2);max-width:320px;font-size:13px;line-height:1.5}footer .f-link-cols{grid-template-columns:1fr 1fr;column-gap:18px;display:grid}footer .bottom{border-top:1px solid var(--rule);font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;padding-top:14px;font-size:11px;display:flex}@media (max-width:1024px){.shell,.nav-inner{padding:0 24px}.home-hero{gap:40px}.hub,.skills-grid,.lang-grid{grid-template-columns:repeat(2,1fr)}.patents-grid{grid-template-columns:1fr 1fr;gap:12px}.pat-card{padding:20px}.pat-area{min-height:0}}@media (max-width:720px){.shell{padding:0 16px}.nav-inner{flex-wrap:wrap;gap:12px;padding:12px 16px}.brand{flex:none;font-size:10px}.nav-links{scrollbar-width:none;order:3;gap:4px;width:100%;padding:6px 0 2px;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-links a{white-space:nowrap;padding:7px 12px;font-size:12px}.nav-right{flex:none;gap:8px;margin-left:auto;font-size:10px}.nav-right .clk{font-size:10px}.nav-right .mode{padding:4px 8px;font-size:10px}.home-hero{grid-template-columns:1fr 112px;row-gap:0;max-width:100%;padding:40px 0 32px}.home-hero .copy{display:contents}.home-hero .copy:after{display:none}.home-hero h1,.home-hero .lede,.home-hero .ctas,.home-hero .now-strip{grid-column:1/-1}.home-hero .portrait{aspect-ratio:4/5;order:1;grid-column:1;max-height:320px;margin-bottom:0}.hero-stats-mobile{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);flex-direction:column;order:1;grid-column:2;align-self:stretch;padding-left:12px;font-size:10px;display:flex}.hero-stats-mobile div{border-top:1px solid var(--rule);flex-direction:column;flex:1;justify-content:center;display:flex}.hero-stats-mobile div:first-child{border-top:0}.hero-stats-mobile strong{font-family:var(--font-display);color:var(--ink);letter-spacing:var(--display-track);margin-bottom:4px;font-size:24px;font-weight:700;line-height:1;display:block}.hero-stats-mobile span{font-size:10px;line-height:1.3}.home-hero .now-strip{order:2;grid-column:1/-1;padding-top:16px}.badge-below-explore{padding:0 0 20px}.hero-feature-badge{display:none!important}.hub-feature-badge{box-sizing:border-box;white-space:nowrap;justify-content:flex-start;gap:8px;width:fit-content;max-width:100%;margin:14px 0 18px;padding:8px 10px;font-size:9.5px;line-height:1;display:inline-flex;overflow:hidden}.hub-feature-badge .tag{flex:none;padding:3px 7px;font-size:8.5px}.hub-feature-badge .badge-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.home-metrics{display:none}.home-hero .portrait img{object-fit:contain;object-position:center}.home-hero h1{overflow-wrap:anywhere;text-wrap:balance;margin-bottom:18px;font-size:clamp(30px,10.4vw,38px);line-height:1.02}.home-hero .badge{white-space:normal;max-width:100%;margin-bottom:18px;padding:6px 11px;font-size:10px;line-height:1.35}.home-hero .badge .tag{font-size:9px}.home-hero .lede{text-align:justify;overflow-wrap:break-word;margin-bottom:24px;font-size:15px;line-height:1.5}.home-hero .ctas{flex-wrap:nowrap;gap:8px;width:100%;margin-bottom:24px;display:flex}.home-hero .ctas .btn{flex:1;justify-content:center;min-width:0;padding:13px 16px;font-size:13.5px}.home-hero .micro{flex-wrap:wrap;gap:10px;width:100%;margin-top:24px;font-size:10px}.home-hero .micro span{flex:calc(33% - 10px);min-width:0}.now-strip{grid-template-columns:auto auto 1fr auto;align-items:center;gap:4px 8px;max-width:100%;padding:14px 0;font-size:11px}.now-strip .val{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:1.4;overflow:hidden}.now-strip .spacer{display:none}.now-strip .lbl{font-size:9.5px}.now-strip .loc{white-space:nowrap;grid-column:4;justify-self:end}.hub-sec{padding:24px 0 32px}.sec-title{font-size:24px}.hub{grid-template-columns:1fr 1fr;gap:8px}.hub-card{gap:6px;min-height:130px;padding:16px}.hub-card .nm{font-size:17px}.hub-card .desc{font-size:11px;line-height:1.35}.hub-card .go{margin-top:4px;font-size:10px}.featured-sec{padding:16px 0 48px}.feat-card{grid-template-columns:1fr;gap:0}.feat-card .img{min-height:220px;max-height:280px;padding:14px}.feat-card .img img{max-height:240px}.feat-card .body{padding:24px 20px}.feat-card h4{font-size:24px;line-height:1.15}.feat-card .kicker{gap:10px;margin-bottom:12px;font-size:10px}.feat-card p{margin-bottom:18px;font-size:14px}.feat-tags span{padding:4px 8px;font-size:10px}.work-detail{padding-top:34px}.work-detail-hero{padding-bottom:26px}.work-detail-hero h1{font-size:34px}.work-detail-hero p{font-size:15px;text-align:justify!important}.work-cover{margin:26px 0 32px}.work-cover img{max-height:none;padding:10px}.work-detail-prose{font-size:14.5px;line-height:1.68;text-align:justify!important}.work-detail-prose h2{margin-top:32px;font-size:26px}.work-detail-prose>h2:first-child{margin-top:18px;padding-top:16px}.work-detail-prose .mdx-figure-box{padding:8px}.work-related-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:14px;margin:0 -16px;padding:0 16px 8px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.work-related-grid::-webkit-scrollbar{display:none}.work-related-card{scroll-snap-align:start;flex:0 0 100%}.about-hero{padding:40px 0 12px}.about-lede-wrap{margin-bottom:16px;position:relative}.about-lede-wrap.clamped{max-height:67px;overflow:hidden}.about-lede-wrap.clamped:after{content:"";background:linear-gradient(to right,transparent 45%,var(--page) 72%);pointer-events:none;height:1.55em;position:absolute;bottom:0;left:0;right:0}.about-lede-more{font-family:var(--font-display);color:var(--accent);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-size:13.5px;font-weight:600;line-height:1.55;text-decoration:underline}.about-lede-wrap.clamped .about-lede-more{background:var(--page);z-index:1;padding-left:6px;position:absolute;bottom:0;right:0}.about-lede-wrap:not(.clamped) .about-lede-more{margin-top:4px;display:block}.about-lede-more.hidden{display:none!important}.about-hero h1{font-size:34px}.about-hero p{font-size:14.5px}.about-tabs{scrollbar-width:thin;background:linear-gradient(90deg,var(--page) 0,transparent 18px,transparent calc(100% - 18px),var(--page) 100%);gap:0;margin:0 -16px;padding:0 16px 8px;scroll-padding-inline:16px}.about-tabs::-webkit-scrollbar{height:3px;display:block}.about-tabs::-webkit-scrollbar-thumb{background:var(--rule);border-radius:999px}.about-tabs .tab{padding:14px 12px;font-size:10.5px}.about-tabs .tab .c{margin-left:4px;padding:1px 5px;font-size:9px}.tab-panel{padding:24px 0}.timeline-wrap{margin-bottom:24px;padding:0 0 24px}.tl-head{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:14px}.tl-head h3{font-size:16px}.timeline{margin:0 -16px;padding:14px 16px 12px}.timeline:before,#tl-exp:before,#tl-edu:before,#tl-pat:before{display:none}.tl-node{flex:0 0 160px;padding-right:14px}.tl-node .role{font-size:12px}.tl-node .co{font-size:10px}.tl-node:last-child{padding-right:0}.exp-bullets{margin-top:6px;font-size:12px;line-height:1.45}.exp-bullets li{margin-bottom:3px}.subfilter{scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px 18px;padding:4px 16px;overflow-x:auto}.subfilter::-webkit-scrollbar{display:none}.subfilter .chip{flex-shrink:0;padding:5px 10px;font-size:10px}.exp-row{grid-template-columns:36px 1fr;align-items:flex-start;gap:12px 14px;padding:14px 0}.exp-row .logo{width:36px;height:36px;font-size:9px}.exp-row .role{font-size:14px;line-height:1.25}.exp-row .co{gap:6px;font-size:12px}.exp-row .co .tag{font-size:9px}.exp-row .meta{text-align:center;grid-column:1;margin-top:4px;font-size:9.5px}.skills-grid{grid-template-columns:1fr;gap:20px}.skill-section{padding-top:20px}.skill-section-head{margin-bottom:18px}.skill-section-grid,.skill-section.code .skill-section-grid{grid-template-columns:1fr;gap:44px 20px}.skill-group .sec-sub{min-height:0}.git-activity{padding:18px 16px}.git-head{flex-direction:column;gap:12px}.git-total{text-align:left}.git-chart{scrollbar-width:thin;margin:0 -4px;padding:14px 0 4px}.git-months{font-size:9.5px}.git-days,.git-grid{padding-top:8px}.skill-group h4{margin-bottom:10px}.honor-row{grid-template-columns:1fr;gap:4px;padding:14px 0}.honor-row .yr{font-size:10px}.honor-row .ttl{font-size:14px}.honor-row .sub{text-align:justify;max-width:none}.honor-row .org{text-align:left;justify-self:start;max-width:none}.lang-grid{grid-template-columns:1fr 1fr;gap:10px}.lang-card{padding:18px}.patents-grid{grid-template-columns:1fr;gap:10px}.pat-card{padding:20px}.pat-num{margin-bottom:12px;font-size:11px}.pat-area{min-height:0;margin-bottom:14px;font-size:14.5px}.pat-rows{gap:4px 12px;font-size:11px}.projects-head{grid-template-columns:1fr;align-items:flex-start;gap:14px}.projects-head>div:first-child,.projects-disclaimer,.proj-filter-wrap{grid-area:auto}.projects-head h1{font-size:32px}.proj-filter-wrap,.proj-filter{width:100%}.proj-grid{grid-template-columns:1fr;gap:14px;padding:24px 0}.ment-hero{padding:48px 0 24px}.ment-hero h1{font-size:34px}.ment-hero p{font-size:15px}.ment-grid{grid-template-columns:1fr;gap:10px}.ment-card{min-height:0;padding:20px}footer{margin-top:28px;padding:24px 0 80px}footer .f-inner{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}footer h5{margin-bottom:8px}footer .f-link-cols{grid-template-columns:1fr 1fr;column-gap:8px;display:grid}footer .bottom{grid-template-columns:1fr auto;align-items:center;gap:5px 12px;font-size:10px;display:grid}.timeline{padding-right:0;scroll-padding-inline:16px}.timeline:after{content:none}.timeline>.tl-line{left:16px;right:auto;top:var(--tl-line-top,55px);min-width:0;width:var(--tl-track-width,100%);display:block}#tl-pat>.tl-line{top:var(--tl-line-top,53px)}#tl-pat .tl-node{flex-basis:178px;padding-right:22px}#tl-exp .tl-node:last-child,#tl-edu .tl-node:last-child,#tl-pat .tl-node:last-child{padding-right:0}#tl-pat .tl-node .role{max-width:146px;font-size:13px;line-height:1.18}#tl-pat .tl-node .co{max-width:146px;line-height:1.35}#tl-exp .tl-node .circle{margin:-5px 0 12px}:is(#exp-list,#edu-list,#assoc-list) .exp-row{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:8px 10px;padding:22px 0 24px}:is(#exp-list,#edu-list,#assoc-list) .exp-row .logo{grid-area:1/1;justify-self:start;width:58px;height:58px}:is(#exp-list,#edu-list,#assoc-list) .exp-row>div:nth-child(2){display:contents}:is(#exp-list,#edu-list,#assoc-list) .exp-row .role{color:var(--ink);grid-area:1/2;align-self:center;margin:0;font-size:19px;font-weight:700;line-height:1.16;display:block}:is(#exp-list,#edu-list,#assoc-list) .exp-row .co{grid-area:2/1/auto/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;margin:2px 0 0;font-size:14px;line-height:1.25;display:grid}:is(#exp-list,#edu-list,#assoc-list) .exp-row .co a{color:var(--ink);grid-column:1;min-width:0;font-size:14px;font-weight:600;line-height:1.25;text-decoration:underline}:is(#exp-list,#edu-list,#assoc-list) .exp-row .co .flag-mini{grid-area:1/2;justify-self:end;width:18px;height:12px;margin:0}:is(#exp-list,#edu-list,#assoc-list) .exp-row .co .tag,:is(#exp-list,#edu-list,#assoc-list) .exp-row .co .desktop-exp-place{display:none}:is(#exp-list,#edu-list,#assoc-list) .exp-row .co .mobile-exp-place{color:var(--ink-2);white-space:nowrap;grid-area:1/2;justify-self:end;align-items:center;gap:6px;display:inline-flex}:is(#exp-list,#edu-list,#assoc-list) .exp-row .meta{display:none}:is(#exp-list,#edu-list,#assoc-list) .exp-row .mobile-exp-date{font-family:var(--font-mono);color:var(--ink-3);white-space:normal;grid-area:3/1/auto/-1;margin:1px 0 0;font-size:12px;line-height:1.25;display:block}:is(#exp-list,#edu-list,#assoc-list) .exp-row .mobile-exp-tags{flex-wrap:wrap;grid-area:4/1/auto/-1;gap:7px;margin:2px 0 0;display:flex}:is(#exp-list,#edu-list,#assoc-list) .exp-row .mobile-exp-tags .tag{font-family:var(--font-mono);background:var(--page-2);color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:3px 8px;font-size:10px}:is(#exp-list,#edu-list,#assoc-list) .exp-row .mobile-exp-date .dur{color:var(--ink-3);font-size:inherit;margin:0;display:inline}:is(#exp-list,#edu-list,#assoc-list) .exp-row .mobile-exp-date .dur:before{content:" ("}:is(#exp-list,#edu-list,#assoc-list) .exp-row .mobile-exp-date .dur:after{content:")"}:is(#exp-list,#edu-list,#assoc-list) .exp-bullets{color:var(--ink-2);text-align:justify;text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto;grid-area:5/1/auto/-1;margin:12px 0 0;font-size:13px;line-height:1.52}:is(#exp-list,#edu-list,#assoc-list) .exp-bullets li{margin-bottom:8px;padding-left:12px}:is(#exp-list,#edu-list,#assoc-list) .exp-bullets li:before{top:.78em;left:-1px}:is(#exp-list,#edu-list,#assoc-list) .exp-bullets .inline-preview{margin-top:2px;margin-bottom:14px}.projects-disclaimer{border-left:4px solid var(--accent);text-align:justify;letter-spacing:normal;word-spacing:normal;-webkit-hyphens:auto;hyphens:auto;width:100%;max-width:none;padding:16px 18px;line-height:1.55;display:block}.projects-disclaimer .lbl{letter-spacing:.12em;margin:0 0 8px;font-size:11px;display:block}footer .f-inner{grid-template-columns:1fr 1fr;align-items:start;gap:16px 20px;display:grid}footer .f-inner>div:first-child{grid-column:1/-1}footer .brand-big{text-wrap:balance;max-width:none;font-size:24px;line-height:1.1}footer .tag-line{max-width:none;margin-top:6px;font-size:13px;line-height:1.45}footer a.fl{padding:4px 0;font-size:13px}}@media (max-width:380px){.home-hero h1{font-size:30px}.feat-card h4{font-size:22px}.about-hero h1,.projects-head h1,.ment-hero h1{font-size:28px}.home-hero .ctas{flex-wrap:nowrap}.home-hero .ctas .btn{flex:1}.home-hero .micro span{flex:1 0 100%}.nav-right .clk{display:none}footer .f-inner{grid-template-columns:1fr}}.hamburger-btn{border-radius:var(--radius-btn);cursor:pointer;white-space:nowrap;z-index:220;box-sizing:border-box;background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;min-width:44px;height:auto;padding:7px 14px;transition:background .15s;display:inline-flex;position:relative}.hamburger-btn:hover{background:color-mix(in srgb, var(--ink) 8%, transparent)}.hamburger-btn.open{background:var(--ink)}.ham-bar{background:var(--ink-2);border-radius:1px;width:14px;height:1.5px;transition:transform .22s,opacity .18s}.hamburger-btn.open .ham-bar{background:var(--page)}.hamburger-btn.open .ham-bar:first-child{transform:translateY(5.5px)rotate(45deg)}.hamburger-btn.open .ham-bar:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger-btn.open .ham-bar:nth-child(3){transform:translateY(-5.5px)rotate(-45deg)}.site-menu-backdrop{-webkit-backdrop-filter:blur(8px);z-index:250;opacity:0;background:#0000002e;transition:opacity .22s;display:none;position:fixed;inset:0}.site-menu-backdrop.open{opacity:1;display:block}.site-menu-panel{background:color-mix(in srgb, var(--page) 96%, var(--page-2));-webkit-backdrop-filter:blur(10px);border:1px solid var(--rule);z-index:260;clip-path:inset(0 100% 0 0 round 16px);opacity:0;pointer-events:none;border-radius:16px;transition:clip-path .28s cubic-bezier(.25,.46,.45,.94),opacity .22s,transform .22s;display:none;position:fixed;top:68px;left:16px;right:16px;overflow:hidden;transform:translateY(-6px);box-shadow:0 12px 44px #0003}.site-menu-panel.open{clip-path:inset(0 0% 0 0 round 16px);opacity:1;pointer-events:auto;display:block;transform:translateY(0)}.menu-panel-head{border-bottom:1px solid var(--rule);background:color-mix(in srgb, var(--page) 98%, var(--page-2));justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.menu-panel-lbl{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-size:10px}.menu-close-btn{border:1px solid var(--rule);cursor:pointer;width:28px;height:28px;color:var(--ink-2);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:background .15s,color .15s;display:flex}.menu-close-btn:hover{background:var(--rule-2);color:var(--ink)}.menu-panel-nav{padding:8px 8px 12px}.menu-panel-item{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;padding:11px 14px;font-size:15px;font-weight:600;transition:background .12s;display:block}.menu-panel-item:hover,.menu-panel-item.on{background:color-mix(in srgb, var(--rule-2) 72%, var(--page))}.menu-panel-sub{padding:2px 0 4px}.menu-panel-subitem{width:100%;color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;padding:8px 14px 8px 28px;font-size:13px;font-weight:400;transition:background .12s,color .12s;display:block}.menu-panel-subitem:hover{background:color-mix(in srgb, var(--rule-2) 72%, var(--page));color:var(--ink)}@media (min-width:721px){.site-menu-panel{width:300px;top:58px;left:50%;right:auto;transform:translate(188px,-6px)}.site-menu-panel.open{transform:translate(188px)}}@media (max-width:720px){.honor-01{order:3}.honor-02{order:2}.honor-03{order:1}}
