.navbar[data-astro-cid-c75fxstf]{z-index:10;border-bottom:1px solid var(--color-dark-border);background:#0f1117f0;position:sticky;top:0}.navbar__inner[data-astro-cid-c75fxstf]{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:14px 24px;display:flex}.navbar__name[data-astro-cid-c75fxstf]{color:var(--color-white);font-size:var(--text-sm);font-weight:600;text-decoration:none}.navbar__link[data-astro-cid-c75fxstf]{color:var(--color-dark-text-tertiary);font-size:var(--text-sm);transition:color var(--transition);align-items:center;padding:2px 0;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.navbar__link[data-astro-cid-c75fxstf]:before{content:"";position:absolute;inset:-14px -6px}.navbar__link[data-astro-cid-c75fxstf]:hover{color:var(--color-white);text-decoration:underline}:root{--color-bg:#fafaf8;--color-white:#fff;--color-text:#1a1a1a;--color-text-secondary:#6b6b6b;--color-accent:#0b7a52;--color-accent-rgb:11, 122, 82;--color-accent-bright:#34d399;--color-accent-hover:#086341;--color-accent-light:#e9fbf3;--color-accent-border:#beead3;--color-border:#e8e8e8;--color-card-surface:#f9fafb;--color-card-border:#e5e7eb;--color-meta-text:#5b6472;--color-dark-bg:#0f1117;--color-dark-border:#374151;--color-dark-text-secondary:#9ca3af;--color-dark-text-tertiary:#d1d5db;--radius-chip:8px;--shadow-hover:0 8px 24px #00000014;--shadow-accent-glow:0 8px 24px rgba(var(--color-accent-rgb), .35);--transition:.2s ease;--content-width:720px;--font-family-base:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.5rem;--text-xl:1.75rem;--text-display:clamp(2.5rem, 5.5vw, 5rem)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-family-base);font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.7}.container{max-width:var(--content-width);margin:0 auto;padding:0 24px}.container--wide{max-width:960px}h1,h2,h3{margin:0;line-height:1.2}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}p{margin:0}a{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}#hero a:focus-visible,#hero button:focus-visible,#contact a:focus-visible,#contact button:focus-visible,#projects-hero a:focus-visible,#projects-hero button:focus-visible,.navbar a:focus-visible{outline-color:var(--color-accent-bright)}section{padding:96px 0}.pill-button{border-radius:var(--radius-chip);font-weight:600;font-size:var(--text-sm);transition:box-shadow var(--transition), transform var(--transition), border-color var(--transition);border:1px solid #0000;align-items:center;gap:8px;padding:12px 24px;text-decoration:none;display:inline-flex}.pill-button:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.pill-button:active{box-shadow:none;transform:translateY(0)scale(.97)}.pill-button--solid{background:var(--color-accent);color:var(--color-white)}.pill-button--outline{color:var(--color-text);border-color:var(--color-border);background:0 0}.pill-button--outline-dark{color:var(--color-white);border-color:var(--color-dark-border);background:0 0}.pill-button--outline-dark:hover{border-color:var(--color-white);box-shadow:none}.badge-pill{background:rgba(var(--color-accent-rgb), .15);border:1px solid var(--color-accent-bright);color:var(--color-accent-bright);border-radius:var(--radius-chip);font-size:var(--text-sm);align-items:center;gap:8px;padding:6px 16px;font-weight:600;display:inline-flex}.tag{font-family:var(--font-family-mono);background:var(--color-accent-light);color:var(--color-accent);border:1px solid var(--color-accent-border);border-radius:var(--radius-chip);font-size:var(--text-xs);letter-spacing:-.01em;padding:3px 10px;font-weight:500;display:inline-block}.section-title{font-size:var(--text-xl);letter-spacing:-.02em;margin-bottom:2rem;font-weight:700}@media (width<=600px){section{padding:64px 0}}
