:root{--bg:#07111f;--bg-alt:#0a1a2f;--surface:#0f223d;--surface-2:#142b4c;--border:#1e3a5f;--border-strong:#2b4f7e;--text:#eef4fc;--text-muted:#a3b6cf;--text-subtle:#7f95b3;--primary:#2563eb;--primary-hover:#1d4ed8;--on-primary:#fff;--accent:#60a5fa;--accent-wire:#38bdf8;--ring:#93c5fd;--success:#34d399;--gradient-wire:linear-gradient(135deg,#38bdf8,#2563eb);--font-sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--radius:16px;--radius-sm:10px;--header-h:72px;--ease:cubic-bezier(0.2,0.7,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px;scroll-padding-top:var(--header-h)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#07111f;background-color:var(--bg);color:#eef4fc;color:var(--text);font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:16px;line-height:1.6;overflow-x:hidden}img{display:block;max-width:100%}a{color:#60a5fa;color:var(--accent)}code{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-family:var(--font-mono)}::selection{background:#38bdf859;color:#eef4fc;color:var(--text)}:focus-visible{border-radius:6px;outline:2px solid #93c5fd;outline:2px solid var(--ring);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.App{background-color:var(--bg);color:var(--text);min-height:100vh}.container{margin:0 auto;max-width:1160px;padding:0 24px;width:100%}.section{padding:112px 0}.section-alt{background-color:var(--bg-alt);border-bottom:1px solid var(--border);border-top:1px solid var(--border)}.section-header{margin-bottom:56px;max-width:640px}.eyebrow{align-items:center;color:var(--accent);display:inline-flex;font-family:var(--font-mono);font-size:.8125rem;font-weight:500;gap:10px;letter-spacing:.08em;margin-bottom:14px;text-transform:uppercase}.eyebrow:before{background:var(--gradient-wire);border-radius:2px;content:"";height:2px;width:28px}.section-title{text-wrap:balance;color:var(--text);font-size:clamp(2rem,4vw,2.75rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-bottom:16px}.section-subtitle{color:var(--text-muted);font-size:1.125rem}.btn{align-items:center;background-color:var(--primary);border:1px solid #0000;border-radius:999px;color:var(--on-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:1rem;font-weight:600;gap:10px;justify-content:center;min-height:48px;padding:12px 24px;text-decoration:none;transition:background-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease),border-color .2s var(--ease)}.btn:hover{background-color:var(--primary-hover);box-shadow:0 8px 28px #2563eb59;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn svg{flex-shrink:0;height:18px;width:18px}.btn-ghost{background-color:initial;border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover{background-color:var(--surface);border-color:var(--accent);box-shadow:none}.btn-sm{font-size:.9375rem;min-height:40px;padding:8px 18px}.chip-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none}.chip{background-color:#60a5fa1a;border:1px solid #60a5fa38;border-radius:999px;color:#c7dcf7;display:inline-block;font-family:var(--font-mono);font-size:.8125rem;line-height:1.5;padding:4px 12px;white-space:nowrap}.footer{background-color:var(--bg);border-top:1px solid var(--border);padding:32px 0}.footer-content{color:var(--text-subtle);display:flex;flex-wrap:wrap;font-size:.9375rem;gap:12px;justify-content:space-between}.footer a{color:var(--text-muted);text-decoration:none}.footer a:hover{color:var(--accent)}@media (max-width:768px){.section{padding:80px 0}.section-header{margin-bottom:40px}.container{padding:0 16px}}.header{align-items:center;border-bottom:1px solid #0000;display:flex;height:var(--header-h);inset:0 0 auto 0;position:fixed;transition:background-color .2s var(--ease),border-color .2s var(--ease);z-index:1000}.header-scrolled{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:#07111fd9;border-bottom-color:var(--border)}.header-content{align-items:center;display:flex;gap:24px;justify-content:space-between}.logo{align-items:center;color:var(--text);display:inline-flex;font-size:1.25rem;font-weight:700;gap:10px;letter-spacing:-.01em;min-height:44px;text-decoration:none}.logo-mark{height:34px;width:34px}.nav-list{display:flex;gap:4px;list-style:none}.nav-list a{align-items:center;border-radius:999px;color:var(--text-muted);display:inline-flex;font-size:.9375rem;font-weight:500;min-height:44px;padding:0 14px;text-decoration:none;transition:color .15s var(--ease),background-color .15s var(--ease)}.nav-list a:hover{background-color:#60a5fa14;color:var(--text)}.nav-list a.active{background-color:#60a5fa24;color:var(--text)}.header-actions{align-items:center;display:flex;gap:8px}.icon-link{align-items:center;border-radius:999px;color:var(--text-muted);display:inline-flex;height:44px;justify-content:center;transition:color .15s var(--ease),background-color .15s var(--ease);width:44px}.icon-link:hover{background-color:#60a5fa1a;color:var(--text)}.menu-btn{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text);cursor:pointer;display:none;height:44px;justify-content:center;width:44px}@media (max-width:860px){.header{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:#07111feb;border-bottom-color:var(--border)}.menu-btn{display:inline-flex}.header-cta{display:none}.nav{background-color:var(--bg);height:calc(100vh - var(--header-h));height:calc(100dvh - var(--header-h));left:0;opacity:0;padding:24px 16px;position:fixed;right:0;top:var(--header-h);transform:translateY(-8px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s;visibility:hidden}.nav-open{opacity:1;transform:translateY(0);visibility:visible}.nav-list{flex-direction:column;gap:4px}.nav-list a{border-radius:12px;font-size:1.125rem;min-height:56px;padding:0 16px;width:100%}}.hero{display:flex;flex-direction:column;gap:64px;isolation:isolate;justify-content:center;min-height:100vh;min-height:100svh;overflow:hidden;padding:calc(var(--header-h) + 56px) 0 64px;position:relative}.hero-bg{background:radial-gradient(60% 50% at 75% 35%,#2563eb47 0,#0000 70%),radial-gradient(40% 40% at 10% 90%,#38bdf81f 0,#0000 70%),linear-gradient(#60a5fa0f 1px,#0000 0) 0 0 /48px 48px,linear-gradient(90deg,#60a5fa0f 1px,#0000 0) 0 0 /48px 48px;inset:0;mask-image:linear-gradient(180deg,#000 60%,#0000);-webkit-mask-image:linear-gradient(180deg,#000 60%,#0000);position:absolute;z-index:-1}.hero-content{grid-gap:48px;align-items:center;display:grid;gap:48px;grid-template-columns:1.25fr 1fr}.availability{align-items:center;background:#34d39914;border:1px solid #34d3994d;border-radius:999px;color:#b4f0d8;display:inline-flex;font-size:.875rem;font-weight:500;gap:10px;margin-bottom:28px;padding:6px 14px 6px 12px}.availability-dot{animation:pulse 2.4s ease-out infinite;background:var(--success);border-radius:50%;box-shadow:0 0 0 0 #34d39999;height:8px;width:8px}@keyframes pulse{0%{box-shadow:0 0 0 0 #34d3998c}70%,to{box-shadow:0 0 0 10px #34d39900}}.hero-title{text-wrap:balance;font-size:clamp(2.75rem,6.5vw,4.5rem);font-weight:700;letter-spacing:-.035em;line-height:1.04;margin-bottom:16px}.hero-role{color:var(--accent);font-family:var(--font-mono);font-size:clamp(1rem,1.8vw,1.1875rem);font-weight:500;margin-bottom:24px}.hero-role-sep{color:var(--text-subtle)}.hero-role .nowrap{white-space:nowrap}.hero-description{color:var(--text-muted);font-size:1.125rem;line-height:1.7;margin-bottom:36px;max-width:580px}.hero-description strong{color:var(--text);font-weight:600}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px}.hero-portrait{display:flex;justify-content:center}.portrait{aspect-ratio:4/5;background:var(--gradient-wire);border-radius:28px;box-shadow:0 30px 80px #2563eb59;max-width:380px;padding:2px;position:relative;width:100%}.portrait:before{border:1px dashed #60a5fa66;border-radius:28px;content:"";inset:0;position:absolute;transform:translate(18px,18px);z-index:-1}.portrait img{border-radius:26px;height:100%;object-fit:cover;object-position:50% 20%;width:100%}.portrait-badge{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#0a1a2fe0;border:1px solid var(--border-strong);border-radius:14px;bottom:32px;box-shadow:0 12px 32px #00000059;display:flex;flex-direction:column;left:-28px;padding:12px 18px;position:absolute}.portrait-badge-name{color:var(--text);font-weight:600}.portrait-badge-meta{color:var(--accent);font-family:var(--font-mono);font-size:.8125rem}.hero-stats{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#0f223d99;border:1px solid var(--border);border-radius:var(--radius);display:grid;grid-template-columns:repeat(3,1fr)}.hero-stat{display:flex;flex-direction:column-reverse;gap:4px;padding:24px 28px}.hero-stat+.hero-stat{border-left:1px solid var(--border)}.hero-stat dd{background:var(--gradient-wire);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:2.25rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}.hero-stat dt{color:var(--text-muted);font-size:.9375rem}@media (max-width:960px){.hero-content{gap:56px;grid-template-columns:1fr}.hero-portrait{order:-1}.portrait{max-width:300px}}@media (max-width:640px){.hero{gap:48px;padding-top:calc(var(--header-h) + 32px)}.portrait{max-width:260px}.portrait-badge{bottom:20px;left:-12px;padding:10px 14px}.hero-buttons .btn{flex:1 1 100%}.hero-stats{grid-template-columns:1fr}.hero-stat{padding:18px 20px}.hero-stat+.hero-stat{border-left:none;border-top:1px solid var(--border)}}.services-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);list-style:none}.service-card{background:linear-gradient(180deg,var(--surface) 0,#0f223d80 100%);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;padding:32px;position:relative;transition:border-color .2s var(--ease),transform .2s var(--ease)}.service-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.service-icon{align-items:center;background:#2563eb29;border:1px solid #60a5fa47;border-radius:14px;color:var(--accent-wire);display:inline-flex;height:52px;justify-content:center;margin-bottom:24px;width:52px}.service-title{font-size:1.3125rem;font-weight:600;letter-spacing:-.01em;margin-bottom:10px}.service-description{color:var(--text-muted);flex-grow:1;margin-bottom:24px}@media (max-width:768px){.services-grid{grid-template-columns:1fr}.service-card{padding:24px}}.about-grid{grid-gap:64px;align-items:start;display:grid;gap:64px;grid-template-columns:1.15fr 1fr}.about-text p{color:var(--text-muted);font-size:1.0625rem;line-height:1.75;margin-bottom:18px;max-width:62ch}.about-text .eyebrow{color:var(--accent);font-size:.8125rem;line-height:1.6;margin-bottom:14px}.about-text .about-lead{color:var(--text);font-size:1.1875rem}.about-subheading{font-size:1.125rem;font-weight:600;margin:40px 0 16px}.skills-list{border-top:1px solid var(--border);list-style:none}.skill-row{grid-gap:16px;align-items:center;border-bottom:1px solid var(--border);display:grid;gap:16px;grid-template-columns:1fr auto 72px;padding:12px 0}.skill-name{font-weight:500}.skill-level{color:var(--text-muted);font-size:.9375rem}.skill-years{color:var(--accent);font-family:var(--font-mono);font-size:.875rem;text-align:right}.about-side{display:flex;flex-direction:column;gap:20px}.side-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px}.side-title{font-size:1.125rem;font-weight:600;margin-bottom:20px}.toolbox-group+.toolbox-group{margin-top:20px}.toolbox-group h4{color:var(--text-subtle);font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.company-details div{grid-gap:12px;border-bottom:1px solid var(--border);display:grid;gap:12px;grid-template-columns:96px 1fr;padding:10px 0}.company-details div:last-child{border-bottom:none;padding-bottom:0}.company-details dt{color:var(--text-subtle);font-size:.9375rem}.company-details dd{color:var(--text);font-size:.9375rem;overflow-wrap:anywhere}.company-details a{color:var(--accent);text-decoration:none}.company-details a:hover{text-decoration:underline}@media (max-width:960px){.about-grid{gap:48px;grid-template-columns:1fr}}@media (max-width:480px){.skill-row{grid-template-columns:1fr auto;row-gap:2px}.skill-level{font-size:.875rem;grid-column:1;grid-row:2}.skill-years{grid-column:2;grid-row:1/span 2}.side-card{padding:22px}}.timeline{list-style:none;position:relative}.timeline:before{background:linear-gradient(to bottom,var(--accent-wire),var(--primary) 60%,var(--border));border-radius:2px;bottom:8px;content:"";left:200px;position:absolute;top:8px;width:2px}.timeline-item{display:grid;grid-template-columns:200px 1fr;position:relative}.timeline-item+.timeline-item{margin-top:28px}.timeline-item:before{background:var(--bg);border:3px solid var(--accent);border-radius:50%;content:"";height:14px;left:194px;position:absolute;top:30px;width:14px;z-index:1}.timeline-meta{display:flex;flex-direction:column;gap:2px;padding:26px 32px 0 0;text-align:right}.timeline-period{color:var(--text);font-family:var(--font-mono);font-size:.875rem;font-weight:500}.timeline-location{color:var(--text-subtle);font-size:.875rem}.role-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-left:36px;padding:28px 32px;transition:border-color .2s var(--ease)}.role-card:hover{border-color:var(--border-strong)}.role-header{margin-bottom:14px}.role-title{font-size:1.25rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}.role-company{color:var(--accent);font-weight:500;margin-top:2px}.role-project{color:var(--text-muted);font-weight:400}.role-summary{color:var(--text-muted);margin-bottom:18px;max-width:72ch}.role-highlights{grid-gap:8px;display:grid;gap:8px;list-style:none;margin-bottom:22px}.role-highlights li{color:#c9d7ea;font-size:.9688rem;line-height:1.6;padding-left:22px;position:relative}.role-highlights li:before{background:var(--accent-wire);border-radius:2px;content:"";height:2px;left:2px;position:absolute;top:.62em;width:8px}.earlier{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);margin-top:72px;padding:32px}.earlier-title{font-size:1.125rem;font-weight:600;margin-bottom:8px}.earlier-list{list-style:none}.earlier-item{grid-gap:16px;border-bottom:1px solid var(--border);display:grid;gap:16px;grid-template-columns:200px 1fr;padding:16px 0}.earlier-item:last-child{border-bottom:none;padding-bottom:0}.earlier-period{color:var(--text-muted);font-family:var(--font-mono);font-size:.875rem;padding-top:2px}.earlier-role{font-weight:600}.earlier-role span{color:var(--accent);font-weight:500}.earlier-summary{color:var(--text-muted);font-size:.9375rem}@media (max-width:860px){.timeline:before{left:6px}.timeline-item{grid-template-columns:1fr;padding-left:32px}.timeline-item:before{left:0;top:4px}.timeline-meta{flex-direction:row;flex-wrap:wrap;gap:4px 12px;padding:0 0 10px;text-align:left}.role-card{margin-left:0;padding:22px 20px}.earlier{padding:24px 20px}.earlier-item{gap:4px;grid-template-columns:1fr}}.contact-card{background:linear-gradient(160deg,#10284a 0,var(--surface) 55%,var(--bg-alt) 100%);border:1px solid var(--border-strong);border-radius:24px;isolation:isolate;overflow:hidden;padding:72px 64px;position:relative;text-align:center}.contact-glow{background:radial-gradient(50% 50% at 50% 0,#38bdf838 0,#0000 70%);height:120%;inset:-40% -10% auto;position:absolute;z-index:-1}.contact-card .eyebrow{justify-content:center}.contact-lead{color:var(--text-muted);font-size:1.125rem;margin:0 auto 40px;max-width:520px}.contact-email-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:40px}.contact-email{align-items:center;background:var(--primary);border-radius:999px;color:var(--on-primary);display:inline-flex;font-size:clamp(1.125rem,3vw,1.625rem);font-weight:600;gap:14px;letter-spacing:-.01em;overflow-wrap:anywhere;padding:14px 28px;text-decoration:none;transition:background-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.contact-email:hover{background:var(--primary-hover);box-shadow:0 12px 36px #2563eb73;transform:translateY(-1px)}.copy-btn{min-width:112px}.contact-meta{color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.9375rem;gap:12px 28px;justify-content:center;list-style:none}.contact-meta a,.contact-meta li{align-items:center;display:inline-flex;gap:8px}.contact-meta a{color:var(--text);font-weight:500;min-height:44px;text-decoration:none}.contact-meta a:hover,.contact-meta svg{color:var(--accent)}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (max-width:640px){.contact-card{border-radius:20px;padding:48px 20px}.contact-email{justify-content:center;padding:14px 20px;width:100%}.copy-btn{width:100%}.contact-meta{align-items:center;flex-direction:column}}
/*# sourceMappingURL=main.c120fde1.css.map*/