@font-face{font-family:'Chakra Petch';font-weight:500;font-style:normal;font-display:swap;src:url('../fonts/chakra-petch-500.woff2') format('woff2')}
@font-face{font-family:'Chakra Petch';font-weight:600;font-style:normal;font-display:swap;src:url('../fonts/chakra-petch-600.woff2') format('woff2')}
@font-face{font-family:'Chakra Petch';font-weight:700;font-style:normal;font-display:swap;src:url('../fonts/chakra-petch-700.woff2') format('woff2')}
@font-face{font-family:'Share Tech Mono';font-weight:400;font-style:normal;font-display:swap;src:url('../fonts/share-tech-mono-400.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-weight:400;font-style:normal;font-display:swap;src:url('../fonts/space-grotesk-400.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-weight:500;font-style:normal;font-display:swap;src:url('../fonts/space-grotesk-500.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-weight:700;font-style:normal;font-display:swap;src:url('../fonts/space-grotesk-700.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-weight:800;font-style:normal;font-display:swap;src:url('../fonts/space-grotesk-800.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:400;font-style:normal;font-display:swap;src:url('../fonts/jetbrains-mono-400.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:600;font-style:normal;font-display:swap;src:url('../fonts/jetbrains-mono-600.woff2') format('woff2')}
:root{
--bg:#07080b;--bg2:#0d1017;--surface:#121724;--card:#171d2a;--line:#2a3448;--line2:#34425c;
--text:#edf2ff;--text2:#a5b4cf;--soft:#8494b0;--accent:#ff4466;--accent2:#58a6ff;--accent3:#d5deef;
--shadow:rgba(0,0,0,.5);--glow:rgba(255,68,102,.14);--topbar:rgba(7,8,11,.88);--name-glow:rgba(88,166,255,.24);--name-shadow:rgba(255,68,102,.16);
--elev-1:0 6px 18px color-mix(in srgb,var(--shadow) 30%, transparent);--elev-2:0 10px 24px color-mix(in srgb,var(--shadow) 38%, transparent);--glow-soft:0 5px 14px color-mix(in srgb,var(--accent2) 12%, transparent)
}
[data-theme="light"]{
--bg:#edf3fa;--bg2:#e4edf8;--surface:#ffffff;--card:#f8fbff;--line:#d4e0f0;--line2:#bed1e7;
--text:#17263d;--text2:#3d5368;--soft:#4d6680;--accent:#007f74;--accent2:#0d68c0;--accent3:#9b6c16;
--shadow:rgba(0,0,0,.11);--glow:rgba(0,127,116,.08);--topbar:rgba(241,246,252,.95);--name-glow:rgba(13,104,192,.12);--name-shadow:rgba(0,127,116,.08);
--elev-1:0 5px 14px color-mix(in srgb,var(--shadow) 26%, transparent);--elev-2:0 8px 20px color-mix(in srgb,var(--shadow) 33%, transparent);--glow-soft:0 4px 10px color-mix(in srgb,var(--accent2) 10%, transparent)
}
[data-palette="azure"]{--accent:#22d4ff;--accent2:#5d7dff;--accent3:#ff96b4}
[data-palette="emerald"]{--accent:#00e5a0;--accent2:#48c6ff;--accent3:#ffc86e}
[data-palette="githubdimmed"]{--accent:#6cb6ff;--accent2:#f69d50;--accent3:#adbac7}
[data-palette="onedarkpro"]{--accent:#61afef;--accent2:#c678dd;--accent3:#e5c07b}
[data-palette="seti"]{--accent:#55b5db;--accent2:#a074c4;--accent3:#e6cd69}
[data-palette="atomslate"]{--accent:#7ec7ff;--accent2:#98c379;--accent3:#e5c07b}
[data-theme="dark"][data-palette="emerald"]{
--bg:#0c1314;--bg2:#121b1d;--surface:#182527;--card:#1d2d30;--line:#345156;--line2:#42666c;
--text:#ecfffb;--text2:#a9c9c2;--soft:#7d9b95;--glow:rgba(0,229,160,.14);--topbar:rgba(12,19,20,.86)
}
[data-theme="light"][data-palette="emerald"]{
--bg:#eef8f4;--bg2:#e7f5f1;--surface:#ffffff;--card:#f5fcf8;--line:#d2e7de;--line2:#c1ddd4;
--text:#19342f;--text2:#3d564f;--soft:#577069;--glow:rgba(0,229,160,.08);--topbar:rgba(238,248,244,.94)
}
[data-theme="dark"][data-palette="azure"]{
--bg:#0a111c;--bg2:#111a29;--surface:#162334;--card:#1c2b40;--line:#324860;--line2:#42607d;
--text:#eef6ff;--text2:#aabbd2;--soft:#8295af;--glow:rgba(34,212,255,.14);--topbar:rgba(10,17,28,.86)
}
[data-theme="light"][data-palette="azure"]{
--bg:#eef5ff;--bg2:#e6efff;--surface:#ffffff;--card:#f5f9ff;--line:#d4def2;--line2:#c5d2eb;
--text:#182840;--text2:#41546e;--soft:#5e7291;--glow:rgba(34,212,255,.08);--topbar:rgba(238,245,255,.95)
}
[data-theme="dark"][data-palette="githubdimmed"]{
--bg:#22272e;--bg2:#2a313c;--surface:#2d333b;--card:#343b43;--line:#4b5563;--line2:#636e7b;
--text:#cdd9e5;--text2:#9da7b3;--soft:#768390;--glow:rgba(108,182,255,.13);--topbar:rgba(34,39,46,.88);--name-glow:rgba(108,182,255,.22);--name-shadow:rgba(246,157,80,.14)
}
[data-theme="light"][data-palette="githubdimmed"]{
--bg:#f6f8fa;--bg2:#eef2f6;--surface:#ffffff;--card:#f7faff;--line:#d0d7de;--line2:#c0c8d1;
--text:#24292f;--text2:#454b52;--soft:#575e65;--glow:rgba(108,182,255,.08);--topbar:rgba(246,248,250,.95);--name-glow:rgba(108,182,255,.11);--name-shadow:rgba(246,157,80,.08)
}
[data-theme="dark"][data-palette="onedarkpro"]{
--bg:#21252b;--bg2:#262b33;--surface:#2c313c;--card:#323844;--line:#4b5263;--line2:#616a7d;
--text:#abb2bf;--text2:#8f98a8;--soft:#6f7787;--glow:rgba(97,175,239,.14);--topbar:rgba(33,37,43,.88);--name-glow:rgba(97,175,239,.24);--name-shadow:rgba(198,120,221,.16)
}
[data-theme="light"][data-palette="onedarkpro"]{
--bg:#f4f6fb;--bg2:#eceff6;--surface:#ffffff;--card:#f7f9fd;--line:#d6dbe6;--line2:#c6cedd;
--text:#2b313b;--text2:#4b5462;--soft:#646e7e;--glow:rgba(97,175,239,.08);--topbar:rgba(244,246,251,.95);--name-glow:rgba(97,175,239,.11);--name-shadow:rgba(198,120,221,.08)
}
[data-theme="dark"][data-palette="seti"]{
--bg:#151718;--bg2:#1d2022;--surface:#23272a;--card:#2a2f33;--line:#454d56;--line2:#5b6672;
--text:#d6d6d6;--text2:#a8b0b8;--soft:#7f8a93;--glow:rgba(85,181,219,.13);--topbar:rgba(21,23,24,.88);--name-glow:rgba(85,181,219,.22);--name-shadow:rgba(160,116,196,.15)
}
[data-theme="light"][data-palette="seti"]{
--bg:#f4f6f8;--bg2:#eceff3;--surface:#ffffff;--card:#f8fafc;--line:#d5dbe2;--line2:#c7d0da;
--text:#27313a;--text2:#4a5560;--soft:#63707b;--glow:rgba(85,181,219,.08);--topbar:rgba(244,246,248,.95);--name-glow:rgba(85,181,219,.11);--name-shadow:rgba(160,116,196,.08)
}
[data-theme="dark"][data-palette="atomslate"]{
--bg:#23262e;--bg2:#2a2f38;--surface:#303641;--card:#373e4a;--line:#525b69;--line2:#697483;
--text:#d7dae0;--text2:#a8b0bc;--soft:#929ba9;--glow:rgba(126,199,255,.13);--topbar:rgba(35,38,46,.88);--name-glow:rgba(126,199,255,.22);--name-shadow:rgba(152,195,121,.14)
}
[data-theme="light"][data-palette="atomslate"]{
--bg:#f3f6fa;--bg2:#ebeff5;--surface:#ffffff;--card:#f7f9fd;--line:#d5dce6;--line2:#c7d1de;
--text:#28313d;--text2:#4d5867;--soft:#667483;--glow:rgba(126,199,255,.08);--topbar:rgba(243,246,250,.95);--name-glow:rgba(126,199,255,.11);--name-shadow:rgba(152,195,121,.08)
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg)}
body{font-family:'Space Grotesk',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;position:relative}
body::before{content:'';position:fixed;inset:0;background:
radial-gradient(ellipse 80% 50% at 20% 0%,color-mix(in srgb,var(--accent) 10%, transparent),transparent 60%),
radial-gradient(ellipse 60% 40% at 80% 10%,color-mix(in srgb,var(--accent2) 8%, transparent),transparent 50%),
radial-gradient(ellipse 50% 60% at 50% 100%,color-mix(in srgb,var(--accent) 5%, transparent),transparent 50%),
linear-gradient(180deg,var(--bg2),var(--bg));
pointer-events:none;z-index:-2}
body::after{content:'';position:fixed;inset:0;background-image:
radial-gradient(color-mix(in srgb,var(--line) 18%, transparent) 1px,transparent 1px);
background-size:28px 28px;pointer-events:none;z-index:-1;opacity:.35}
[data-theme="light"] body::before{background:
radial-gradient(ellipse 80% 50% at 20% 0%,color-mix(in srgb,var(--accent) 6%, transparent),transparent 60%),
radial-gradient(ellipse 60% 40% at 80% 10%,color-mix(in srgb,var(--accent2) 5%, transparent),transparent 50%),
linear-gradient(180deg,var(--bg),var(--bg2))}
[data-theme="light"] body::after{opacity:.18}
a{color:inherit}
.skip-link{position:fixed;left:14px;top:10px;transform:translateY(-160%);z-index:110;background:var(--accent);color:var(--bg);border:1px solid var(--accent);border-radius:10px;padding:12px 18px;min-height:44px;text-decoration:none;font:600 12px 'JetBrains Mono',monospace;transition:transform .2s ease}
.skip-link:focus-visible{transform:translateY(0);outline:2px solid color-mix(in srgb,var(--accent2) 70%, white);outline-offset:2px}
::selection{background:var(--glow)}
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2),var(--accent));background-size:200% 100%;animation:progress-shimmer 2s linear infinite;box-shadow:0 0 8px color-mix(in srgb,var(--accent) 60%, transparent),0 0 2px color-mix(in srgb,var(--accent2) 40%, transparent);z-index:60;transition:width .08s}
.topbar-wrap{position:fixed;top:0;left:0;right:0;z-index:50;padding:0;background:color-mix(in srgb,var(--topbar) 94%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid color-mix(in srgb,var(--line) 82%, transparent)}
.topbar{height:64px;max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:transparent;border:none;border-radius:0}
.menu-backdrop{display:none;position:fixed;inset:64px 0 0;background:rgba(3,8,14,.45);backdrop-filter:blur(2px);opacity:0;transition:opacity .25s ease;z-index:45}
.menu-backdrop.open{display:block;opacity:1}
.top-left{display:flex;align-items:center;gap:11px;min-width:0}
.brand-chip{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 48%, transparent);background:color-mix(in srgb,var(--accent) 14%, transparent);font:700 11px 'JetBrains Mono',monospace;color:var(--accent)}
.brand-copy{min-width:0}
.brand-title{font:700 14px 'Chakra Petch',sans-serif;cursor:default}
.brand-title.hacking{animation:glitch-flicker .08s steps(2) infinite}
@keyframes glitch-flicker{0%{opacity:1}50%{opacity:.85}100%{opacity:1}}
.brand-sub{font:400 10px 'Share Tech Mono',monospace;color:var(--soft);letter-spacing:1.1px;text-transform:uppercase;margin-top:2px;min-width:0;overflow:hidden;white-space:nowrap}
.brand-sub.typing::after{content:'|';color:var(--accent);animation:blink-cursor .6s step-end infinite;margin-left:1px}
@keyframes blink-cursor{0%,100%{opacity:1}50%{opacity:0}}
@keyframes grad-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes dot-pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 50%, transparent)}50%{opacity:.7;box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 0%, transparent)}}
@keyframes progress-shimmer{0%{background-position:200% 0}100%{background-position:0% 0}}
.top-right{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;white-space:nowrap;min-width:0}
.top-nav{display:flex;align-items:center;gap:6px}
.top-nav a{position:relative;text-decoration:none;color:var(--text2);font-size:12px;padding:6px 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--line) 60%, transparent);background:color-mix(in srgb,var(--surface) 50%, transparent);transition:all .22s ease;letter-spacing:.3px}
.top-nav a::after{content:'';position:absolute;bottom:-1px;left:20%;right:20%;height:2px;border-radius:1px;background:var(--accent);transform:scaleX(0);transition:transform .22s ease;opacity:0}
.top-nav a:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 40%, var(--line));background:color-mix(in srgb,var(--accent) 6%, transparent)}
.top-nav a:hover::after{transform:scaleX(1);opacity:.6}
.top-nav a:active{transform:scale(.97)}
.top-nav a.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 34%, var(--line));background:color-mix(in srgb,var(--accent) 8%, transparent)}
.top-nav a.active::after{transform:scaleX(1);opacity:1;box-shadow:0 0 6px color-mix(in srgb,var(--accent) 50%, transparent)}
.sep{width:1px;height:22px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--accent2) 40%, var(--line)),transparent)}
.lang-dd{position:relative;z-index:70}
.ui-btn{height:30px;border:1px solid color-mix(in srgb,var(--accent) 30%, var(--line));background:color-mix(in srgb,var(--surface) 78%, transparent);border-radius:8px;color:var(--text);cursor:pointer;padding:0 9px;display:flex;align-items:center;gap:6px;font-size:12px;transition:all .22s ease}
.ui-btn:hover{border-color:color-mix(in srgb,var(--accent) 58%, var(--line));background:var(--glow)}
.ui-btn:active{transform:scale(.97);opacity:.85}
.menu-btn{display:none}
.lang-code{font:600 10px 'JetBrains Mono',monospace;color:var(--text2)}
.dropdown{position:absolute;top:36px;right:0;display:none;background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 34%, var(--line));border-radius:10px;box-shadow:0 12px 24px var(--shadow);padding:6px;z-index:80}
.dropdown.open{display:block}
.lang-opt{width:100%;display:flex;align-items:center;gap:8px;padding:7px 8px;border:none;background:transparent;color:var(--text2);border-radius:8px;cursor:pointer;font-size:12px}
.lang-opt:hover,.lang-opt.active{background:var(--glow);color:var(--text)}
.palette-btn{font:700 12px 'Share Tech Mono',monospace}
.tbtn{width:30px;height:30px;justify-content:center;transition:all .22s ease}
.tbtn.is-dark{color:var(--accent3)}
.tbtn.is-light{color:var(--accent2)}
.shell{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:92px 20px 56px}
.hero{max-width:980px;margin:0 auto 26px;padding:16px 10px 18px;text-align:center;position:relative}
.hero-grid,.metrics,.section{content-visibility:auto;contain-intrinsic-size:1px 560px}
.eyebrow{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 34%, transparent);background:color-mix(in srgb,var(--accent) 9%, transparent);font:400 10px 'JetBrains Mono',monospace;letter-spacing:1.8px;text-transform:uppercase;color:var(--accent)}
.hero h1{font:700 clamp(40px,7.4vw,78px) 'Chakra Petch',sans-serif;line-height:.94;letter-spacing:-1.2px;margin:14px 0}
.hero .aka{display:block;margin-top:8px;margin-bottom:10px;font:600 13px 'Share Tech Mono',monospace;color:var(--accent2);letter-spacing:.8px}
.grad{background:linear-gradient(115deg,var(--accent3) 0%,color-mix(in srgb,var(--accent3) 45%, var(--accent) 55%) 18%,var(--accent) 50%,var(--accent2) 80%,var(--accent3) 100%);background-size:220% 220%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:grad-shift 24s ease infinite;filter:drop-shadow(0 4px 22px color-mix(in srgb,var(--name-shadow) 70%, transparent))}
.hero-sub{max-width:760px;margin:0 auto;color:var(--text2);font-size:16px;line-height:1.78}
.focus-badge{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent2) 42%, var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 13%, transparent),color-mix(in srgb,var(--accent) 10%, transparent));font:600 11px 'Share Tech Mono',monospace;color:var(--text)}
.focus-badge::before{content:'●';color:var(--accent);animation:dot-pulse 2.4s ease infinite;display:inline-block}
.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:16px;margin-bottom:20px}
.card{position:relative;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 96%, transparent),color-mix(in srgb,var(--surface) 95%, transparent));border:1px solid var(--line);border-radius:16px;box-shadow:var(--elev-1)}
.card::before{content:'';position:absolute;left:0;top:0;height:1px;width:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));transform:scaleX(.22);transform-origin:left;opacity:.4;transition:transform .9s cubic-bezier(.22,.68,0,1.2),opacity .6s ease}
.card:hover::before{transform:scaleX(1);opacity:.7}
.card{transition:transform .3s cubic-bezier(.22,.68,0,1.2),border-color .28s ease,box-shadow .3s ease}
.card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 55%, var(--line));box-shadow:var(--elev-2),0 0 0 1px color-mix(in srgb,var(--accent) 16%, transparent),0 8px 32px color-mix(in srgb,var(--accent) 18%, transparent),inset 0 1px 0 color-mix(in srgb,white 6%, transparent)}
[data-theme="light"] .card{background:linear-gradient(180deg,#fff,#f8fbff)}
.hero-main,.hero-side,.panel,.quote-card,.cert-card,.edu-card,.ctf-card,.footer-card{padding:clamp(20px,2.2vw,26px)}
.hero-main{position:relative;overflow:hidden;display:flex;flex-direction:column}
.hero-main::after{content:'';position:absolute;right:-76px;bottom:-78px;width:240px;height:240px;background:radial-gradient(circle,color-mix(in srgb,var(--accent2) 20%, transparent),transparent 66%);pointer-events:none}
.hero-side{position:relative;overflow:hidden;display:flex;flex-direction:column}
.hero-side::after{content:'';position:absolute;right:-70px;bottom:-76px;width:220px;height:220px;background:radial-gradient(circle,color-mix(in srgb,var(--accent2) 18%, transparent),transparent 66%);pointer-events:none}
.hero-main-top,.hero-main-bottom,.hero-side-top,.hero-side-bottom{position:relative}
.hero-main .section-kicker{margin-bottom:6px}
.hero-main .hero-quote{margin-top:12px;margin-bottom:26px;font-size:clamp(22px,3.4vw,28px);font-weight:800;line-height:1.23;letter-spacing:-.7px;max-width:none}
.terminal{
margin-top:0;
position:relative;
padding:14px 16px 14px;
border-radius:12px;
border:1px solid color-mix(in srgb,var(--accent) 40%, var(--line));
background:
linear-gradient(180deg,color-mix(in srgb,var(--surface) 88%, transparent) 0 24px,transparent 24px),
linear-gradient(160deg,color-mix(in srgb,var(--bg) 76%, transparent),color-mix(in srgb,var(--surface) 82%, transparent));
box-shadow:var(--elev-1);
transition:all .24s ease;
}
.terminal::before{
content:'●  ●  ●';
position:absolute;
top:6px;
left:10px;
font:700 9px 'JetBrains Mono',monospace;
letter-spacing:1px;
color:color-mix(in srgb,var(--accent2) 58%, var(--text));
opacity:.72;
pointer-events:none;
}
.terminal:hover{
transform:translateY(-1px);
border-color:color-mix(in srgb,var(--accent) 60%, var(--line));
box-shadow:var(--elev-2),var(--glow-soft);
}
.metric,.timeline-pill,.timeline-list > div,.stack-item,.engagement{
transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease;
}
.metric:hover,.timeline-pill:hover,.timeline-list > div:hover,.stack-item:hover,.engagement:hover{
transform:translateY(-1px);
border-color:color-mix(in srgb,var(--accent) 60%, var(--line));
box-shadow:var(--elev-2),var(--glow-soft);
}
[data-theme="light"] .terminal{
background:
linear-gradient(180deg,rgba(226,236,248,.9) 0 24px,transparent 24px),
linear-gradient(160deg,rgba(233,241,250,.95),rgba(246,250,255,.95));
}
.terminal-head{
font:700 10px 'Share Tech Mono',monospace;
color:var(--accent);
letter-spacing:.5px;
margin:0 0 14px;
padding-top:14px;
padding-left:0;
}
.terminal-line{font:500 12px 'Share Tech Mono',monospace;line-height:1.78;color:var(--text)}
.terminal-line span{color:var(--accent)}
.label,.section-kicker{font:600 10px 'JetBrains Mono',monospace;letter-spacing:2px;text-transform:uppercase;color:var(--soft)}
.profile-name{font-size:clamp(24px,4.2vw,30px);font-weight:800;line-height:1.02;margin-top:10px}
.profile-role{font-size:15px;color:var(--accent3);margin-top:6px}
.hero-side .context-kicker{position:absolute;top:0;left:0;z-index:2}
.meta-list{display:grid;gap:0;margin-top:14px}
.meta-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:10px 0 11px;border-bottom:1px solid color-mix(in srgb,var(--line) 65%, transparent);font-size:13px;align-items:center;transition:background .18s ease;border-radius:6px}
.meta-row:hover{background:color-mix(in srgb,var(--accent2) 5%, transparent)}
.meta-row:hover span:first-child{color:color-mix(in srgb,var(--accent2) 75%, var(--soft));transition:color .18s ease}
.meta-row span:first-child{color:var(--soft);line-height:1.2}
.meta-row strong{text-align:right;line-height:1.2;display:flex;align-items:center;justify-content:flex-end}
.hero-side .meta-list{margin-top:12px}
.lang-bullets{display:grid;gap:8px;margin-top:0;padding-left:0;grid-template-rows:repeat(3,minmax(0,1fr))}
.lang-bullet{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text);padding:9px 11px;border:1px solid color-mix(in srgb,var(--accent) 35%, var(--line));border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%, transparent),color-mix(in srgb,var(--accent2) 12%, transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent2) 10%, transparent);transition:all .24s ease}
.lang-bullet:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 60%, var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 20%, transparent),color-mix(in srgb,var(--accent2) 14%, transparent));box-shadow:0 6px 18px color-mix(in srgb,var(--accent2) 18%, transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 16%, transparent)}
.lang-bullet .dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}
.metric{padding:18px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.metric-value{font-size:44px;font-weight:900;line-height:1;background:linear-gradient(135deg,var(--accent3),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-top:auto}
.metric-label{color:var(--text2);font-size:13px;line-height:1.5;margin-bottom:8px}
.section{margin-bottom:24px}
.section:last-of-type{margin-bottom:8px}
.section-head{display:block;margin-bottom:12px;padding:0}
.section-title{font-size:clamp(26px,4.1vw,31px);font-weight:900;letter-spacing:-.8px;background:linear-gradient(110deg,var(--text) 0%,color-mix(in srgb,var(--text) 75%, var(--accent3)) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.section-note{max-width:none;color:var(--text2);font-size:14px;line-height:1.72;justify-self:stretch}
.lead-note{margin-top:10px;max-width:none;padding:11px 14px;border-left:2px solid color-mix(in srgb,var(--accent) 58%, transparent);border-radius:10px;background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 12%, transparent),color-mix(in srgb,var(--accent2) 7%, transparent) 58%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent2) 10%, transparent)}
.panel-lead{margin-top:8px;color:var(--text2);font-size:14px;line-height:1.72;max-width:none}
.grid-two,.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.split{align-items:stretch}
.split > .card{height:100%}
.single{display:grid;grid-template-columns:1fr;gap:14px}
.chips,.tool-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chips{gap:10px}
.chip,.tool{padding:8px 12px;border-radius:999px;font-size:12px;border:1px solid color-mix(in srgb,var(--accent) 35%, var(--line));transition:all .24s ease;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent2) 10%, transparent)}
.chip{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%, transparent),color-mix(in srgb,var(--accent2) 12%, transparent));color:var(--text)}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-content:start}
.tool{display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:11px 14px;min-height:48px;border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent2) 13%, transparent),color-mix(in srgb,var(--accent) 10%, transparent));color:var(--text2);font:500 12px 'Share Tech Mono',monospace}
.tool img{width:16px;height:16px;object-fit:contain;padding:1px;border-radius:4px;background:color-mix(in srgb,var(--surface) 82%, white 18%);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent2) 35%, transparent))}
[data-theme="light"] .tool img{background:color-mix(in srgb,var(--surface) 90%, white 10%);filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent2) 20%, transparent))}
.tool .tf{display:none;width:16px;height:16px;align-items:center;justify-content:center;border-radius:4px;border:1px solid color-mix(in srgb,var(--accent) 45%, var(--line));font:700 10px 'Share Tech Mono',monospace;color:var(--accent)}
.tool-grid .tool:nth-child(odd){transform:translateY(-1px)}
.chip:hover,.tool:hover{transform:translateY(-2px) scale(1.02);border-color:color-mix(in srgb,var(--accent) 65%, var(--line));background:color-mix(in srgb,var(--accent) 18%, transparent);box-shadow:0 6px 18px color-mix(in srgb,var(--accent2) 20%, transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%, transparent);color:var(--text)}
.tool[data-tip]{position:relative}
.tool[data-tip]:hover::after,.tool[data-tip]:focus-visible::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);padding:4px 8px;border-radius:8px;border:1px solid color-mix(in srgb,var(--accent) 34%, var(--line));background:color-mix(in srgb,var(--surface) 94%, transparent);font:600 10px 'JetBrains Mono',monospace;color:var(--text2);white-space:nowrap;z-index:6;box-shadow:0 8px 18px var(--shadow)}
.quote{font-size:clamp(24px,3.2vw,29px);font-weight:800;line-height:1.14;max-width:14ch}
.quote-sub{margin-top:12px;color:var(--text2);font-size:14px;line-height:1.75}
.timeline{display:grid;gap:12px}
.timeline-item{display:grid;grid-template-columns:170px 1fr;gap:18px;padding:20px 22px}
.timeline-item{transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.timeline-item:hover{transform:translateY(-2px) translateX(2px);border-color:color-mix(in srgb,var(--accent) 45%, var(--line));box-shadow:var(--elev-2),-4px 0 16px color-mix(in srgb,var(--accent) 12%, transparent),var(--glow-soft)}
.timeline-period{font:600 10px 'JetBrains Mono',monospace;letter-spacing:1.3px;color:var(--accent);text-transform:uppercase}
.timeline-role{font-size:clamp(18px,2.8vw,22px);font-weight:800}
.timeline-company{font-size:14px;color:var(--accent2);margin-top:4px}
.timeline-summary{margin:12px 0;color:var(--text2);font-size:14px;line-height:1.74}
.timeline-list{display:grid;gap:9px}
.timeline-list > div{position:relative;display:flex;align-items:center;min-height:44px;padding:10px 14px 10px 34px;font-size:13.5px;line-height:1.62;border:1px solid color-mix(in srgb,var(--line) 68%, transparent);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 10%, transparent),color-mix(in srgb,var(--surface) 82%, transparent))}
.timeline-list > div::before{content:'';position:absolute;left:14px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 96%, white) 0 45%,color-mix(in srgb,var(--accent2) 70%, var(--accent)) 46% 100%);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%, transparent)}
.timeline-list > div{transition:border-color .2s ease,background .2s ease,transform .2s ease}
.timeline-list > div:hover{transform:translateX(2px);border-color:color-mix(in srgb,var(--accent) 40%, var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 14%, transparent),color-mix(in srgb,var(--surface) 84%, transparent))}
.timeline-pill{position:relative;min-height:44px;padding:10px 14px 10px 34px;border:1px solid color-mix(in srgb,var(--line) 68%, transparent);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 10%, transparent),color-mix(in srgb,var(--surface) 82%, transparent));transition:border-color .2s ease,background .2s ease,transform .2s ease}
.timeline-pill::before{content:'';position:absolute;left:14px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 96%, white) 0 45%,color-mix(in srgb,var(--accent2) 70%, var(--accent)) 46% 100%);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%, transparent)}
.timeline-pill:hover{transform:translateX(2px);border-color:color-mix(in srgb,var(--accent) 40%, var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 14%, transparent),color-mix(in srgb,var(--surface) 84%, transparent))}
.edu-card .timeline-pill{padding-left:14px}
.edu-card .timeline-pill::before{display:none}
.engagements{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.engagement{padding:18px 20px;color:var(--text2);font-size:14px;line-height:1.76;position:relative;overflow:hidden}
.eng-title{color:var(--text);font-size:16px;font-weight:700;line-height:1.35;display:inline-block;max-width:max-content}
.eng-sub{display:block;margin-top:8px}
.eng-entities{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.eng-entity{font:600 11px 'JetBrains Mono',monospace;color:var(--text2);padding:3px 0;text-decoration:underline dotted color-mix(in srgb,var(--accent2) 55%, transparent);text-underline-offset:3px;cursor:help}
.engagement::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),var(--accent2),transparent);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.engagement:hover::before{transform:scaleX(1)}
.engagement::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 5%, transparent),transparent 60%);opacity:0;transition:opacity .3s ease;pointer-events:none;border-radius:inherit}
.engagement:hover::after{opacity:1}
.engagement:hover .eng-title{color:var(--accent2);transition:color .2s ease}
.stack{display:grid;gap:11px}
.stack-item{padding:14px 15px;border-radius:12px;border:1px solid color-mix(in srgb,var(--line) 65%, transparent);background:color-mix(in srgb,var(--surface) 74%, transparent);color:var(--text2);font-size:13px;line-height:1.72}
.stack-item strong{display:block;color:var(--text);font-size:14px;margin-bottom:4px}
.stack-item.cert{display:flex;align-items:center;line-height:1.45;padding-left:34px}
.cert-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cert-list .timeline-pill{font-size:13.5px;line-height:1.62;color:var(--text);transition:transform .22s ease,border-color .22s ease,box-shadow .24s ease,background .22s ease}
.cert-list .timeline-pill:hover{transform:translateX(2px) translateY(-1px);border-color:color-mix(in srgb,var(--accent) 55%, var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%, transparent),color-mix(in srgb,var(--accent2) 10%, transparent));box-shadow:0 4px 14px color-mix(in srgb,var(--accent2) 14%, transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 14%, transparent)}
.ctf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ctf-grid .stack-item{height:100%;min-height:180px;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;gap:6px}
.ctf-grid .stack-item.timeline-pill{padding:12px}
.ctf-grid .stack-item.timeline-pill::before{display:none}
.ctf-value{font-size:42px;font-weight:900;line-height:1;background:linear-gradient(135deg,var(--accent),var(--accent3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ctf-card .section-title{margin-bottom:16px}
.ctf-highlights{margin-top:14px}
.ctf-highlights .section-kicker{margin-bottom:8px}
.ctf-highlights .timeline-list > div{position:relative;overflow:hidden;display:block;align-items:initial;padding:12px 14px 12px 34px}
.ctf-highlights .timeline-list > div::after{
content:'';
position:absolute;
right:-72px;
bottom:-74px;
width:230px;
height:230px;
pointer-events:none;
background:radial-gradient(circle,color-mix(in srgb,var(--accent2) 18%, transparent),transparent 66%);
transition:opacity .22s ease,transform .22s ease,filter .22s ease;
opacity:.92;
transform:scale(1);
}
.ctf-highlights .timeline-list > div::before{
content:'';
position:absolute;
right:-84px;
bottom:-88px;
width:256px;
height:256px;
pointer-events:none;
background:radial-gradient(circle,color-mix(in srgb,var(--accent2) 10%, transparent),transparent 70%);
transition:opacity .22s ease,transform .22s ease;
opacity:.72;
transform:scale(1);
}
.ctf-highlights .timeline-list > div:hover::after{
opacity:1;
transform:scale(1.05);
filter:saturate(1.08);
}
.ctf-highlights .timeline-list > div:hover::before{
opacity:.9;
transform:scale(1.06);
}
.ctf-entry-title{display:block;color:var(--text);font-weight:700;line-height:1.35;margin-bottom:8px}
.ctf-entry-desc{display:block;color:var(--text2);line-height:1.68}
.ctf-card{min-height:340px}
.tool-card{min-height:260px}
.footer-card{display:grid;grid-template-columns:1.3fr .7fr;gap:16px;align-items:end}
.footer-copy h3{font-size:clamp(28px,4.5vw,34px);font-weight:900;line-height:1.03;letter-spacing:-1px;margin:8px 0 11px}
.footer-copy p{max-width:680px;color:var(--text2);font-size:14px;line-height:1.74}
.footer-meta{display:grid;gap:10px;justify-items:end}
.footer-pill{font:600 11px 'JetBrains Mono',monospace;letter-spacing:1px;text-transform:uppercase;color:var(--text);padding:7px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 35%, var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%, transparent),color-mix(in srgb,var(--accent2) 12%, transparent));transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;cursor:default}
.footer-pill:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 60%, var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%, transparent),color-mix(in srgb,var(--accent2) 16%, transparent));box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 16%, transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%, transparent)}
.footer-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.contact-link{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;text-decoration:none;font:600 12px 'JetBrains Mono',monospace;letter-spacing:.5px;color:var(--text);padding:11px 18px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent2) 40%, var(--line));background:color-mix(in srgb,var(--accent2) 8%, var(--surface));transition:transform .22s ease,box-shadow .28s ease,border-color .22s ease,background .22s ease}
.contact-link::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,color-mix(in srgb,var(--accent2) 18%, transparent) 50%,transparent 80%);transform:translateX(-110%) skewX(-12deg);transition:transform .5s cubic-bezier(.16,1,.3,1);pointer-events:none}
.contact-link svg{width:14px;height:14px;fill:currentColor}
.contact-link:hover{color:var(--text);border-color:var(--accent2);background:color-mix(in srgb,var(--accent2) 14%, var(--surface));transform:translateY(-2px);box-shadow:0 8px 20px color-mix(in srgb,var(--accent2) 22%, transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent2) 16%, transparent)}
.contact-link:hover::before{transform:translateX(110%) skewX(-12deg)}
.contact-link:active{transform:scale(.97)}
.footer-note{font-size:12px;color:var(--soft);text-align:right;max-width:320px;line-height:1.5}
.btt{position:fixed;right:20px;bottom:28px;width:48px;height:48px;border:1px solid color-mix(in srgb,var(--line) 80%, var(--accent) 20%);border-radius:12px;background:color-mix(in srgb,var(--surface) 90%, var(--accent) 10%);color:var(--text2);display:none;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px var(--shadow);z-index:40;font-size:20px;font-weight:700;transition:transform .24s cubic-bezier(.22,.68,0,1.2),border-color .22s ease,box-shadow .24s ease,background .22s ease,color .22s ease}
.btt:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%, var(--surface));color:var(--accent);transform:translateY(-3px);box-shadow:0 12px 28px var(--shadow),0 0 0 1px color-mix(in srgb,var(--accent) 22%, transparent),var(--glow-soft)}
.btt:active{transform:scale(.94)}
.btt.show{display:flex}
.floating-tip{position:fixed;left:0;top:0;padding:6px 9px;border-radius:8px;background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 40%, var(--line));font:600 10px 'Share Tech Mono',monospace;color:var(--text2);white-space:nowrap;box-shadow:0 10px 20px var(--shadow);opacity:0;transform:translate3d(-9999px,-9999px,0);pointer-events:none;z-index:120;transition:opacity .14s ease}
.floating-tip.show{opacity:1}
.table-wrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border-radius:12px;border:1px solid color-mix(in srgb,var(--line) 75%, transparent)}
.table-wrap table{min-width:680px}
.table-wrap::-webkit-scrollbar{height:10px}
.table-wrap::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent2) 45%, var(--line));border-radius:999px}
.top-nav a:focus-visible,.ui-btn:focus-visible,.contact-link:focus-visible,.lang-opt:focus-visible{outline:2px solid color-mix(in srgb,var(--accent2) 70%, white);outline-offset:2px}
.top-nav a:focus:not(:focus-visible),.ui-btn:focus:not(:focus-visible),.contact-link:focus:not(:focus-visible),.lang-opt:focus:not(:focus-visible){outline:none}
#profile,#experience,#engagements,#certifications,#contact{scroll-margin-top:86px}
.fade{opacity:0;transform:translateY(16px) scale(.995);transition:opacity .62s cubic-bezier(.2,.78,.21,.99),transform .62s cubic-bezier(.2,.78,.21,.99)}
.fade.on{opacity:1;transform:none}
.fade.on.card::before{transform:scaleX(.45);opacity:.55}
.hero-ctas{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
.cta-primary,.cta-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:10px;font:600 13px/1 'JetBrains Mono',monospace;text-decoration:none;text-transform:uppercase;letter-spacing:.5px;transition:all .22s ease;border:1px solid transparent}
.cta-primary{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--bg)}
.cta-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,color-mix(in srgb,white 22%, transparent) 50%,transparent 80%);transform:translateX(-110%) skewX(-12deg);transition:transform .55s cubic-bezier(.16,1,.3,1);pointer-events:none}
.cta-primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 36%,transparent),0 2px 6px color-mix(in srgb,var(--accent2) 22%,transparent);filter:brightness(1.06)}
.cta-primary:hover::before{transform:translateX(110%) skewX(-12deg)}
.cta-primary:active{transform:scale(.97)}
.cta-secondary{border-color:color-mix(in srgb,var(--accent2) 70%, var(--line));color:var(--accent2);background:transparent}
.cta-secondary:hover{background:color-mix(in srgb,var(--accent2) 10%,transparent);border-color:var(--accent2);color:var(--text);transform:translateY(-2px);box-shadow:0 6px 18px color-mix(in srgb,var(--accent2) 18%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent2) 20%,transparent)}
.cta-secondary:active{transform:scale(.97)}
.form-grid{display:grid;gap:14px;margin-top:16px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font:600 11px/1 'JetBrains Mono',monospace;color:var(--text2);text-transform:uppercase;letter-spacing:.5px}
.form-group input,.form-group textarea,.form-group select{background:var(--bg2);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:10px 12px;font:400 13px/1.5 'Space Grotesk',sans-serif;transition:border-color .2s,box-shadow .2s}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent2);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent2) 15%,transparent)}
.form-group textarea{resize:vertical;min-height:100px}
.form-submit{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--bg);border:none;border-radius:8px;font:600 13px/1 'JetBrains Mono',monospace;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:all .22s ease;margin-top:4px}
.form-submit:hover{transform:translateY(-2px);box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 28%,transparent)}
.form-submit:active{transform:scale(.97)}
.form-status{font-size:13px;margin-top:8px;padding:8px 12px;border-radius:8px;display:none}
.form-status.success{display:block;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}
.form-status.error{display:block;background:color-mix(in srgb,#ff3b5c 12%,transparent);color:#ff6b7a;border:1px solid color-mix(in srgb,#ff3b5c 30%,transparent)}
.newsletter-card{text-align:center}
.newsletter-desc{color:var(--text2);font-size:14px;margin:10px 0 16px;line-height:1.65}
.newsletter-form{display:flex;gap:8px;max-width:420px;margin:0 auto}
.newsletter-form input{flex:1;padding:10px 12px;background:var(--bg2);border:1px solid var(--line);border-radius:8px;color:var(--text);font:400 13px/1.5 'Space Grotesk',sans-serif}
.newsletter-form input:focus{outline:none;border-color:var(--accent2)}
.newsletter-submit{padding:10px 18px;background:var(--accent);color:var(--bg);border:none;border-radius:8px;font:600 12px/1 'JetBrains Mono',monospace;cursor:pointer;transition:all .22s ease;white-space:nowrap}
.newsletter-submit:hover{transform:translateY(-2px);box-shadow:0 6px 14px color-mix(in srgb,var(--accent) 28%,transparent)}
.newsletter-note{font-size:11px;color:var(--soft);margin-top:10px}
@media(max-width:1080px){.hero-grid,.grid-two,.split{grid-template-columns:1fr}.metrics,.engagements,.ctf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{height:64px;padding:0 14px}.top-right{flex-wrap:nowrap;justify-content:flex-end}.hero-side .context-kicker{position:static}.hero-side .meta-list{margin-top:12px;margin-bottom:10px;height:auto;min-height:0}.hero-side .lang-bullets{margin-top:12px;min-height:auto;grid-template-rows:none}.hero-main .terminal{margin-top:0}}
@media(min-width:1081px){
.shell{padding-top:90px}
.hero-side{justify-content:flex-start}
.hero-main .hero-quote{max-width:none}
.hero-side .meta-row{padding:0;min-height:0}
.hero-side .lang-bullets{margin-top:0}
.hero-main .terminal{margin-top:0}
}
@media(min-width:901px){.menu-btn{display:none!important}}
@media(max-width:900px){.topbar{width:100%;padding:0 12px;position:relative}.top-nav{display:none}.menu-btn{display:inline-flex}.top-nav{display:grid;grid-template-columns:1fr;position:absolute;top:58px;left:12px;right:12px;z-index:55;padding:10px;border:1px solid var(--line);border-left:2px solid color-mix(in srgb,var(--accent) 50%, transparent);border-radius:12px;background:var(--surface);box-shadow:0 12px 28px var(--shadow);opacity:0;pointer-events:none;transform:translateY(-8px) scale(.985);transition:opacity .24s ease,transform .24s ease;max-height:min(70vh,420px);overflow:auto}.top-nav a{border-radius:8px;border:1px solid color-mix(in srgb,var(--accent) 28%, var(--line));padding:10px 14px;background:color-mix(in srgb,var(--surface) 78%, transparent)}.top-nav a::after{display:none}.top-nav a:hover{background:var(--glow)}.top-nav a.active{background:color-mix(in srgb,var(--accent) 12%, transparent);border-color:color-mix(in srgb,var(--accent) 48%, var(--line));box-shadow:none;color:var(--accent)}.top-nav.open{opacity:1;pointer-events:auto;transform:none}.top-nav.open a{animation:nav-slide-in .18s ease both}.top-nav.open a:nth-child(2){animation-delay:.04s}.top-nav.open a:nth-child(3){animation-delay:.08s}.top-nav.open a:nth-child(4){animation-delay:.12s}.top-nav.open a:nth-child(5){animation-delay:.16s}.sep{display:none}.lang-code{display:none}}
@keyframes nav-slide-in{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
@media(max-width:760px){.shell{padding:86px 12px 56px}.topbar-wrap{padding:0}.top-right{gap:6px}.hero{padding:34px 8px 12px}.hero-sub{font-size:15px;line-height:1.72}.hero-main,.hero-side,.panel,.quote-card,.cert-card,.edu-card,.ctf-card,.footer-card{padding:20px}.engagements,.ctf-grid,.cert-list,.tool-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:16px 14px}.metric-value{font-size:36px}.timeline-item{grid-template-columns:1fr}.section-note{margin-top:10px;max-width:100%;justify-self:start}.meta-row{grid-template-columns:88px minmax(0,1fr)}.hero-side .meta-list{margin-bottom:12px}.lang-bullets{padding-left:0;margin-top:14px}.footer-card{grid-template-columns:1fr}.footer-meta{justify-items:start}.footer-links{justify-content:flex-start}.footer-note{text-align:left}.btt{right:14px;bottom:22px;width:46px;height:46px}}
@media(max-width:640px){.topbar{height:60px}.menu-backdrop{inset:60px 0 0}.top-nav{top:54px}.brand-chip{width:30px;height:30px}.brand-sub{display:none}.top-right{gap:4px}.ui-btn{height:28px;padding:0 7px}.tbtn{width:28px;height:28px}.hero-ctas{flex-direction:column}.cta-primary,.cta-secondary{width:100%;text-align:center}.newsletter-form{flex-direction:column}}
@media(max-width:420px){.shell{padding:82px 10px 52px}.hero{padding:28px 6px 10px}.hero h1{font:700 clamp(34px,11vw,46px) 'Chakra Petch',sans-serif;line-height:.95;letter-spacing:-.8px}.eyebrow{letter-spacing:1.2px;padding:6px 10px}.focus-badge{font-size:10px;padding:7px 10px}.meta-row{grid-template-columns:78px minmax(0,1fr);gap:8px}.metrics{grid-template-columns:1fr;gap:8px}.metric{padding:14px 12px}.metric-value{font-size:34px}.top-right{max-width:none;overflow:visible}.dropdown{right:0;left:auto}}
@media(max-width:520px){.lang-code{display:none}}
@media(prefers-color-scheme:light){
html:not([data-theme="dark"]):not([data-theme="light"]){
--bg:#edf3fa;--bg2:#e4edf8;--surface:#ffffff;--card:#f8fbff;--line:#d4e0f0;--line2:#bed1e7;
--text:#17263d;--text2:#3d5368;--soft:#4d6680;--accent:#007f74;--accent2:#0d68c0;--accent3:#9b6c16;
--shadow:rgba(0,0,0,.11);--glow:rgba(0,127,116,.08);--topbar:rgba(241,246,252,.95);--name-glow:rgba(13,104,192,.12);--name-shadow:rgba(0,127,116,.08)
}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.kh-card-title{color:var(--text);font-size:16px;font-weight:700}
.kh-card-desc{display:block;margin-top:8px}
.kh-card-cta{display:inline-block;margin-top:12px;color:var(--accent);text-decoration:none;font:600 11px 'Share Tech Mono',monospace}
.section-title-mb10{margin-bottom:10px}
.section-desc{max-width:100%;margin-top:8px;margin-bottom:10px}
.section-title-mb14{margin-bottom:14px}
.error-fallback{padding:40px;color:#fff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
