.page{width:100%;margin:0;padding:1.5rem 1.25rem 4rem}@media (min-width: 900px){.page{padding:2rem 3vw 5rem}.header{padding:.75rem 0 .4rem}.nav{gap:1.75rem;font-size:1rem}.hero{padding:.35rem 0 2rem}.hero-name{font-size:clamp(4.5rem,8vw,6.5rem)}.hero-lead{font-size:1.3rem}.hero-actions{margin-top:1rem;gap:1rem}.button{padding:.85rem 1.35rem;font-size:1rem}.section{padding:4rem 0}.section h2{margin-bottom:1.35rem;font-size:2.15rem}.section>p{font-size:1.05rem}.project-body{padding:.35rem 0 1.35rem}.project:first-child .project-body{padding-top:0}.project:last-child .project-body{padding-bottom:.5rem}.edu-item{padding:.55rem 0}.edu-item:first-child{padding-top:0}.exp-item{padding:.45rem 0}.exp-item:first-child{padding-top:0}.exp-item:last-child{padding-bottom:.35rem}.edu-item:last-child{padding-bottom:.35rem}#about.section{padding-top:1.25rem;padding-bottom:1.75rem}#professional-projects.section,#projects.section{padding-top:1.75rem;padding-bottom:1.75rem}.contact-list{gap:1.25rem 2rem;font-size:1.05rem}}@media (min-width: 1200px){.page{padding-inline:4vw}}.header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0 .4rem}.brand{font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:-.02em}.nav{display:flex;gap:1.25rem;font-size:.95rem}.nav a{color:var(--muted)}.nav a:hover{color:var(--ink)}.hero{padding:.2rem 0 1.75rem;border-bottom:1px solid var(--line)}.eyebrow{margin:0 0 .75rem;color:var(--muted);font-size:.9rem;letter-spacing:.04em;text-transform:uppercase}.hero-name{margin:0;font-family:var(--font-display);font-size:clamp(3.5rem,12vw,5.5rem);font-weight:700;line-height:.95;letter-spacing:-.04em}.hero-lead{margin:.55rem 0 0;max-width:none;color:var(--muted);font-size:1.15rem;line-height:1.5;white-space:nowrap}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.85rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.1rem;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:.95rem}.button:hover,.button-ghost{background:transparent;color:var(--ink)}.button-ghost:hover{background:var(--ink);color:var(--paper)}.button-github{border-color:#111;background:#111;color:#fff}.button-github:hover{background:transparent;color:#111}.button-linkedin{border-color:#0a66c2;background:#0a66c2;color:#fff}.button-linkedin:hover{background:#004182;border-color:#004182;color:#fff}.section{padding:3rem 0;border-bottom:1px solid var(--line)}.section h2{margin:0 0 1rem;font-family:var(--font-display);font-size:1.85rem;font-weight:600;letter-spacing:-.03em}.section>p{margin:0;max-width:none;color:var(--muted);line-height:1.65}.edu-list,.exp-list,.project-list{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}.edu-item{padding:.45rem 0}.edu-item:first-child{padding-top:0}.edu-item h4{margin:0 0 .55rem;font-size:1.1rem;font-weight:600}.edu-degrees{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.edu-degree-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.35rem 1rem}.edu-degree-text{display:grid;gap:.15rem}.edu-dates{color:var(--muted);font-size:.9rem}.edu-degree{font-weight:500}.edu-degree-detail{color:var(--muted);font-size:.95rem}.exp-item{padding:.35rem 0}.exp-item:first-child{padding-top:0}.exp-item:last-child{padding-bottom:.25rem}.edu-item:last-child{padding-bottom:.25rem;border-bottom:none}#about.section{padding-top:1.15rem;padding-bottom:1.5rem}#professional-projects.section,#projects.section{padding-top:1.5rem;padding-bottom:1.5rem}.exp-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1rem}.about-experience,.about-education{margin-top:.85rem}.about-experience h3,.about-education h3{margin:0 0 .75rem;font-family:var(--font-display);font-size:1.25rem;font-weight:600;letter-spacing:-.02em}.exp-item h4{margin:0;font-size:1.1rem;font-weight:600}.exp-meta{margin:.3rem 0 0;color:var(--muted)}.exp-dates{color:var(--muted);font-size:.9rem}.project-body{display:block;padding:.3rem 0 1.1rem}.project:first-child .project-body{padding-top:0}.project:last-child .project-body{border-bottom:none;padding-bottom:.4rem}.project h3{margin:0;font-size:1.1rem;font-weight:600}.project-top{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem .85rem;margin-bottom:.35rem}.project p{margin:0;color:var(--muted);line-height:1.5}.tech{display:block;margin-top:.55rem;color:var(--ink);font-size:.85rem}.project-button{margin-top:0;padding:.4rem .8rem;border-radius:8px;font-size:.8rem}.button-yellow{border-color:#e6c200;background:#f5d000;color:var(--ink);cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none}.button-yellow:hover{background:#f5d000;color:var(--ink)}.contact-list{list-style:none;margin:1.25rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:1rem 1.5rem}.contact-list a{text-decoration:underline;text-underline-offset:3px}.footer{padding-top:2rem;color:var(--muted);font-size:.9rem}.footer p{margin:0}@media (max-width: 520px){.header{align-items:flex-start;flex-direction:column}.hero{padding-top:.5rem}.hero-lead{white-space:normal}}:root{--ink: #14201a;--muted: #4d5a52;--paper: #eceeeb;--line: #c9d0cb;--wash: #d7e0d9;--accent: #1f4d3a;--font-body: "DM Sans", sans-serif;--font-display: "Syne", sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(ellipse 70% 45% at 0% 0%,var(--wash),transparent 55%),radial-gradient(ellipse 50% 35% at 100% 10%,#cfd8d2,transparent 50%),var(--paper);font-family:var(--font-body);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}#root{min-height:100vh}
