.site-header { position: sticky; top: 0; z-index: 100; min-height: 76px; background: var(--surface, #fff); border-bottom: 1px solid var(--line, #e2e2e2); box-shadow: 0 2px 8px rgb(0 0 0 / 5%); }
.site-shell-wrap { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.site-header .site-shell-wrap { min-height: inherit; display: flex; align-items: center; }
.site-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; color: inherit; font-size: .94rem; font-weight: 700; letter-spacing: -.02em; text-decoration: none; }
.site-tagline { margin: 0; color: var(--muted, #666); font-size: .9rem; font-weight: 400; letter-spacing: normal; text-align: left; }
.site-footer { margin-top: 24px; background: #333; color: #fff; font-size: .9rem; }
.site-footer-main { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; padding-block: 36px; }
.site-description { max-width: 440px; margin: 0; color: #e5e5e5; }
.site-footer-groups { display: flex; gap: clamp(36px, 8vw, 100px); }
.site-footer nav { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.site-footer nav strong { margin-bottom: 2px; color: #fff; }
.site-footer a { color: #fff; text-underline-offset: .2em; }
.site-footer a:hover, .site-footer a:focus-visible { color: #fff; text-decoration-color: #E7681B; text-decoration-thickness: .12em; }
.site-footer a:focus-visible, .site-brand:focus-visible { outline: 3px solid var(--accent, #e7681b); outline-offset: 4px; }
.site-legal-row { border-top: 1px solid rgb(255 255 255 / 20%); color: #e5e5e5; }
.site-legal-row .site-shell-wrap { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.site-legal-row nav { flex-direction: row; gap: 20px; }
@media (max-width: 640px) {
  .site-shell-wrap { width: min(100% - 36px, 1120px); }
  .site-header .site-shell-wrap { align-items: flex-start; justify-content: flex-start; padding-block: 14px; }
  .site-footer-main { grid-template-columns: 1fr; gap: 26px; }
}
