:root { --ink:#1c2522; --muted:#64706b; --line:#dce2dd; --paper:#f7f8f5; --accent:#315e51; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial, Helvetica, sans-serif; line-height:1.55; }
.site-header, main, footer { max-width:1120px; margin:auto; padding-left:32px; padding-right:32px; }
.site-header { height:76px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--ink); color:var(--ink); font-weight:700; text-decoration:none; font-size:.8rem; }
nav { display:flex; gap:25px; } nav a, footer a { color:var(--muted); text-decoration:none; font-size:.88rem; } nav a:hover, footer a:hover { color:var(--accent); }
.hero { min-height:500px; display:flex; align-items:center; justify-content:space-between; gap:60px; padding:82px 0 78px; border-bottom:1px solid var(--line); }
.hero-copy { max-width:650px; }.eyebrow { margin:0 0 10px; color:var(--accent); font-size:.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:Georgia, 'Times New Roman', serif; } h1 { margin-bottom:16px; font-size:clamp(3rem,7vw,5.7rem); line-height:.98; font-weight:500; letter-spacing:-.045em; } .intro { margin-bottom:24px; font-size:1.15rem; color:#46504c; max-width:600px; }
.contact-links { display:flex; flex-wrap:wrap; gap:8px 21px; }.contact-links a { color:var(--ink); font-size:.94rem; text-underline-offset:4px; }.location { margin:7px 0 0; color:var(--muted); font-size:.94rem; }
.profile-photo { width:220px; height:270px; object-fit:cover; object-position:center; filter:grayscale(100%); border-radius:2px; }
.content-section { padding:78px 0; border-bottom:1px solid var(--line); }.section-heading { display:flex; align-items:baseline; gap:18px; margin-bottom:35px; }.section-heading .eyebrow { margin:0; }.section-heading h2 { margin:0; font-size:2rem; font-weight:500; letter-spacing:-.025em; }
.role { padding:0 0 38px; margin-bottom:37px; border-bottom:1px solid var(--line); }.role:last-child { padding:0; margin:0; border:0; }.role-header, .education-list article { display:flex; justify-content:space-between; gap:30px; }.role h3, .education-list h3, .skill-content h3 { margin-bottom:2px; font-size:1.25rem; }.role-title, .education-list p { margin:0; color:var(--muted); font-size:.95rem; font-style:italic; }.role-title span { font-style:normal; }.role-meta { min-width:190px; text-align:right; font-size:.9rem; }.role-meta strong, .role-meta span { display:block; }.role-meta span { color:var(--muted); font-style:italic; }
ul { margin:20px 0 0; padding-left:20px; } li { margin:5px 0; } b { font-weight:700; }.two-column { display:grid; grid-template-columns:28% 1fr; gap:45px; }.two-column .section-heading { display:block; margin:0; }.education-list article { padding:0 0 28px; margin-bottom:27px; border-bottom:1px solid var(--line); }.education-list article:last-child { padding:0; margin:0; border:0; }.skill-content { display:grid; gap:28px; }.skill-content h3 { font-size:1.05rem; }.skill-content p { margin:0; color:#46504c; }
footer { display:flex; justify-content:space-between; padding-top:26px; padding-bottom:26px; color:var(--muted); font-size:.82rem; }
@media (max-width:700px) { .site-header,main,footer { padding-left:20px; padding-right:20px; }.site-header { height:65px; } nav { gap:15px; } nav a { font-size:.78rem; }.hero { min-height:0; align-items:flex-start; gap:30px; padding:55px 0; }.profile-photo { width:118px; height:150px; } h1 { font-size:3rem; }.intro { font-size:1rem; }.role-header,.education-list article { display:block; }.role-meta { min-width:0; margin-top:13px; text-align:left; }.two-column { display:block; }.two-column .section-heading { margin-bottom:35px; }.content-section { padding:55px 0; } }
@media (max-width:430px) { .hero { display:block; }.profile-photo { margin-top:30px; width:135px; height:170px; } nav a:nth-child(2) { display:none; } footer { gap:15px; } }
