:root{--color-bg: #ffffff;--color-text: #1a1a1a;--color-muted: #55595e;--color-accent: #0b5fff;--color-border: #e2e2e2;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--max-width: 46rem}@media(prefers-color-scheme:dark){:root{--color-bg: #12141a;--color-text: #eef0f3;--color-muted: #a7acb3;--color-accent: #6ea8ff;--color-border: #2a2d34}}*{box-sizing:border-box}html{color-scheme:light dark}body{margin:0;font-family:var(--font-sans),sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6}a{color:var(--color-accent)}a:focus-visible,button:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--color-accent);color:#fff;padding:.75rem 1rem;z-index:100}.skip-link:focus{left:.5rem;top:.5rem}.site-header{border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-bg);z-index:10}section[id],.card[id],h2[id]{scroll-margin-top:5.5rem}.site-header nav{max-width:var(--max-width);margin:0 auto;padding:1.25rem 1.5rem;display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;justify-content:space-between}.site-header a.brand{font-weight:700;text-decoration:none;color:var(--color-text);font-size:1.1rem}.site-header ul{list-style:none;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:0;padding:0}.site-header a{text-decoration:none}.site-header a[aria-current=page]{text-decoration:underline}main{max-width:var(--max-width);margin:0 auto;padding:2.5rem 1.5rem 4rem}h1{font-size:2rem;margin-top:0}h2{font-size:1.375rem;margin-top:2.5rem}h3{font-size:1.125rem;margin-bottom:.25rem}.tagline{color:var(--color-muted);font-size:1.1rem}.hero{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.hero-text{flex:1;min-width:0}.hero h1{margin:0}.avatar{border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--color-border)}.card{border:1px solid var(--color-border);border-radius:.5rem;padding:1.25rem 1.5rem;margin-bottom:1.25rem}.card h3{margin-top:0}.card .meta{color:var(--color-muted);font-size:.9rem;margin-bottom:.5rem}p.meta{color:var(--color-muted);font-size:.9rem}.tag-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none}.tag-list li{font-size:.8rem;background:var(--color-border);border-radius:999px;padding:.15rem .65rem;color:var(--color-muted)}.site-footer{border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.9rem}.site-footer .footer-inner{max-width:var(--max-width);margin:0 auto;padding:1.5rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.contact-links{list-style:none;display:flex;gap:1rem;padding:0;margin:0}.skill-group,.cert-group{margin-bottom:1.5rem}.skill-group h3,.cert-group h3{margin-bottom:.5rem}.skill-category-label{color:var(--color-muted);font-size:.85rem;margin:.75rem 0 .25rem}.skill-note{color:var(--color-muted);font-style:italic;font-size:.9rem}.cert-list{list-style:none;padding:0;margin:0}.cert-list li{margin-bottom:.5rem}.back-to-top{position:fixed;right:1.25rem;bottom:1.25rem;background:var(--color-accent);color:#fff;text-decoration:none;padding:.5rem .9rem;border-radius:999px;font-size:.85rem;box-shadow:0 2px 8px #0003;opacity:0;visibility:hidden;transform:translateY(.5rem);transition:opacity .15s ease,transform .15s ease}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}.section-nav{position:fixed;top:50%;left:calc(50% + (var(--max-width) / 2) + 1.5rem);transform:translateY(-50%);max-width:12rem;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-bg);font-size:.85rem;opacity:0;visibility:hidden;transition:opacity .15s ease}.section-nav.visible{opacity:1;visibility:visible}.section-nav-title{margin:0 0 .5rem;font-weight:700;color:var(--color-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.section-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.section-nav a{text-decoration:none;color:var(--color-muted)}.section-nav a.active{color:var(--color-accent);font-weight:700}@media(max-width:1300px){.section-nav{display:none}}@media(prefers-reduced-motion:reduce){.section-nav{transition:none}}
