/* shared on every page */
.skip-link { position: absolute; left: 12px; top: -64px; z-index: 1000; padding: 12px 18px; border-radius: 8px;
  background: #e5f5ff; color: #03111f; font: 500 0.95rem "SFMono-Regular", Consolas, monospace; text-decoration: none; }
.skip-link:focus { top: 12px; }
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.legal { max-width: 860px; margin: 0 auto; padding: clamp(150px, 14vw, 210px) 20px 90px; }
.legal h1 { font-size: clamp(2.4rem, 5vw, 4rem); }
.legal h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); letter-spacing: -0.02em; line-height: 1.2; margin: 38px 0 12px; }
.legal p, .legal li { font-size: 1.05rem; line-height: 1.7; }
.legal ul { color: #cbd5e1; padding-left: 22px; }
.legal a { color: #8bd9ff; text-decoration: underline; }
.consent { position: fixed; right: 16px; bottom: 16px; left: 16px; z-index: 900; display: none; max-width: 640px; margin-left: auto;
  padding: 18px 20px; border: 1px solid rgba(56,189,248,.35); border-radius: 12px; background: #020817; color: #dbeafe;
  box-shadow: 0 20px 70px rgba(0,0,0,.5); font: 400 .95rem/1.55 Arial, sans-serif; }
.consent.is-visible { display: block; }
.consent p { margin: 0 0 12px; color: #cbd5e1; font-size: .95rem; line-height: 1.55; }
.consent a { color: #8bd9ff; text-decoration: underline; }
.consent button { min-height: 44px; margin-right: 8px; padding: 0 18px; border-radius: 8px; cursor: pointer; font: 500 .9rem "SFMono-Regular", Consolas, monospace; }
.consent .accept { border: 0; background: #e5f5ff; color: #03111f; }
.consent .reject { border: 1px solid rgba(139,181,216,.5); background: transparent; color: #dbeafe; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
