/* The same warm paper, green ink, and typography as the main site. */
:root { --spruce: #183f35; --sage: #e4ebd8; --linen: #f7f6f0; --moss: #132d28; }
body { background: var(--linen); color: var(--moss); font-family: 'Manrope', sans-serif; -webkit-font-smoothing: antialiased; }
header { padding-block: 16px; border-bottom: 1px solid #dfe3d7; }
header .container { max-width: 1248px; }
header a, footer a { display: inline-flex; align-items: center; min-height: 44px; }
header nav a { font-size: 13px; }
main { padding-block: 64px 80px; }
h1 { font-weight: 500; font-size: clamp(36px, 7vw, 52px); letter-spacing: -.045em; line-height: 1.15; margin-bottom: 20px; }
h1, h2, .logo { font-family: 'Playfair Display', Georgia, serif; }
h1, h2, h3 { text-wrap: balance; }
h2 { letter-spacing: -.025em; border-bottom-width: 1px; border-bottom-color: #d7dfce; }
p { text-wrap: pretty; }
.summary, .contact-box { border-radius: 18px; padding: 25px; }
a:focus-visible { outline: 2px solid #8a561e; outline-offset: 4px; }
footer { background: var(--linen); color: #617059; border-top: 1px solid #dfe3d7; }
footer a { color: #36513d; }
@media (max-width: 600px) {
  header .container { padding-inline: 20px; }
  header nav a { margin-left: 14px; font-size: 12px; }
  main { padding-block: 40px 56px; }
  p, li { font-size: 15px; line-height: 1.85; }
  .intro { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }
