/* One shared frame for the homepage, tools, calendars and Race Hub. */
:root[data-paper] body .site-header {
  position: relative;
  inset: auto;
  z-index: 90;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 32px;
  width: 100%;
  max-width: 1376px;
  margin: 0 auto;
  padding: 28px clamp(24px, 4vw, 64px);
  border: 0;
  background: transparent;
  backdrop-filter: none;
}
:root[data-paper] body .site-wordmark {
  display: inline-flex;
  align-items: baseline;
  padding: 0;
  margin-right: auto;
  color: var(--color-text);
  font: 800 clamp(1.5rem, 2.6vw, 2.5rem)/1.1 var(--font-display);
  letter-spacing: -.045em;
  text-decoration: none;
  white-space: nowrap;
}
:root[data-paper] body .site-wordmark span { color: var(--color-accent); }
:root[data-paper] body .site-navigation {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin: 0;
}
:root[data-paper] body .site-navigation a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--color-text-muted);
  font: .8rem/1.5 var(--font-mono);
  text-decoration: none;
}
:root[data-paper] body .site-header .lang-switch {
  position: static;
  display: flex;
  align-items: center;
  gap: 1px;
  padding: 0;
  margin: 0;
  background: transparent;
}
:root[data-paper] body .site-header .lang-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  min-height: 44px;
  padding: 4px;
  background: transparent;
  border: 0;
  color: var(--color-text-muted);
  font: .8rem/1.5 var(--font-mono);
  text-decoration: none;
}
:root[data-paper] body .site-header :is(.lang-btn.active, a:hover) { color: var(--color-accent); }
:root[data-paper] body .site-header :focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
:root[data-paper] body :is(.tools-hero, .calendar-seo-page, .legal-page) { padding-top: 48px; }
:root[data-paper] body .site-footer {
  margin: 48px 0 0;
  padding: 40px clamp(24px, 4vw, 64px) 32px;
  background: transparent;
  color: var(--color-text-muted);
  border: 0;
  text-align: center;
}
:root[data-paper] body .site-footer .container { width: 100%; max-width: 1248px; padding: 0; margin-inline: auto; }
:root[data-paper] body .site-footer .footer-motto { padding: 0 0 28px; }
:root[data-paper] body .site-footer .hero-definition { display: block; max-width: 72ch; margin: 0 auto; padding: 0; color: inherit; text-align: center; font: .85rem/1.7 var(--font-sans); letter-spacing: normal; }
:root[data-paper] body .site-footer .hero-definition span { color: inherit; font-size: inherit; }
:root[data-paper] body .site-footer .footer-motto::before { display: none; }
:root[data-paper] body .site-footer a { color: inherit; }
:root[data-paper] body .site-footer a:hover { color: var(--color-accent); }
@media (max-width: 900px) {
  :root[data-paper] body .site-header { gap: 8px 20px; }
  :root[data-paper] body .site-navigation { order: 3; flex-basis: 100%; }
}
@media (max-width: 480px) {
  :root[data-paper] body .site-header { padding: 16px 20px; gap: 6px 12px; }
  :root[data-paper] body .site-wordmark { font-size: clamp(1.15rem, 5.5vw, 1.5rem); }
  :root[data-paper] body .site-header .lang-btn { min-width: 26px; padding: 2px; font-size: .7rem; }
  :root[data-paper] body .site-header .lang-sep { font-size: .65rem; }
  :root[data-paper] body .site-navigation { gap: 8px 24px; }
}
@media print { .site-header, .site-footer { display: none !important; } }
