@font-face{font-family:__Space_Grotesk_6b9622;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Grotesk_6b9622;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Space_Grotesk_6b9622;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Grotesk_6b9622;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Grotesk_6b9622;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Space_Grotesk_6b9622;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Grotesk_6b9622;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Grotesk_6b9622;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Space_Grotesk_6b9622;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Grotesk_Fallback_6b9622;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_6b9622{font-family:__Space_Grotesk_6b9622,__Space_Grotesk_Fallback_6b9622;font-style:normal}.__variable_6b9622{--font-space:"__Space_Grotesk_6b9622","__Space_Grotesk_Fallback_6b9622"}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Sans_Fallback_1bc20f;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_1bc20f{font-family:__IBM_Plex_Sans_1bc20f,__IBM_Plex_Sans_Fallback_1bc20f;font-style:normal}.__variable_1bc20f{--font-plex:"__IBM_Plex_Sans_1bc20f","__IBM_Plex_Sans_Fallback_1bc20f"}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_Fallback_46fe82;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_46fe82{font-family:__IBM_Plex_Mono_46fe82,__IBM_Plex_Mono_Fallback_46fe82;font-style:normal}.__variable_46fe82{--font-mono:"__IBM_Plex_Mono_46fe82","__IBM_Plex_Mono_Fallback_46fe82"}:root{--bg:#090c12;--bg-2:#0d121b;--bg-3:#121a26;--raise:#16202e;--line:#1d293a;--line-2:#27384e;--text:#e8eef6;--text-dim:#98a6ba;--text-faint:#5c6b80;--accent:#3ee0c4;--accent-deep:#16b8a0;--accent-soft:rgba(62,224,196,.12);--accent-line:rgba(62,224,196,.28);--blue:#5d8bff;--blue-soft:rgba(93,139,255,.14);--font-display:var(--font-space),system-ui,sans-serif;--font-body:var(--font-plex),system-ui,sans-serif;--font-mono:var(--font-mono),ui-monospace,monospace;--maxw:1120px;--gutter:clamp(20px,5vw,64px);--radius:14px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body:before{background:radial-gradient(900px 600px at 78% -8%,var(--blue-soft),transparent 60%),radial-gradient(800px 520px at 8% 6%,var(--accent-soft),transparent 55%)}body:after,body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none}body:after{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(circle at 50% 30%,#000 0,transparent 72%);mask-image:radial-gradient(circle at 50% 30%,#000 0,transparent 72%);opacity:.35}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:var(--accent);color:#04231d}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.shell{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(72px,11vw,132px);position:relative}.section+.section{border-top:1px solid var(--line)}.eyebrow{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:26px;height:1px;background:var(--accent-line)}.section-head{margin-bottom:clamp(32px,5vw,56px);max-width:640px}.section-head h2{font-family:var(--font-display);font-weight:600;font-size:clamp(28px,4.6vw,44px);line-height:1.08;letter-spacing:-.02em;margin:16px 0 0}.section-head p{color:var(--text-dim);margin:14px 0 0;font-size:1.02rem}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 72%,transparent);border-bottom:1px solid transparent;transition:border-color .3s ease,background .3s ease}.nav.scrolled{border-bottom-color:var(--line)}.nav-inner{height:68px;display:flex;justify-content:space-between}.brand,.nav-inner{align-items:center}.brand{display:inline-flex;gap:11px;font-family:var(--font-mono);font-size:14px;letter-spacing:.04em}.brand .glyph{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:8px;background:var(--bg-3);color:var(--accent);font-weight:600;font-size:13px}.brand b{font-weight:600;letter-spacing:-.01em}.brand b span{color:var(--text-faint)}.nav-links{display:flex;align-items:center;gap:4px}.nav-links a{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.04em;color:var(--text-dim);padding:8px 13px;border-radius:8px;transition:color .2s ease,background .2s ease}.nav-links a:hover,.nav-toggle{color:var(--text);background:var(--bg-3)}.nav-toggle{display:none;border:1px solid var(--line-2);width:40px;height:40px;border-radius:9px;cursor:pointer;align-items:center;justify-content:center}.mobile-menu{display:none;border-top:1px solid var(--line);background:var(--bg-2)}.mobile-menu a{display:block;font-family:var(--font-mono);font-size:14px;color:var(--text-dim);padding:14px var(--gutter);border-bottom:1px solid var(--line)}.mobile-menu a:last-child{border-bottom:none}.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:13px;letter-spacing:.03em;padding:12px 18px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,background .2s ease,border-color .2s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#042019;font-weight:600}.btn-primary:hover{background:#54ecd2;box-shadow:0 0 0 4px var(--accent-soft)}.btn-ghost{border-color:var(--line-2);color:var(--text);background:var(--bg-3)}.btn-ghost:hover{border-color:var(--accent-line);color:var(--accent)}.hero{position:relative;padding-block:clamp(64px,9vw,110px) clamp(56px,8vw,96px)}.hero-grid{display:grid;grid-template-columns:1.25fr .9fr;grid-gap:clamp(32px,6vw,72px);gap:clamp(32px,6vw,72px);align-items:center}.hero-eyebrow{margin-bottom:22px}.hero h1{font-family:var(--font-display);font-weight:600;font-size:clamp(40px,7.4vw,76px);line-height:1;letter-spacing:-.035em;margin:0}.hero h1 .accent{color:var(--accent)}.hero-lead{color:var(--text-dim);font-size:clamp(1.02rem,1.6vw,1.18rem);max-width:38ch;margin:22px 0 0}.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 32px}.chip{font-family:var(--font-mono);font-size:12px;letter-spacing:.03em;color:var(--text-dim);padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--bg-2);display:inline-flex;align-items:center;gap:8px}.chip .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.hero-cta{display:flex;flex-wrap:wrap;gap:12px}.portrait-wrap{position:relative;justify-self:center;width:min(360px,80vw)}.portrait-glow{position:absolute;inset:-14% -10% -10% -14%;background:radial-gradient(closest-side,var(--blue-soft),transparent 70%),radial-gradient(closest-side at 70% 80%,var(--accent-soft),transparent 70%);filter:blur(8px);z-index:0}.portrait{position:relative;z-index:1;border-radius:18px;overflow:hidden;border:1px solid var(--line-2);background:var(--bg-3);box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}.portrait img{width:100%;aspect-ratio:1/1;object-fit:cover}.portrait-tag{position:absolute;left:14px;bottom:14px;z-index:2;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--text);background:color-mix(in srgb,var(--bg) 60%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line-2);padding:6px 10px;border-radius:8px}.portrait-corner{position:absolute;z-index:2;width:22px;height:22px;border-color:var(--accent-line)}.portrait-corner.tl{top:-1px;left:-1px;border-top:2px solid;border-left:2px solid;border-top-left-radius:18px}.portrait-corner.br{bottom:-1px;right:-1px;border-bottom:2px solid;border-right:2px solid;border-bottom-right-radius:18px}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:clamp(36px,6vw,72px);gap:clamp(36px,6vw,72px);align-items:start}.about-bio p{color:var(--text-dim);margin:0 0 18px}.about-bio p strong{color:var(--text);font-weight:600}.edu{margin-top:8px;border-top:1px solid var(--line);padding-top:24px}.edu h3{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin:0 0 16px}.edu-item{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px dashed var(--line)}.edu-item:last-child{border-bottom:none}.edu-item .name{font-weight:600}.edu-item .sub{color:var(--text-dim);font-size:.92rem;margin-top:2px}.edu-item .year{font-family:var(--font-mono);font-size:12px;color:var(--text-faint);white-space:nowrap}.skills{display:grid;grid-gap:14px;gap:14px}.skill-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,var(--bg-2),var(--bg));padding:18px 18px 16px}.skill-card h4{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;display:flex;align-items:center;gap:9px}.skill-card h4 .idx{color:var(--text-faint)}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{font-size:12.5px;color:var(--text-dim);background:var(--bg-3);border:1px solid var(--line);padding:5px 10px;border-radius:7px}.xp{display:grid;grid-template-columns:auto 1fr;grid-gap:clamp(20px,4vw,40px);gap:clamp(20px,4vw,40px)}.xp-rail{font-family:var(--font-mono);color:var(--text-faint);font-size:12px;letter-spacing:.1em}.xp-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);padding:clamp(22px,3vw,32px);position:relative}.xp-card:before{content:"";position:absolute;left:0;top:26px;bottom:26px;width:2px;background:linear-gradient(var(--accent),transparent);border-radius:2px}.xp-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;margin-bottom:6px}.xp-role{font-family:var(--font-display);font-size:clamp(20px,2.6vw,26px);font-weight:600;letter-spacing:-.01em}.xp-when{font-family:var(--font-mono);font-size:12.5px;color:var(--accent)}.xp-org{color:var(--text-dim);font-size:.98rem;margin-bottom:22px}.xp-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:16px;gap:16px}.xp-list li{display:grid;grid-template-columns:auto 1fr;grid-gap:14px;gap:14px;align-items:start}.xp-list .lead{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);padding:4px 9px;border-radius:6px;white-space:nowrap;margin-top:1px}.xp-list .body{color:var(--text-dim)}.xp-list .body b{color:var(--text);font-weight:600}.project{border:1px solid var(--line);border-radius:18px;background:radial-gradient(600px 300px at 100% 0,var(--blue-soft),transparent 60%),var(--bg-2);padding:clamp(26px,4vw,44px);position:relative;overflow:hidden}.project-badge{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;color:var(--accent);border:1px solid var(--accent-line);background:var(--accent-soft);padding:6px 12px;border-radius:999px;margin-bottom:20px}.project h3{font-family:var(--font-display);font-size:clamp(22px,3.4vw,34px);font-weight:600;letter-spacing:-.02em;line-height:1.12;margin:0 0 6px;max-width:22ch}.project .kind{font-family:var(--font-mono);font-size:12px;color:var(--text-faint);letter-spacing:.06em}.project p{color:var(--text-dim);max-width:64ch;margin:18px 0 0}.project-highlights{display:grid;grid-gap:12px;gap:12px;margin:24px 0 0}.highlight{display:grid;grid-template-columns:auto 1fr;grid-gap:13px;gap:13px;align-items:start;color:var(--text-dim)}.highlight .ic{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:7px;border:1px solid var(--line-2);background:var(--bg-3);color:var(--accent)}.highlight b{color:var(--text);font-weight:600}.project .tags{margin-top:26px}.cert-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px}.cert{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);padding:22px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s ease,transform .2s ease}.cert:hover{border-color:var(--accent-line);transform:translateY(-3px)}.cert .no{font-family:var(--font-mono);font-size:12px;color:var(--text-faint)}.cert h4{font-family:var(--font-display);font-size:1.15rem;font-weight:600;margin:2px 0 0;letter-spacing:-.01em}.cert .issuer{font-family:var(--font-mono);font-size:12px;color:var(--accent);letter-spacing:.04em}.cert p{color:var(--text-dim);font-size:.92rem;margin:6px 0 0}.contact-grid{display:grid;grid-template-columns:1fr .9fr;grid-gap:clamp(32px,6vw,64px);gap:clamp(32px,6vw,64px);align-items:center}.contact-card{border:1px solid var(--line);border-radius:18px;background:var(--bg-2);padding:clamp(24px,3.5vw,36px);display:grid;grid-gap:4px;gap:4px}.contact-row{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.contact-row:last-child{border-bottom:none}.contact-row .ic{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--bg-3);border:1px solid var(--line-2);color:var(--accent)}.contact-row .k{display:block;margin-bottom:4px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.contact-row .v{font-size:.98rem;color:var(--text);word-break:break-word}.contact-row a.v:hover{color:var(--accent)}.footer{border-top:1px solid var(--line);padding-block:28px}.footer-inner{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:12px;color:var(--text-faint);letter-spacing:.04em}.footer-inner a:hover{color:var(--accent)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform}.reveal.in{opacity:1;transform:none}@media (max-width:880px){.nav-links{display:none}.nav-toggle{display:inline-flex}.mobile-menu.open{display:block}.hero-grid{grid-template-columns:1fr}.portrait-wrap{order:-1;width:min(280px,70vw)}.about-grid,.cert-grid,.contact-grid,.xp{grid-template-columns:1fr}.xp-rail{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}