:root { color: #2a2620; background: #efe6d6; font-family: "Iowan Old Style", Palatino, Georgia, serif; }
* { box-sizing: border-box; }
body { margin: 0; display: grid; grid-template-columns: 11rem 1fr; min-height: 100vh; }
nav { background: #243028; color: #efe6d6; padding: 1.4rem 1rem; position: sticky; top: 0; height: 100vh; }
nav img { width: 4.5rem; height: 4.5rem; object-fit: cover; border-radius: 50%; }
nav a { display: block; color: #efe6d6; text-decoration: none; margin: 0.9rem 0; letter-spacing: 0.04em; }
nav a[aria-current="page"] { border-bottom: 1px solid #c4b49a; }
main { padding: 2.2rem 8vw 4rem; max-width: 46rem; }
h1 { font-weight: 500; font-size: 2.4rem; line-height: 1.1; margin: 0 0 0.6rem; }
p { font-size: 1.12rem; line-height: 1.55; }
figure { margin: 1.4rem 0; }
img.shot { width: min(100%, 28rem); display: block; }
figcaption { font-family: "Avenir Next", Gill Sans, sans-serif; font-size: 0.85rem; letter-spacing: 0.03em; color: #5c5348; margin-top: 0.4rem; }
footer { font-family: "Avenir Next", Gill Sans, sans-serif; font-size: 0.85rem; color: #5c5348; margin-top: 2rem; }
@media (max-width: 700px) {
  body { grid-template-columns: 1fr; }
  nav { height: auto; position: static; display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
  nav a { margin: 0; }
}
