@font-face {
  font-family: Montserrat;
  src: url('/assets/fonts/Montserrat-Regular.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: Montserrat;
  src: url('/assets/fonts/Montserrat-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-display: swap;
}

:root {
  color-scheme: dark;
  font-family: Montserrat, system-ui, sans-serif;
  color: #eaf4f8;
  background: #071218;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: radial-gradient(circle at 80% 0, #123240 0, #071218 38rem); line-height: 1.7; }
a { color: #63d8ec; }
a:hover { color: #a6eff8; }

.legal-header,
.legal-footer {
  border-bottom: 1px solid rgba(134, 205, 218, .18);
  background: rgba(7, 18, 24, .88);
}

.legal-footer { border-top: 1px solid rgba(134, 205, 218, .18); border-bottom: 0; }
.legal-shell { width: min(1180px, calc(100% - 40px)); margin: auto; }
.legal-nav { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.legal-brand { display: inline-flex; align-items: center; }
.legal-brand img { display: block; width: 142px; height: auto; }
.language-list { display: flex; flex-wrap: wrap; gap: 5px 14px; }
.language-list a { color: #a9bec7; text-decoration: none; font-size: .78rem; font-weight: 600; letter-spacing: .09em; }
.language-list a[aria-current='page'] { color: #63d8ec; }

main { width: min(860px, calc(100% - 40px)); margin: 0 auto; padding: 76px 0 96px; }
.eyebrow { color: #63d8ec; font-size: .76rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
h1, h2 { line-height: 1.2; color: #fff; overflow-wrap: anywhere; word-break: break-word; }
h1 { margin: 12px 0 16px; font-size: clamp(2.1rem, 6vw, 4rem); letter-spacing: -.035em; }
h2 { margin: 44px 0 10px; font-size: clamp(1.25rem, 3vw, 1.7rem); }
p, li { color: #b9cbd2; }
.updated { color: #86a1ab; font-size: .9rem; }
.lead { color: #d7e7ec; font-size: clamp(1rem, 2vw, 1.16rem); }
ul { padding-left: 1.25rem; }
li + li { margin-top: .55rem; }
.legal-footer .legal-shell { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 22px; color: #8ca4ae; font-size: .82rem; }

@media (max-width: 620px) {
  .legal-shell, main { width: min(calc(100% - 28px), 860px); }
  .legal-nav { min-height: 72px; }
  .legal-brand img { width: 120px; }
  main { padding: 52px 0 68px; }
  h2 { margin-top: 34px; }
  .legal-footer .legal-shell { padding: 24px 0; flex-direction: column; align-items: flex-start; }
}
