/* Shared branding for the existing supporting pages. */
:root { --header-height: 110px; --paper: #f3f0e9; --ink: #1d2726; --muted: #5f625b; --line: #d3cfc4; --accent: #b9422c; }
html { scroll-padding-top: calc(var(--header-height) + 16px); }
.skip-link { z-index: 30; }
.site-header { height: auto; min-height: 0; padding: 0; display: block; position: sticky; top: 0; z-index: 20; overflow: visible; background: var(--paper); border-bottom: 1px solid var(--line); }
.header-inner { width: calc(100% - 80px); max-width: 1240px; margin-inline: auto; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-block: 16px; }
.brand { gap: 10px; flex-shrink: 0; line-height: 1; font: 750 29px/1 "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif; letter-spacing: -.055em; text-decoration: none; display: inline-flex; align-items: center; }
.brand .brand-symbol { width: 36px; height: 36px; margin: 0; border: 0; border-radius: 0; flex-shrink: 0; }
.brand-wordmark { display: flex; flex-direction: column; gap: 7px; }
.brand-byline { font-size: 11px; font-weight: 500; color: var(--muted); letter-spacing: .01em; white-space: nowrap; }
.brand-dot { color: var(--accent); }
.site-header nav { width: auto; display: flex; flex-direction: row; align-items: center; gap: 24px; padding: 0; }
.site-header nav a { font: 550 14px/1.4 var(--sans); padding-block: 12px; }
.site-header nav .button { display: inline-flex; justify-content: center; align-items: center; gap: 12px; min-height: 48px; margin: 0; padding: 12px 17px; color: white; background: var(--accent); border: 1px solid var(--accent); border-radius: 8px; text-decoration: none; }
.site-header nav .button:hover { background: #943321; }
.site-header a:focus-visible, .site-footer a:focus-visible { outline: 3px solid #a55312; outline-offset: 5px; }
.site-footer { width: calc(100% - 80px); max-width: 1240px; margin-inline: auto; padding: 35px 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 25px; }
.site-footer .brand { font-size: 23px; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 20px; font-size: 12px; }
.site-footer > span { font-size: 12px; color: var(--muted); }
.contact-document { width: calc(100% - 80px); max-width: 800px; margin-inline: auto; padding-block: 48px; }
.contact-document h1 { font: 650 clamp(36px, 4vw, 52px)/1.1 var(--sans); }
.contact-document h2 { font: 650 25px/1.2 var(--sans); margin-block: 32px 13px; }
.contact-document p { color: var(--muted); margin-block: 12px; }
.contact-document .lead { font-size: 19px; }
.contact-document .text-link { display: inline-block; padding-block: 12px; overflow-wrap: anywhere; }
.contact-document section { scroll-margin-top: 0; }
@media (max-width: 1000px) {
  .header-inner, .site-footer, .contact-document { width: calc(100% - 48px); }
  .site-header nav { gap: 16px; }
}
@media (max-width: 700px) {
  :root { --header-height: 150px; }
  .header-inner, .site-footer, .contact-document { width: calc(100% - 36px); }
  .header-inner { padding-block: 12px; flex-wrap: wrap; gap: 14px; }
  .site-header nav { width: 100%; }
  .site-header nav > a:not(.button) { display: none; }
  .site-header nav .button { width: 100%; }
  .brand { font-size: 25px; }
  .site-footer nav { width: 100%; }
  .contact-document { padding-block: 32px; }
}
@media print { .site-header, .site-footer, .skip-link { display: none; } .contact-document { width: 100%; } }
