:root,
html[data-theme="mint"]{
  --bg:#080A0F;
  --bg-2:#0D111A;
  --bg-mid:#090B12;
  --bg-end:#07080D;
  --nav-bg:rgba(8,10,15,.72);
  --nav-solid:rgba(8,10,15,.96);
  --surface:rgba(255,255,255,.055);
  --surface-strong:rgba(255,255,255,.085);
  --card:rgba(16,22,34,.72);
  --card-solid:#101622;
  --border:rgba(255,255,255,.12);
  --border-soft:rgba(255,255,255,.075);
  --text:#D9E0EF;
  --text-strong:#FFFFFF;
  --muted:#8C98AE;
  --faint:#5E6A80;
  --text-body:#A8B3C8;
  --text-soft:#B4BED2;
  --panel:rgba(16,22,34,.92);
  --panel-2:rgba(9,12,19,.96);
  --code-bg:rgba(0,0,0,.22);
  --code-text:#B7C2D9;
  --glow-opacity:.20;
  --hero-grad-1:#FFFFFF;
  --hero-grad-2:#EAF0FF;
  --hero-grad-3:#A9B8D8;
  --device-bg:#0B1019;
  --accent:#7CFFB2;
  --accent-2:#78A8FF;
  --accent-3:#B88CFF;
  --accent-soft:#B8FFD0;
  --accent-rgb:124,255,178;
  --accent-2-rgb:120,168,255;
  --accent-3-rgb:184,140,255;
  --ink-on-accent:#07110B;
  --gold:#FFD28A;
  --danger:#FF6B7A;
  --shadow:0 28px 90px rgba(0,0,0,.42);
  --radius:28px;
  --radius-sm:18px;
  --max:1120px;
  --font:'Plus Jakarta Sans',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
}
html[data-theme="amber"]{
  --bg:#0B0B0C;
  --bg-2:#141416;
  --bg-mid:#101012;
  --bg-end:#09090A;
  --nav-bg:rgba(11,11,12,.78);
  --nav-solid:rgba(11,11,12,.96);
  --card:rgba(22,22,24,.78);
  --card-solid:#161618;
  --text:#E8E6E1;
  --text-strong:#FFFCFA;
  --muted:#9A958C;
  --faint:#6E6A63;
  --accent:#FFB347;
  --accent-2:#E8D5B5;
  --accent-3:#C4A574;
  --accent-soft:#FFD39A;
  --accent-rgb:255,179,71;
  --accent-2-rgb:232,213,181;
  --accent-3-rgb:196,165,116;
  --ink-on-accent:#1A1208;
  --gold:#FFD28A;
}
html[data-theme="navy"]{
  --bg:#06101C;
  --bg-2:#0A1828;
  --bg-mid:#071422;
  --bg-end:#040C14;
  --nav-bg:rgba(6,16,28,.78);
  --nav-solid:rgba(6,16,28,.96);
  --card:rgba(12,28,46,.78);
  --card-solid:#0C1C2E;
  --text:#D5E6F7;
  --text-strong:#F3F9FF;
  --muted:#7F9BB8;
  --faint:#54708C;
  --accent:#3D9BFF;
  --accent-2:#6EC8FF;
  --accent-3:#9AD7FF;
  --accent-soft:#8FC8FF;
  --accent-rgb:61,155,255;
  --accent-2-rgb:110,200,255;
  --accent-3-rgb:154,215,255;
  --ink-on-accent:#03101F;
  --gold:#FFD28A;
}
html[data-theme="charcoal"]{
  --bg:#101210;
  --bg-2:#171A17;
  --bg-mid:#131613;
  --bg-end:#0C0E0C;
  --nav-bg:rgba(16,18,16,.78);
  --nav-solid:rgba(16,18,16,.96);
  --card:rgba(28,32,28,.78);
  --card-solid:#1C201C;
  --text:#DEE5DE;
  --text-strong:#F5F8F5;
  --muted:#8E9A8E;
  --faint:#667066;
  --accent:#8FCB8F;
  --accent-2:#A8D4B0;
  --accent-3:#C5D9C0;
  --accent-soft:#B7DFB7;
  --accent-rgb:143,203,143;
  --accent-2-rgb:168,212,176;
  --accent-3-rgb:197,217,192;
  --ink-on-accent:#101810;
  --gold:#E2C48A;
}
html[data-theme="android"]{
  --bg:#0B1110;
  --bg-2:#111A18;
  --bg-mid:#0E1513;
  --bg-end:#080D0C;
  --nav-bg:rgba(11,17,16,.82);
  --nav-solid:rgba(11,17,16,.96);
  --card:rgba(18,28,26,.82);
  --card-solid:#121C1A;
  --text:#D7E8E2;
  --text-strong:#F4FFF9;
  --muted:#839A92;
  --faint:#5F746C;
  --text-body:#A7C0B7;
  --text-soft:#B7D0C7;
  --panel:rgba(16,26,24,.94);
  --panel-2:rgba(10,16,15,.96);
  --code-bg:rgba(0,0,0,.28);
  --code-text:#C5DDD4;
  --hero-grad-1:#F4FFF9;
  --hero-grad-2:#C8F5DC;
  --hero-grad-3:#7FCBAA;
  --device-bg:#0D1614;
  --accent:#3DDC84;
  --accent-2:#64FFDA;
  --accent-3:#A5D6A7;
  --accent-soft:#7CF0B0;
  --accent-rgb:61,220,132;
  --accent-2-rgb:100,255,218;
  --accent-3-rgb:165,214,167;
  --ink-on-accent:#062416;
  --gold:#C6FF00;
  --glow-opacity:.10;
}

