:root{color-scheme:light dark;--bg:#f4f6fb;--bg-elevated:#fff;--text:#0d1222;--muted:#4c5674;--border:#d9deeb;--accent:#5b7cfa;--accent-contrast:#fff;--shadow:0 20px 40px #14182b14}:root[data-theme=dark]{--bg:#090b12;--bg-elevated:#111521;--text:#edf1fb;--muted:#9ba6c4;--border:#242d43;--accent:#8ba2ff;--accent-contrast:#0b1020;--shadow:0 24px 48px #00000073}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;color:var(--text);background:radial-gradient(1200px 500px at 85% -20%, #5b7cfa2e, transparent), var(--bg);font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6}a{color:inherit}.skip-link{z-index:99;background:var(--accent);color:var(--accent-contrast);border-radius:.5rem;padding:.5rem .75rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 84%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex;position:sticky;top:0}.brand{letter-spacing:.02em;font-weight:700;text-decoration:none}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.header-link{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.45rem .72rem;font-size:.92rem;text-decoration:none}.header-link:hover,.header-link:focus-visible{color:var(--text);border-color:var(--accent)}.theme-toggle{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .7rem;display:inline-flex}.theme-toggle .theme-toggle-label{font-size:.92rem}:root[data-theme=dark] .theme-toggle-light,:root[data-theme=light] .theme-toggle-dark{opacity:.5}main{gap:1rem;width:min(72rem,100% - 2rem);margin:1.25rem auto 4rem;display:grid}.section,.hero{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);box-shadow:var(--shadow);border-radius:1.1rem;padding:1.2rem}.hero h1{margin:.35rem 0 .8rem;font-size:clamp(1.7rem,8vw,3rem);line-height:1.2}.hero .pronouns{color:var(--muted);font-size:.5em;font-weight:500}.kicker{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.82rem}.headline{max-width:50ch;margin:0 0 .9rem;font-size:1.1rem}.availability{color:var(--muted);margin-top:0}.hero-actions{flex-wrap:wrap;gap:.7rem;display:flex}.button{border:1px solid #0000;border-radius:999px;padding:.65rem 1rem;font-weight:600;text-decoration:none;display:inline-block}.button.primary{background:var(--accent);color:var(--accent-contrast)}.button.secondary{border-color:var(--border);color:var(--text)}h2{margin-top:0;margin-bottom:.8rem;font-size:1.3rem}h3{margin:0 0 .2rem;font-size:1.02rem}p{margin-top:0}.timeline{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.timeline-item{position:relative}.card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:.9rem;padding:.95rem}.card ul{margin:.75rem 0 0;padding-left:1.1rem}.meta{color:var(--muted);margin:0}.at-symbol{color:var(--muted)}.chip-list{flex-wrap:wrap;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.chip-list li{border:1px solid var(--border);color:var(--muted);background:var(--bg-elevated);border-radius:999px;padding:.4rem .7rem;font-size:.93rem}.stack-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.grouped{gap:.9rem;display:grid}.credential{margin-bottom:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.85rem}.contact-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.contact-list li{border:1px solid var(--border);background:var(--bg-elevated);border-radius:.8rem;flex-direction:column;padding:.8rem;display:flex}.contact-list span{color:var(--muted);font-size:.85rem}@media (width>=52rem){main{gap:1.2rem;margin-top:2rem}.hero,.section{padding:1.5rem}.grouped{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:no-preference){.reveal{animation:.56s both rise}.reveal:nth-of-type(2){animation-delay:90ms}.reveal:nth-of-type(3){animation-delay:.15s}.reveal:nth-of-type(4){animation-delay:.21s}.reveal:nth-of-type(5){animation-delay:.27s}.reveal:nth-of-type(6){animation-delay:.33s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
