:root { color:#202124; background:#fff; font-family:Georgia, "Times New Roman", serif; font-size:18px; line-height:1.6; }
* { box-sizing:border-box; }
body { margin:0; }
header, main, footer { width:min(100% - 2.5rem, 44rem); margin:auto; }
header { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding:2rem 0 1.5rem; border-bottom:1px solid #ddd; }
.name { color:#202124; font-family:Arial, sans-serif; font-size:1rem; font-weight:700; text-decoration:none; }
nav { display:flex; flex-wrap:wrap; gap:1rem; font-family:Arial, sans-serif; font-size:.85rem; }
a { color:#075a9c; text-underline-offset:.12em; }
nav a { color:#4a4a4a; } nav a:hover, nav a[aria-current="page"] { color:#075a9c; }
main { padding:4rem 0 1rem; }
section { margin-bottom:3.25rem; }
.intro { max-width:39rem; }
h1, h2 { color:#202124; font-family:Arial, sans-serif; line-height:1.18; }
h1 { margin:0 0 1.4rem; font-size:clamp(2rem, 4vw, 2.75rem); letter-spacing:-.04em; }
h2 { margin:0 0 .8rem; font-size:1.25rem; }
p { max-width:39rem; margin:0 0 1.1rem; }
.plain-list { max-width:39rem; margin:0; padding-left:1.25rem; }.plain-list li { margin-bottom:.85rem; padding-left:.2rem; }
.project-list article { max-width:39rem; padding:1.5rem 0; border-top:1px solid #ddd; }.project-list article:last-child { border-bottom:1px solid #ddd; }.project-list h2 { margin-bottom:.55rem; }.project-list h3 { margin:0 0 .55rem; font-family:Arial, sans-serif; font-size:1.05rem; }.project-list p { margin:0; }
footer { margin-top:3rem; padding:1.5rem 0 2.5rem; border-top:1px solid #ddd; font-size:.93rem; } footer p { margin:0 0 .75rem; }.small { color:#666; font-family:Arial,sans-serif; font-size:.75rem; }
@media (max-width:540px) { :root { font-size:17px; } header, main, footer { width:min(100% - 2rem, 44rem); } header { align-items:flex-start; flex-direction:column; gap:.65rem; padding-top:1.5rem; } main { padding-top:3rem; } section { margin-bottom:2.75rem; } }