html[data-mode="light"]{
  --bg:#F4F2ED;
  --bg-2:#FFFCFA;
  --bg-mid:#F8F6F1;
  --bg-end:#EEEBE4;
  --nav-bg:rgba(244,242,237,.92);
  --nav-solid:rgba(255,252,250,.98);
  --surface:rgba(28,24,18,.04);
  --surface-strong:rgba(28,24,18,.07);
  --card:rgba(255,252,250,.92);
  --card-solid:#FFFCFA;
  --border:rgba(28,24,18,.12);
  --border-soft:rgba(28,24,18,.08);
  --text:#3F3B33;
  --text-strong:#15130F;
  --text-body:#5B564C;
  --text-soft:#4F4A42;
  --muted:#6A655B;
  --faint:#8A8478;
  --panel:#FFFCFA;
  --panel-2:#F7F4EE;
  --code-bg:rgba(28,24,18,.04);
  --code-text:#3F3B33;
  --hero-grad-1:#15130F;
  --hero-grad-2:#3A342A;
  --hero-grad-3:#6B6254;
  --device-bg:#F3EFE7;
  --glow-opacity:.10;
  --shadow:0 18px 50px rgba(40,30,10,.08);
  --gold:#A67C2A;
}
html[data-mode="light"][data-theme="mint"]{
  --accent:#0F9F6E;
  --accent-2:#2F6FE0;
  --accent-3:#7A4FD1;
  --accent-soft:#5EE0A8;
  --accent-rgb:15,159,110;
  --accent-2-rgb:47,111,224;
  --accent-3-rgb:122,79,209;
  --ink-on-accent:#062418;
  --text-body:#4E5A52;
  --text-soft:#3F4A43;
  --hero-grad-1:#0E1A14;
  --hero-grad-2:#1F3A2C;
  --hero-grad-3:#4E6B5C;
  --device-bg:#E8F3EC;
}
html[data-mode="light"][data-theme="amber"]{
  --accent:#C67A12;
  --accent-2:#8A6A3A;
  --accent-3:#A8894E;
  --accent-soft:#F0B45A;
  --accent-rgb:198,122,18;
  --accent-2-rgb:138,106,58;
  --accent-3-rgb:168,137,78;
  --ink-on-accent:#1A1208;
}
html[data-mode="light"][data-theme="navy"]{
  --bg:#EEF3F8;
  --bg-2:#F7FAFD;
  --bg-mid:#F2F6FA;
  --bg-end:#E6EEF6;
  --nav-bg:rgba(238,243,248,.92);
  --nav-solid:rgba(247,250,253,.98);
  --accent:#1565C8;
  --accent-2:#1E88E5;
  --accent-3:#42A5F5;
  --accent-soft:#7CB8F5;
  --accent-rgb:21,101,200;
  --accent-2-rgb:30,136,229;
  --accent-3-rgb:66,165,245;
  --ink-on-accent:#03101F;
  --text:#243447;
  --text-strong:#0E1A28;
  --text-body:#4A6078;
  --text-soft:#3B5168;
  --muted:#5D738A;
  --panel:#F7FAFD;
  --panel-2:#EAF1F8;
  --code-bg:rgba(14,26,40,.05);
  --code-text:#243447;
  --hero-grad-1:#0E1A28;
  --hero-grad-2:#243447;
  --hero-grad-3:#5D738A;
  --device-bg:#E8F0F8;
}
html[data-mode="light"][data-theme="charcoal"]{
  --bg:#EFF2EF;
  --bg-2:#F7FAF7;
  --bg-mid:#F2F5F2;
  --bg-end:#E6EBE6;
  --nav-bg:rgba(239,242,239,.92);
  --nav-solid:rgba(247,250,247,.98);
  --accent:#3F7A45;
  --accent-2:#5A8F62;
  --accent-3:#7AA67F;
  --accent-soft:#8FCB8F;
  --accent-rgb:63,122,69;
  --accent-2-rgb:90,143,98;
  --accent-3-rgb:122,166,127;
  --ink-on-accent:#101810;
  --text:#2E352E;
  --text-strong:#121612;
  --text-body:#4E584E;
  --text-soft:#3F493F;
  --muted:#667066;
  --panel:#F7FAF7;
  --panel-2:#E8EEE8;
  --code-bg:rgba(18,22,18,.05);
  --code-text:#2E352E;
  --hero-grad-1:#121612;
  --hero-grad-2:#2E352E;
  --hero-grad-3:#667066;
  --device-bg:#E7EEE7;
}
html[data-mode="light"][data-theme="android"]{
  --bg:#F2F8F5;
  --bg-2:#FBFEFC;
  --bg-mid:#F6FBF8;
  --bg-end:#E8F2EC;
  --nav-bg:rgba(242,248,245,.92);
  --nav-solid:rgba(251,254,252,.98);
  --accent:#1B8A4C;
  --accent-2:#00897B;
  --accent-3:#43A047;
  --accent-soft:#69F0AE;
  --accent-rgb:27,138,76;
  --accent-2-rgb:0,137,123;
  --accent-3-rgb:67,160,71;
  --ink-on-accent:#062416;
  --text:#1C2B24;
  --text-strong:#0C1611;
  --text-body:#456257;
  --text-soft:#355247;
  --muted:#5F746C;
  --panel:#FBFEFC;
  --panel-2:#EAF4EE;
  --code-bg:rgba(12,22,17,.05);
  --code-text:#1C2B24;
  --hero-grad-1:#0C1611;
  --hero-grad-2:#1C2B24;
  --hero-grad-3:#456257;
  --device-bg:#E4F2EA;
  --glow-opacity:.12;
  --gold:#8A9A14;
}
html[data-mode="light"] body::before{
  background-image:
    linear-gradient(rgba(20,18,14,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20,18,14,.045) 1px, transparent 1px);
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.35), transparent 78%);
}
html[data-mode="light"] .mode-toggle{
  background:rgba(20,18,14,.08);
  border-color:rgba(20,18,14,.12);
}
html[data-mode="light"] .badge,
html[data-mode="light"] .btn,
html[data-mode="light"] .projects-dialog-close,
html[data-mode="light"] .nav-toggle,
html[data-mode="light"] .metric,
html[data-mode="light"] .signal,
html[data-mode="light"] .tag,
html[data-mode="light"] .skill-pill,
html[data-mode="light"] .contact-link,
html[data-mode="light"] .stack-list div,
html[data-mode="light"] .project-note{
  background:rgba(28,24,18,.035);
  border-color:var(--border);
}
html[data-mode="light"] .btn.primary{
  color:var(--ink-on-accent);
}
html[data-mode="light"] .btn:not(.primary):not(.btn-more){
  background:rgba(var(--accent-rgb),.08);
  border-color:rgba(var(--accent-rgb),.3);
  color:var(--text-strong);
}
html[data-mode="light"] .card,
html[data-mode="light"] .projects-dialog-panel,
html[data-mode="light"] .project,
html[data-mode="light"] .edu-sheet,
html[data-mode="light"] .edu-cert,
html[data-mode="light"] .contact-card,
html[data-mode="light"] .theme-switcher,
html[data-mode="light"] nav,
html[data-mode="light"] .case-study,
html[data-mode="light"] .lead-card,
html[data-mode="light"] .sample-card,
html[data-mode="light"] .write-card,
html[data-mode="light"] .quote-card,
html[data-mode="light"] .impact-item,
html[data-mode="light"] .lead-focus-panel,
html[data-mode="light"] .award-item{
  background:var(--card-solid);
  border-color:var(--border);
  box-shadow:0 10px 28px rgba(40,30,10,.06);
}
html[data-mode="light"] .tablet-frame{
  filter:drop-shadow(0 18px 48px rgba(40,30,10,.16));
}
html[data-mode="light"] .tablet-appbar{
  background:rgba(12,22,17,.05);
}
html[data-mode="light"] .tablet-screen{
  --pixel-chip:rgba(255,255,255,.88);
  --pixel-chip-border:rgba(12,22,17,.1);
  --pixel-card:linear-gradient(180deg,#fff,#F3FAF6);
}
html[data-mode="light"] .pixel-phone{
  filter:drop-shadow(0 16px 28px rgba(40,30,10,.2));
}
html[data-mode="light"] .pixel-screen{
  --pixel-fg:#0C1611;
  --pixel-muted:#5F746C;
  --pixel-soft:#355247;
  --pixel-chip:rgba(255,255,255,.88);
  --pixel-chip-border:rgba(12,22,17,.1);
  --pixel-card:linear-gradient(180deg,#fff,#F3FAF6);
  --pixel-dot:rgba(12,22,17,.2);
  --pixel-camera-ring:#EEF6F1;
  background:
    radial-gradient(circle at 50% 0%,rgba(var(--accent-rgb),.12),transparent 42%),
    linear-gradient(180deg,#F8FCF9,#EEF6F1 42%,#E7F1EB);
  color:var(--pixel-fg);
}
html[data-mode="light"] .pixel-camera{
  box-shadow:0 0 0 2.5px var(--pixel-camera-ring),0 0 0 3.5px rgba(12,22,17,.08);
}
html[data-mode="light"] .spaceapp-car svg rect,
html[data-mode="light"] .spaceapp-car svg circle:nth-of-type(-n+2){
  fill:#C5D9CC;
}
html[data-mode="light"] .device-preview,
html[data-mode="light"] .code-lines{
  border-color:var(--border);
}
html[data-mode="light"] .avatar{
  box-shadow:0 10px 28px rgba(40,30,10,.10);
  border-color:rgba(var(--accent-rgb),.35);
}
html[data-mode="light"] .edu-mark,
html[data-mode="light"] .edu-cert-logo,
html[data-mode="light"] .award-logo{
  border-color:var(--border);
  box-shadow:0 10px 24px rgba(40,30,10,.08);
}
html[data-mode="light"] .edu-score{
  border-left-color:rgba(28,24,18,.16);
}
@media(max-width:920px){
  html[data-mode="light"] .edu-score{
    border-left-color:transparent;
    border-top-color:rgba(28,24,18,.14);
  }
}
html[data-mode="light"] .edu-langs span{
  background:transparent;
}
html[data-mode="light"] .edu-lang{
  background:var(--card-solid);
  border-color:var(--border);
  box-shadow:0 10px 28px rgba(40,30,10,.06);
}
html[data-mode="light"] .contact-ico{
  background:rgba(var(--accent-rgb),.12);
  border-color:rgba(var(--accent-rgb),.28);
  color:var(--accent);
}
html[data-mode="light"] .lead-topics .topic{
  background:rgba(28,24,18,.04);
  border-color:var(--border);
  color:var(--text-soft);
}
html[data-mode="light"] .case-step,
html[data-mode="light"] .sample-code{
  background:rgba(28,24,18,.035);
  border-color:var(--border);
  color:var(--code-text);
}
html[data-mode="light"] .section-head{
  align-items:start;
}
html[data-mode="light"] .hero-actions,
html[data-mode="light"] .kicker-row{
  justify-content:flex-start;
}
html[data-mode="light"] .metric,
html[data-mode="light"] .signal,
html[data-mode="light"] .company-strip li,
html[data-mode="light"] .co-logo{
  background:rgba(28,24,18,.035);
  border-color:var(--border);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  min-height:100vh;
  background:
    radial-gradient(circle at 15% -10%, rgba(var(--accent-rgb),var(--glow-opacity)), transparent 34rem),
    radial-gradient(circle at 85% 5%, rgba(var(--accent-2-rgb),var(--glow-opacity)), transparent 34rem),
    radial-gradient(circle at 58% 42%, rgba(var(--accent-3-rgb),calc(var(--glow-opacity) * .5)), transparent 38rem),
    linear-gradient(180deg,var(--bg),var(--bg-mid) 45%,var(--bg-end));
  color:var(--text);
  font-family:var(--font);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.6), transparent 78%);
}
::selection{background:var(--accent);color:var(--ink-on-accent)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
a:focus-visible,button:focus-visible,.btn:focus-visible,.nav-cta:focus-visible,.project-link:focus-visible,.contact-link:focus-visible,.nav-toggle:focus-visible,.projects-dialog-close:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}
.page{width:min(var(--max),calc(100% - 40px));margin:0 auto}
.badge{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  width:max-content;
  padding:.44rem .74rem;
  border:1px solid var(--border);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:var(--muted);
  font-family:var(--mono);
  font-size:.73rem;
  line-height:1;
  backdrop-filter:blur(16px);
}
.badge::before{
  content:"";
  width:7px;height:7px;border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 18px var(--accent);
}
nav{
  position:fixed;top:14px;left:50%;transform:translateX(-50%);
  width:min(var(--max),calc(100% - 28px));
  z-index:99;
  background:color-mix(in srgb, var(--nav-solid) 82%, transparent);
  border:1px solid var(--border-soft);
  border-radius:22px;
  backdrop-filter:blur(22px);
  box-shadow:0 12px 40px rgba(0,0,0,.18);
}
.nav-inner{
  width:100%;
  height:64px;margin:0 auto;
  padding:0 1rem 0 1.05rem;
  display:flex;align-items:center;justify-content:space-between;
  gap:.75rem;
}
.brand{
  display:flex;align-items:center;gap:.8rem;font-weight:800;letter-spacing:-.035em;color:var(--text-strong);
}
.brand-mark{
  display:grid;place-items:center;width:38px;height:38px;border-radius:14px;
  background:linear-gradient(135deg,rgba(var(--accent-rgb),.28),rgba(var(--accent-2-rgb),.18));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 16px 42px rgba(var(--accent-rgb),.08);
  color:var(--accent);
}
.brand-mark svg{width:22px;height:26px;display:block}
.nav-links{display:flex;align-items:center;gap:1.05rem;list-style:none;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.nav-links::-webkit-scrollbar{display:none}
.nav-links a{font-size:.8rem;color:var(--muted);font-weight:650;transition:.22s ease;white-space:nowrap;padding-bottom:.2rem;border-bottom:2px solid transparent}
.nav-links a:hover{color:var(--text-strong)}
.nav-links a.is-active{border-bottom-color:currentColor}
.nav-actions{display:flex;align-items:center;gap:.7rem}
.nav-toggle{
  display:none;appearance:none;-webkit-appearance:none;cursor:pointer;
  width:42px;height:42px;border-radius:12px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.045);
  color:var(--text-strong);
  align-items:center;justify-content:center;flex-direction:column;gap:5px;
}
.nav-toggle span{
  display:block;width:16px;height:2px;border-radius:2px;
  background:var(--text-strong);transition:transform .22s ease,opacity .22s ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{
  display:none;
  width:100%;
  padding:0 12px 12px;
  border-top:1px solid var(--border-soft);
}
.mobile-nav ul{list-style:none;display:grid;gap:.35rem}
.mobile-nav a,.mobile-nav button{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;padding:.9rem 1rem;border-radius:14px;
  border:1px solid transparent;background:transparent;
  color:var(--text);font-size:.95rem;font-weight:700;cursor:pointer;text-align:left;
}
.mobile-nav a.is-active{
  text-decoration:underline;
  text-underline-offset:.28em;
}
.mobile-nav a:hover,.mobile-nav button:hover{
  border-color:var(--border);background:rgba(255,255,255,.045);color:var(--text-strong);
}
.nav-backdrop{
  display:none;
  position:fixed;
  inset:0;
  z-index:90;
  border:0;
  padding:0;
  margin:0;
  background:rgba(0,0,0,.45);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
html.nav-open,
html.nav-open body{
  overflow:hidden;
  overscroll-behavior:none;
}
html.nav-open body{
  position:fixed;
  width:100%;
  left:0;
  right:0;
}
html.nav-open .nav-backdrop{display:block}
html.nav-open .mobile-nav{
  max-height:min(70vh, calc(100dvh - 92px));
  overflow-y:auto;
  overscroll-behavior:contain;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
}
.nav-cta{
  position:relative;
  overflow:hidden;
  display:inline-flex;align-items:center;gap:.48rem;
  appearance:none;-webkit-appearance:none;cursor:pointer;
  min-height:40px;padding:.38rem .78rem .38rem .42rem;
  border-radius:999px;border:0;
  color:var(--ink-on-accent);
  font-size:.82rem;font-weight:800;letter-spacing:-.02em;
  background:linear-gradient(135deg,var(--accent),var(--accent-soft));
  box-shadow:0 10px 28px rgba(var(--accent-rgb),.22);
  text-decoration:none;
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
.nav-cta-ico{
  display:grid;place-items:center;
  width:24px;height:24px;border-radius:999px;
  background:rgba(7,17,11,.16);
  color:inherit;
}
.nav-cta-ico svg,.nav-cta-arrow{width:13px;height:13px;display:block}
.nav-cta-arrow{transition:transform .22s ease}
.nav-cta:hover{
  transform:translateY(-1px);
  filter:brightness(1.05);
  box-shadow:0 14px 34px rgba(var(--accent-rgb),.34);
}
.nav-cta:hover .nav-cta-arrow{transform:translateX(3px)}
html[data-mode="light"] .nav-cta{
  color:var(--ink-on-accent);
  background:linear-gradient(135deg,var(--accent),var(--accent-soft));
  border:0;
}
.badge-link{transition:border-color .22s ease,background .22s ease,color .22s ease}
.badge-link::before{display:none}
.badge-ico{width:13px;height:13px;display:inline-flex;flex:0 0 auto;color:var(--text-strong)}
.badge-ico svg{width:100%;height:100%;display:block}
.badge-link:hover{border-color:rgba(var(--accent-rgb),.42);background:rgba(var(--accent-rgb),.08);color:var(--text-strong)}
.social-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.045);
  color:var(--text-strong);
  transition:border-color .22s ease,background .22s ease,color .22s ease,transform .22s ease;
}
.social-icon svg{width:20px;height:20px;display:block}
.social-icon:hover{
  border-color:rgba(var(--accent-rgb),.42);
  background:rgba(var(--accent-rgb),.08);
  color:var(--accent);
  transform:translateY(-1px);
}
.hero{
  position:relative;
  padding:8.6rem 0 5.6rem;
}
.hero-shell{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);
  gap:2rem;
  align-items:center;
  overflow:visible;
}
.kicker-row{display:flex;flex-wrap:wrap;align-items:center;gap:.72rem;margin-bottom:1.5rem}
.hero-identity{
  display:flex;align-items:center;gap:1rem;
  margin-bottom:1.35rem;
  max-width:650px;
}
.avatar{
  position:relative;
  flex:0 0 auto;
  width:72px;height:72px;
  border-radius:50%;
  border:2px solid rgba(var(--accent-rgb),.45);
  box-shadow:0 12px 36px rgba(var(--accent-rgb),.16);
  background:linear-gradient(135deg,rgba(var(--accent-rgb),.22),rgba(var(--accent-2-rgb),.12));
  overflow:hidden;
}
.avatar img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 22%;
  display:block;
}
.avatar-fallback{
  display:grid;place-items:center;
  width:100%;height:100%;
  font-family:var(--mono);font-weight:800;font-size:1.05rem;
  color:var(--accent);letter-spacing:-.04em;
}
.avatar.has-photo .avatar-fallback{display:none}
.availability{
  margin:0;
  color:var(--text-body);
  font-size:.95rem;
  font-weight:650;
  line-height:1.45;
}
.availability strong{color:var(--text-strong);font-weight:800}
.hero h1{
  max-width:790px;
  color:var(--text-strong);
  font-size:clamp(3rem,8vw,6.9rem);
  line-height:.95;
  letter-spacing:-.075em;
  font-weight:800;
}
.hero h1 span{
  background:linear-gradient(115deg,var(--hero-grad-1) 0%,var(--hero-grad-2) 36%,var(--hero-grad-3) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero h1 .accent{
  background:linear-gradient(135deg,var(--accent),var(--accent-soft) 45%,var(--accent-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-copy{
  max-width:650px;
  margin-top:1.55rem;
  color:var(--text-body);
  font-size:1.08rem;
}
.hero-copy strong{color:var(--text-strong);font-weight:750}
.hero-actions{
  display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem;
}
.btn{
  position:relative;
  overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  appearance:none;-webkit-appearance:none;cursor:pointer;
  min-height:48px;padding:.82rem 1.1rem .82rem .72rem;
  border-radius:999px;
  border:1px solid rgba(var(--accent-rgb),.28);
  background:rgba(var(--accent-rgb),.07);
  color:var(--text-strong);
  font:inherit;font-weight:800;font-size:.9rem;letter-spacing:-.02em;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease,filter .22s ease;
}
.btn-ico{
  display:grid;place-items:center;
  width:26px;height:26px;border-radius:999px;
  background:rgba(var(--accent-rgb),.16);
  color:var(--accent);
  flex:0 0 auto;
}
.btn-ico svg,.btn-arrow{
  width:14px;height:14px;display:block;flex:0 0 auto;
}
.btn-arrow{transition:transform .22s ease}
.btn:hover{transform:translateY(-2px);border-color:rgba(var(--accent-rgb),.5);background:rgba(var(--accent-rgb),.12);box-shadow:0 14px 36px rgba(var(--accent-rgb),.12)}
.btn:hover .btn-arrow{transform:translateX(3px)}
.btn.primary,
.btn-more{
  color:var(--ink-on-accent);
  background:linear-gradient(135deg,var(--accent),var(--accent-soft));
  border-color:transparent;
  box-shadow:0 16px 40px rgba(var(--accent-rgb),.22);
}
.btn.primary .btn-ico,
.btn-more .btn-ico,
.nav-cta-ico{
  background:rgba(7,17,11,.16);
  color:inherit;
}
.btn.primary:hover,
.btn-more:hover{
  color:var(--ink-on-accent);
  background:linear-gradient(135deg,var(--accent-soft),var(--accent));
  border-color:transparent;
  box-shadow:0 20px 52px rgba(var(--accent-rgb),.3);
  filter:brightness(1.04);
}
.btn.primary::before,
.btn-more::before,
.nav-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 28%,rgba(255,255,255,.32) 50%,transparent 72%);
  transform:translateX(-130%);
  animation:btnShine 3.4s ease-in-out infinite;
  pointer-events:none;
}
.btn.primary > *,
.btn-more > *,
.nav-cta > *{
  position:relative;
  z-index:1;
}
@keyframes btnShine{
  0%,58%{transform:translateX(-130%)}
  78%,100%{transform:translateX(130%)}
}
html[data-mode="light"] .btn.primary,
html[data-mode="light"] .btn-more{
  color:var(--ink-on-accent);
  background:linear-gradient(135deg,var(--accent),var(--accent-soft));
  border-color:transparent;
}
.profile-card{
  position:relative;
  overflow:visible;
}
.tablet-frame{
  position:relative;
  z-index:1;
  border-radius:34px;
  padding:10px 9px 11px;
  background:linear-gradient(160deg,#4a4e55 0%,#1d2024 32%,#101214 72%,#2c3036 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.06),
    var(--shadow);
}
.tablet-btn{
  position:absolute;
  left:-3px;
  width:3px;
  border-radius:2px 0 0 2px;
  background:linear-gradient(90deg,#6a6e74,#2c3036);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2);
}
.tablet-btn-vol{top:22%;height:42px}
.tablet-btn-power{top:38%;height:18px}
.tablet-screen{
  --pixel-fg:var(--text-strong);
  --pixel-muted:var(--muted);
  --pixel-soft:var(--text-soft);
  --pixel-chip:rgba(255,255,255,.05);
  --pixel-chip-border:var(--border-soft);
  --pixel-card:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  position:relative;
  display:flex;
  flex-direction:column;
  border-radius:26px;
  overflow:hidden;
  background:
    radial-gradient(circle at 30% 0%, rgba(var(--accent-rgb),.16),transparent 18rem),
    var(--device-bg);
  color:var(--text);
}
.tablet-camera{
  position:absolute;
  top:8px;
  left:50%;
  z-index:4;
  width:9px;height:9px;
  border-radius:50%;
  transform:translateX(-50%);
  background:radial-gradient(circle at 35% 32%,#4a5a6a 0%,#0A0C0E 62%);
  box-shadow:0 0 0 3px var(--device-bg),0 0 0 4px rgba(255,255,255,.08);
}
.tablet-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 16px 4px;
  font-family:var(--mono);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--muted);
}
.tablet-appbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin:0 .85rem .35rem;
  padding:.38rem .7rem;
  border-radius:12px;
  background:rgba(255,255,255,.05);
  border:1px solid var(--border-soft);
  font-family:var(--mono);
  font-size:.62rem;
  color:var(--muted);
}
.tablet-appbar b{
  color:var(--text-strong);
  font-weight:700;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tablet-nav{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:center;
  height:26px;
  padding:0 28% 6px;
}
.tablet-nav .pixel-nav-back,
.tablet-nav .pixel-nav-home,
.tablet-nav .pixel-nav-recents{
  color:var(--muted);
}
.device-preview{
  padding:.35rem .85rem .55rem;
  min-height:0;
}
.tablet-apps{position:relative}
.tablet-app.studio{
  display:flex;flex-direction:column;
  animation:pixelAppA 9s ease-in-out infinite;
}
.tablet-app.studio .device-preview{flex:1}
.tablet-app.preview{
  position:absolute;inset:0;
  display:flex;flex-direction:column;
  opacity:0;
  animation:pixelAppB 9s ease-in-out infinite;
}
.tablet-app.preview .tablet-appbar{margin-bottom:.35rem}
.tablet-bank{
  display:flex;
  flex-direction:column;
  gap:.4rem;
  flex:1;
  min-height:0;
  padding:0 .85rem .15rem;
}
.tablet-bank-top{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);
  gap:.4rem;
}
.tablet-bank .bankapp-balance{padding:.5rem .65rem}
.tablet-bank .bankapp-balance b{font-size:1.1rem;margin:.08rem 0 .04rem}
.tablet-bank .bankapp-balance span,
.tablet-bank .bankapp-balance small{font-size:.52rem}
.tablet-bank .bankapp-actions{
  height:auto;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:none;
}
.tablet-bank .bankapp-actions span{
  height:auto;
  min-height:28px;
  font-size:.5rem;
}
.tablet-bank-card{
  padding:.5rem .65rem .45rem;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(var(--accent-2-rgb),.95),rgba(var(--accent-2-rgb),.55));
  color:var(--ink-on-accent);
}
.tablet-bank-card span,
.tablet-bank-card small{
  display:block;
  font-family:var(--mono);
  font-size:.5rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.8;
}
.tablet-bank-card b{
  display:block;
  margin:.22rem 0 .16rem;
  font-size:.88rem;
  letter-spacing:.12em;
}
.tablet-bank .bankapp-tx-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:0;
  gap:.35rem;
}
.tablet-bank .bankapp-tx{padding:.38rem .5rem}
.tablet-bank .bankapp-tx b{font-size:.58rem}
.tablet-bank .bankapp-tx small{font-size:.5rem}
.tablet-bank .bankapp-spend{
  flex:1;
  min-height:0;
  height:auto;
  padding:.45rem .55rem .4rem;
}
.tablet-bank .bankapp-bars{flex:1;min-height:0}
.tablet-bank .bankapp-spend-top span{font-size:.52rem}
.tablet-bank .bankapp-spend-top small{font-size:.78rem}
.tablet-pager{
  display:flex;justify-content:center;gap:5px;
  padding:0 0 2px;
}
.tablet-pager i{
  width:5px;height:5px;border-radius:50%;
  background:var(--border);
}
.tablet-pager i:first-child{animation:tabletDotA 9s ease-in-out infinite}
.tablet-pager i:last-child{animation:tabletDotB 9s ease-in-out infinite}
@keyframes tabletDotA{
  0%,40%,100%{background:var(--accent);transform:scale(1.15)}
  48%,92%{background:var(--border);transform:scale(1)}
}
@keyframes tabletDotB{
  0%,40%,100%{background:var(--border);transform:scale(1)}
  48%,92%{background:var(--accent-2);transform:scale(1.15)}
}
.code-lines{
  padding:1rem;border-radius:20px;background:var(--code-bg);
  border:1px solid var(--border-soft);
  font-family:var(--mono);font-size:.74rem;color:var(--code-text);line-height:1.95;
}
.code-lines .kw{color:var(--accent-3)}
.code-lines .fn{color:var(--accent-2)}
.code-lines .str{color:var(--accent)}
.code-lines .cm{color:var(--faint)}
.signal-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem;margin-top:1rem;
}
.signal-card{
  padding:1rem;border-radius:20px;background:rgba(255,255,255,.045);border:1px solid var(--border-soft);
}
.signal-card b{display:block;color:var(--text-strong);font-size:1.1rem;letter-spacing:-.03em}
.signal-card span{font-family:var(--mono);font-size:.72rem;color:var(--muted)}
.pixel-phone{
  position:absolute;
  right:-42px;
  bottom:-34px;
  z-index:2;
  width:168px;
  transform:rotate(8deg);
  filter:drop-shadow(0 22px 36px rgba(0,0,0,.48));
  pointer-events:none;
}
.pixel-frame{
  border-radius:28px;
  padding:8px 6px 9px;
  background:linear-gradient(160deg,#4a4e55 0%,#1d2024 32%,#101214 72%,#2c3036 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.06);
}
.pixel-screen{
  --pixel-fg:#E7F3EC;
  --pixel-muted:rgba(231,243,236,.62);
  --pixel-soft:rgba(231,243,236,.82);
  --pixel-chip:rgba(255,255,255,.05);
  --pixel-chip-border:rgba(255,255,255,.08);
  --pixel-card:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  --pixel-dot:rgba(231,243,236,.28);
  --pixel-camera-ring:#0A100F;
  position:relative;
  display:flex;
  flex-direction:column;
  height:344px;
  border-radius:22px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 0%,rgba(var(--accent-rgb),.16),transparent 42%),
    linear-gradient(180deg,#101816,#0A100F 40%,#080C0B);
  color:var(--pixel-fg);
}
.pixel-camera{
  position:absolute;
  top:7px;
  left:50%;
  z-index:4;
  width:9px;height:9px;
  border-radius:50%;
  transform:translateX(-50%);
  background:radial-gradient(circle at 35% 32%,#4a5a6a 0%,#0A0C0E 62%);
  box-shadow:0 0 0 2.5px var(--pixel-camera-ring),0 0 0 3.5px rgba(255,255,255,.08);
}
.pixel-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 10px 4px;
  font-family:var(--mono);
  font-size:.52rem;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--pixel-soft);
}
.pixel-status-icons{
  display:flex;
  align-items:center;
  gap:4px;
}
.pixel-status-icons svg{
  display:block;
  flex:none;
}
.pixel-status-icons .ico-signal,
.pixel-status-icons .ico-battery{fill:currentColor}
.pixel-status-icons .ico-signal{width:10px;height:8px}
.pixel-status-icons .ico-wifi{width:11px;height:8px}
.pixel-status-icons .ico-battery{width:15px;height:8px}
.pixel-apps{
  position:relative;
  flex:1;
  min-height:0;
}
.pixel-app{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  gap:.42rem;
  padding:.15rem .55rem .2rem;
  min-height:0;
}
.pixel-app.spaceapp{animation:pixelAppA 9s ease-in-out infinite}
.pixel-app.bankapp{opacity:0;animation:pixelAppB 9s ease-in-out infinite}
@keyframes pixelAppA{
  0%,40%,100%{opacity:1}
  48%,92%{opacity:0}
}
@keyframes pixelAppB{
  0%,40%,100%{opacity:0}
  48%,92%{opacity:1}
}
.spaceapp-brand,
.bankapp-brand{
  font-family:var(--mono);
  font-size:.52rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent);
  text-align:center;
}
.spaceapp-car{
  padding:.5rem .55rem .35rem;
  border-radius:14px;
  background:var(--pixel-card);
  border:1px solid var(--pixel-chip-border);
}
.spaceapp-car b{
  display:block;
  font-size:.72rem;
  letter-spacing:-.03em;
  font-weight:800;
}
.spaceapp-car span{
  display:block;
  margin-top:.12rem;
  font-family:var(--mono);
  font-size:.5rem;
  color:var(--pixel-muted);
}
.spaceapp-car svg{
  display:block;
  width:100%;
  height:34px;
  margin-top:.3rem;
  color:var(--accent);
}
.spaceapp-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.32rem;
}
.spaceapp-actions span{
  display:grid;
  place-items:center;
  min-height:28px;
  border-radius:10px;
  background:var(--pixel-chip);
  border:1px solid var(--pixel-chip-border);
  font-family:var(--mono);
  font-size:.48rem;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--pixel-soft);
}
.spaceapp-glovebox{
  padding:.38rem .5rem;
  border-radius:12px;
  background:rgba(var(--accent-rgb),.1);
  border:1px solid rgba(var(--accent-rgb),.2);
}
.spaceapp-glovebox b{
  display:block;
  font-size:.58rem;
  letter-spacing:-.02em;
}
.spaceapp-glovebox small{
  display:block;
  margin-top:.08rem;
  font-family:var(--mono);
  font-size:.44rem;
  color:var(--pixel-muted);
}
.spaceapp-map{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--pixel-chip-border);
  background:var(--pixel-chip);
}
.spaceapp-map svg{
  display:block;
  width:100%;
  height:100%;
  min-height:56px;
}
.spaceapp-map .map-fill{fill:rgba(var(--accent-rgb),.08)}
.spaceapp-map .map-road{
  fill:none;stroke:currentColor;stroke-width:1.2;opacity:.16;
}
.spaceapp-map .map-route{
  fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;opacity:.9;
}
.spaceapp-map .map-ring{
  fill:none;stroke:var(--accent);stroke-width:1.6;opacity:.45;
}
.spaceapp-map .map-pin{fill:var(--accent)}
.spaceapp-map span{
  display:block;
  padding:.28rem .45rem .32rem;
  font-family:var(--mono);
  font-size:.44rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--pixel-muted);
  background:var(--pixel-chip);
}
.bankapp-brand{color:var(--accent-2)}
.bankapp-balance{
  padding:.45rem .55rem .38rem;
  border-radius:14px;
  background:linear-gradient(160deg,rgba(var(--accent-2-rgb),.22),var(--pixel-chip));
  border:1px solid rgba(var(--accent-2-rgb),.28);
}
.bankapp-balance span,
.bankapp-balance small{
  display:block;
  font-family:var(--mono);
  font-size:.48rem;
  color:var(--pixel-muted);
}
.bankapp-balance b{
  display:block;
  margin:.12rem 0 .06rem;
  font-size:.86rem;
  letter-spacing:-.04em;
  font-weight:800;
}
.bankapp-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.32rem;
}
.bankapp-actions span{
  display:grid;
  place-items:center;
  min-height:26px;
  border-radius:10px;
  background:var(--pixel-chip);
  border:1px solid var(--pixel-chip-border);
  font-family:var(--mono);
  font-size:.48rem;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--pixel-soft);
}
.bankapp-spend{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:.28rem;
  padding:.4rem .5rem .35rem;
  border-radius:12px;
  background:var(--pixel-chip);
  border:1px solid var(--pixel-chip-border);
}
.bankapp-spend-top{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:.3rem;
}
.bankapp-spend-top span{
  font-family:var(--mono);
  font-size:.44rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--pixel-muted);
}
.bankapp-spend-top small{
  font-size:.58rem;
  font-weight:800;
  color:var(--pixel-fg);
}
.bankapp-bars{
  flex:1;
  min-height:36px;
  display:flex;
  align-items:flex-end;
  gap:4px;
}
.bankapp-bars i{
  flex:1;
  height:var(--h);
  border-radius:3px 3px 1px 1px;
  background:linear-gradient(180deg,var(--accent-2),rgba(var(--accent-2-rgb),.35));
}
.bankapp-tx-list{display:grid;gap:.28rem}
.bankapp-tx{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.35rem;
  padding:.38rem .5rem;
  border-radius:10px;
  background:var(--pixel-chip);
  border:1px solid var(--pixel-chip-border);
}
.bankapp-tx b{
  font-size:.54rem;
  letter-spacing:-.02em;
}
.bankapp-tx small{
  font-family:var(--mono);
  font-size:.46rem;
  font-weight:700;
  color:var(--accent);
  white-space:nowrap;
}
.bankapp-tx small.debit{color:var(--pixel-muted)}
.pixel-pager{
  display:flex;
  justify-content:center;
  gap:4px;
  padding:2px 0 1px;
}
.pixel-pager i{
  width:4px;height:4px;border-radius:50%;
  background:var(--pixel-dot);
}
.pixel-pager i:first-child{animation:pixelDotA 9s ease-in-out infinite}
.pixel-pager i:last-child{animation:pixelDotB 9s ease-in-out infinite}
@keyframes pixelDotA{
  0%,40%,100%{background:var(--accent);transform:scale(1.15)}
  48%,92%{background:var(--pixel-dot);transform:scale(1)}
}
@keyframes pixelDotB{
  0%,40%,100%{background:var(--pixel-dot);transform:scale(1)}
  48%,92%{background:var(--accent-2);transform:scale(1.15)}
}
.pixel-nav{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:center;
  height:22px;
  padding:0 18px 4px;
}
.pixel-nav-back,
.pixel-nav-home,
.pixel-nav-recents{
  justify-self:center;
  color:var(--pixel-soft);
}
.pixel-nav-back{
  width:0;height:0;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-right:6px solid currentColor;
}
.pixel-nav-home{
  width:11px;height:11px;
  border:1.5px solid currentColor;
  border-radius:50%;
}
.pixel-nav-recents{
  width:9px;height:9px;
  border:1.5px solid currentColor;
  border-radius:2px;
}
.hero-meta{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
  margin-top:2.2rem;
}
.metric{
  padding:1.05rem;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid var(--border-soft);
}
.metric strong{display:block;color:var(--text-strong);font-size:1.45rem;letter-spacing:-.05em}
.metric span{font-family:var(--mono);font-size:.72rem;color:var(--muted)}
.academic-strip{
  margin-top:1.15rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.1rem;
  border-radius:22px;
  border:1px solid rgba(255,210,138,.22);
  background:linear-gradient(135deg,rgba(255,210,138,.105),rgba(var(--accent-rgb),.045),rgba(255,255,255,.025));
}
.academic-strip b{display:block;color:var(--text-strong);font-size:.96rem;letter-spacing:-.025em}
.academic-strip span{color:var(--text-body);font-size:.84rem}
.academic-rank{font-family:var(--mono);font-size:.73rem;color:var(--gold);white-space:nowrap}
.edu-sheet{
  display:grid;
  grid-template-columns:88px minmax(0,1fr) minmax(140px,180px);
  gap:1.25rem 1.5rem;
  align-items:start;
  padding:1.55rem 1.6rem 1.45rem;
  border-radius:var(--radius);
  border:1px solid var(--border-soft);
  background:
    radial-gradient(ellipse 70% 80% at 0% 0%,rgba(var(--accent-rgb),.1),transparent 55%),
    linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
}
.edu-mark{
  display:grid;place-items:center;align-self:start;
  width:88px;height:88px;border-radius:22px;overflow:hidden;
  border:1px solid var(--border-soft);
  background:#fff;
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}
.edu-mark img{
  width:100%;height:100%;object-fit:contain;display:block;padding:8px;
}
.edu-body{min-width:0}
.edu-body .edu-kicker{
  margin:0 0 .45rem;
  font-family:var(--mono);font-size:.68rem;
  letter-spacing:.07em;text-transform:uppercase;
  color:var(--accent);font-weight:700;
}
.edu-body h3{
  margin:0 0 .55rem;
  color:var(--text-strong);
  font-size:clamp(1.55rem,3vw,2.05rem);
  letter-spacing:-.045em;line-height:1.1;
}
.edu-school{
  margin:0 0 .2rem;
  color:var(--gold);
  font-weight:800;
  font-size:1.05rem;
  letter-spacing:-.02em;
}
.edu-school-official{
  margin:0 0 .75rem;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.35;
}
.edu-body > p:not(.edu-school):not(.edu-school-official):not(.edu-kicker){
  margin:0;max-width:42rem;
  color:var(--muted);font-size:.92rem;line-height:1.55;
}
.edu-score{
  display:grid;
  gap:.85rem;
  align-content:start;
  padding-left:1.15rem;
  border-left:1px solid var(--border-soft);
}
.edu-score div{padding:0}
.edu-score strong{
  display:block;
  color:var(--text-strong);
  font-size:clamp(1.2rem,2vw,1.45rem);
  letter-spacing:-.04em;line-height:1.15;
}
.edu-score span{
  display:block;margin-top:.3rem;
  font-family:var(--mono);font-size:.68rem;
  color:var(--muted);letter-spacing:.04em;text-transform:uppercase;
}
.edu-extras{
  display:grid;
  gap:1.35rem;
  margin-top:1.15rem;
}
.edu-cert-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
  margin:0;padding:0;list-style:none;
}
.edu-cert{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:.85rem;align-items:center;
  padding:.95rem 1.05rem;
  border-radius:18px;
  border:1px solid var(--border-soft);
  background:rgba(255,255,255,.04);
}
.edu-cert-logo{
  width:42px;height:42px;border-radius:12px;overflow:hidden;flex-shrink:0;
  border:1px solid rgba(255,255,255,.12);
  background:#fff;
}
.edu-cert-logo img{
  width:100%;height:100%;object-fit:contain;display:block;padding:6px;
}
.edu-cert-logo--java img{padding:4px 8px}
.edu-cert b{display:block;color:var(--text-strong);font-size:.92rem;font-weight:750;line-height:1.25}
.edu-cert small{display:block;margin-top:.2rem;color:var(--muted);font-size:.78rem}
.edu-langs-panel{
  padding:0;
  border:0;
  background:transparent;
  border-radius:0;
}
.edu-langs-panel h4,
.edu-extras-label{
  margin:0 0 .75rem;
  font-family:var(--mono);font-size:.68rem;
  letter-spacing:.07em;text-transform:uppercase;
  color:var(--accent);font-weight:700;
}
.edu-langs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
}
.edu-lang{
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.35rem;
  padding:.9rem 1rem;
  border-radius:18px;
  border:1px solid var(--border-soft);
  background:rgba(255,255,255,.04);
  min-height:4.4rem;
}
.edu-lang b{
  color:var(--text-strong);font-size:.92rem;font-weight:750;
}
.edu-lang span{
  font-family:var(--mono);font-size:.66rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
  color:var(--accent);
}
.edu-lang[data-level="native"] span{color:var(--gold)}
@media(max-width:920px){
  .edu-sheet{grid-template-columns:72px minmax(0,1fr)}
  .edu-mark{width:72px;height:72px;border-radius:18px}
  .edu-score{
    grid-column:1 / -1;
    grid-template-columns:repeat(2,1fr);
    gap:.75rem;
    padding:1rem 0 0;
    padding-left:0;
    border-left:0;
    border-top:1px solid var(--border-soft);
  }
  .edu-cert-list,.edu-langs{grid-template-columns:1fr}
}

