@font-face {
  font-family: "Bebas";
  src: url("../assets/fonts/bebas-bold.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("../assets/fonts/ibm-regular.ttf") format("truetype");
  font-display: swap;
}

* { box-sizing: border-box; }
html { background: #05090b; }
body {
  margin: 0;
  color: #dce2e4;
  background:
    linear-gradient(rgba(78, 200, 199, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(78, 200, 199, .025) 1px, transparent 1px),
    #080f12;
  background-size: 48px 48px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 14px;
  line-height: 1.75;
}
a { color: inherit; }
.legal-header {
  position: sticky;
  top: 0;
  z-index: 5;
  padding: 18px max(24px, calc((100vw - 900px) / 2));
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(78, 200, 199, .2);
  background: rgba(5, 9, 11, .9);
  backdrop-filter: blur(14px);
}
.legal-header a {
  color: #eaecef;
  text-decoration: none;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.legal-header a:last-child { color: #e5161b; }
main { width: min(900px, calc(100% - 40px)); margin: 0 auto; padding: 90px 0 120px; }
.label { color: #4ec8c7; font-size: 10px; letter-spacing: .15em; text-transform: uppercase; }
h1, h2 { font-family: "Bebas", sans-serif; text-transform: uppercase; letter-spacing: .02em; }
h1 { max-width: 800px; margin: 18px 0 8px; font-size: clamp(58px, 8vw, 100px); line-height: .9; }
.edition { color: #77898e; font-size: 11px; }
section { margin-top: 55px; padding-top: 35px; border-top: 1px solid rgba(78, 200, 199, .18); }
h2 { margin: 0 0 18px; color: #f2f4f5; font-size: 32px; line-height: 1; }
p { margin: 12px 0; color: #aab6b9; }
ul { margin: 14px 0; padding: 0; list-style: none; }
li { position: relative; margin: 7px 0; padding-left: 22px; color: #aab6b9; }
li::before { content: "—"; position: absolute; left: 0; color: #e5161b; }
.operator {
  margin-top: 25px;
  padding: 20px;
  border: 1px solid rgba(229, 22, 27, .45);
  background: rgba(17, 19, 23, .72);
}
.operator b { color: #f1f3f4; }
.operator a { color: #4ec8c7; }
.legal-footer {
  padding: 28px 20px;
  border-top: 1px solid rgba(78, 200, 199, .18);
  color: #65777c;
  font-size: 10px;
  text-align: center;
}
@media (max-width: 560px) {
  body { font-size: 12px; }
  .legal-header { padding: 15px 14px; }
  .legal-header a:first-child { max-width: 190px; }
  main { width: calc(100% - 28px); padding-top: 65px; }
  h1 { font-size: 58px; }
  h2 { font-size: 28px; }
}
