@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.p.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_b6bb29b4-module__0Jl71W__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_b6bb29b4-module__0Jl71W__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.0gfhww.tctz1o.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.1409xf.ylxg8g.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_b798fef2-module__2novAa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_b798fef2-module__2novAa__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#050505;--surface:#0f172a;--surface-2:#111827;--surface-card:#ffffff0a;--fg:#f8fafc;--muted:#94a3b8;--meta:#64748b;--border:#ffffff14;--border-strong:#ffffff24;--accent:#3ddc84;--accent-android:#3ddc84;--accent-ios:#0a84ff;--accent-flutter:#54c5f8;--accent-soft:#3ddc841f;--accent-lead:#c084fc;--accent-pay:#fcd34d;--accent-love:#f472b6;--accent-fire:orange;--fs-h1:clamp(40px, 5.5vw, 72px);--fs-h2:clamp(28px, 3.5vw, 44px);--fs-h3:clamp(18px, 2vw, 22px);--fs-lead:clamp(15px, 1.6vw, 18px);--fs-body:15px;--fs-meta:12px;--gap-xs:8px;--gap-sm:12px;--gap-md:20px;--gap-lg:32px;--gap-xl:56px;--gap-2xl:96px;--container:1160px;--gutter:clamp(20px, 4vw, 48px);--radius:10px;--radius-lg:18px;--radius-xl:28px;--topnav-height:72px;--ease-premium:cubic-bezier(.22, 1, .36, 1);--ease-snappy:cubic-bezier(.34, 1.56, .64, 1);--motion-fast:.18s;--motion-medium:.26s;--motion-panel:.34s;--motion-reveal-duration:.56s;--motion-reveal-distance:20px}@supports (color:lab(0% 0 0)){:root{--accent-soft:lab(78.3123% -57.1334 31.0379/.12)}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html.scroll-tab-capturing{scroll-behavior:auto;overscroll-behavior-y:contain}body{--font-display:var(--font-inter), system-ui, sans-serif;--font-body:var(--font-inter), system-ui, sans-serif;--font-mono:var(--font-jetbrains), ui-monospace, Menlo, monospace;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{font:inherit;cursor:pointer;border:none}p{text-wrap:pretty;margin:0}h1,h2,h3,h4{text-wrap:balance;margin:0}ul{margin:0;padding:0;list-style:none}.container{max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.stack{flex-direction:column;display:flex}.stack>*+*{margin-top:var(--gap-md)}.row{align-items:center;gap:var(--gap-md);display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--gap-md);display:flex}.grid-2{gap:var(--gap-lg);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--gap-lg);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--gap-md);grid-template-columns:repeat(4,1fr);display:grid}.grid-2-1{gap:var(--gap-xl);grid-template-columns:2fr 1fr;align-items:start;display:grid}.grid-1-2{gap:var(--gap-xl);grid-template-columns:1fr 2fr;align-items:start;display:grid}@media (max-width:920px){.grid-2,.grid-3,.grid-4,.grid-2-1,.grid-1-2,.about-grid{grid-template-columns:1fr}}.h1,h1{font-family:var(--font-display);font-size:var(--fs-h1);letter-spacing:-.025em;font-weight:700;line-height:1.06}.h2,h2{font-family:var(--font-display);font-size:var(--fs-h2);letter-spacing:-.02em;font-weight:700;line-height:1.1}.h3,h3{font-family:var(--font-display);font-size:var(--fs-h3);letter-spacing:-.01em;font-weight:600;line-height:1.3}.lead{font-size:var(--fs-lead);color:var(--muted);max-width:62ch;line-height:1.65}.eyebrow{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 var(--gap-md);font-size:11px}.meta-text{font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--meta)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.topnav{z-index:1000;background:color-mix(in oklch, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.4);transition:border-color var(--motion-medium) var(--ease-premium);border-bottom:1px solid #0000;position:fixed;top:0;left:0;right:0}.topnav.scrolled{border-bottom-color:var(--border)}.topnav-inner{justify-content:space-between;align-items:center;gap:var(--gap-md);padding-block:16px;display:flex}.nav-logo{flex-shrink:0;align-items:center;margin-block:-8px;line-height:0;display:inline-flex}.nav-logo img{object-fit:contain;width:56px;height:56px;display:block}.nav-links{gap:var(--gap-lg);display:flex}.nav-links a{color:var(--muted);transition:color var(--motion-fast) var(--ease-premium);padding-block:4px;font-size:14px;font-weight:500;position:relative}.nav-links a:after{content:"";background:var(--accent);height:1px;transition:transform var(--motion-fast) var(--ease-premium);position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.nav-links a:hover,.nav-links a.active{color:var(--fg)}.nav-links a.active:after,.nav-links a:hover:after{transform:scaleX(1)}.nav-actions{align-items:center;gap:var(--gap-sm);display:flex}.nav-cta{padding:9px 18px}.nav-hamburger{touch-action:manipulation;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;padding:0;display:none;position:relative}.nav-hamburger span{background:var(--fg);width:22px;height:2px;transform:translate(-50%, -50%) translateY(var(--hamburger-y,0));transition:transform var(--motion-medium) var(--ease-premium), opacity var(--motion-fast) var(--ease-premium);border-radius:2px;display:block;position:absolute;top:50%;left:50%}.nav-hamburger span:first-child{--hamburger-y:-7px}.nav-hamburger span:nth-child(2){--hamburger-y:0}.nav-hamburger span:nth-child(3){--hamburger-y:7px}.nav-hamburger[aria-expanded=true] span:first-child{transform:translate(-50%,-50%)rotate(45deg)}.nav-hamburger[aria-expanded=true] span:nth-child(2){opacity:0;transform:translate(-50%,-50%)scaleX(.35)}.nav-hamburger[aria-expanded=true] span:nth-child(3){transform:translate(-50%,-50%)rotate(-45deg)}.nav-mobile{padding:8px var(--gutter) 20px;border-top:1px solid var(--border);max-height:calc(100dvh - var(--topnav-height));flex-direction:column;gap:0;display:none;overflow-y:auto}.nav-mobile a{color:var(--muted);border-bottom:1px solid var(--border);transition:color var(--motion-fast) var(--ease-premium);padding:12px 0;font-size:15px;font-weight:500}.nav-mobile a:hover{color:var(--fg)}.nav-mobile.open{display:flex}@media (max-width:768px){.nav-links{display:none}.nav-hamburger{display:flex}}.btn{letter-spacing:-.005em;transition:transform .12s var(--ease-premium), background var(--motion-fast) var(--ease-premium), box-shadow var(--motion-fast) var(--ease-premium), opacity var(--motion-fast) var(--ease-premium);white-space:nowrap;text-align:center;border-radius:980px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--bg);border:1px solid var(--accent)}.btn-primary:hover{background:color-mix(in oklch, var(--accent) 88%, white);box-shadow:0 0 20px color-mix(in oklch, var(--accent) 30%, transparent)}.btn-secondary{background:var(--surface-card);color:var(--fg);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-secondary:hover{border-color:color-mix(in oklch, var(--fg) 40%, transparent);background:color-mix(in oklch, var(--fg) 8%, transparent)}.btn-ghost{color:var(--muted);border:1px solid var(--border);background:0 0;padding:8px 14px}.btn-ghost:hover{color:var(--fg);border-color:var(--border-strong)}.lang-btn{font-family:var(--font-mono);letter-spacing:.08em;background:var(--surface-card);border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:color var(--motion-fast) var(--ease-premium), border-color var(--motion-fast) var(--ease-premium);border-radius:6px;place-items:center;min-width:48px;min-height:48px;padding:7px 14px;font-size:12px;font-weight:600;display:inline-grid}.lang-btn:hover{color:var(--fg);border-color:var(--border-strong)}.card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:28px}.card:hover{border-color:var(--border-strong);transition:transform var(--motion-fast) var(--ease-premium), border-color var(--motion-fast) var(--ease-premium);transform:translateY(-2px)}.card-flat{background:0 0;border:0;padding:0}.pill{background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex}.tag{color:var(--muted);border:1px solid var(--border);font-size:12px;font-family:var(--font-mono);transition:color var(--motion-fast) var(--ease-premium), border-color var(--motion-fast) var(--ease-premium);background:0 0;border-radius:999px;align-items:center;padding:4px 10px;display:inline-flex}.tag:hover{color:var(--fg);border-color:var(--border-strong)}.portfolio-root{padding-top:var(--topnav-height);position:relative}section[id]{scroll-margin-top:calc(var(--topnav-height) + 16px)}.hero-section{z-index:1;background:var(--bg);align-items:center;min-height:100dvh;padding-block:clamp(80px,10vw,140px);display:flex;position:sticky;top:0;overflow:hidden}.hero-section .container{width:100%}.portfolio-scroll>:not(.hero-section),.pagefoot{z-index:2;background:var(--bg);position:relative}.hero-section:before{content:"";background:radial-gradient(ellipse 60% 80% at 70% 50%, color-mix(in oklch, var(--accent-ios) 6%, transparent), transparent), radial-gradient(ellipse 40% 60% at 20% 80%, color-mix(in oklch, var(--accent-android) 5%, transparent), transparent);pointer-events:none;position:absolute;inset:0}.hero-grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,6vw,80px);display:grid}.hero-left{z-index:1;position:relative}.hero-tagline{background:var(--surface-card);border:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--gap-lg);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:11px;display:inline-flex}.hero-tagline-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:2.5s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.hero-headline{font-family:var(--font-display);letter-spacing:-.028em;margin-bottom:var(--gap-md);font-size:clamp(38px,5vw,66px);font-weight:700;line-height:1.04}.hero-headline .accent-word{background:linear-gradient(135deg, var(--accent-android) 0%, var(--accent-ios) 50%, var(--accent-flutter) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-sub{color:var(--muted);max-width:52ch;margin-bottom:var(--gap-lg);font-size:clamp(14px,1.5vw,17px);line-height:1.65}.hero-badges{margin-bottom:var(--gap-lg);flex-wrap:wrap;gap:8px;display:flex}.hero-badge{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--border);background:var(--surface-card);color:var(--muted);border-radius:999px;align-items:center;gap:5px;padding:5px 12px;font-size:11px;font-weight:500;animation:4s ease-in-out infinite badge-float;display:inline-flex}.hero-badge:nth-child(2n){animation-delay:-1s}.hero-badge:nth-child(3n){animation-delay:-2s}.hero-badge:nth-child(4n){animation-delay:-3s}@keyframes badge-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.hero-badge.android{border-color:color-mix(in oklch, var(--accent-android) 30%, transparent);color:var(--accent-android);background:color-mix(in oklch, var(--accent-android) 8%, transparent)}.hero-badge.ios{border-color:color-mix(in oklch, var(--accent-ios) 30%, transparent);color:var(--accent-ios);background:color-mix(in oklch, var(--accent-ios) 8%, transparent)}.hero-badge.flutter{border-color:color-mix(in oklch, var(--accent-flutter) 30%, transparent);color:var(--accent-flutter);background:color-mix(in oklch, var(--accent-flutter) 8%, transparent)}.hero-cta{align-items:center;gap:var(--gap-sm);flex-wrap:wrap;display:flex}.hero-right{justify-content:center;align-items:center;min-height:480px;display:flex;position:relative}.phones-container{--hero-phone-width:160px;--hero-phone-height:308px;--flutter-dock-gap:10px;width:380px;height:480px;position:relative;overflow:visible}.phone-card{width:var(--hero-phone-width);height:var(--hero-phone-height);border:1.5px solid var(--border-strong);transition:transform .42s var(--ease-snappy), box-shadow var(--motion-medium) var(--ease-premium);cursor:default;border-radius:28px;flex-direction:column;display:flex;position:absolute;overflow:hidden}.phone-card:hover{z-index:10}.phone-card.android{background:linear-gradient(155deg, var(--surface-2), color-mix(in oklch, var(--accent-android) 8%, var(--surface-2)));box-shadow:0 20px 60px color-mix(in oklch, var(--accent-android) 15%, transparent);top:50%;left:0;transform:translateY(-50%)rotate(-8deg)}.phone-card.android:hover{box-shadow:0 30px 80px color-mix(in oklch, var(--accent-android) 28%, transparent);transform:translateY(-50%)rotate(-3deg)scale(1.06)}.phone-card.android:hover .ph-punchhole{box-shadow:0 0 0 3px color-mix(in oklch, var(--accent-android) 55%, transparent), 0 0 12px color-mix(in oklch, var(--accent-android) 40%, transparent)}.phone-card.ios{z-index:2;background:linear-gradient(155deg, var(--surface-2), color-mix(in oklch, var(--accent-ios) 8%, var(--surface-2)));box-shadow:0 20px 60px color-mix(in oklch, var(--accent-ios) 15%, transparent);top:50%;left:50%;transform:translate(-50%,-50%)}.phone-card.ios:hover{box-shadow:0 30px 80px color-mix(in oklch, var(--accent-ios) 28%, transparent);transform:translate(-50%,-53%)scale(1.06)}.phone-card.ios:hover .dynamic-island{width:100px;transition:width var(--motion-panel) var(--ease-snappy)}.phone-card.ios:hover .ios-glass-hint{opacity:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.phone-card.flutter{background:linear-gradient(155deg, var(--surface-2), color-mix(in oklch, var(--accent-flutter) 8%, var(--surface-2)));box-shadow:0 20px 60px color-mix(in oklch, var(--accent-flutter) 15%, transparent);top:50%;right:0;transform:translateY(-50%)rotate(8deg)}.phone-card.flutter:hover{box-shadow:0 30px 80px color-mix(in oklch, var(--accent-flutter) 28%, transparent);transform:translateY(-50%)rotate(3deg)scale(1.06)}.phone-sb{box-sizing:border-box;flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;height:34px;padding:0 11px;display:grid}.phone-sb-time{font-family:var(--font-mono);color:#cbd5e1b3;letter-spacing:-.01em;justify-self:start;font-size:9px;font-weight:600;line-height:1}.sb-icons{justify-self:end;align-items:center;gap:3px;display:flex}.sb-cutout{justify-self:center}.sb-cutout.sb-punchhole{background:var(--bg);width:7px;height:7px;box-shadow:0 0 0 1px color-mix(in oklch, var(--accent-android) 28%, transparent);transition:box-shadow var(--motion-medium) var(--ease-premium);border-radius:50%}.phone-card.android:hover .sb-cutout.sb-punchhole{box-shadow:0 0 0 2.5px color-mix(in oklch, var(--accent-android) 50%, transparent), 0 0 9px color-mix(in oklch, var(--accent-android) 38%, transparent)}.sb-cutout.sb-dynamic-island{background:var(--bg);width:58px;height:18px;box-shadow:inset 0 0 0 1px #ffffff06, 0 0 7px color-mix(in oklch, var(--accent-ios) 10%, transparent);transition:width var(--motion-medium) var(--ease-premium);border-radius:999px;position:relative}.sb-cutout.sb-dynamic-island:after{content:"";background:color-mix(in oklch, var(--accent-ios) 40%, transparent);border-radius:50%;width:4px;height:4px;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.phone-card.ios:hover .sb-cutout.sb-dynamic-island{width:74px;transition:width var(--motion-medium) var(--ease-premium)}.sb-cutout.sb-speaker{background:#94a3b847;border-radius:3px;width:26px;height:4px}.android-nav-bar{background:color-mix(in oklch, var(--bg) 60%, var(--surface-2));border-top:1px solid var(--border);flex-shrink:0;justify-content:space-around;align-items:center;height:26px;margin-top:auto;padding:0 18px;display:flex}.android-nav-bar span{color:var(--meta);opacity:.7;font-size:9px}.ios-home-indicator{background:#ffffff40;border-radius:2px;flex-shrink:0;width:34%;height:4px;margin:auto auto 8px}.phone-home-bar{background:var(--border-strong);border-radius:2px;flex-shrink:0;width:38%;height:4px;margin:auto auto 8px}.sb-signal{align-items:flex-end;gap:1.5px;height:9px;display:flex}.sb-signal span{background:#cbd5e1ad;border-radius:1px;width:1.75px}.sb-signal span:first-child{height:3px}.sb-signal span:nth-child(2){height:5px}.sb-signal span:nth-child(3){height:7px}.sb-signal span:nth-child(4){height:9px}.sb-battery{box-sizing:border-box;border:1px solid #cbd5e18c;border-radius:1.5px;align-items:center;width:15px;height:7px;padding:1.5px;display:flex;position:relative}.sb-battery-fill{background:#cbd5e1a6;border-radius:.5px;width:68%;height:100%}.phone-app-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.phone-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;text-align:center;flex-shrink:0;padding:6px 8px 1px;font-size:10px;font-weight:600}.phone-card.android .phone-label{color:var(--accent-android)}.phone-card.ios .phone-label{color:var(--accent-ios)}.phone-card.flutter .phone-label{color:var(--accent-flutter)}.phone-sublabel{font-family:var(--font-mono);color:var(--meta);text-align:center;letter-spacing:.04em;flex-shrink:0;padding:0 8px 4px;font-size:8px}.phone-code{font-family:var(--font-mono);flex-shrink:0;padding:6px 12px 4px;font-size:8.5px;line-height:1.65}.phone-card.android .phone-code{color:var(--accent-android)}.phone-card.ios .phone-code{color:var(--accent-ios)}.phone-card.flutter .phone-code{color:var(--accent-flutter)}.code-kw{opacity:.6}.code-fn{opacity:.85}.code-cls{font-weight:700}.mat-card-stack{flex-direction:column;flex-shrink:0;gap:4px;padding:4px 10px;display:flex}.mat-card{background:color-mix(in oklch, var(--accent-android) 13%, var(--surface-2));border:1px solid color-mix(in oklch, var(--accent-android) 18%, transparent);border-radius:5px;height:18px}.mat-card:nth-child(2){opacity:.55;width:78%}.mat-card:nth-child(3){opacity:.3;width:58%}.ios-list{flex-direction:column;flex-shrink:0;gap:3px;padding:4px 10px;display:flex}.ios-row{background:color-mix(in oklch, var(--accent-ios) 10%, var(--surface-2));border-bottom:1px solid color-mix(in oklch, var(--accent-ios) 8%, transparent);border-radius:5px;height:16px}.ios-row:nth-child(2){opacity:.55}.ios-row:nth-child(3){opacity:.28}.ios-glass-hint{background:color-mix(in oklch, var(--accent-ios) 8%, transparent);border:1px solid color-mix(in oklch, var(--accent-ios) 24%, transparent);opacity:.5;height:24px;transition:opacity var(--motion-panel) var(--ease-premium), backdrop-filter var(--motion-panel) var(--ease-premium);border-radius:8px;flex-shrink:0;margin:4px 10px}.phone-chip{font-family:var(--font-mono);border-radius:20px;flex-shrink:0;width:max-content;margin:4px 10px;padding:3px 9px;font-size:8px;display:inline-block}.chip-android{background:color-mix(in oklch, var(--accent-android) 14%, transparent);border:1px solid color-mix(in oklch, var(--accent-android) 35%, transparent);color:var(--accent-android)}.chip-ios{background:color-mix(in oklch, var(--accent-ios) 14%, transparent);border:1px solid color-mix(in oklch, var(--accent-ios) 35%, transparent);color:var(--accent-ios)}.chip-flutter{background:color-mix(in oklch, var(--accent-flutter) 14%, transparent);border:1px solid color-mix(in oklch, var(--accent-flutter) 35%, transparent);color:var(--accent-flutter)}.flutter-widget-blocks{flex-direction:column;flex-shrink:0;gap:3px;padding:4px 8px;display:flex}.flutter-widget-block{background:color-mix(in oklch, var(--accent-flutter) 10%, var(--surface-2));border-left:2px solid var(--accent-flutter);height:14px;font-family:var(--font-mono);color:var(--accent-flutter);opacity:.82;border-radius:3px;align-items:center;padding-left:4px;font-size:7px;display:flex}.flutter-device-cluster{width:var(--hero-phone-width);height:var(--hero-phone-height);z-index:1;transition:transform .42s var(--ease-snappy);cursor:default;flex-direction:column;align-items:center;gap:0;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)rotate(8deg)}.flutter-device-cluster:hover{z-index:10;transform:translateY(-50%)rotate(4deg)scale(1.06)}.flutter-device-cluster .phone-card.flutter{position:relative;top:auto;right:auto;transform:none!important}.flutter-device-cluster:hover .phone-card.flutter{box-shadow:0 30px 80px color-mix(in oklch, var(--accent-flutter) 28%, transparent)}.flutter-dock-connector{width:1px;height:var(--flutter-dock-gap);background:linear-gradient(to bottom, color-mix(in oklch, var(--accent-flutter) 55%, transparent), color-mix(in oklch, var(--accent-flutter) 20%, transparent));opacity:0;visibility:hidden;transition:opacity var(--motion-fast) var(--ease-premium), visibility var(--motion-fast) var(--ease-premium), transform var(--motion-fast) var(--ease-premium);pointer-events:none;position:absolute;top:100%;left:50%;transform:translate(-50%)translateY(-4px)}.flutter-device-cluster:hover .flutter-dock-connector{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.flutter-platform-dock{top:calc(100% + var(--flutter-dock-gap));width:var(--hero-phone-width);background:color-mix(in oklch, var(--accent-flutter) 5%, #080c14eb);border:1px solid color-mix(in oklch, var(--accent-flutter) 18%, transparent);-webkit-backdrop-filter:blur(12px);box-sizing:border-box;opacity:0;visibility:hidden;transform-origin:top;transition:opacity var(--motion-fast) var(--ease-premium), visibility var(--motion-fast) var(--ease-premium), transform var(--motion-fast) var(--ease-premium);pointer-events:none;border-radius:14px;padding:7px 10px;position:absolute;left:50%;transform:translate(-50%)translateY(-6px)scale(.96)}.flutter-device-cluster:hover .flutter-platform-dock{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)translateY(0)scale(1)}.flutter-dock-header{font-family:var(--font-mono);letter-spacing:.12em;color:color-mix(in oklch, var(--accent-flutter) 50%, var(--muted));text-align:center;text-transform:uppercase;margin-bottom:6px;font-size:6.5px}.flutter-dock-chips{grid-template-columns:1fr 1fr;gap:4px;display:grid}.flutter-dock-chip{font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;opacity:.7;transition:opacity var(--motion-medium) var(--ease-premium);border-radius:7px;justify-content:center;align-items:center;gap:3px;padding:4px 5px;font-size:7.5px;font-weight:600;display:flex}.flutter-device-cluster:hover .flutter-dock-chip{opacity:1}.fdc-android{background:color-mix(in oklch, var(--accent-android) 12%, transparent);border:1px solid color-mix(in oklch, var(--accent-android) 28%, transparent);color:var(--accent-android)}.fdc-ios{background:color-mix(in oklch, var(--accent-ios) 12%, transparent);border:1px solid color-mix(in oklch, var(--accent-ios) 28%, transparent);color:var(--accent-ios)}.fdc-web{color:#a78bfa;background:#a78bfa1f;background:lab(64.0812% 29.1806 -52.4362/.12);border:1px solid #a78bfa47;border:1px solid lab(64.0812% 29.1806 -52.4362/.28)}.fdc-desktop{background:color-mix(in oklch, var(--accent-flutter) 12%, transparent);border:1px solid color-mix(in oklch, var(--accent-flutter) 28%, transparent);color:var(--accent-flutter)}@media (max-width:920px){.hero-grid{grid-template-columns:1fr}.hero-right{min-height:320px}.phones-container{width:300px;height:360px;transform:scale(.85)}.flutter-platform-dock,.flutter-dock-connector{display:none}}@media (max-width:480px){.phones-container{transform:scale(.7)}.hero-right{min-height:240px}}.section-divider{background:linear-gradient(90deg, transparent, var(--border), transparent);width:100%;height:1px}.section-header{margin-bottom:var(--gap-xl)}.section-header h2{margin-bottom:var(--gap-md)}.section-header .lead{max-width:54ch}.pmt-core{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-xl);transition:border-color var(--motion-medium) var(--ease-premium), box-shadow var(--motion-medium) var(--ease-premium);padding:40px;position:relative;overflow:hidden}.pmt-core:before{content:"";background:linear-gradient(90deg, var(--accent-android), var(--accent-ios), var(--accent-flutter));height:1px;position:absolute;top:0;left:0;right:0}.pmt-core-inner{grid-template-columns:1fr auto;align-items:center;gap:40px;display:grid}.pmt-core-eyebrow{font-family:var(--font-mono);letter-spacing:.1em;color:var(--meta);text-transform:uppercase;margin-bottom:10px;font-size:10px}.pmt-core-title{color:var(--fg);margin-bottom:12px;font-size:22px;font-weight:600}.pmt-core-desc{color:var(--muted);max-width:54ch;min-height:3.2rem;margin-bottom:20px;font-size:14px;line-height:1.65}.pmt-core-tags{flex-wrap:wrap;gap:6px;display:flex}.pmt-core-tag{font-family:var(--font-mono);border:1px solid var(--border);color:var(--meta);border-radius:6px;padding:3px 8px;font-size:10px}.pmt-core-diagram{flex-direction:column;align-items:center;gap:0;min-width:150px;display:flex}.pmt-diagram-node{font-family:var(--font-mono);border:1px solid var(--border);color:var(--muted);white-space:nowrap;background:#ffffff08;border-radius:8px;padding:5px 13px;font-size:10px}.pmt-diagram-node.n-ui{border-color:color-mix(in oklch, var(--accent-android) 25%, transparent);color:color-mix(in oklch, var(--accent-android) 55%, var(--muted))}.pmt-diagram-node.n-state{border-color:color-mix(in oklch, var(--accent-ios) 22%, transparent);color:color-mix(in oklch, var(--accent-ios) 50%, var(--muted))}.pmt-diagram-node.n-net{border-color:color-mix(in oklch, var(--accent-flutter) 22%, transparent);color:color-mix(in oklch, var(--accent-flutter) 50%, var(--muted))}.pmt-diagram-node.n-rt,.pmt-diagram-node.n-rel{color:var(--fg-sub);border-color:#ffffff1a}.pmt-diagram-conn{background:linear-gradient(to bottom, var(--border), #ffffff0a);width:1px;height:14px}.pmt-bridge{pointer-events:none;height:44px;position:relative;overflow:visible}.pmt-bridge:before{content:"";background:linear-gradient(to bottom, var(--border), transparent);width:1px;height:22px;position:absolute;top:0;left:50%;transform:translate(-50%)}.pmt-bridge:after{content:"";background:linear-gradient(90deg, color-mix(in oklch, var(--accent-android) 45%, transparent), color-mix(in oklch, var(--accent-ios) 45%, transparent), color-mix(in oklch, var(--accent-flutter) 45%, transparent));width:67%;height:1px;position:absolute;top:22px;left:16.5%}.pmt-drop{width:1px;height:22px;position:absolute;top:22px}.pmt-drop-1{background:linear-gradient(to bottom, color-mix(in oklch, var(--accent-android) 40%, transparent), transparent);left:16.5%}.pmt-drop-2{background:linear-gradient(to bottom, color-mix(in oklch, var(--accent-ios) 40%, transparent), transparent);left:50%}.pmt-drop-3{background:linear-gradient(to bottom, color-mix(in oklch, var(--accent-flutter) 40%, transparent), transparent);right:16.5%}.pmt-panels{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.pmt-panel{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-xl);transition:transform var(--motion-medium) var(--ease-premium), border-color var(--motion-medium) var(--ease-premium), box-shadow var(--motion-medium) var(--ease-premium);padding:28px 24px;position:relative;overflow:hidden}.pmt-panel:before{content:"";height:1px;position:absolute;top:0;left:0;right:0}.pmt-panel.android:before{background:var(--accent-android)}.pmt-panel.ios:before{background:var(--accent-ios)}.pmt-panel.flutter:before{background:var(--accent-flutter)}.pmt-panel:hover{transform:translateY(-4px)}.pmt-panel.android:hover{border-color:color-mix(in oklch, var(--accent-android) 28%, transparent);box-shadow:0 16px 48px color-mix(in oklch, var(--accent-android) 8%, transparent)}.pmt-panel.ios:hover{border-color:color-mix(in oklch, var(--accent-ios) 28%, transparent);box-shadow:0 16px 48px color-mix(in oklch, var(--accent-ios) 8%, transparent)}.pmt-panel.flutter:hover{border-color:color-mix(in oklch, var(--accent-flutter) 28%, transparent);box-shadow:0 16px 48px color-mix(in oklch, var(--accent-flutter) 8%, transparent)}.pmt-panel-icon{border-radius:12px;place-items:center;width:44px;height:44px;margin-bottom:16px;display:grid}.pmt-panel.android .pmt-panel-icon{background:color-mix(in oklch, var(--accent-android) 12%, transparent)}.pmt-panel.ios .pmt-panel-icon{background:color-mix(in oklch, var(--accent-ios) 12%, transparent)}.pmt-panel.flutter .pmt-panel-icon{background:color-mix(in oklch, var(--accent-flutter) 12%, transparent)}.pmt-panel-title{color:var(--fg);margin-bottom:6px;font-size:18px;font-weight:600}.pmt-panel-subtitle{color:var(--muted);min-height:3.5rem;margin-bottom:16px;font-size:13px;line-height:1.6}.pmt-mini-ui{border:1px solid var(--border);background:#ffffff06;border-radius:10px;flex-direction:column;gap:6px;height:76px;margin-bottom:16px;padding:10px 10px 8px;display:flex;overflow:hidden}.pmt-mat-row{background:#3ddc8417;border:1px solid #3ddc8424;border-radius:4px;height:13px}.pmt-mat-row:first-child{width:90%}.pmt-mat-row:nth-child(2){width:70%}.pmt-mat-row:nth-child(3){width:52%}.pmt-ios-row{height:14px;font-family:var(--font-mono);color:#0a84ff8c;background:#0a84ff12;border:1px solid #0a84ff1f;border-radius:4px;justify-content:space-between;align-items:center;padding:0 6px;font-size:8px;display:flex}.pmt-flutter-block{background:#54c5f814;border:1px solid #54c5f824;border-radius:3px;height:12px}.pmt-flutter-block:first-child{width:95%}.pmt-flutter-block:nth-child(2){width:78%;margin-left:8px}.pmt-flutter-block:nth-child(3){width:62%;margin-left:16px}.pmt-flutter-block:nth-child(4){width:48%;margin-left:22px}.pmt-chips{flex-wrap:wrap;gap:5px;margin-bottom:14px;display:flex}.pmt-chip{font-family:var(--font-mono);border:1px solid;border-radius:5px;padding:3px 7px;font-size:10px}.pmt-panel.android .pmt-chip{border-color:color-mix(in oklch, var(--accent-android) 22%, transparent);color:color-mix(in oklch, var(--accent-android) 65%, var(--muted))}.pmt-panel.ios .pmt-chip{border-color:color-mix(in oklch, var(--accent-ios) 22%, transparent);color:color-mix(in oklch, var(--accent-ios) 65%, var(--muted))}.pmt-panel.flutter .pmt-chip{border-color:color-mix(in oklch, var(--accent-flutter) 22%, transparent);color:color-mix(in oklch, var(--accent-flutter) 65%, var(--muted))}.pmt-panel-micro{color:var(--meta);border-top:1px solid var(--border);min-height:3rem;margin-top:2px;padding-top:12px;font-size:12px;font-style:italic;line-height:1.55}.tos-layout{gap:var(--gap-xl);margin-top:var(--gap-lg);grid-template-columns:1fr 1fr;align-items:start;display:grid}.tos-core-card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-xl);transition:border-color var(--motion-medium) var(--ease-premium), box-shadow var(--motion-medium) var(--ease-premium);padding:36px 32px 32px;position:relative;overflow:hidden}.tos-core-card:before{content:"";background:var(--tos-glow-bg,radial-gradient(ellipse at 50% 0%, color-mix(in oklch, var(--accent-android) 6%, transparent), transparent 70%));pointer-events:none;transition:background var(--motion-panel) var(--ease-premium);position:absolute;inset:0}.tos-core-eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--meta);margin-bottom:12px;font-size:10px}.tos-core-title{color:var(--fg);margin-bottom:12px;font-size:20px;font-weight:600;line-height:1.3}.tos-core-desc{color:var(--muted);margin-bottom:32px;font-size:13px;line-height:1.65}.tos-diagram{flex-direction:column;align-items:stretch;gap:0;display:flex}.tos-diagram-node{border:1px solid var(--border);transition:border-color var(--motion-medium) var(--ease-premium), box-shadow var(--motion-medium) var(--ease-premium), background var(--motion-medium) var(--ease-premium);z-index:1;background:#ffffff06;border-radius:10px;align-items:center;gap:14px;padding:10px 14px;display:flex;position:relative}.tos-diagram-node.tos-node-active{border-color:var(--tos-node-color,var(--accent-android));background:color-mix(in oklch, var(--tos-node-color,var(--accent-android)) 8%, transparent);box-shadow:0 0 18px color-mix(in oklch, var(--tos-node-color,var(--accent-android)) 18%, transparent)}.tos-diagram-node-dot{background:var(--meta);width:8px;height:8px;transition:background var(--motion-medium) var(--ease-premium), box-shadow var(--motion-medium) var(--ease-premium);border-radius:50%;flex-shrink:0}.tos-diagram-node.tos-node-active .tos-diagram-node-dot{background:var(--tos-node-color,var(--accent-android));box-shadow:0 0 8px var(--tos-node-color,var(--accent-android))}.tos-diagram-node-label{color:var(--muted);transition:color var(--motion-medium) var(--ease-premium);font-size:12px;font-weight:500}.tos-diagram-node.tos-node-active .tos-diagram-node-label{color:var(--fg)}.tos-diagram-node-sub{font-family:var(--font-mono);color:var(--meta);transition:color var(--motion-medium) var(--ease-premium);margin-left:auto;font-size:10px}.tos-diagram-node.tos-node-active .tos-diagram-node-sub{color:var(--tos-node-color,var(--accent-android))}.tos-diagram-connector{background:linear-gradient(to bottom, var(--border), transparent);width:1px;height:16px;margin-left:27px}.tos-diagram-connector.active-line{background:linear-gradient(to bottom, var(--tos-node-color,var(--accent-android)), transparent);opacity:.5}.tos-right{flex-direction:column;gap:24px;display:flex}.tos-tabs{background:var(--surface-card);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;gap:6px;padding:5px;display:flex}.tos-tab{min-width:0;color:var(--muted);letter-spacing:.01em;transition:background var(--motion-fast) var(--ease-premium), color var(--motion-fast) var(--ease-premium), border-color var(--motion-fast) var(--ease-premium);white-space:nowrap;text-align:center;background:0 0;border:1px solid #0000;border-radius:8px;flex:1;justify-content:center;align-items:center;padding:9px 12px;font-size:12px;font-weight:500;display:inline-flex}.tos-tab:hover{color:var(--fg);background:#ffffff0a}.tos-tab.active{border-color:var(--border-strong);color:var(--fg);background:#ffffff12}.tos-tab.active[data-pillar=arch]{color:var(--accent-android);border-color:color-mix(in oklch, var(--accent-android) 28%, transparent)}.tos-tab.active[data-pillar=net]{color:var(--accent-ios);border-color:color-mix(in oklch, var(--accent-ios) 28%, transparent)}.tos-tab.active[data-pillar=prod]{color:var(--accent-fire);border-color:color-mix(in oklch, var(--accent-fire) 28%, transparent)}.tos-tab.active[data-pillar=lead]{color:var(--accent-lead);border-color:color-mix(in oklch, var(--accent-lead) 28%, transparent)}.tos-panels{min-height:280px;position:relative}.tos-panel{animation:tosPanelIn var(--motion-panel) var(--ease-premium);flex-direction:column;gap:20px;display:none}.tos-panel.active{display:flex}@keyframes tosPanelIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tos-panel-header{align-items:flex-start;gap:14px;display:flex}.tos-panel-icon{border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.tos-panel-title{color:var(--fg);margin-bottom:4px;font-size:17px;font-weight:600}.tos-panel-summary{color:var(--muted);font-size:13px;line-height:1.6}.tos-panel-details{flex-direction:column;gap:7px;display:flex}.tos-detail-item{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.tos-detail-item:before{content:"";background:var(--tos-panel-accent,var(--accent));border-radius:50%;flex-shrink:0;width:4px;height:4px}.tos-used-in{flex-wrap:wrap;align-items:center;gap:8px;padding-top:4px;display:flex}.tos-used-label{font-family:var(--font-mono);color:var(--meta);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.tos-used-chip{border:1px solid var(--border);color:var(--muted);background:#ffffff08;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:500}.tos-stack-strip{margin-top:var(--gap-xl);flex-direction:column;gap:16px;display:flex}.tos-stack-strip-inner{flex-wrap:wrap;gap:20px;display:flex}.tos-stack-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tos-stack-group-label{font-family:var(--font-mono);color:var(--meta);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;margin-right:4px;font-size:10px}.tos-chip{border:1px solid var(--border);color:var(--meta);transition:color var(--motion-fast) var(--ease-premium), border-color var(--motion-fast) var(--ease-premium);white-space:nowrap;background:#ffffff06;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:500}.tos-chip:hover{color:var(--fg);border-color:var(--border-strong)}.tos-accordion{display:none}.tos-acc-item{border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--motion-fast) var(--ease-premium);overflow:hidden}.tos-acc-item+.tos-acc-item{margin-top:8px}.tos-acc-item.open{border-color:var(--border-strong)}.tos-acc-header{background:var(--surface-card);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:16px 20px;display:flex}.tos-acc-header-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.tos-acc-title{color:var(--fg);font-size:14px;font-weight:600}.tos-acc-chevron{width:16px;height:16px;color:var(--meta);transition:transform var(--motion-medium) var(--ease-premium);flex-shrink:0;margin-left:auto}.tos-acc-item.open .tos-acc-chevron{transform:rotate(180deg)}.tos-acc-body{max-height:0;transition:max-height var(--motion-panel) var(--ease-premium);overflow:hidden}.tos-acc-item.open .tos-acc-body{max-height:600px}.tos-acc-content{background:var(--surface-card);border-top:1px solid var(--border);flex-direction:column;gap:12px;padding:16px 20px 20px;display:flex}@media (max-width:920px){.tos-layout{gap:var(--gap-lg);grid-template-columns:1fr}.tos-core-card{padding:28px 24px}.tos-right{display:none}.tos-accordion{margin-top:var(--gap-md);display:block}}@media (max-width:600px){.tos-tabs{display:none}.tos-stack-strip-inner{gap:12px}}@media (prefers-reduced-motion:reduce){.tos-panel{animation:none}.tos-diagram-node,.tos-tab,.tos-chip{transition:none}}.timeline{flex-direction:column;gap:0;display:flex}.timeline-item{gap:0 var(--gap-lg);padding-bottom:var(--gap-xl);grid-template-columns:180px 1px 1fr;display:grid}.timeline-item:last-child{padding-bottom:0}.timeline-meta{text-align:right;padding-top:4px}.timeline-date{font-family:var(--font-mono);color:var(--meta);font-size:12px;line-height:1.5}.timeline-company{color:var(--muted);margin-top:4px;font-size:13px;font-weight:600}.timeline-spine{flex-direction:column;align-items:center;display:flex}.timeline-dot{background:var(--accent);border:2px solid var(--bg);width:10px;height:10px;box-shadow:0 0 0 1px var(--accent);border-radius:50%;flex-shrink:0;margin-top:6px}.timeline-line{background:linear-gradient(to bottom, var(--border), transparent);flex:1;width:1px;margin-top:8px}.timeline-role{margin-bottom:4px;font-size:19px;font-weight:700}.timeline-location{font-family:var(--font-mono);color:var(--meta);margin-bottom:var(--gap-md);font-size:12px}.timeline-bullets{flex-direction:column;gap:8px;display:flex}.timeline-bullets li{color:var(--muted);align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;display:flex}.timeline-bullets li:before{content:"—";color:var(--meta);font-family:var(--font-mono);flex-shrink:0;margin-top:1px}.timeline-tags{margin-top:var(--gap-md);flex-wrap:wrap;gap:6px;display:flex}.timeline-tag{font-family:var(--font-mono);border:1px solid var(--border);color:var(--meta);border-radius:4px;padding:3px 8px;font-size:10px}@media (max-width:768px){.timeline-item{gap:var(--gap-sm);grid-template-columns:1fr}.timeline-meta{text-align:left}.timeline-spine{display:none}}.project-platform-dot{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.dot-android{background:color-mix(in oklch, var(--accent-android) 12%, transparent);color:var(--accent-android)}.dot-ios{background:color-mix(in oklch, var(--accent-ios) 12%, transparent);color:var(--accent-ios)}.dot-flutter{background:color-mix(in oklch, var(--accent-flutter) 12%, transparent);color:var(--accent-flutter)}.cs-timeline{padding-left:44px;position:relative}.cs-timeline:before{content:"";background:linear-gradient(to bottom, var(--accent-android), var(--accent-ios), var(--accent-flutter), #c084fc);opacity:.25;border-radius:2px;width:2px;position:absolute;top:20px;bottom:20px;left:11px}.cs-item{margin-bottom:64px;position:relative}.cs-item:last-child{margin-bottom:0}.cs-node{background:var(--bg);width:24px;height:24px;transition:box-shadow var(--motion-panel) var(--ease-premium), transform var(--motion-medium) var(--ease-premium);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:32px;left:-44px}.cs-node:before{content:"";background:var(--node-color,var(--accent-android));border-radius:50%;width:10px;height:10px}.cs-node:after{content:"";border:1px solid var(--node-color,var(--accent-android));opacity:.25;transition:opacity var(--motion-panel) var(--ease-premium), transform var(--motion-panel) var(--ease-premium);border-radius:50%;position:absolute;inset:-5px}.cs-item.in-view .cs-node{box-shadow:0 0 20px color-mix(in oklch, var(--node-color,var(--accent-android)) 60%, transparent);transform:scale(1.15)}.cs-item.in-view .cs-node:after{opacity:.6;transform:scale(1.4)}.cs-block{border:1px solid var(--border);transition:transform var(--motion-panel) var(--ease-premium), border-color var(--motion-panel) var(--ease-premium), box-shadow var(--motion-panel) var(--ease-premium);background:#ffffff06;border-radius:32px;grid-template-columns:1fr 360px;gap:0;display:grid;position:relative;overflow:hidden}.cs-block:before{content:"";background:radial-gradient(ellipse at top left, color-mix(in oklch, var(--block-glow,var(--accent-android)) 8%, transparent) 0%, transparent 55%);pointer-events:none;z-index:0;border-radius:32px;position:absolute;inset:0}.cs-block:hover{border-color:color-mix(in oklch, var(--block-glow,var(--accent-android)) 35%, transparent);box-shadow:0 24px 64px #00000073, 0 0 48px color-mix(in oklch, var(--block-glow,var(--accent-android)) 8%, transparent);transform:translateY(-6px)}.cs-info{z-index:1;flex-direction:column;gap:18px;padding:40px 36px;display:flex;position:relative}.cs-date-range{font-family:var(--font-mono);color:var(--node-color,var(--accent-android));letter-spacing:.07em;text-transform:uppercase;font-size:11px}.cs-title{letter-spacing:-.025em;margin:0;font-size:clamp(22px,2.2vw,28px);font-weight:800;line-height:1.1}.cs-positioning{color:var(--muted);font-size:13px;line-height:1.5}.cs-badges{flex-wrap:wrap;gap:6px;display:flex}.cs-meta-row{flex-wrap:wrap;gap:20px;display:flex}.cs-meta-item{flex-direction:column;gap:3px;display:flex}.cs-meta-label{font-family:var(--font-mono);color:var(--meta);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.cs-meta-value{color:var(--fg);font-size:13px;font-weight:600}.cs-desc{color:var(--muted);font-size:13.5px;line-height:1.7}.cs-contribs-label,.cs-techs-label,.cs-screens-label-info{font-family:var(--font-mono);color:var(--meta);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:9px}.cs-contribs ul{flex-direction:column;gap:5px;display:flex}.cs-contribs li{color:var(--muted);padding-left:18px;font-size:13px;line-height:1.6;position:relative}.cs-contribs li:before{content:"→";color:var(--node-color,var(--accent-android));font-size:11px;position:absolute;top:1px;left:0}.cs-techs{flex-wrap:wrap;gap:6px;display:flex}.cs-tech{font-family:var(--font-mono);background:var(--surface-card);border:1px solid var(--border);color:var(--meta);transition:border-color var(--motion-fast) var(--ease-premium), color var(--motion-fast) var(--ease-premium);border-radius:6px;padding:4px 10px;font-size:11px}.cs-block:hover .cs-tech{border-color:color-mix(in oklch, var(--block-glow,var(--accent-android)) 28%, transparent)}.cs-actions{flex-wrap:wrap;gap:8px;padding-top:4px;display:flex}.cs-btn{border:1px solid var(--border);color:var(--muted);transition:background var(--motion-fast) var(--ease-premium), border-color var(--motion-fast) var(--ease-premium), color var(--motion-fast) var(--ease-premium), opacity var(--motion-fast) var(--ease-premium);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-body);text-align:center;background:0 0;border-radius:10px;justify-content:center;align-items:center;padding:8px 16px;display:inline-flex}.cs-btn:hover{border-color:var(--node-color,var(--accent-android));color:var(--node-color,var(--accent-android))}.cs-btn-primary{background:color-mix(in oklch, var(--node-color,var(--accent-android)) 14%, transparent);border-color:color-mix(in oklch, var(--node-color,var(--accent-android)) 38%, transparent);color:var(--node-color,var(--accent-android))}.cs-btn-primary:hover{background:color-mix(in oklch, var(--node-color,var(--accent-android)) 24%, transparent)}.cs-btn[disabled],.cs-btn[disabled]:hover{opacity:.35;cursor:not-allowed;color:var(--meta);border-color:var(--border)}.cs-showcase{border-left:1px solid var(--border);z-index:1;background:linear-gradient(135deg,#ffffff06 0%,#0000 100%);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:32px 20px;display:flex;position:relative;overflow:hidden}.cs-showcase:before{content:"";background:radial-gradient(ellipse, color-mix(in oklch, var(--block-glow,var(--accent-android)) 14%, transparent) 0%, transparent 70%);pointer-events:none;border-radius:50%;width:240px;height:340px;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)}.cs-phone{z-index:2;width:192px;height:384px;transition:transform var(--motion-panel) var(--ease-premium), box-shadow var(--motion-panel) var(--ease-premium);background:#090912;border:2px solid #ffffff1a;border-radius:36px;position:relative;overflow:hidden;box-shadow:0 28px 72px #000000bf,0 0 0 1px #ffffff0a,inset 0 1px #ffffff0f}.cs-block:hover .cs-phone{transform:rotate(2deg)scale(1.02)}.cs-phone:after{content:"";z-index:10;background:#ffffff47;border-radius:2px;width:60px;height:4px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.cs-screen-wrap{border-radius:34px;position:absolute;inset:0;overflow:hidden}.cs-screen-slide{opacity:0;transition:opacity var(--motion-panel) var(--ease-premium);z-index:0;pointer-events:none;position:absolute;inset:0}.cs-screen-slide.active{opacity:1;z-index:1;pointer-events:auto}.cs-carousel-ctrl{z-index:3;justify-content:center;align-items:center;gap:10px;width:100%;max-width:220px;display:flex}.cs-arrow{box-sizing:border-box;cursor:pointer;width:48px;height:48px;color:var(--muted);-webkit-user-select:none;user-select:none;z-index:1;transition:color var(--motion-fast) var(--ease-premium);background:0 0;border:none;flex:0 0 48px;justify-content:center;align-items:center;padding:0;font-size:13px;display:flex;position:relative}.cs-arrow:before{content:"";border:1px solid var(--border);transition:background var(--motion-fast) var(--ease-premium), border-color var(--motion-fast) var(--ease-premium);z-index:-1;background:#ffffff0d;border-radius:50%;position:absolute;inset:9px}.cs-arrow:hover{color:var(--fg)}.cs-arrow:hover:before{border-color:var(--border-strong);background:#ffffff1c}.cs-dots{scrollbar-width:none;-ms-overflow-style:none;flex:auto;justify-content:center;align-items:center;gap:5px;min-width:0;padding-block:4px;display:flex;overflow-x:auto}.cs-dots::-webkit-scrollbar{display:none}.cs-dot{box-sizing:border-box;cursor:pointer;appearance:none;width:6px;min-width:6px;height:6px;min-height:6px;transition:width var(--motion-medium) var(--ease-premium), flex-basis var(--motion-medium) var(--ease-premium), min-width var(--motion-medium) var(--ease-premium), background var(--motion-medium) var(--ease-premium), opacity var(--motion-medium) var(--ease-premium);background:#ffffff26;border:none;border-radius:3px;flex:0 0 6px;margin:0;padding:0;font-size:0;line-height:0;display:block}.cs-dot.active{background:var(--block-glow,var(--accent-android));flex-basis:20px;width:20px;min-width:20px}.cs-dots-compact{gap:4px}.cs-dots-compact .cs-dot{border-radius:2.5px;flex-basis:5px;width:5px;min-width:5px;height:5px;min-height:5px}.cs-dots-compact .cs-dot.active{flex-basis:14px;width:14px;min-width:14px}.cs-showcase-skeleton{border-radius:var(--radius-xl);background:color-mix(in oklch, var(--surface) 70%, transparent);min-height:420px}.cs-screens-lbl{font-family:var(--font-mono);color:var(--meta);text-transform:uppercase;letter-spacing:.07em;font-size:9px}@media (max-width:1060px){.cs-block{grid-template-columns:1fr}.cs-showcase{border-left:none;border-top:1px solid var(--border);flex-flow:wrap;justify-content:center;gap:20px;padding:32px}.cs-phone{width:160px;height:320px}}@media (max-width:640px){.cs-timeline{padding-left:28px}.cs-timeline:before{left:9px}.cs-node{width:20px;height:20px;left:-28px}.cs-node:after{inset:-4px}.cs-info{gap:16px;padding:28px 22px}.cs-block{border-radius:22px}.cs-block:hover{transform:translateY(-3px)}.cs-block:hover .cs-phone{transform:none}.cs-item{margin-bottom:40px}}.agt-grid{margin-top:var(--gap-xl);grid-template-columns:1fr 380px;align-items:start;gap:48px;display:grid}@media (max-width:1080px){.agt-grid{grid-template-columns:1fr}}.agt-roadmap{padding-left:40px;position:relative}.agt-roadmap.fade-up{transition-delay:var(--agt-delay,0s)}@media (min-width:1081px){.education-scroll-section .agt-grid{align-items:start}.education-scroll-section .agt-leadership{align-self:start;top:clamp(88px,12vh,128px)}}.agt-spine{background:linear-gradient(to bottom, var(--accent-android), color-mix(in oklch, var(--accent-ios) 60%, transparent), transparent 90%);opacity:0;transform-origin:top;width:2px;transition:opacity var(--motion-medium) var(--ease-premium), transform var(--motion-reveal-duration) var(--ease-premium);border-radius:1px;transition-delay:40ms;position:absolute;top:12px;bottom:12px;left:10px;transform:scaleY(0)}.agt-roadmap.visible .agt-spine{opacity:1;transform:scaleY(1)}.agt-item{opacity:0;transition:opacity .48s var(--ease-premium), transform .48s var(--ease-premium);transition-delay:var(--agt-delay,0s);will-change:opacity, transform;margin-bottom:40px;position:relative;transform:translateY(16px)}.agt-item:last-child{margin-bottom:0}.agt-roadmap.visible .agt-item{opacity:1;will-change:auto;transform:translate(0,0)}.agt-node{z-index:1;width:22px;height:22px;transition:box-shadow var(--motion-medium) var(--ease-premium);border-radius:50%;place-items:center;display:grid;position:absolute;top:8px;left:-40px}.agt-node.completed{background:color-mix(in oklch, var(--accent-android) 18%, var(--bg));border:2px solid var(--accent-android);box-shadow:0 0 10px color-mix(in oklch, var(--accent-android) 30%, transparent)}.agt-node.future{border:2px dashed color-mix(in oklch, var(--meta) 50%, transparent);background:0 0}.agt-node.ongoing{background:color-mix(in oklch, var(--accent-flutter) 14%, var(--bg));border:2px solid color-mix(in oklch, var(--accent-flutter) 55%, transparent)}.agt-item:hover .agt-node.completed{box-shadow:0 0 18px color-mix(in oklch, var(--accent-android) 50%, transparent)}.agt-card{background:var(--surface-card);border:1px solid var(--border);transition:border-color var(--motion-medium) var(--ease-premium), transform var(--motion-medium) var(--ease-premium), opacity var(--motion-medium) var(--ease-premium);border-radius:22px;padding:24px 28px}.agt-item:hover .agt-card{border-color:var(--border-strong);transform:translate(3px)}.agt-item.future-item .agt-card{opacity:.6;border-style:dashed}.agt-item.future-item:hover .agt-card{opacity:.85}.agt-status-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.agt-status{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:3px 10px;font-size:10px;font-weight:600}.agt-status.completed{background:color-mix(in oklch, var(--accent-android) 14%, transparent);color:var(--accent-android)}.agt-status.future{background:color-mix(in oklch, var(--meta) 12%, transparent);color:var(--meta);border:1px dashed var(--meta)}.agt-status.ongoing{background:color-mix(in oklch, var(--accent-flutter) 12%, transparent);color:var(--accent-flutter)}.agt-icon-circle{background:color-mix(in oklch, var(--border-strong) 30%, transparent);width:28px;height:28px;transition:background var(--motion-fast) var(--ease-premium), transform var(--motion-fast) var(--ease-premium);border-radius:50%;place-items:center;display:grid}.agt-item:hover .agt-icon-circle{background:color-mix(in oklch, var(--border-strong) 45%, transparent);transform:rotate(-3deg)scale(1.04)}.agt-degree{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.3}.agt-school{color:var(--muted);margin-bottom:8px;font-size:13px}.agt-meta{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.agt-meta-item{font-family:var(--font-mono);color:var(--meta);font-size:11px}.agt-gpa{font-family:var(--font-mono);background:color-mix(in oklch, var(--accent-android) 12%, transparent);color:var(--accent-android);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600}.agt-desc{color:var(--muted);margin-bottom:14px;font-size:13px;line-height:1.6}.agt-tags{flex-wrap:wrap;gap:6px;display:flex}.agt-tag{color:var(--meta);background:color-mix(in oklch, var(--border-strong) 25%, transparent);border:1px solid var(--border);border-radius:999px;padding:2px 9px;font-size:11px}.agt-future-note{color:var(--meta);opacity:0;transition:opacity var(--motion-fast) var(--ease-premium);margin-top:10px;font-size:12px;font-style:italic}.agt-item.future-item:hover .agt-future-note{opacity:1}.agt-microcopy{color:var(--meta);opacity:0;transition:opacity .42s var(--ease-premium), transform .42s var(--ease-premium);transition-delay:var(--agt-delay,0s);will-change:opacity, transform;margin-top:24px;padding-left:40px;font-size:12px;font-style:italic;transform:translateY(10px)}.agt-roadmap.visible .agt-microcopy{opacity:1;will-change:auto;transform:translate(0,0)}.agt-leadership{background:var(--surface-card);border:1px solid var(--border);border-radius:22px;position:sticky;top:90px;overflow:hidden}.agt-leadership-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:20px 24px 16px;display:flex}.agt-leadership-title{font-size:15px;font-weight:700}.agt-leadership-sub{color:var(--meta);margin-top:2px;font-size:12px}.agt-signal{border-bottom:1px solid var(--border);opacity:0;transition:background var(--motion-fast) var(--ease-premium), opacity .42s var(--ease-premium), transform .42s var(--ease-premium);transition-delay:0s, var(--agt-signal-delay,0s), var(--agt-signal-delay,0s);will-change:opacity, transform;align-items:flex-start;gap:14px;padding:18px 24px;display:flex;transform:translate(12px)}.agt-signal:last-child{border-bottom:none}.agt-leadership.visible .agt-signal{opacity:1;will-change:auto;transform:translate(0,0)}.agt-signal:hover{background:color-mix(in oklch, var(--border) 20%, transparent)}.agt-signal-icon{border:1px solid var(--border);width:34px;height:34px;transition:transform var(--motion-fast) var(--ease-premium);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.agt-signal:hover .agt-signal-icon{transform:translateY(-1px)scale(1.04)}.agt-signal-title{margin-bottom:4px;font-size:14px;font-weight:600}.agt-signal-desc{color:var(--muted);font-size:12px;line-height:1.55}.agt-signal-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;vertical-align:middle;border-radius:999px;align-items:center;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.badge-leadership{background:color-mix(in oklch, var(--accent-android) 12%, transparent);color:var(--accent-android)}.badge-interviewing{background:color-mix(in oklch, var(--accent-ios) 12%, transparent);color:var(--accent-ios)}.badge-mentoring{background:color-mix(in oklch, var(--accent-flutter) 12%, transparent);color:var(--accent-flutter)}.badge-ownership{color:#a78bfa;background:#a78bfa1f;background:lab(64.0812% 29.1806 -52.4362/.12)}@media (max-width:720px){.agt-roadmap{padding-left:32px}.agt-spine{left:7px}.agt-node{width:18px;height:18px;left:-33px}.agt-card{padding:18px 20px}.agt-leadership{margin-top:0;position:static}}@media (prefers-reduced-motion:reduce){.agt-roadmap.fade-up,.agt-roadmap .agt-spine,.agt-roadmap .agt-item,.agt-roadmap .agt-microcopy,.agt-leadership .agt-signal,.agt-icon-circle,.agt-signal-icon{opacity:1;will-change:auto;transition:none;transform:none}}.gpa-badge{font-family:var(--font-mono);background:color-mix(in oklch, var(--accent-android) 12%, transparent);color:var(--accent-android);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.developer-profile-page{--developer-profile-backbar-height:calc(32px + 2.5rem);min-height:100dvh;padding-top:var(--developer-profile-backbar-height);background:var(--bg)}.developer-profile-backbar{z-index:100;background:color-mix(in oklch, var(--bg) 82%, transparent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px)saturate(1.3);padding-block:16px;position:fixed;top:0;left:0;right:0}.developer-profile-back{min-width:148px}.developer-profile-section{position:relative;overflow:hidden}.developer-profile-page .developer-profile-section{padding-top:clamp(48px,7vw,96px)}.developer-profile-section:before{content:"";background:linear-gradient(135deg, color-mix(in oklch, var(--accent-android) 5%, transparent), transparent 42%), radial-gradient(ellipse 55% 70% at 82% 28%, color-mix(in oklch, var(--accent-flutter) 5%, transparent), transparent);pointer-events:none;position:absolute;inset:0}.developer-profile-section .container{z-index:1;position:relative}.developer-profile-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);align-items:start;gap:clamp(28px,5vw,64px);display:grid}.developer-profile-copy h1,.developer-profile-copy h2{max-width:15ch;margin-bottom:var(--gap-md)}.developer-profile-title{letter-spacing:0;font-size:clamp(34px,4.5vw,58px);line-height:1.05}.developer-profile-answer{max-width:68ch;margin-bottom:var(--gap-md)}.developer-profile-alias{color:var(--muted);margin-bottom:var(--gap-lg);font-size:14px;line-height:1.6}.developer-profile-tags{flex-wrap:wrap;gap:7px;max-width:760px;display:flex}.developer-profile-tags span{border-radius:var(--radius);border:1px solid var(--border);background:color-mix(in oklch, var(--fg) 3%, transparent);min-height:28px;color:color-mix(in oklch, var(--fg) 72%, var(--muted));font-family:var(--font-mono);white-space:nowrap;align-items:center;padding:5px 10px;font-size:10px;font-weight:600;display:inline-flex}.developer-profile-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(160deg, color-mix(in oklch, var(--surface-card) 88%, transparent), color-mix(in oklch, var(--surface-2) 34%, transparent));box-shadow:0 18px 50px color-mix(in oklch, var(--bg) 50%, transparent), inset 0 1px 0 color-mix(in oklch, var(--fg) 6%, transparent);min-width:0;padding:clamp(24px,3vw,32px)}.developer-profile-panel-top{margin-bottom:var(--gap-lg);flex-direction:column;gap:8px;display:flex}.developer-profile-status{color:var(--fg);font-size:16px;font-weight:700;line-height:1.35}.developer-profile-updated{color:var(--meta);font-family:var(--font-mono);font-size:11px}.developer-profile-facts{gap:16px;margin:0;display:grid}.developer-profile-fact{border-top:1px solid var(--border);padding-top:16px}.developer-profile-fact:first-child{border-top:0;padding-top:0}.developer-profile-fact dt{color:var(--accent);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:700}.developer-profile-fact dd{color:var(--muted);margin:0;font-size:13px;line-height:1.58}.developer-service-block{margin-top:clamp(36px,6vw,72px)}.developer-service-block .section-header{max-width:760px;margin-bottom:var(--gap-lg)}.developer-service-block .section-header h2{letter-spacing:0}.developer-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.developer-service-item{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg, color-mix(in oklch, var(--fg) 4%, transparent), transparent), color-mix(in oklch, var(--surface-card) 86%, transparent);flex-direction:column;min-width:0;min-height:100%;padding:22px;display:flex}.developer-service-item h3{color:var(--fg);letter-spacing:0;margin-bottom:10px;font-size:17px;line-height:1.35}.developer-service-item p{color:var(--muted);margin-bottom:var(--gap-md);font-size:13.5px;line-height:1.65}.developer-service-keywords{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.developer-service-keywords span{border:1px solid var(--border);border-radius:var(--radius);min-height:26px;color:color-mix(in oklch, var(--fg) 72%, var(--muted));font-family:var(--font-mono);align-items:center;padding:4px 9px;font-size:10px;font-weight:600;line-height:1.3;display:inline-flex}.developer-faq-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:clamp(28px,5vw,52px);display:grid}.developer-faq-item{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in oklch, var(--surface-card) 86%, transparent);min-width:0;padding:22px}.developer-faq-item h3{color:var(--fg);margin-bottom:10px;font-size:16px;line-height:1.35}.developer-faq-item p{color:var(--muted);font-size:13.5px;line-height:1.65}@media (max-width:920px){.developer-profile-grid,.developer-service-grid,.developer-faq-grid{grid-template-columns:1fr}.developer-profile-copy,.developer-profile-copy .lead,.developer-profile-copy h1,.developer-profile-copy h2,.developer-profile-alias{max-width:none}}@media (max-width:520px){.developer-profile-tags span{white-space:normal}.developer-profile-panel,.developer-service-item,.developer-faq-item{border-radius:16px;padding:20px}}.contact-section{text-align:center;position:relative}.contact-section:before{content:"";background:radial-gradient(ellipse 60% 80% at 50% 50%, color-mix(in oklch, var(--accent-ios) 5%, transparent), transparent);pointer-events:none;position:absolute;inset:0}.contact-section h2{margin-bottom:var(--gap-md)}.contact-section .lead{margin:0 auto var(--gap-lg)}.contact-links{justify-content:center;gap:var(--gap-md);margin-top:var(--gap-xl);flex-wrap:wrap;display:flex}.contact-link{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-card);color:var(--muted);transition:color var(--motion-fast) var(--ease-premium), border-color var(--motion-fast) var(--ease-premium), transform var(--motion-fast) var(--ease-premium);text-align:center;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;display:inline-flex}.contact-link:hover{color:var(--fg);border-color:var(--border-strong);transform:translateY(-2px)}.pagefoot{padding-block:var(--gap-xl);border-top:1px solid var(--border)}.pagefoot-inner{justify-content:space-between;align-items:center;gap:var(--gap-md);flex-wrap:wrap;display:flex}.pagefoot-copy{color:var(--meta);font-size:13px;font-family:var(--font-mono)}.pagefoot-links{gap:var(--gap-lg);display:flex}.pagefoot-links a{color:var(--meta);transition:color var(--motion-fast) var(--ease-premium);font-size:13px}.pagefoot-links a:hover{color:var(--fg)}.fade-up{opacity:1;transform:none}html.js .fade-up:not(.visible){opacity:1;transform:translate3d(0, var(--motion-reveal-distance), 0);transition:transform var(--motion-reveal-duration) var(--ease-premium);will-change:transform}html.js .fade-up.visible{opacity:1;will-change:auto;transform:translate(0,0)}@media (prefers-reduced-motion:reduce){html.js .fade-up:not(.visible),html.js .fade-up.visible,.fade-up{opacity:1;will-change:auto;transition:none;transform:none}.hero-badge,.hero-tagline-dot{animation:none}}[data-en]{transition:opacity var(--motion-fast) var(--ease-premium)}.lang-switching [data-en]{opacity:0;transition:none}@media (prefers-reduced-motion:reduce){[data-en]{transition:none}}.nav-links a{text-align:center;white-space:nowrap;min-width:70px}.lang-btn{text-align:center;flex-shrink:0;width:52px}.btn{white-space:nowrap}.btn-primary{min-width:124px}.btn-secondary{min-width:116px}.btn-ghost{min-width:106px}.hero-headline{min-height:clamp(6.5rem,9vw,9rem)}.hero-sub{min-height:clamp(4rem,5.5vw,5rem)}.hero-cta{flex-wrap:wrap;align-items:center}.section-header .lead{min-height:2.8rem}.pmt-core-desc{min-height:3.2rem}.pmt-panel-subtitle{min-height:3.5rem}.pmt-panel-micro,.tos-panel-summary{min-height:3rem}.tos-panel-details{min-height:10rem}.tos-detail-item{min-height:1.6rem}.cs-positioning{min-height:1.8rem}.cs-desc{min-height:5rem}.cs-contribs ul{min-height:9rem}.cs-contribs li{min-height:1.7rem}.agt-card p[data-en]{min-height:4.5rem}.agt-signal-desc{min-height:3.5rem}.agt-signal-title{min-height:1.6rem}html{overflow-x:clip}body{max-width:100vw;overflow-x:hidden}.container{width:min(100% - clamp(32px, 5vw, 96px), var(--container))}.section{padding-block:clamp(56px,8vw,128px)}@supports (content-visibility:auto){.portfolio-scroll>.section:not(.scroll-tab-stage):not(.hero-section){content-visibility:auto;contain-intrinsic-size:auto 900px}#experience{contain-intrinsic-size:auto 1200px}#projects{contain-intrinsic-size:auto 1800px}#education{contain-intrinsic-size:auto 1200px}}@media (max-width:1023px){.nav-links{display:none}.nav-hamburger{display:flex}}@media (max-width:560px){.topnav-inner{gap:10px;padding-block:12px}.nav-actions{gap:8px}.nav-cta{display:none}}@media (min-width:1024px){.nav-links{display:flex}.nav-hamburger{display:none}.nav-mobile{display:none!important}}body.menu-open{overflow:hidden}@media (max-width:959px){.hero-section{min-height:auto;padding-block:clamp(48px,10vw,80px);position:relative}.hero-grid{text-align:center;grid-template-columns:1fr;gap:clamp(32px,5vw,56px)}.hero-sub{max-width:60ch;margin-inline:auto}.hero-badges,.hero-cta,.hero-tagline{justify-content:center}.hero-left{order:0}.hero-right{order:1;min-height:clamp(320px,42vw,380px);margin-top:clamp(12px,3vw,28px)}}@media (max-width:959px) and (min-width:601px){.phones-container{transform-origin:top;margin-top:0;transform:scale(.78)}}@media (max-width:600px){.hero-right{min-height:clamp(292px,74vw,320px)}.phones-container{transform-origin:top;margin-top:0;transform:scale(.6)}.hero-headline{font-size:clamp(34px,9vw,52px)}.hero-sub{font-size:clamp(13px,3.5vw,15px)}}@media (max-width:374px){.phones-container{transform-origin:top;margin-top:0;transform:scale(.52)}.hero-headline{font-size:clamp(30px,9.5vw,40px)}.hero-right{min-height:250px}.btn{padding:9px 14px;font-size:13px}.hero-cta{gap:8px}}.hero-cta{row-gap:10px}@media (max-width:430px){.hero-cta{flex-direction:column;align-items:stretch}.hero-cta .btn{text-align:center;justify-content:center;width:100%}}@media (max-width:374px){.hero-badges{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.hero-badges::-webkit-scrollbar{display:none}.hero-badge{flex-shrink:0}}.about-grid{grid-template-columns:minmax(0,280px) minmax(0,1fr);align-items:start;gap:clamp(32px,6vw,72px);display:grid}.about-profile{gap:var(--gap-lg);flex-direction:column;min-width:0;display:flex}.about-avatar{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface-card);aspect-ratio:1;place-items:center;display:grid;position:relative;overflow:hidden}.about-stats{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.about-profile-meta{text-align:center}.about-profile-name{letter-spacing:-.02em;color:var(--text);font-size:1.125rem;font-weight:700}.about-profile-role{font-family:var(--font-mono);color:var(--meta);margin-top:4px;font-size:11px}.about-copy{min-width:0}.about-contact-row{gap:var(--gap-md);flex-wrap:wrap;display:flex}.about-contact-item{align-items:center;gap:8px;min-width:0;display:flex}.about-contact-item svg{flex-shrink:0}.about-contact-item span{overflow-wrap:anywhere}@media (max-width:820px){.about-grid{grid-template-columns:1fr}.about-profile{width:min(100%,340px);margin-inline:auto}.about-copy{text-align:center}.about-copy .lead{margin-inline:auto}.about-contact-row{justify-content:center}}@media (max-width:420px){.about-profile{width:min(100%,300px)}.about-stats{gap:6px}}@media (max-width:1100px){.pmt-core-inner{grid-template-columns:1fr;gap:24px}.pmt-core-diagram{flex-flow:wrap;justify-content:center;align-items:center;gap:4px}.pmt-diagram-conn{background:linear-gradient(to right, transparent, var(--border), transparent);width:18px;height:1px}}@media (max-width:900px){.pmt-panels{grid-template-columns:1fr 1fr}.pmt-bridge{display:none}}@media (max-width:580px){.pmt-panels{grid-template-columns:1fr}.pmt-core{padding:28px 20px}.pmt-panel{padding:24px 20px}}@media (max-width:1100px) and (min-width:921px){.tos-layout{gap:var(--gap-lg)}.tos-core-card{padding:28px 24px}}@media (max-width:640px){.tos-core-card{padding:24px 18px}.tos-diagram-node{align-items:flex-start;gap:10px;padding:11px 12px}.tos-diagram-node-label,.tos-diagram-node-sub{overflow-wrap:anywhere;min-width:0}.tos-diagram-node-label{flex:auto}.tos-diagram-node-sub{text-align:right;flex:0 auto;margin-left:0}.tos-stack-strip-inner{flex-direction:column;gap:10px}.tos-stack-group{flex-wrap:wrap}}@media (max-width:900px) and (min-width:769px){.timeline-item{grid-template-columns:140px 1px 1fr}}@media (max-width:768px){.timeline-item{gap:var(--gap-md);padding-bottom:var(--gap-lg)}.timeline-role{font-size:17px}}@media (max-width:500px){.cs-timeline{padding-left:22px}.cs-timeline:before{width:2px;left:7px}.cs-node{width:16px;height:16px;top:24px;left:-22px}.cs-node:after{inset:-3px}.cs-info{gap:14px;padding:22px 18px}.cs-showcase{flex-direction:column;padding:24px 18px}.cs-block{border-radius:18px}.cs-title{font-size:20px}.cs-contribs li{font-size:12px}.cs-tech{padding:3px 8px;font-size:10px}.cs-actions{gap:6px}.cs-btn{padding:7px 12px;font-size:11px}}@media (max-width:430px){.cs-actions .cs-btn{flex:100%}}@media (max-width:820px) and (min-width:641px){.cs-phone{width:150px;height:300px}}.cs-info{overflow-wrap:break-word;word-break:break-word}@media (max-width:820px) and (min-width:721px){.agt-grid{grid-template-columns:1fr 320px;gap:32px}}@media (max-width:720px){.agt-grid{grid-template-columns:1fr;gap:32px}.agt-leadership{margin-top:var(--gap-lg)}}@media (max-width:500px){.agt-card{border-radius:16px;padding:16px 18px}.agt-degree{font-size:16px}.agt-node{left:-33px}.agt-status-row,.agt-meta{gap:8px}}.contact-links{flex-wrap:wrap}@media (max-width:500px){.contact-links{flex-direction:column;align-items:stretch}.contact-link{justify-content:center}}@media (max-width:640px){.contact-section:before{display:none}.pagefoot-inner{align-items:flex-start;gap:var(--gap-sm);flex-direction:column}.pagefoot-links{gap:var(--gap-md)}}@media (min-width:1536px){:root{--container:1360px}.section{padding-block:clamp(128px,9vw,160px)}.hero-section{padding-block:clamp(120px,10vw,160px)}}@media (min-width:1920px){:root{--container:1440px}}@media (hover:none) and (pointer:coarse){.card:hover,.platform-card:hover,.pmt-panel:hover{transform:none}.cs-block:hover{box-shadow:none;transform:none}.cs-block:hover .cs-phone,.ej-card:hover,.contact-link:hover,.agt-item:hover .agt-card,.agt-item:hover .agt-icon-circle,.agt-signal:hover .agt-signal-icon{transform:none}.phone-card:hover{z-index:2}.phone-card.android:hover{transform:translateY(-50%)rotate(-8deg)}.phone-card.ios:hover{transform:translate(-50%,-50%)}.flutter-device-cluster:hover{transform:translateY(-50%)rotate(8deg)}}.grid-3 .platform-card:first-child,.grid-3>:first-child{transition-delay:0s}.grid-3 .platform-card:nth-child(2),.grid-3>:nth-child(2){transition-delay:80ms}.grid-3 .platform-card:nth-child(3),.grid-3>:nth-child(3){transition-delay:.16s}.cs-showcase{overflow:hidden}.cs-phone{max-width:100%}@media (prefers-reduced-motion:reduce){.hero-tagline-dot{opacity:1;animation:none}.hero-badge{animation:none!important}.phone-card,.flutter-device-cluster,.nav-hamburger span{transition:none}.fade-up{opacity:1;will-change:auto;transition:none;transform:none}[data-en],.pmt-panel,.cs-block,.cs-phone,.contact-link,.agt-card,.ej-card,.tos-acc-body,.pts-acc-bd{transition:none}.pmt-panel:hover,.cs-block:hover,.cs-block:hover .cs-phone,.contact-link:hover,.agt-item:hover .agt-card,.ej-card:hover{transform:none}}.grid-2,.grid-3,.grid-4,.grid-2-1,.grid-1-2{min-width:0}.grid-2>*,.grid-3>*,.grid-4>*{overflow-wrap:break-word;min-width:0}@media (max-width:920px){.tos-panels,.tos-panel-details{min-height:auto}}img{max-width:100%;height:auto}.cs-screen-slide img,.cs-screen-slide>span{width:100%;max-width:none;height:100%;max-height:none;position:absolute;inset:0;display:block!important}.cs-screen-slide img{object-fit:cover;object-position:top center}.nav-mobile{box-sizing:border-box;max-width:100vw}@media (max-width:820px){.flutter-platform-dock,.flutter-dock-connector{display:none}.topnav{background:color-mix(in oklch, var(--bg) 92%, transparent);-webkit-backdrop-filter:none}.phone-card,.developer-profile-backbar{-webkit-backdrop-filter:none}.hero-badge,.hero-tagline-dot{animation:none!important}}.scroll-tab-stage{--scroll-tab-scroll-distance:0px;--scroll-tab-sticky-height:0px;--scroll-tab-progress:0;min-height:calc(var(--scroll-tab-sticky-height) + var(--scroll-tab-scroll-distance));scroll-margin-top:clamp(72px,10vh,108px);position:relative}.scroll-tab-sticky{z-index:2;position:sticky;top:clamp(72px,10vh,108px);transform:translateZ(0)}.scroll-tab-stage[data-scroll-tab-index] .pts-tab,.scroll-tab-stage[data-scroll-tab-index] .tos-tab{transition:background var(--motion-panel) var(--ease-premium), color var(--motion-panel) var(--ease-premium), border-color var(--motion-panel) var(--ease-premium), transform var(--motion-panel) var(--ease-premium)}.scroll-tab-stage[data-scroll-tab-index] .pts-tab.active,.scroll-tab-stage[data-scroll-tab-index] .tos-tab.active{transform:translateY(-1px)}.scroll-tab-stage.is-tab-stepping .pts-panel.active,.scroll-tab-stage.is-tab-stepping .tos-panel.active{animation:scrollTabPanelIn var(--motion-panel) var(--ease-premium);will-change:opacity, transform}.scroll-tab-stage[data-scroll-tab-index] .pts-vis-card{transition:opacity var(--motion-panel) var(--ease-premium), border-color var(--motion-panel) var(--ease-premium), box-shadow var(--motion-panel) var(--ease-premium)}@keyframes scrollTabPanelIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translate(0,0)}}@media (min-width:901px){.scroll-tab-stage[data-scroll-tabs=platforms] .scroll-tab-sticky{min-height:calc(100vh - clamp(72px,10vh,108px) - 48px)}}@media (min-width:921px){.scroll-tab-stage[data-scroll-tabs=expertise] .scroll-tab-sticky{min-height:calc(100vh - clamp(72px,10vh,108px) - 48px)}}@media (max-width:920px){.scroll-tab-stage{min-height:auto!important}.scroll-tab-sticky{position:static;transform:none;min-height:auto!important}}@media (prefers-reduced-motion:reduce){.scroll-tab-sticky{position:static;min-height:auto!important}.scroll-tab-stage[data-scroll-tab-index] .pts-panel.active,.scroll-tab-stage[data-scroll-tab-index] .tos-panel.active,.scroll-tab-stage.is-tab-stepping .pts-panel.active,.scroll-tab-stage.is-tab-stepping .tos-panel.active{animation:none}}.pts-strip{background:#ffffff08;border:1px solid #ffffff12;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:36px;padding:13px 20px;display:flex}.pts-strip-label{font-family:var(--font-mono);color:var(--meta);white-space:nowrap;font-size:10.5px}.pts-strip-chips{flex-wrap:wrap;gap:6px;display:flex}.pts-strip-chip{color:var(--muted);white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;padding:3px 10px;font-size:11px}.pts-tabs{background:#ffffff09;border:1px solid #ffffff12;border-radius:14px;gap:4px;width:fit-content;margin-bottom:24px;padding:5px;display:flex}.pts-tab{color:var(--muted);cursor:pointer;transition:background var(--motion-fast) var(--ease-premium), color var(--motion-fast) var(--ease-premium);white-space:nowrap;font-size:13px;font-weight:500;font-family:var(--font-body);text-align:center;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:9px 20px;display:inline-flex}.pts-tab.active{color:var(--fg);background:#ffffff17}.pts-tab-dot{opacity:.7;border-radius:999px;flex-shrink:0;width:6px;height:6px}.pts-tab.active .pts-tab-dot{opacity:1}.pts-body{grid-template-columns:240px 1fr;align-items:start;gap:24px;display:grid}.pts-visual{flex-direction:column;gap:8px;display:flex}.pts-vis-card{transition:opacity var(--motion-medium) var(--ease-premium), border-color var(--motion-medium) var(--ease-premium), box-shadow var(--motion-medium) var(--ease-premium);opacity:.32;cursor:pointer;background:#ffffff06;border:1px solid #ffffff0f;border-radius:16px;padding:14px 16px}.pts-vis-card.active{opacity:1}.pts-vis-card.android.active{border-color:color-mix(in oklch, var(--accent-android) 30%, transparent);box-shadow:0 6px 20px color-mix(in oklch, var(--accent-android) 9%, transparent)}.pts-vis-card.ios.active{border-color:color-mix(in oklch, var(--accent-ios) 30%, transparent);box-shadow:0 6px 20px color-mix(in oklch, var(--accent-ios) 9%, transparent)}.pts-vis-card.flutter.active{border-color:color-mix(in oklch, var(--accent-flutter) 30%, transparent);box-shadow:0 6px 20px color-mix(in oklch, var(--accent-flutter) 9%, transparent)}.pts-vis-card-top{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.pts-vis-label{color:var(--muted);letter-spacing:.04em;font-size:11px;font-weight:600}.pts-vis-badge{font-family:var(--font-mono);opacity:.7;font-size:9px}.pts-vis-rows{flex-direction:column;gap:5px;margin-bottom:7px;display:flex}.pts-vis-row{border-radius:3px;height:7px}.pts-vis-row-ios{color:#cbd5e173;height:auto;font-size:8.5px;font-family:var(--font-mono);border-radius:5px;justify-content:space-between;padding:3px 6px;display:flex}.pts-vis-code{font-family:var(--font-mono);opacity:.5;margin-top:3px;font-size:8px}.pts-panels{min-height:320px;position:relative}.pts-panel{opacity:0;pointer-events:none;transition:opacity var(--motion-medium) var(--ease-premium);background:#ffffff08;border:1px solid #ffffff14;border-radius:24px;padding:36px;position:absolute;top:0;left:0;right:0}.pts-panel.active{opacity:1;pointer-events:auto}.pts-panel-accent{border-radius:999px;width:36px;height:2px;margin-bottom:20px}.pts-panel-icon{border-radius:12px;place-items:center;width:44px;height:44px;margin-bottom:16px;display:grid}.pts-panel-icon svg{display:block}.pts-panel.android .pts-panel-icon{background:color-mix(in oklch, var(--accent-android) 12%, transparent)}.pts-panel.android .pts-panel-icon svg{transform:translateY(-5px)}.pts-panel.ios .pts-panel-icon{background:color-mix(in oklch, var(--accent-ios) 12%, transparent)}.pts-panel.flutter .pts-panel-icon{background:color-mix(in oklch, var(--accent-flutter) 12%, transparent)}.pts-panel-title{color:var(--fg);letter-spacing:-.02em;margin-bottom:10px;font-size:28px;font-weight:700}.pts-panel-desc{color:var(--muted);min-height:3rem;margin-bottom:24px;font-size:15px;line-height:1.65}.pts-chips{flex-wrap:wrap;gap:6px;margin-bottom:24px;display:flex}.pts-chip{color:var(--muted);white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff17;border-radius:999px;padding:5px 12px;font-size:12px}.pts-chip.android{border-color:color-mix(in oklch, var(--accent-android) 22%, transparent);color:color-mix(in oklch, var(--accent-android) 72%, var(--muted))}.pts-chip.ios{border-color:color-mix(in oklch, var(--accent-ios) 22%, transparent);color:color-mix(in oklch, var(--accent-ios) 72%, var(--muted))}.pts-chip.flutter{border-color:color-mix(in oklch, var(--accent-flutter) 22%, transparent);color:color-mix(in oklch, var(--accent-flutter) 72%, var(--muted))}.pts-used{border-top:1px solid #ffffff0f;align-items:center;gap:8px;padding-top:16px;font-size:12.5px;display:flex}.pts-used-label{font-family:var(--font-mono);color:var(--meta);letter-spacing:.05em;text-transform:uppercase;font-size:10px}.pts-used-projects{color:var(--muted)}.pts-acc{display:none}.pts-acc-item{border:1px solid #ffffff12;border-radius:18px;margin-bottom:10px;overflow:hidden}.pts-acc-hd{cursor:pointer;text-align:left;width:100%;transition:background var(--motion-fast) var(--ease-premium);background:#ffffff08;border:none;align-items:center;gap:10px;min-height:56px;padding:16px 20px;display:flex}.pts-acc-hd:hover{background:#ffffff0e}.pts-acc-hd[aria-expanded=true]{border-bottom:1px solid #ffffff0f}.pts-acc-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.pts-acc-title{color:var(--fg);font-size:15px;font-weight:600;font-family:var(--font-body);flex:1}.pts-acc-chevron{width:16px;height:16px;color:var(--muted);transition:transform var(--motion-medium) var(--ease-premium);flex-shrink:0}.pts-acc-hd[aria-expanded=true] .pts-acc-chevron{transform:rotate(180deg)}.pts-acc-bd{max-height:0;transition:max-height var(--motion-panel) var(--ease-premium);background:#ffffff05;overflow:hidden}.pts-acc-bd.open{max-height:480px}.pts-acc-bd-inner{padding:20px}.pts-acc-desc{color:var(--muted);min-height:2.5rem;margin-bottom:16px;font-size:14px;line-height:1.65}.pts-acc-used{color:var(--meta);border-top:1px solid #ffffff0f;padding-top:12px;font-size:12px}@media (max-width:900px){.pts-tabs,.pts-body{display:none}.pts-acc{display:block}.pts-strip{flex-direction:column;align-items:flex-start;gap:8px}.pts-strip-label{white-space:normal}.pts-strip-chips{width:100%}}@media (max-width:480px){.pts-strip{padding:12px 14px}.pts-chip{white-space:normal}.pts-acc-hd{padding:14px 16px}.pts-acc-bd-inner{padding:18px 16px}}@media (prefers-reduced-motion:reduce){.pts-vis-card,.pts-panel,.pts-acc-chevron,.pts-acc-bd{transition:none}}.experience-story{isolation:isolate;background:var(--bg);position:relative;overflow:hidden}.experience-story:before{content:"";background:linear-gradient(to bottom, transparent, color-mix(in oklch, var(--surface) 22%, transparent), transparent);pointer-events:none;z-index:-1;position:absolute;inset:0}.ej-shell{width:min(100%,1040px);margin-inline:auto}.ej-header{text-align:left;max-width:760px;margin-inline:0 auto}.ej-header .eyebrow{color:color-mix(in oklch, var(--accent-ios) 72%, var(--accent-android));margin-bottom:14px}.ej-header .lead{margin:var(--gap-md) 0 0;min-height:3.1em}.ej-timeline{--rail:150px;--spine:24px;--timeline-gap:18px;flex-direction:column;gap:20px;max-width:1000px;margin:clamp(34px,5vw,52px) auto 0;display:flex;position:relative}.ej-timeline:before{content:"";top:24px;bottom:24px;left:calc(var(--rail) + var(--timeline-gap) + (var(--spine) / 2));border-radius:var(--radius-pill);background:linear-gradient(to bottom, color-mix(in oklch, var(--accent-android) 52%, transparent), color-mix(in oklch, var(--accent-ios) 36%, transparent), color-mix(in oklch, var(--accent-flutter) 24%, transparent));width:1px;box-shadow:0 0 18px color-mix(in oklch, var(--accent-ios) 10%, transparent);position:absolute}.ej-stage{grid-template-columns:var(--rail) var(--spine) minmax(0, 760px);column-gap:var(--timeline-gap);align-items:start;min-width:0;display:grid;position:relative}.ej-date{text-align:right;color:var(--meta);font-family:var(--font-mono);letter-spacing:0;min-height:42px;padding-top:22px;font-size:11px;line-height:1.45}.ej-date strong{color:color-mix(in oklch, var(--fg) 72%, var(--meta));font-family:var(--font-body);letter-spacing:0;margin-bottom:3px;font-size:12px;font-weight:600;display:block}.ej-node{background:color-mix(in oklch, var(--bg) 76%, transparent);border:2px solid var(--bg);width:15px;height:15px;box-shadow:0 0 0 1px color-mix(in oklch, var(--node-color,var(--accent)) 46%, transparent), 0 0 18px color-mix(in oklch, var(--node-color,var(--accent)) 22%, transparent);z-index:1;border-radius:50%;justify-self:center;margin-top:25px;position:relative}.ej-node:after{content:"";border-radius:inherit;background:var(--node-color,var(--accent));position:absolute;inset:4px}.ej-stage.current .ej-node{box-shadow:0 0 0 1px color-mix(in oklch, var(--accent-android) 52%, transparent), 0 0 16px color-mix(in oklch, var(--accent-android) 24%, transparent), 0 0 24px color-mix(in oklch, var(--accent-ios) 15%, transparent)}.ej-stage.current .ej-node:after{background:linear-gradient(135deg, var(--accent-android), var(--accent-ios))}.ej-stage.foundation .ej-node{opacity:.72;box-shadow:0 0 0 1px color-mix(in oklch, var(--node-color,var(--accent-flutter)) 38%, transparent), 0 0 14px color-mix(in oklch, var(--node-color,var(--accent-flutter)) 18%, transparent)}.ej-card{z-index:0;border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in oklch, var(--surface-card) 72%, transparent), color-mix(in oklch, var(--surface-2) 22%, transparent));min-width:0;box-shadow:0 18px 52px color-mix(in oklch, var(--bg) 50%, transparent), inset 0 1px 0 color-mix(in oklch, var(--fg) 6%, transparent);transition:transform var(--motion-medium) var(--ease-premium), border-color var(--motion-medium) var(--ease-premium), box-shadow var(--motion-medium) var(--ease-premium);border-radius:26px;padding:clamp(26px,2.6vw,32px);position:relative;overflow:hidden}.ej-card:before{content:"";border-radius:var(--radius-pill);background:linear-gradient(to bottom, color-mix(in oklch, var(--node-color,var(--accent)) 68%, transparent), color-mix(in oklch, var(--node-color,var(--accent)) 18%, transparent));opacity:.78;width:2px;position:absolute;top:24px;bottom:24px;left:0}.ej-card>*{z-index:1;position:relative}.ej-card:hover,.ej-card:focus-visible{border-color:color-mix(in oklch, var(--node-color,var(--accent)) 20%, var(--border));box-shadow:0 22px 60px color-mix(in oklch, var(--bg) 52%, transparent), 0 0 22px color-mix(in oklch, var(--node-color,var(--accent)) 7%, transparent), inset 0 1px 0 color-mix(in oklch, var(--fg) 8%, transparent);transform:translateY(-4px)}.ej-card:focus-visible{box-shadow:0 0 0 3px color-mix(in oklch, var(--node-color,var(--accent)) 32%, transparent), 0 24px 78px color-mix(in oklch, var(--bg) 62%, transparent)}.ej-card.current{background:linear-gradient(145deg, color-mix(in oklch, var(--surface-card) 76%, transparent), color-mix(in oklch, var(--surface-2) 22%, transparent)) padding-box, linear-gradient(135deg, color-mix(in oklch, var(--accent-android) 24%, transparent), color-mix(in oklch, var(--accent-ios) 18%, transparent), color-mix(in oklch, var(--accent-flutter) 10%, transparent)) border-box;border:1px solid #0000;min-height:388px}.ej-card.foundation{opacity:.88;min-height:320px}.ej-card-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.ej-company{color:var(--fg);letter-spacing:0;margin-bottom:4px;font-size:15px;font-weight:700;display:block}.ej-card-meta-line{color:var(--meta);flex-wrap:wrap;align-items:center;gap:6px 10px;min-height:1.45em;font-size:12px;line-height:1.45;display:flex}.ej-card-meta-line .num{font-family:var(--font-mono);color:color-mix(in oklch, var(--fg) 54%, var(--meta));font-size:11px}.ej-role-title{color:var(--meta);letter-spacing:0;min-height:1.35em;margin-bottom:12px;font-size:14px;font-weight:700;line-height:1.35}.ej-label{border-radius:var(--radius-pill);background:color-mix(in oklch, var(--node-color,var(--accent)) 12%, transparent);border:1px solid color-mix(in oklch, var(--node-color,var(--accent)) 28%, transparent);min-height:22px;color:color-mix(in oklch, var(--node-color,var(--accent)) 76%, var(--fg));font-family:var(--font-mono);letter-spacing:0;text-transform:uppercase;white-space:nowrap;align-items:center;padding:4px 9px;font-size:10px;font-weight:600;display:inline-flex}.ej-value{color:var(--muted);max-width:64ch;min-height:3.2em;margin-bottom:18px;font-size:14px;line-height:1.58}.ej-section-label{color:var(--meta);font-family:var(--font-mono);letter-spacing:0;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:700;line-height:1.2;display:block}.ej-impact-list{gap:5px;min-height:132px;margin-bottom:18px;display:grid}.ej-card.foundation .ej-impact-list{min-height:100px}.ej-impact-row{border-top:1px solid color-mix(in oklch, var(--border) 62%, transparent);min-height:30px;color:var(--fg);grid-template-columns:16px minmax(0,1fr);align-items:center;gap:10px;padding:5px 0 5px 1px;font-size:13px;line-height:1.38;display:grid}.ej-impact-row:first-child{border-top:0}.ej-impact-dot{background:color-mix(in oklch, var(--node-color,var(--accent)) 11%, transparent);border:1px solid color-mix(in oklch, var(--node-color,var(--accent)) 34%, transparent);border-radius:50%;width:16px;height:16px;position:relative}.ej-impact-dot:after{content:"";border-radius:inherit;background:var(--node-color,var(--accent));position:absolute;inset:5px}.ej-tech-list{flex-wrap:wrap;align-content:flex-start;gap:7px;min-height:30px;display:flex;overflow:hidden}.ej-tech{border-radius:var(--radius-pill);border:1px solid color-mix(in oklch, var(--chip-color,var(--fg)) 22%, transparent);background:color-mix(in oklch, var(--chip-color,var(--fg)) 8%, transparent);min-height:26px;color:color-mix(in oklch, var(--chip-color,var(--fg)) 66%, var(--muted));font-family:var(--font-mono);white-space:nowrap;align-items:center;padding:4px 9px;font-size:10px;font-weight:600;display:inline-flex}@media (max-width:980px){.ej-timeline{--rail:124px;--timeline-gap:16px;max-width:900px}.ej-card{border-radius:24px}}@media (max-width:640px){.experience-story{overflow:hidden}.ej-header{text-align:left}.ej-timeline{--spine:22px;--timeline-gap:14px;gap:20px;margin-top:32px;display:flex}.ej-timeline:before{left:calc(var(--spine) / 2);top:16px;bottom:18px}.ej-stage{grid-template-columns:var(--spine) minmax(0, 1fr);column-gap:var(--timeline-gap)}.ej-date{display:none}.ej-node{grid-area:1/1;width:16px;height:16px;margin-top:8px}.ej-card{border-radius:22px;grid-area:1/2;min-height:0;padding:22px 18px}.ej-card.current,.ej-card.foundation{min-height:0}.ej-card-top{flex-direction:column;align-items:flex-start;gap:12px}.ej-role-title{min-height:1.35em}.ej-value{min-height:4.75em}.ej-impact-list{min-height:158px}.ej-card.foundation .ej-impact-list{min-height:118px}.ej-impact-row{align-items:start;min-height:36px}.ej-tech-list{flex-wrap:wrap;min-height:34px;max-height:72px}}@media (prefers-reduced-motion:reduce){.ej-card{transition:none}.ej-card:hover,.ej-card:focus-visible{transform:none}}