.section{
  position:relative;
  padding:5.2rem 0;
  border-top:1px solid var(--border-soft);
}
#contact.section{padding-bottom:6.4rem}
.section-head{
  display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:2.1rem;
}
.eyebrow{
  font-family:var(--mono);font-size:.75rem;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.55rem;
}
.section-title{
  color:var(--text-strong);font-size:clamp(2rem,4.5vw,3.1rem);line-height:1.05;letter-spacing:-.055em;font-weight:800;
}
.section-sub{max-width:520px;color:var(--muted);font-size:.96rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.card{
  position:relative;
  overflow:visible;
  border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));
  border:1px solid var(--border-soft);
  box-shadow:0 24px 80px rgba(0,0,0,.20);
}
.card::before{
  content:"";
  position:absolute;inset:0;
  border-radius:inherit;
  background:radial-gradient(circle at 20% 0%,rgba(var(--accent-rgb),.12),transparent 18rem);
  opacity:.75;pointer-events:none;
}
.card-inner{position:relative;padding:1.35rem}
.now-card{min-height:210px;display:flex;flex-direction:column;justify-content:space-between}
.now-card h3{font-size:1.25rem;color:var(--text-strong);letter-spacing:-.025em;margin-bottom:.45rem}
.now-card p{color:var(--muted);font-size:.92rem}
.tag-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.tag{
  display:inline-flex;align-items:center;
  padding:.38rem .58rem;border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:var(--text-body);font-family:var(--mono);font-size:.68rem;
}
.tag.tag-domain{
  --domain:var(--accent-rgb);
  gap:.42rem;
  color:rgb(var(--domain));
  border-color:rgba(var(--domain),.5);
  background:rgba(var(--domain),.16);
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.62rem;
  padding:.42rem .72rem .42rem .58rem;
}
.tag.tag-domain::before{
  content:"";
  width:6px;height:6px;border-radius:99px;
  background:currentColor;
  box-shadow:0 0 8px currentColor;
}
.tag.tag-domain[data-domain="automotive"]{--domain:61,220,132}
.tag.tag-domain[data-domain="banking"]{--domain:120,168,255}
.tag.tag-domain[data-domain="insurance"]{--domain:255,210,138}
.tag.tag-domain[data-domain="hiring"]{--domain:255,179,71}
.tag.tag-domain[data-domain="healthcare"]{--domain:94,220,200}
.tag.tag-domain[data-domain="consumer"]{--domain:184,140,255}
.tag.tag-domain[data-domain="lifestyle"]{--domain:255,138,171}
html[data-mode="light"] .tag.tag-domain{
  color:rgb(var(--domain));
  border-color:rgba(var(--domain),.38);
  background:rgba(var(--domain),.14);
}
html[data-mode="light"] .tag.tag-domain[data-domain="automotive"]{--domain:27,138,76}
html[data-mode="light"] .tag.tag-domain[data-domain="banking"]{--domain:47,99,196}
html[data-mode="light"] .tag.tag-domain[data-domain="insurance"]{--domain:176,120,24}
html[data-mode="light"] .tag.tag-domain[data-domain="hiring"]{--domain:180,98,12}
html[data-mode="light"] .tag.tag-domain[data-domain="healthcare"]{--domain:13,148,136}
html[data-mode="light"] .tag.tag-domain[data-domain="consumer"]{--domain:109,76,180}
html[data-mode="light"] .tag.tag-domain[data-domain="lifestyle"]{--domain:194,74,107}
.projects{display:grid;gap:1rem}
.projects-more{
  display:flex;
  justify-content:flex-start;
  margin-top:1.25rem;
}
.more-work{padding-top:7.2rem;border-top:0}
.project{
  display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:1.1rem;align-items:start;
  padding:1.25rem;border-radius:28px;
  border:1px solid var(--border-soft);
  background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.03));
}
.project-index img,.exp-dot img,.co-logo img{
  width:100%;height:100%;object-fit:contain;display:block;
  padding:7px;background:#fff;
}
.co-logo{
  width:72px;height:36px;border-radius:10px;overflow:hidden;
  border:1px solid rgba(255,255,255,.12);flex:0 0 auto;
  background:#fff;
}
.company-strip{
  display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;
  margin:0 0 1.4rem;padding:0;
  list-style:none;
}
.company-strip li{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.4rem .75rem .4rem .4rem;border-radius:999px;
  border:1px solid var(--border-soft);background:rgba(255,255,255,.04);
}
.company-strip span{font-family:var(--mono);font-size:.72rem;color:var(--muted)}
.project-index{
  display:grid;place-items:center;width:64px;height:56px;border-radius:16px;
  background:#fff;border:1px solid rgba(255,255,255,.14);
  overflow:hidden;padding:0;
}
.more-work .project-index,
.projects-dialog .project-index{
  width:64px;
  height:64px;
  background:transparent;
  border:0;
}
.more-work .project-index img,
.projects-dialog .project-index img{
  padding:0;
  background:transparent;
  object-fit:cover;
  transform:scale(1.18);
}
.projects-dialog{
  width:100%;
  max-width:none;
  height:100%;
  max-height:none;
  margin:0;
  padding:clamp(8px, 1.6vw, 18px);
  border:0;
  background:transparent;
  color:inherit;
}
.projects-dialog[open]{
  display:grid;
  place-items:center;
}
.projects-dialog::backdrop{
  background:rgba(4,8,8,.72);
  backdrop-filter:blur(14px);
}
html[data-mode="light"] .projects-dialog::backdrop{
  background:rgba(12,22,18,.42);
}
.projects-dialog-panel{
  width:min(1120px, 100%);
  max-height:min(94dvh, 1100px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:32px;
  border:1px solid rgba(var(--accent-rgb),.22);
  background:
    radial-gradient(ellipse at 8% -20%, rgba(var(--accent-rgb),.16), transparent 42%),
    radial-gradient(ellipse at 100% 0%, rgba(var(--accent-2-rgb),.08), transparent 36%),
    var(--panel);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 40px 120px rgba(0,0,0,.55);
  color:inherit;
}
.projects-dialog[open] .projects-dialog-panel{
  animation:dialogIn .34s ease;
}
@keyframes dialogIn{
  from{opacity:0;transform:translateY(18px) scale(.985)}
  to{opacity:1;transform:none}
}
html[data-mode="light"] .projects-dialog-panel{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    0 32px 80px rgba(12,22,18,.16);
}
.projects-dialog-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1.35rem 1.5rem 1.15rem;
  border-bottom:1px solid var(--border-soft);
  background:linear-gradient(180deg, rgba(255,255,255,.035), transparent);
  flex:0 0 auto;
}
.projects-dialog-kicker{
  display:flex;
  align-items:center;
  gap:.65rem;
  margin-bottom:.45rem;
}
.projects-dialog-kicker .eyebrow{margin-bottom:0}
.projects-dialog-count{
  font-family:var(--mono);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--accent);
  padding:.22rem .55rem;
  border-radius:999px;
  border:1px solid rgba(var(--accent-rgb),.35);
  background:rgba(var(--accent-rgb),.12);
}
.projects-dialog-title{
  color:var(--text-strong);
  font-size:clamp(1.7rem, 3.2vw, 2.45rem);
  letter-spacing:-.05em;
  font-weight:800;
  line-height:1.08;
}
.projects-dialog-lead{
  margin-top:.55rem;
  max-width:38rem;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.55;
}
.projects-dialog-close{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  flex:0 0 auto;
  width:44px;height:44px;border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.045);
  color:var(--text-strong);
  display:inline-flex;align-items:center;justify-content:center;
}
.projects-dialog-close svg{width:18px;height:18px;display:block}
.projects-dialog-close:hover{
  border-color:rgba(var(--accent-rgb),.42);
  background:rgba(var(--accent-rgb),.08);
}
.projects-dialog-body .projects{
  display:block;
  columns:2;
  column-gap:1rem;
}
.projects-dialog-body .projects > .project{
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  page-break-inside:avoid;
  width:100%;
  margin:0 0 1rem;
}
.projects-dialog-body{
  padding:1.15rem 1.45rem 1.55rem;
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  flex:1 1 auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(var(--accent-rgb),.42) transparent;
}
.projects-dialog-body::-webkit-scrollbar{
  width:8px;
}
.projects-dialog-body::-webkit-scrollbar-track{
  background:transparent;
  margin:10px 0;
}
.projects-dialog-body::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.2);
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box;
}
.projects-dialog-body::-webkit-scrollbar-thumb:hover{
  background:rgba(var(--accent-rgb),.55);
  background-clip:padding-box;
}
html[data-mode="light"] .projects-dialog-body{
  scrollbar-color:rgba(28,24,18,.28) transparent;
}
html[data-mode="light"] .projects-dialog-body::-webkit-scrollbar-thumb{
  background:rgba(28,24,18,.22);
  background-clip:padding-box;
}
html[data-mode="light"] .projects-dialog-body::-webkit-scrollbar-thumb:hover{
  background:rgba(var(--accent-rgb),.45);
  background-clip:padding-box;
}
@media(max-width:920px){
  .projects-dialog-body .projects{columns:1}
}
@media(max-width:680px){
  .projects-dialog{padding:8px}
  .projects-dialog-panel{border-radius:22px;max-height:96dvh}
  .projects-dialog-head{padding:1.1rem 1.05rem 1rem}
  .projects-dialog-body{padding:.95rem 1rem 1.2rem}
}
html.dialog-open,
html.dialog-open body{
  overflow:hidden;
  overscroll-behavior:none;
}
.project-index--mark{
  background:linear-gradient(135deg,rgba(var(--accent-rgb),.18),rgba(var(--accent-2-rgb),.12));
  color:var(--accent);
  font-weight:800;
  font-size:.92rem;
  letter-spacing:-.03em;
}
.exp-dot{
  position:relative;z-index:1;display:grid;place-items:center;
  width:64px;height:56px;border-radius:16px;background:#fff;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 0 0 8px color-mix(in srgb, var(--bg) 90%, transparent);
  overflow:hidden;padding:0;
}
.exp-top-main{display:flex;align-items:center;gap:.75rem;min-width:0}
.exp-top-main h3{margin:0}
.project h3{color:var(--text-strong);font-size:1.17rem;letter-spacing:-.028em;margin-bottom:.36rem}
.project h3 a:hover{color:var(--accent)}
.project p{color:var(--muted);font-size:.92rem;max-width:780px}
.project-note{
  margin-top:.8rem;padding:.85rem 1rem;border-radius:18px;
  background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.075);
  color:var(--text-soft);font-size:.85rem;
}
.project-meta{
  font-family:var(--mono);font-size:.72rem;color:var(--muted);margin:.1rem 0 .45rem;
}
.project-note ul{
  margin:.55rem 0 0;padding-left:1.05rem;display:grid;gap:.28rem;
}
.project-note li{font-size:.82rem;color:var(--text-soft)}
.project-link{
  display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:15px;
  background:rgba(255,255,255,.05);border:1px solid var(--border-soft);
  color:var(--muted);font-family:var(--mono);transition:.22s ease;
}
.project-link svg{width:18px;height:18px;display:block}
.project-link:hover{color:var(--ink-on-accent);background:var(--accent);border-color:var(--accent)}
.timeline{position:relative}
.timeline::before{
  content:"";position:absolute;left:27px;top:0;bottom:0;width:1px;background:linear-gradient(var(--accent),rgba(255,255,255,.06));
}
.exp{
  position:relative;display:grid;grid-template-columns:64px 1fr;gap:1.1rem;padding:0 0 1.25rem;
}
.exp:last-child{padding-bottom:0}
.exp-panel{
  border:1px solid var(--border-soft);
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  border-radius:var(--radius);
  padding:1.25rem;
}
.exp-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.45rem}
.exp h3{color:var(--text-strong);font-size:1.15rem;letter-spacing:-.03em}
.exp-role{color:var(--accent-2);font-weight:800;font-size:.88rem;margin-top:.1rem}
.exp-date{font-family:var(--mono);font-size:.75rem;color:var(--muted);white-space:nowrap}
.exp p{color:var(--muted);font-size:.9rem}
.exp ul{list-style:none;margin-top:.85rem;display:grid;gap:.4rem}
.exp li{position:relative;color:var(--text-body);font-size:.86rem;padding-left:1.25rem}
.exp li::before{content:"→";position:absolute;left:0;color:var(--accent)}
.skills-wrap{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
}
.skill-rows{
  display:grid;
  gap:.55rem;
}
.skill-row{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  gap:.75rem 1rem;
  align-items:start;
  padding:.45rem 0;
  border-bottom:1px solid var(--border-soft);
}
.skill-row:last-child{border-bottom:0;padding-bottom:0}
.skill-row h4{
  margin:0;
  padding-top:.28rem;
  font-family:var(--mono);
  font-size:.66rem;
  color:var(--accent);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:700;
  line-height:1.35;
}
.skill-cloud{display:flex;flex-wrap:wrap;gap:.35rem}
.skill-pill{
  display:inline-flex;align-items:center;
  padding:.32rem .55rem;border-radius:999px;background:rgba(255,255,255,.045);
  border:1px solid var(--border-soft);
  color:var(--text);font-weight:650;font-size:.72rem;
}
.stack-card h3{color:var(--text-strong);font-size:1.05rem;margin-bottom:.7rem;letter-spacing:-.03em}
.stack-list{display:grid;gap:.65rem}
.stack-list div{
  display:flex;justify-content:space-between;gap:1rem;padding:.72rem .85rem;border-radius:16px;
  background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.07);
}
.stack-list span:first-child{color:var(--text-soft);font-weight:750}
.stack-list span:last-child{font-family:var(--mono);font-size:.72rem;color:var(--faint)}
@media(max-width:680px){
  .skill-row{grid-template-columns:1fr;gap:.35rem;padding:.55rem 0}
}
.contact-shell{
  display:grid;grid-template-columns:1.08fr .92fr;gap:1.1rem;align-items:stretch;
}
.contact-card{
  display:flex;flex-direction:column;
  padding:1.5rem;border-radius:var(--radius);
  background:linear-gradient(135deg,rgba(var(--accent-rgb),.10),rgba(var(--accent-2-rgb),.06));
  border:1px solid rgba(var(--accent-rgb),.18);
}
.contact-card h3{font-size:2rem;line-height:1.1;color:var(--text-strong);letter-spacing:-.055em;margin-bottom:.8rem}
.contact-card p{color:var(--text-body)}
.contact-card .hero-actions{margin-top:auto;padding-top:1.25rem}
.contact-links{display:grid;gap:.7rem;align-content:stretch;grid-auto-rows:1fr}
.contact-link{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.95rem 1rem;border-radius:20px;background:rgba(255,255,255,.052);
  border:1px solid var(--border-soft);
}
.contact-link-main{display:flex;align-items:center;gap:.8rem;min-width:0;flex:0 1 auto}
.contact-ico{
  flex:0 0 auto;
  width:38px;height:38px;border-radius:12px;
  display:grid;place-items:center;
  background:rgba(var(--accent-rgb),.10);
  border:1px solid rgba(var(--accent-rgb),.18);
  color:var(--accent);
}
.contact-ico svg{width:18px;height:18px;display:block}
.contact-link b{display:block;color:var(--text-strong);line-height:1.2;white-space:nowrap}
.contact-link-meta{
  flex:1 1 auto;min-width:0;max-width:68%;
  display:inline-flex;align-items:center;justify-content:flex-end;gap:.4rem;
  font-family:var(--mono);font-size:.77rem;color:var(--muted);
  text-align:right;line-height:1.4;
}
.contact-link-meta a{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.copy-email{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  flex:0 0 auto;
  width:32px;height:32px;padding:0;border-radius:10px;
  border:1px solid var(--border-soft);
  background:rgba(var(--accent-rgb),.1);
  color:var(--accent);
  display:grid;place-items:center;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease;
}
.copy-email svg{width:15px;height:15px;display:block}
.copy-email .ico-check{display:none}
.copy-email:hover{
  transform:none;
  border-color:rgba(var(--accent-rgb),.4);
  background:rgba(var(--accent-rgb),.16);
  box-shadow:none;
}
.copy-email:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.copy-email.is-copied{
  color:var(--ink-on-accent);
  background:var(--accent);
  border-color:transparent;
}
.copy-email.is-copied .ico-copy{display:none}
.copy-email.is-copied .ico-check{display:block}
/* Lead portfolio depth */
.seeking-banner{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  margin-bottom:1.2rem;padding:1rem 1.15rem;border-radius:20px;
  border:1px solid rgba(var(--accent-rgb),.22);
  background:linear-gradient(135deg,rgba(var(--accent-rgb),.10),rgba(var(--accent-2-rgb),.05));
}
.seeking-banner strong{display:block;color:var(--text-strong);font-size:1rem;letter-spacing:-.02em}
.seeking-banner span{display:block;margin-top:.28rem;color:var(--muted);font-size:.86rem}
.seeking-meta{font-family:var(--mono);font-size:.72rem;color:var(--accent);white-space:nowrap}
.case-grid{display:grid;gap:1.15rem}
.case-study{
  border-radius:var(--radius);border:1px solid var(--border-soft);
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));
}
.case-study-inner{padding:1.4rem 1.4rem 1.25rem}
.case-kicker{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-bottom:.85rem}
.case-study h3{color:var(--text-strong);font-size:1.35rem;letter-spacing:-.035em;margin-bottom:.45rem}
.case-study > .case-study-inner > p{color:var(--muted);font-size:.94rem;max-width:820px}
.case-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1.15rem 0 1rem}
.case-step{
  padding:.9rem;border-radius:18px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.075);
}
.case-step b{display:block;color:var(--accent);font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.35rem}
.case-step p{color:var(--text-body);font-size:.84rem;line-height:1.45;margin:0}
.case-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:.2rem}
.case-metric{
  padding:.85rem;border-radius:16px;border:1px solid rgba(var(--accent-rgb),.16);
  background:rgba(var(--accent-rgb),.06);
}
.case-metric strong{display:block;color:var(--text-strong);font-size:1.15rem;letter-spacing:-.04em}
.case-metric span{display:block;margin-top:.3rem;color:var(--muted);font-family:var(--mono);font-size:.66rem;line-height:1.35}
.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem}
.impact-item{
  padding:1.1rem;border-radius:22px;border:1px solid var(--border-soft);
  background:rgba(255,255,255,.045);
}
.impact-item strong{display:block;color:var(--text-strong);font-size:1.55rem;letter-spacing:-.055em}
.impact-item span{display:block;margin-top:.4rem;color:var(--muted);font-family:var(--mono);font-size:.7rem;line-height:1.35}
.lead-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.lead-card{
  padding:1.25rem;border-radius:var(--radius);border:1px solid var(--border-soft);
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));
}
.lead-card h3{color:var(--text-strong);font-size:1.08rem;letter-spacing:-.025em;margin:.45rem 0 .5rem}
.lead-card p{color:var(--muted);font-size:.9rem;margin:0}
.lead-focus{
  display:grid;grid-template-columns:1.1fr .9fr;gap:1rem;margin-top:1.15rem;
}
.lead-focus-panel{
  padding:1.15rem 1.2rem;border-radius:22px;border:1px solid var(--border-soft);
  background:rgba(255,255,255,.045);
}
.lead-focus-panel h3{color:var(--text-strong);font-size:1.02rem;letter-spacing:-.02em;margin:.35rem 0 .45rem}
.lead-focus-panel p{color:var(--muted);font-size:.88rem;margin:0}
.award-item{
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:.75rem;
  align-items:start;
  padding:.9rem 1rem;
  border-radius:18px;
  border:1px solid var(--border-soft);
  background:rgba(255,255,255,.045);
}
.award-logo{
  width:40px;height:40px;border-radius:12px;overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:#fff;
}
.award-logo img{
  width:100%;height:100%;object-fit:contain;display:block;padding:5px;
}
.award-item b{
  display:block;color:var(--text-strong);font-size:.88rem;letter-spacing:-.02em;line-height:1.3;margin-bottom:.2rem;
}
.award-item span{
  display:block;color:var(--muted);font-family:var(--mono);font-size:.66rem;line-height:1.4;
}
.lead-topics{margin-top:.85rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.lead-topics .topic{
  padding:.4rem .65rem;border-radius:999px;border:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.16);color:var(--text-soft);font-family:var(--mono);font-size:.68rem;
}
.sample-shell{
  display:grid;grid-template-columns:1.05fr .95fr;gap:1.1rem;
}
.sample-card,.write-card,.quote-card{
  padding:1.3rem;border-radius:var(--radius);border:1px solid var(--border-soft);
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));
}
.sample-card h3,.write-card h3{color:var(--text-strong);font-size:1.2rem;letter-spacing:-.03em;margin:.35rem 0 .55rem}
.sample-card p,.write-card p{color:var(--muted);font-size:.92rem}
.sample-code{
  margin-top:1rem;padding:1rem;border-radius:16px;background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.08);font-family:var(--mono);font-size:.72rem;line-height:1.55;color:var(--text-soft);
}
.sample-code .kw{color:var(--accent)}
.sample-code .str{color:var(--accent-2)}
.write-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.proof-awards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.85rem;
  margin-bottom:1rem;
}
.proof-quotes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  align-items:start;
}
.proof-quotes .quote-card{height:auto;padding:1.15rem 1.25rem 1.05rem}
.proof-quotes .quote-card:last-child{
  grid-column:1 / -1;
}
.quote-card blockquote{margin:0;color:var(--text-body);font-size:1.02rem;line-height:1.55;letter-spacing:-.015em}
.quote-card footer{
  margin-top:.7rem;
  padding:.7rem 0 0;
  border-top:1px solid var(--border-soft);
  font-family:var(--mono);font-size:.72rem;color:var(--muted);
}
.proof-cta{margin-top:1.1rem}
.write-meta{display:inline-flex;margin-top:.85rem;font-family:var(--mono);font-size:.7rem;color:var(--accent)}
@media(max-width:920px){
  .case-flow,.case-metrics,.impact-grid{grid-template-columns:repeat(2,1fr)}
  .lead-grid,.sample-shell,.write-grid,.lead-focus{grid-template-columns:1fr}
  .proof-awards,.proof-quotes{grid-template-columns:1fr}
}
@media(max-width:680px){
  .case-flow,.case-metrics,.impact-grid{grid-template-columns:1fr}
  .seeking-banner{display:block}
  .seeking-meta{margin-top:.65rem}
}


