*,::after,::before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d1117;--bg-card:#161b22;--bg-hero:#0a0e14;--accent:#58a6ff;--accent-glow:rgba(88, 166, 255, 0.18);--accent-arcane:#8b5cf6;--text:#c9d1d9;--text-muted:#8b949e;--border:#30363d;--border-accent:rgba(139, 92, 246, 0.25);--radius:8px;--shadow:0 4px 24px rgba(0, 0, 0, 0.45)}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6}.container{max-width:960px;margin:0 auto;padding:0 1.5rem}.site-nav{position:sticky;top:0;z-index:100;background:rgba(10,14,20,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.nav-inner{display:flex;align-items:stretch;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.nav-inner::-webkit-scrollbar{display:none}.nav-link{display:inline-flex;align-items:center;padding:.7rem 1rem;font-size:.8rem;font-weight:500;color:var(--text-muted);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;flex-shrink:0}.card>p,.nav-link:hover{color:var(--text)}.nav-link.nav-active{color:var(--accent);border-bottom-color:var(--accent)}.nav-link-linkedin{margin-left:auto;color:var(--accent);border-left:1px solid var(--border);padding-left:1rem}.nav-link-linkedin:hover{color:var(--accent);opacity:.8}section[id]{scroll-margin-top:48px}.hero{background-color:var(--bg-hero);background-image:radial-gradient(ellipse 80% 55%at 50%0,rgba(88,166,255,.11)0,transparent 60%),radial-gradient(ellipse 60% 50%at 8% 100%,rgba(139,92,246,.09)0,transparent 55%),radial-gradient(ellipse 55% 45%at 92% 95%,rgba(139,92,246,.07)0,transparent 50%),radial-gradient(circle,rgba(88,166,255,.11) 1px,transparent 1px);background-size:100% 100%,100% 100%,100% 100%,28px 28px;border-bottom:1px solid var(--border);padding:4.5rem 0 3.5rem;text-align:center}.kicker{display:inline-flex;align-items:center;gap:.55rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:.9rem;font-weight:600}.kicker::after,.kicker::before{content:"";display:inline-block;width:20px;height:1.5px;border-radius:2px;opacity:.75}.kicker::before{background:linear-gradient(to right,var(--accent),var(--accent-arcane))}.kicker::after{background:linear-gradient(to right,var(--accent-arcane),var(--accent))}.hero h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;color:#e6edf3;letter-spacing:-.025em;margin-bottom:.5rem;text-shadow:0 0 60px rgba(139,92,246,.22)}.subtitle,.summary{color:var(--text-muted)}.subtitle{font-size:1.05rem;margin-bottom:1rem}.summary{font-size:1rem;max-width:560px;margin:0 auto 1.5rem}.profile-photos{display:flex;justify-content:center;gap:1.75rem;margin:1.75rem 0}.profile-photo{margin:0}.profile-photo img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:2px solid var(--border);transition:border-color .3s,box-shadow .3s,transform .3s;display:block}.profile-photo img:hover{border-color:var(--accent-arcane);box-shadow:0 0 0 4px rgba(139,92,246,.22),0 0 32px rgba(139,92,246,.2);transform:scale(1.05)}.actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.button{display:inline-block;padding:.6rem 1.5rem;border-radius:6px;font-size:.875rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s,opacity .2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--accent);color:#0d1117}.button.primary:hover{opacity:.9;box-shadow:0 4px 20px rgba(88,166,255,.35)}.button.secondary{background:0 0;color:var(--accent);border:1px solid var(--accent)}.button.secondary:hover{background:rgba(88,166,255,.1)}main.container{padding-top:2.5rem;padding-bottom:3rem;display:flex;flex-direction:column;gap:2rem}.card{background:var(--bg-card);border:1px solid var(--border);border-top-color:var(--border-accent);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}.capability h3,.card h2{font-weight:600;color:#e6edf3}.card h2{font-size:1.05rem;letter-spacing:.01em;padding-bottom:.85rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem}.capability-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:.25rem}.capability{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:1rem;transition:border-color .2s,background .2s,box-shadow .2s}.capability:hover{border-color:var(--accent);background:rgba(88,166,255,.04);box-shadow:0 2px 16px rgba(88,166,255,.09)}.capability h3{font-size:.875rem;margin-bottom:.4rem}.capability p{line-height:1.5}.capability p,.section-note,footer.footer{color:var(--text-muted);font-size:.82rem}.section-note{margin-top:-.5rem;margin-bottom:1.25rem}.logo-wall{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.links a,.logo-tile{text-decoration:none;align-items:center}.logo-tile{display:flex;justify-content:center;background:#f5f8fa;border:1px solid var(--border);border-radius:8px;padding:.75rem;width:72px;height:72px;transition:border-color .2s,transform .2s,box-shadow .2s}.logo-tile:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 6px 18px rgba(88,166,255,.18)}.logo-tile img{width:44px;height:44px;object-fit:contain}.links{list-style:none;display:flex;flex-direction:column;gap:.5rem}.links a{color:var(--accent);font-size:.95rem;display:inline-flex;gap:.4rem}.links a::after{content:"→";font-size:.85em;opacity:.6;transition:transform .2s,opacity .2s}.links a:hover::after{transform:translateX(4px);opacity:1}footer.footer{border-top:1px solid var(--border);padding:1.5rem 0;text-align:center}.fade-up{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}.fade-up.visible{opacity:1;transform:translateY(0)}@media (max-width:600px){.hero{padding:2.5rem 0 2rem}.profile-photo img{width:90px;height:90px}.card{padding:1.25rem}.capability-grid{grid-template-columns:1fr 1fr}.logo-tile{width:60px;height:60px}.logo-tile img{width:36px;height:36px}}#logo-tooltip{position:fixed;background:#1c2128;border:1px solid rgba(88,166,255,.38);border-radius:8px;padding:.5rem .85rem;max-width:220px;width:max-content;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:9999;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.55)}#logo-tooltip.tip-visible{opacity:1}#logo-tooltip::after{content:"";position:absolute;left:50%;width:8px;height:8px;background:#1c2128;transform:translateX(-50%) rotate(45deg)}#logo-tooltip[data-dir=up]::after{bottom:-5px;border-right:1px solid rgba(88,166,255,.38);border-bottom:1px solid rgba(88,166,255,.38)}#logo-tooltip[data-dir=down]::after{top:-5px;border-left:1px solid rgba(88,166,255,.38);border-top:1px solid rgba(88,166,255,.38)}.tip-name{display:block;font-size:.8rem;font-weight:600;color:#e6edf3;line-height:1.3}.tip-quote{display:block;font-size:.72rem;color:var(--text-muted);font-style:italic;line-height:1.4;margin-top:.25rem}.writing-list{display:flex;flex-direction:column;gap:0}.writing-card{padding:1.25rem 0;border-bottom:1px solid var(--border)}.writing-card:first-child{padding-top:0}.writing-card:last-child{border-bottom:none;padding-bottom:0}.writing-card-meta{display:flex;align-items:center;gap:.65rem;margin-bottom:.35rem}.writing-date{font-size:.78rem;color:var(--text-muted)}.writing-publication{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);opacity:.8}.writing-title{font-size:1rem;font-weight:600;margin-bottom:.4rem}.writing-title a{color:#e6edf3;text-decoration:none;transition:color .2s}.writing-title a:hover{color:var(--accent)}.writing-excerpt{font-size:.85rem;color:var(--text-muted);line-height:1.55;margin-bottom:.75rem}.writing-links{display:flex;gap:1.25rem}.writing-link{font-size:.8rem;font-weight:500;color:var(--accent);text-decoration:none;transition:opacity .2s}.writing-link:hover{opacity:.75}.writing-link-external{color:var(--text-muted)}@media (prefers-reduced-motion:reduce){.fade-up{opacity:1;transform:none}#logo-tooltip,.button,.capability,.fade-up,.logo-tile,.profile-photo img{transition:none}}