*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; font-size: 16px; }
    @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
    body {
      min-height: 100vh;
      background-color: #050505;
      color: #ffffff;
      font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      line-height: 1.6;
    }
    ::selection { background: #ffffff; color: #050505; }
    a { color: inherit; text-decoration: none; }
    a.legal-link { color: #8BA3BC; text-decoration: underline; text-underline-offset: 4px; font-weight: 600; }
    a.legal-link:hover { color: #4A6B8C; }

    .skip-link { position: absolute; left: -9999px; top: 0.75rem; z-index: 10000; padding: 0.5rem 1rem; border-radius: 9999px; background: #ffffff; color: #050505; font-weight: 600; font-size: 0.875rem; text-decoration: none; }
    .skip-link:focus { left: 0.75rem; outline: 2px solid #4A6B8C; outline-offset: 2px; }

    .close-btn {
      position: fixed; top: 1rem; right: 2rem; z-index: 50;
      display: flex; align-items: center; justify-content: center;
      width: 2.5rem; height: 2.5rem;
      border-radius: 9999px; background: #4A6B8C; color: #fff;
      border: none; cursor: pointer;
      box-shadow: 0 4px 6px -1px rgba(0,0,0,.3);
      transition: background-color 0.2s;
    }
    .close-btn:hover { background: #5c7fa3; }
    @media (max-width: 639px) { .close-btn { right: 1.5rem; } }

    .page-wrap { position: relative; min-height: 100vh; padding: 4rem 1rem; }
    @media (min-width: 640px) { .page-wrap { padding: 5rem 1.5rem; } }
    .content { max-width: 56rem; margin: 0 auto; }

    .page-header { margin-bottom: 2rem; padding-right: 3rem; }
    @media (min-width: 640px) { .page-header { padding-right: 0; } }
    .icon-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
    @media (min-width: 640px) { .icon-row { display: inline-flex; margin-bottom: 0; } }
    h1 {
      font-family: 'Manrope', ui-sans-serif, sans-serif;
      font-size: 2.125rem; font-weight: 800;
      text-transform: uppercase; letter-spacing: -0.03em; color: #fff;
    }
    @media (min-width: 640px) { h1 { font-size: 2.25rem; } }
    @media (min-width: 768px) { h1 { font-size: 3rem; } }
    .date { margin-bottom: 2rem; font-size: 0.875rem; color: #a3a3a3; }

    .card-outer { border-radius: 1rem; border: 1px solid rgba(255,255,255,0.1); background: rgba(255,255,255,0.04); padding: 1.5rem; margin-bottom: 1.5rem; }
    @media (min-width: 640px) { .card-outer { padding: 2rem; } }
    .card-inner { border-radius: 0.75rem; border: 1px solid rgba(255,255,255,0.1); background: rgba(0,0,0,0.35); padding: 1.5rem; }

    h2 {
      font-family: 'Manrope', ui-sans-serif, sans-serif;
      font-size: 1.0625rem; font-weight: 800;
      text-transform: uppercase; letter-spacing: -0.01em; color: #fff;
      margin-bottom: 1rem;
    }
    @media (min-width: 640px) { h2 { font-size: 1.5rem; } }

    p { color: #a3a3a3; margin-bottom: 1rem; }
    p:last-child { margin-bottom: 0; }
    ul.list-none { list-style: none; }
    ul.list-none li { color: #a3a3a3; margin-bottom: 0.25rem; }
    strong { color: rgba(255,255,255,0.9); }

    .page-footer { margin-top: 3rem; display: flex; flex-direction: column; align-items: stretch; justify-content: space-between; gap: 1rem; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 2rem; }
    @media (min-width: 640px) { .page-footer { flex-direction: row; align-items: center; } }
    .nav-link-legal { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; font-weight: 600; color: #8BA3BC; transition: color 0.2s; }
    .nav-link-legal:hover { color: #4A6B8C; }
    .muted { color: #a3a3a3; }
    .foreground { color: #ffffff; }
    .foreground-90 { color: rgba(255,255,255,0.9); }
    .card-inner + .card-inner { margin-top: 1rem; }
    ul.list-disc { list-style: disc; padding-left: 1.5rem; }
    ul.list-disc li { color: #a3a3a3; margin-bottom: 0.5rem; }
    .label-strong { font-weight: 600; color: #fff; margin-bottom: 0.75rem; display: block; }
    .footer-links { display: flex; flex-direction: column; gap: 1rem; }
    @media (min-width: 640px) { .footer-links { flex-direction: row; align-items: center; gap: 2rem; } }
    .copyright { font-size: 0.75rem; color: #a3a3a3; text-align: center; }
    @media (min-width: 640px) { .copyright { text-align: right; } }