body > footer{
  border-top:1px solid var(--border-soft);
  padding:2.6rem 0;color:var(--muted);
}
.footer-inner{width:min(var(--max),calc(100% - 40px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.footer-inner b{color:var(--text-strong)}
.footer-inner span{font-family:var(--mono);font-size:.74rem}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}

/* Entrance + motion system (preview) */
@keyframes fadeUp{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:none}
}
@keyframes fadeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes softPulse{
  0%,100%{box-shadow:0 12px 36px rgba(var(--accent-rgb),.16); border-color:rgba(var(--accent-rgb),.45)}
  50%{box-shadow:0 14px 42px rgba(var(--accent-rgb),.28); border-color:rgba(var(--accent-rgb),.7)}
}
@keyframes metricIn{
  from{opacity:0;transform:translateY(12px) scale(.98)}
  to{opacity:1;transform:none}
}
@keyframes chipIn{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}
}
.hero-anim .hero-identity,
.hero-anim .kicker-row,
.hero-anim h1,
.hero-anim .hero-copy,
.hero-anim .hero-actions,
.hero-anim .hero-meta,
.hero-anim .academic-strip{
  opacity:0;
  animation:fadeUp .7s cubic-bezier(.22,1,.36,1) forwards;
}
.hero-anim .hero-identity{animation-delay:.05s}
.hero-anim .kicker-row{animation-delay:.14s}
.hero-anim h1{animation-delay:.22s}
.hero-anim .hero-copy{animation-delay:.34s}
.hero-anim .hero-actions{animation-delay:.46s}
.hero-anim .hero-meta{animation-delay:.58s}
.hero-anim .academic-strip{animation-delay:.7s}
.hero-anim .avatar{
  animation:softPulse 3.4s ease-in-out .9s infinite;
}
.hero-anim .metric{
  opacity:0;
  animation:metricIn .55s cubic-bezier(.22,1,.36,1) forwards;
}
.hero-anim .metric:nth-child(1){animation-delay:.62s}
.hero-anim .metric:nth-child(2){animation-delay:.7s}
.hero-anim .metric:nth-child(3){animation-delay:.78s}
.hero-anim .metric:nth-child(4){animation-delay:.86s}
.hero-anim .profile-card{
  opacity:0;
  animation:fadeUp .8s cubic-bezier(.22,1,.36,1) .28s forwards;
}
.hero-anim .pixel-phone{
  opacity:0;
  animation:pixelIn .85s cubic-bezier(.22,1,.36,1) .55s forwards;
}
@keyframes pixelIn{
  from{opacity:0;transform:rotate(8deg) translateY(16px)}
  to{opacity:1;transform:rotate(8deg) translateY(0)}
}
html[data-theme="android"] .android-code-chip{
  opacity:0;
  animation:chipIn .7s ease forwards;
}
html[data-theme="android"] .android-code-chip.c1{animation-delay:1s}
html[data-theme="android"] .android-code-chip.c2{animation-delay:1.15s}
html[data-theme="android"] .android-code-chip.c3{animation-delay:1.3s}
.card,
.project,
.exp-panel,
.contact-card,
.contact-link,
.case-study,
.case-step,
.case-metric,
.lead-card,
.lead-focus-panel,
.lead-topics .topic,
.impact-item,
.sample-card,
.write-card,
.quote-card,
.award-item,
.edu-sheet,
.edu-cert,
.edu-lang,
.metric,
.signal-card,
.skill-pill,
.company-strip li,
.academic-strip,
.seeking-banner,
.tag,
.stack-list div{
  position:relative;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .28s ease,color .22s ease;
}
.card:hover,
.project:hover,
.exp-panel:hover,
.contact-card:hover,
.contact-link:hover,
.case-study:hover,
.case-step:hover,
.case-metric:hover,
.lead-card:hover,
.lead-focus-panel:hover,
.lead-topics .topic:hover,
.impact-item:hover,
.sample-card:hover,
.write-card:hover,
.quote-card:hover,
.award-item:hover,
.edu-sheet:hover,
.edu-cert:hover,
.edu-lang:hover,
.metric:hover,
.signal-card:hover,
.skill-pill:hover,
.company-strip li:hover,
.academic-strip:hover,
.seeking-banner:hover,
.tag:hover,
.stack-list div:hover{
  transform:translateY(-3px);
  border-color:rgba(var(--accent-rgb),.25);
  box-shadow:0 18px 50px rgba(0,0,0,.18);
  background:linear-gradient(135deg,rgba(var(--accent-rgb),.07),rgba(255,255,255,.035));
  z-index:1;
}
.skill-pill:hover,
.lead-topics .topic:hover,
.tag:hover{
  color:var(--text-strong);
}
.tag.tag-domain:hover{
  transform:none;
  color:rgb(var(--domain));
  border-color:rgba(var(--domain),.7);
  background:rgba(var(--domain),.22);
  box-shadow:0 0 0 1px rgba(var(--domain),.12);
}
.btn.primary{
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
.btn.primary:hover{filter:brightness(1.04)}
.section.reveal.visible .section-title{
  animation:fadeUp .55s cubic-bezier(.22,1,.36,1) both;
}
.section.reveal.visible .section-sub{
  animation:fadeUp .55s cubic-bezier(.22,1,.36,1) .08s both;
}

@media(max-width:920px){
  .hero-shell,.skills-wrap,.contact-shell{grid-template-columns:1fr}
  .hero-meta{grid-template-columns:repeat(2,1fr)}
  .grid-2,.grid-3{grid-template-columns:1fr}
  .section-head{display:block}
  .pixel-phone{right:-18px;bottom:-24px;width:148px;transform:rotate(6deg)}
  .hero-anim .pixel-phone{animation-name:pixelInTablet}
  @keyframes pixelInTablet{
    from{opacity:0;transform:rotate(6deg) translateY(16px)}
    to{opacity:1;transform:rotate(6deg) translateY(0)}
  }
  .profile-card{margin-bottom:1.4rem}
}
@media(max-width:680px){
  .page,.footer-inner{width:min(100% - 28px,var(--max))}
  .nav-inner{height:58px;padding:0 .75rem 0 .85rem}
  nav{top:10px;width:min(100% - 20px,var(--max));border-radius:18px}
  .nav-links{display:none}
  .nav-toggle{display:inline-flex}
  .nav-cta.desktop-only{display:none}
  .mobile-nav.open{display:block}
  .mobile-nav{padding:0 10px 10px}
  .nav-cta{padding:.62rem .78rem;font-size:.76rem}
  .hero{padding:6.2rem 0 3.6rem}
  .hero h1{font-size:clamp(2.65rem,14vw,4.4rem)}
  .hero-identity{gap:.85rem;margin-bottom:1.1rem}
  .avatar{width:64px;height:64px}
  .availability{font-size:.9rem}
  .hero-meta{grid-template-columns:1fr}
  .profile-card{display:none}
  .project{grid-template-columns:1fr;gap:.8rem}
  .academic-strip{display:block}
  .academic-rank{margin-top:.45rem}
  .project-link{width:100%;height:44px}
  .exp{grid-template-columns:1fr}
  .timeline::before{display:none}
  .exp-dot{width:48px;height:48px}
  .exp-top{display:block}
  .exp-date{display:block;margin-top:.3rem}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
  .hero-anim .hero-identity,
  .hero-anim .kicker-row,
  .hero-anim h1,
  .hero-anim .hero-copy,
  .hero-anim .hero-actions,
  .hero-anim .hero-meta,
  .hero-anim .academic-strip,
  .hero-anim .metric,
  .hero-anim .profile-card,
  .hero-anim .pixel-phone,
  html[data-theme="android"] .android-code-chip{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
  }
  .pixel-app.spaceapp{opacity:1!important;position:relative!important}
  .pixel-app.bankapp,.pixel-pager{display:none!important}
  .tablet-app.studio{opacity:1!important}
  .tablet-app.preview,.tablet-pager{display:none!important}
}

.theme-switcher{
  position:fixed;left:18px;bottom:18px;z-index:95;
  display:flex;flex-direction:column;
  padding:.4rem;
  border-radius:18px;
  background:color-mix(in srgb, var(--card-solid) 72%, transparent);
  border:1px solid var(--border);
  backdrop-filter:blur(18px);
  box-shadow:var(--shadow);
  min-width:0;
}
.mode-toggle{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:1fr 1fr;
  padding:3px;
  border-radius:14px;
  background:rgba(0,0,0,.28);
  border:1px solid var(--border-soft);
}
.mode-thumb{
  position:absolute;
  z-index:0;
  top:3px;bottom:3px;left:3px;
  width:calc(50% - 3px);
  border-radius:11px;
  background:linear-gradient(135deg,var(--accent),var(--accent-soft));
  box-shadow:0 8px 20px rgba(var(--accent-rgb),.28);
  pointer-events:none;
  transition:transform .32s cubic-bezier(.22,1,.36,1);
}
html[data-mode="light"] .mode-thumb{transform:translateX(100%)}
.mode-btn{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  position:relative;z-index:1;
  display:inline-grid;place-items:center;
  width:40px;height:36px;padding:0;border:0;border-radius:11px;
  background:transparent;color:var(--muted);
  transition:color .22s ease;
}
.mode-btn svg{
  width:16px;height:16px;display:block;
  transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.mode-btn:hover:not([aria-checked="true"]){color:var(--text-strong)}
.mode-btn[aria-checked="true"]{color:var(--ink-on-accent)}
.mode-btn[data-mode-option="dark"][aria-checked="true"] svg{transform:rotate(-14deg)}
.mode-btn[data-mode-option="light"][aria-checked="true"] svg{transform:rotate(90deg)}
.mode-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:920px), (hover:none) and (pointer:coarse){
  .theme-switcher{left:14px;bottom:18px;min-width:0}
}

/* Android atmosphere — mascot + code pattern (android theme only) */
.android-atmosphere{
  display:none;
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  overflow:hidden;
}
html[data-theme="android"] .android-atmosphere{display:block}
html[data-theme="android"] main,
html[data-theme="android"] footer{
  position:relative;
  z-index:1;
}
html[data-theme="android"] nav{z-index:99}
html[data-theme="android"] .theme-switcher{z-index:95}
html[data-theme="android"] .hero{
  padding-top:6.4rem;
  padding-bottom:4.4rem;
}
.android-code-pattern{
  position:absolute;
  inset:0;
  opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='280'%3E%3Ctext x='12' y='28' fill='%233DDC84' font-family='ui-monospace,monospace' font-size='12'%3Eclass MainActivity : ComponentActivity()%3C/text%3E%3Ctext x='12' y='52' fill='%2364FFDA' font-family='ui-monospace,monospace' font-size='12'%3Eoverride fun onCreate(savedInstanceState: Bundle?)%3C/text%3E%3Ctext x='24' y='76' fill='%23A5D6A7' font-family='ui-monospace,monospace' font-size='12'%3EsetContent %7B SpaceAppTheme %7B NavGraph() %7D %7D%3C/text%3E%3Ctext x='12' y='112' fill='%233DDC84' font-family='ui-monospace,monospace' font-size='12'%3E@Composable fun VehicleDashboard(state: UiState)%3C/text%3E%3Ctext x='24' y='136' fill='%2364FFDA' font-family='ui-monospace,monospace' font-size='12'%3ELazyColumn %7B items(state.modules) %7B ModuleCard(it) %7D %7D%3C/text%3E%3Ctext x='12' y='172' fill='%23A5D6A7' font-family='ui-monospace,monospace' font-size='12'%3EviewModelScope.launch %7B repository.syncMqtt() %7D%3C/text%3E%3Ctext x='12' y='208' fill='%233DDC84' font-family='ui-monospace,monospace' font-size='12'%3Eval crashFree = 0.989f // production signal%3C/text%3E%3Ctext x='12' y='244' fill='%2364FFDA' font-family='ui-monospace,monospace' font-size='12'%3ECleanArchitecture · Hilt · Compose · KMP%3C/text%3E%3C/svg%3E");
  background-size:520px 280px;
  mask-image:radial-gradient(circle at 82% 30%, #000 0%, transparent 48%), linear-gradient(180deg, transparent 0%, #000 18%, #000 62%, transparent 100%);
}
html[data-mode="light"][data-theme="android"] .android-code-pattern{opacity:.045}
html[data-mode="light"][data-theme="android"] .android-mascot-wrap{opacity:.05}
.android-mascot-wrap{
  position:absolute;
  right:-2%;
  top:22%;
  width:min(38vw,420px);
  aspect-ratio:1;
  opacity:.035;
  filter:saturate(.95);
  animation:androidFloat 12s ease-in-out infinite;
}
.android-mascot-wrap img,
.android-mascot-wrap svg{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}
.android-code-chip{
  position:absolute;
  font-family:var(--mono);
  font-size:.68rem;
  line-height:1.5;
  color:rgba(var(--accent-rgb),.16);
  border:1px solid rgba(var(--accent-rgb),.05);
  background:rgba(8,16,14,.12);
  backdrop-filter:blur(8px);
  border-radius:12px;
  padding:.55rem .7rem;
  white-space:pre;
}
html[data-mode="light"][data-theme="android"] .android-code-chip{
  background:rgba(255,255,255,.4);
  color:rgba(var(--accent-rgb),.5);
}
.android-code-chip.c1{top:28%;left:3%; transform:rotate(-2deg)}
.android-code-chip.c2{top:52%;right:6%; transform:rotate(1.5deg)}
.android-code-chip.c3{bottom:18%;left:10%; transform:rotate(1deg)}
@keyframes androidFloat{
  0%,100%{transform:translateY(0) rotate(-1deg)}
  50%{transform:translateY(-8px) rotate(1deg)}
}
.theme-switcher{
  align-items:stretch;
}
@media(max-width:920px){
  .android-code-pattern{
    opacity:.035;
    background-size:360px 200px;
    mask-image:radial-gradient(circle at 88% 16%, #000 0%, transparent 58%), linear-gradient(180deg,#000 0%, #000 50%, transparent 100%);
  }
  .android-code-chip{
    display:block;
    font-size:.64rem;
    padding:.5rem .6rem;
    color:rgba(var(--accent-rgb),.14);
    border-color:rgba(var(--accent-rgb),.05);
    background:rgba(8,16,14,.1);
  }
  .android-code-chip.c1{top:22%;left:3%; transform:none}
  .android-code-chip.c2{top:auto; bottom:28%; right:3%; left:auto; transform:none}
  .android-code-chip.c3{bottom:16%; left:4%; transform:none}
  .android-mascot-wrap{
    display:block;
    width:min(72vw,300px);
    top:12%;
    bottom:auto;
    right:-12%;
    opacity:.04;
  }
  html[data-mode="light"][data-theme="android"] .android-mascot-wrap{opacity:.07}
  html[data-theme="android"] .hero{padding-top:5.4rem; padding-bottom:3.4rem}
  html[data-theme="android"] .theme-switcher{bottom:18px; left:14px}
}
@media(prefers-reduced-motion:reduce){
  .android-mascot-wrap{animation:none}
}
