:root{--ink:#172d2a;--muted:#566461;--accent:#28645b;--paper:#fafbf9;--line:#dce4df;--soft:#edf3ee}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:var(--accent);text-underline-offset:4px}a:hover{color:#123e35}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:2px}.skip-link{position:absolute;left:12px;top:-80px;padding:8px 16px;background:white;z-index:30}.skip-link:focus{top:12px}.navbar{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1040px;width:100%;margin:auto;padding:22px 32px;border-bottom:1px solid var(--line)}.navbar a{text-decoration:none}.logo{font-size:18px;font-weight:700;letter-spacing:-.4px;margin:0}.nav-list{list-style:none;display:flex;gap:26px;padding:0;margin:0;font-size:14px}.navbar .nav-list a{color:var(--muted)}.navbar .nav-list a:hover{color:var(--accent)}main{width:100%;max-width:1040px;margin:0 auto;padding:42px 32px 70px;flex:1}.hero{padding:28px 0 62px;max-width:780px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--accent);margin:0 0 16px}h1{font-size:56px;line-height:1.1;letter-spacing:-2px;margin:0 0 24px}h2{font-size:26px;line-height:1.25;letter-spacing:-.6px;margin:0 0 14px}h3{font-size:21px;line-height:1.3;letter-spacing:-.4px;margin:0 0 14px}p{margin:0 0 14px}.intro{font-size:24px;line-height:1.45;max-width:690px;margin-bottom:20px}.about-text{color:var(--muted);font-size:16px;max-width:740px}.links{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:28px;font-size:14px;font-weight:600}.button{background:var(--accent);color:#fff;padding:11px 19px;border-radius:6px;text-decoration:none}.button:hover{color:#fff;background:#194b42}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:22px}.section-heading p{color:var(--muted);font-size:14px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px;display:flex;flex-direction:column}.project-category{font-size:11px;letter-spacing:1.2px;font-weight:700;color:var(--accent);margin-bottom:12px}.project-card>p:not(.project-category):not(.tags){font-size:15px;color:var(--muted);margin-bottom:24px}.tags{font-size:12px;color:var(--accent);margin: auto 0 0;padding-top:14px;border-top:1px solid var(--line)}.skills-section{margin-top:54px;padding-top:32px;border-top:1px solid var(--line)}.skills{display:grid;grid-template-columns:1fr 1.7fr 1.2fr;gap:26px;margin:24px 0}.skills dt{font-size:13px;font-weight:700;margin-bottom:8px}.skills dd{margin:0;color:var(--muted);font-size:14px}.coursework{font-size:14px;color:var(--muted)}.contact-section{margin-top:48px;border-radius:10px;background:var(--soft);padding:32px}.contact-section p{color:var(--muted);font-size:15px}.contact-section>a{font-weight:600;overflow-wrap:anywhere}.footer{border-top:1px solid var(--line);font-size:12px;color:var(--muted);padding:24px 32px;text-align:center}.page-title{font-size:38px;margin-top:18px}.course-list{padding-left:20px}
@media(max-width:650px){.navbar{padding:20px;gap:14px;flex-wrap:wrap}.nav-list{gap:18px;font-size:13px}main{padding:30px 20px 44px}.hero{padding:20px 0 40px}h1{font-size:42px;letter-spacing:-1.4px}.intro{font-size:21px}.section-heading{display:block}.project-grid{grid-template-columns:1fr}.project-card{padding:22px}.skills{grid-template-columns:1fr;gap:18px}.contact-section{padding:24px}.links{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
