body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;margin:0}.navbar{background:var(--color-ink);color:#fff;padding:1rem 1.5rem;position:sticky;top:0;z-index:10}.navbar-inner{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between}.navbar-name{font-size:1.2rem;font-weight:700}.navbar-links{display:flex;flex-wrap:wrap;gap:1.5rem;list-style:none;margin:0;padding:0}.navbar-links a{color:#fff;opacity:.85;text-decoration:none}.navbar-links a:focus,.navbar-links a:hover{opacity:1;text-decoration:underline}.hero{background:var(--color-accent);color:#fff;padding:4rem 1.5rem;text-align:center}.hero-image{border:5px solid #fff;border-radius:50%;height:150px;object-fit:cover;width:150px}.hero-title{font-size:2.5rem;margin:1rem 0 .5rem}.hero-subtitle{font-size:1.2rem;margin:0 0 1.5rem;opacity:.9}.hero-summary{margin:0 auto 2rem;max-width:42rem;opacity:.95}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.hero-button{background:#fff;border-radius:var(--radius);color:var(--color-accent);font-weight:700;padding:.7rem 1.5rem;text-decoration:none}.hero-button-ghost{background:#0000;box-shadow:inset 0 0 0 2px #fff;color:#fff}.hero-button:focus,.hero-button:hover{opacity:.9}.projects{background:var(--color-surface-muted);padding:4rem 1.5rem}.projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.project-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;padding:1.5rem}.project-title{color:var(--color-ink);margin:0 0 .75rem}.project-tech{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0 0 1rem;padding:0}.project-tech li{background:var(--color-surface-muted);border-radius:999px;color:var(--color-text-soft);font-size:.8rem;padding:.15rem .7rem}.project-description{flex-grow:1;margin:0 0 1rem}.project-link{align-self:flex-start;color:var(--color-accent);font-weight:700;text-decoration:none}.project-link:focus,.project-link:hover{text-decoration:underline}.skills{background:var(--color-surface);padding:4rem 1.5rem}.skills-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.skill-category{color:var(--color-ink);font-size:1.1rem;margin:0 0 .75rem}.skill-list{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}.skill-list li{border-radius:999px;color:var(--color-text-soft);font-size:.85rem;padding:.2rem .75rem}.education,.skill-list li{background:var(--color-surface-muted)}.education{padding:3rem 1.5rem}.education .section-title{margin-bottom:1.5rem}.education-detail{text-align:center}.education-degree{color:var(--color-ink);font-size:1.25rem;margin:0 0 .25rem}.education-meta{color:var(--color-text-soft);display:flex;flex-wrap:wrap;justify-content:center;list-style:none;margin:0 0 1.5rem;padding:0}.education-meta li+li:before{content:"·";margin:0 .6rem}.education-coursework{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .75rem;justify-content:center}.education-coursework-label{color:var(--color-text-soft);font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.education-coursework-list{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;list-style:none;margin:0;padding:0}.education-coursework-list li{background:var(--color-surface);border-radius:999px;color:var(--color-text-soft);font-size:.85rem;padding:.2rem .75rem}.contact{background:var(--color-ink);color:#fff;padding:3rem 1.5rem;text-align:center}.contact-title{font-size:2rem;margin:0 0 .5rem}.contact-blurb{margin:0 0 1.5rem;opacity:.85}.contact-list{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:center;list-style:none;margin:0;padding:0}.contact-list a{color:var(--color-accent);text-decoration:none}.contact-list a:focus,.contact-list a:hover{text-decoration:underline}:root{--color-ink:#2c3e50;--color-accent:#3498db;--color-surface:#fff;--color-surface-muted:#f4f4f4;--color-text:#333;--color-text-soft:#5a6b7b;--layout-width:960px;--radius:8px;--shadow:0 2px 5px #0000001a}body{color:#333;color:var(--color-text);line-height:1.6}.section-inner{margin:0 auto;max-width:960px;max-width:var(--layout-width)}.section-title{color:#2c3e50;color:var(--color-ink);font-size:2rem;margin:0 0 2.5rem;text-align:center}section[id]{scroll-margin-top:4rem}
/*# sourceMappingURL=main.0a46a80a.css.map*/