:root {
  --site-edge: 48px;
  --header: 80px;
}

.site-header .container, .site-footer .container {
  width: min(100%, 1400px);
  padding-inline: var(--site-edge);
  margin-inline: auto;
}
.site-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid #D6DFE6; background: rgba(250,250,248,.96); line-height: 1.6; }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; height: var(--header); }
.brand { display: flex; align-items: center; gap: 18px; }
.wordmark { display: inline-flex; align-items: center; }
.wordmark-logo { display: block; width: 94px; height: auto; }
.brand-byline { border-left: 1px solid #D6DFE6; padding-left: 18px; font-size: 12px; color: #526579; }

.site-footer { padding-block: 38px; border-top: 1px solid #D6DFE6; background: #0D2540; color: #FAFAF8; line-height: 1.6; }
.footer-inner { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.footer-brand { font-size: 13px; }
.footer-brand strong { font-weight: 600; }
.footer-brand span { color: #BBCDDB; margin-left: 10px; }
.footer-links { display: flex; gap: 24px; font-size: 12px; color: #BBCDDB; }
.footer-links a { text-decoration: none; }
.footer-links a:hover { text-decoration: underline; text-decoration-thickness: auto; text-underline-offset: 4px; }
.footer-copyright { color: #BBCDDB; font-size: 11px; }

@media(max-width:1100px) {
  :root { --site-edge: 36px; }
  .brand-byline { display: none; }
}
@media(max-width:940px) {
  :root { --header: 72px; }
  .brand-byline { display: block; }
  .footer-inner { flex-wrap: wrap; }
}
@media(max-width:640px) {
  :root { --site-edge: 22px; --header: 68px; }
  .brand { gap: 12px; }
  .brand-byline { padding-left: 12px; font-size: 11px; }
  .wordmark-logo { width: 80px; }
  .footer-inner { align-items: start; flex-direction: column; gap: 18px; }
  .footer-links { flex-wrap: wrap; gap: 18px; }
  .footer-brand span { display: block; margin: 4px 0 0; }
}
@media(max-width:380px) { .brand-byline { display: none; } }
@media print { .site-header, .site-footer { display: none; } }
