:root{--bg:#fbfbfa;--surface:#fff;--text:#1f2328;--text-muted:#656d76;--border:#e4e4e7;--border-soft:#f0f0f0;--accent:#0969da;--accent-hover:#0550ae;--accent-soft:#eef4fd;--chip-bg:#f6f7f9;--radius:10px}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fbfbfa;background-color:var(--bg);color:#1f2328;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:16px;line-height:1.65;margin:0}h1,h2,h3,h4{font-weight:600;letter-spacing:-.011em;line-height:1.25}a{color:#0969da;color:var(--accent)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.home-container{margin:0 auto;max-width:980px;padding:2.5rem 1.25rem 3rem}.profile-grid{grid-gap:2.75rem;align-items:start;display:grid;gap:2.75rem;grid-template-columns:250px 1fr}.profile-card{position:-webkit-sticky;position:sticky;top:2rem}.headshot{border:3px solid var(--surface);border-radius:50%;box-shadow:0 0 0 1px var(--border),0 5px 16px #0000001a;display:block;height:132px;margin-bottom:1.15rem;object-fit:cover;width:132px}.profile-card h1{font-size:1.35rem;font-weight:700;margin:0 0 .35rem}.tagline{color:var(--text-muted);font-size:.9rem;line-height:1.55;margin:0 0 1.5rem}.buttons{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.btn{display:block;padding:.5rem .9rem;text-align:center}.btn-outline{background-color:initial;border:1px solid var(--border);color:var(--text)}.btn-outline:hover{background-color:var(--chip-bg)}.skills-block h2{color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.07em;margin:0 0 .75rem;text-transform:uppercase}.skills-list{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:0}.skills-list li{background-color:var(--chip-bg);border:1px solid var(--border);border-radius:20px;color:var(--text-muted);font-size:.74rem;line-height:1.5;padding:.2rem .6rem}.about-me-section p{font-size:1rem;line-height:1.75;margin:0 0 1.15rem;max-width:62ch}.about-me-section p:first-child{font-size:1.08rem;margin-top:0}.about-me-section p:last-child{margin-bottom:0}@media (max-width:760px){.profile-grid{gap:2rem;grid-template-columns:1fr}.profile-card{position:static}.buttons{flex-direction:row;flex-wrap:wrap}.btn{flex:1 1;min-width:120px}}.project-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;padding:1.25rem;transition:border-color .15s ease,box-shadow .15s ease}.project-card:hover{border-color:#d0d7de;box-shadow:0 3px 10px #0000000d}.project-title{font-size:1.02rem;font-weight:600;margin:0 0 .45rem}.project-description{color:var(--text-muted);flex-grow:1;font-size:.88rem;line-height:1.6;margin:0 0 1rem}.project-link{color:var(--accent);font-size:.85rem;font-weight:500;text-decoration:none}.project-link:hover{text-decoration:underline}.project-technologies{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.9rem}.tech-bubble{background-color:var(--chip-bg);border:1px solid var(--border);border-radius:20px;color:var(--text-muted);font-size:.72rem;padding:.15rem .55rem}.portfolio{margin:0 auto;max-width:980px;padding:2.5rem 1.25rem 3rem}.portfolio h2{font-size:1.35rem;font-weight:700;margin:0 0 1.5rem}.projects{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.site-header{background-color:var(--surface);border-bottom:1px solid var(--border)}.site-header-inner{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:980px;padding:.9rem 1.25rem}.site-name{color:var(--text);font-size:.98rem;font-weight:600;letter-spacing:-.01em;text-decoration:none}.site-nav{display:flex;gap:1.35rem}.site-nav a{color:var(--text-muted);font-size:.88rem;text-decoration:none;transition:color .15s ease}.site-nav a:hover{color:var(--text)}.site-nav a.active{color:var(--text);font-weight:500}.footer{border-top:1px solid var(--border);font-size:.85rem;margin-top:1rem}.footer-inner{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:980px;padding:1.35rem 1.25rem}.footer p{color:var(--text-muted);margin:0}.footer-links{align-items:center;display:flex;flex-wrap:wrap;gap:1.1rem}.footer-links a{color:var(--text-muted);text-decoration:none;transition:color .15s ease}.footer-links a:hover{color:var(--text)}.footer-links p{color:var(--text-muted)}.contact-container{margin:0 auto;max-width:620px;padding:2.5rem 1.25rem 3rem}.contact-container h1{font-size:1.6rem;font-weight:700;margin:0 0 .6rem}.contact-container>p{color:var(--text-muted);font-size:.95rem;margin:0 0 1.75rem}.contact-info p{font-size:.95rem;margin:0 0 1rem}.contact-info a{color:var(--accent);text-decoration:none}.contact-info a:hover{text-decoration:underline}.social-links{display:flex;font-size:.9rem;gap:1.1rem;margin-bottom:2rem}.contact-picture{border:1px solid var(--border);border-radius:var(--radius);height:auto;max-width:380px;width:100%}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.88rem;font-weight:500;margin-bottom:.4rem}.form-group input,.form-group textarea{border:1px solid var(--border);border-radius:7px;font-family:inherit;font-size:.9rem;padding:.55rem .7rem;width:100%}.btn{border:none;cursor:pointer}.resume-container{margin:0 auto;max-width:820px;padding:2.5rem 1.25rem 3rem}.resume-header{margin-bottom:2.25rem}.resume-header h1{font-size:1.6rem;font-weight:700;margin:0 0 .3rem}.resume-subtitle{color:var(--text-muted);font-size:.95rem;margin:0 0 .85rem}.resume-links{display:flex;flex-wrap:wrap;font-size:.88rem;gap:1.1rem;margin-bottom:1.25rem}.resume-links a{color:var(--accent);text-decoration:none}.resume-links a:hover{text-decoration:underline}.resume-section{margin-bottom:2.5rem}.resume-section>h2{border-bottom:1px solid var(--border);color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.07em;margin:0 0 1.15rem;padding-bottom:.5rem;text-transform:uppercase}.resume-job{margin-bottom:1.85rem}.resume-job:last-child{margin-bottom:0}.resume-job-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:.4rem;justify-content:space-between}.resume-job-header h3{font-size:1.02rem;font-weight:600;margin:0}.resume-job-dates{color:var(--text-muted);font-size:.85rem;white-space:nowrap}.resume-job-location,.resume-job-subtitle{color:var(--text-muted);font-size:.85rem;margin:.15rem 0 0}.resume-job-intro{font-size:.93rem;line-height:1.7;margin:.7rem 0 0}.resume-job ul{margin:.7rem 0 0;padding-left:1.15rem}.resume-job li{font-size:.93rem;line-height:1.7;margin-bottom:.55rem}.resume-skills{grid-gap:1.35rem;display:grid;gap:1.35rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.resume-skill-group h4{font-size:.88rem;font-weight:600;margin:0 0 .3rem}.resume-skill-group p{color:var(--text-muted);font-size:.88rem;line-height:1.65;margin:0}.resume-section ul{margin:0;padding-left:1.15rem}.resume-section>ul li{font-size:.93rem;margin-bottom:.4rem}.btn{background-color:var(--accent);border-radius:7px;color:#fff;display:inline-block;font-size:.85rem;font-weight:500;padding:.5rem .95rem;text-decoration:none;transition:background-color .15s ease}.btn:hover{background-color:var(--accent-hover)}
/*# sourceMappingURL=main.cbbc36a3.css.map*/