.site-header { border-bottom: 1px solid var(--rule); background: var(--bg); }
.site-header .wrap { display: flex; justify-content: space-between; align-items: center; min-height: 72px; gap: 1rem; flex-wrap: wrap; }
.brand { font-family: var(--serif); font-size: 1.35rem; color: var(--ink); }
.brand:hover { color: var(--ink); text-decoration: none; }
.nav { display: flex; gap: 1.75rem; font-size: 0.95rem; }
.nav a { color: var(--muted); padding: 0.3rem 0; border-bottom: 2px solid transparent; }
.nav a:hover { color: var(--ink); text-decoration: none; }
.nav a[aria-current="page"] { color: var(--ink); border-bottom-color: var(--accent); }
.wrap { max-width: var(--measure); margin: 0 auto; padding: 0 24px; }
main.wrap { padding-top: 4.25rem; padding-bottom: 2rem; min-height: 60vh; }
main.home { padding-top: 5.75rem; }
.page-title { font-size: 2.4rem; margin-bottom: 2rem; }
.home-contact { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--rule); }
@media (max-width: 640px) { main.wrap { padding-top: 2.75rem; } main.home { padding-top: 3.75rem; } .nav { gap: 1.25rem; } .site-header .wrap { padding-top: .75rem; padding-bottom: .75rem; } }
