:root {
  color-scheme: dark;
  --blue: #2458cf;
  --accent: #00ff68;
  --soft: #17212b;
  --gutter: clamp(20px,5vw,72px);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #111214; color: #f2eee7; font: 400 18px/1.75 Barlow,sans-serif; }
a { color: inherit; text-decoration: none; -webkit-tap-highlight-color: transparent; }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
a:hover { color: var(--accent); }
p { margin: 0 0 20px; }
.wrap { max-width: 1280px; margin: auto; padding-inline: var(--gutter); }
header { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid #75abdd25; }
header:before { content: ""; position: absolute; inset: 0; background: #111214e8; -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); pointer-events: none; }
.header-inner { position: relative; max-width: 1280px; margin: auto; padding: 20px var(--gutter); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 14px; flex-shrink: 0; }
.brand img { width: 68px; height: 68px; object-fit: contain; filter: drop-shadow(0 0 9px #2458cf33); }
.brand span { font: 400 18px/1.2 Anton,sans-serif; text-transform: uppercase; }
.legal-back { font-size: 16px; font-weight: 500; }
.legal-page { max-width: 980px; padding-top: 64px; padding-bottom: 72px; }
.eyebrow { color: var(--accent); font-size: 14px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 20px; }
h1 { font: 400 clamp(44px,6vw,72px)/1.1 Anton,sans-serif; text-transform: uppercase; margin: 0 0 30px; }
.legal-intro { color: #d3dae6; font-size: 22px; line-height: 1.6; margin-bottom: 44px; }
.legal-page section { margin: 32px 0; }
h2 { color: var(--accent); font: 600 25px/1.3 Barlow,sans-serif; margin: 0 0 16px; }
.legal-page section p { color: #c4c6ca; }
.site-footer { border-top: 1px solid #75abdd25; display: flex; justify-content: space-between; align-items: center; gap: 28px; padding-block: 36px; }
.site-footer .brand img { width: 48px; height: 48px; }
.site-footer .brand span { font-size: 16px; }
.site-footer p { color: #a4abb5; font-size: 14px; margin: 0; }
.legal-links { display: flex; flex-wrap: wrap; gap: 12px 22px; font-size: 15px; }
.skip { position: fixed; top: -100px; left: 12px; background: var(--blue); color: white; padding: 12px; z-index: 100; }
.skip:focus { top: 8px; }
@media(max-width:700px) {
 .header-inner { padding-block: 14px; gap: 14px; }
 .brand { gap: 10px; }
 .brand img { width: 48px; height: 48px; }
 .brand span { font-size: 14px; max-width: 90px; }
 .legal-back { font-size: 14px; text-align: right; }
 .legal-page { padding-top: 36px; padding-bottom: 40px; }
 .legal-intro { font-size: 20px; }
 h2 { font-size: 23px; }
 .site-footer { flex-wrap: wrap; gap: 24px; }
 .site-footer .legal-links { width: 100%; }
 .site-footer p { order: 3; width: 100%; }
}
.custom-scroll-enabled {
  scrollbar-width: none!important
}
.custom-scroll-enabled::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0
}
.scroll-track {
  position: relative;
  height: 20px;
  width: 100%;
  touch-action: none;
  cursor: pointer;
  outline-offset: 2px
}
.scroll-track:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 8px;
  height: 4px;
  border-radius: 8px;
  background: var(--soft);
  background: 0 0
}
.scroll-thumb {
  position: absolute;
  top: 7px;
  left: 0;
  height: 6px;
  border-radius: 8px;
  background: var(--accent);
  pointer-events: none;
  min-width: 24px
}
.scroll-track.vertical {
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
  width: 12px;
  height: auto;
  z-index: 100
}
.scroll-track.vertical:before {
  display: none
}
.scroll-track.vertical .scroll-thumb {
  top: 0;
  left: auto;
  right: 0;
  width: 5px;
  height: 24px;
  min-width: 0;
  border-radius: 4px 0 0 4px
}
.scroll-track:focus-visible .scroll-thumb,
.scroll-track:hover .scroll-thumb {
  background: var(--blue)
}
html.contained-scroll,
html.contained-scroll body {
  height: 100%;
  overflow: hidden
}
#page-viewport {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: -20px;
  padding-right: 20px;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  scrollbar-width: none
}
#page-viewport::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0
}
#page-content {
  min-height: 100%;
  overflow-x: clip
}
@media(prefers-reduced-motion:reduce) {
 html, #page-viewport { scroll-behavior: auto; }
}
