:root {
  --ink: #090d0c;
  --ink-soft: #111816;
  --paper: #f3f0e7;
  --white: #fffdf7;
  --muted: #98a19a;
  --line-dark: rgba(255,255,255,.16);
  --line-light: rgba(9,13,12,.17);
  --yellow: #f4c62d;
  --red: #f34b36;
  --blue: #4879ed;
  --green: #4da76f;
  --lime: #d9ff63;
  --ease: cubic-bezier(.22,1,.36,1);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); line-height: 1.65; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }

.legal-header { min-block-size: 4.75rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-inline: clamp(1rem,5vw,4rem); border-block-end: 1px solid var(--line-dark); background: var(--ink); color: var(--white); }
.brand { display: inline-flex; align-items: center; gap: .7rem; color: var(--white); text-decoration: none; font-size: .82rem; font-weight: 850; letter-spacing: .18em; }
.brand-mark { display: grid; grid-template-columns: repeat(2,.42rem); gap: .12rem; transform: rotate(45deg); }
.brand-mark i { inline-size: .42rem; block-size: .42rem; background: var(--yellow); }
.brand-mark i:nth-child(2) { background: var(--red); }
.brand-mark i:nth-child(3) { background: var(--blue); }
.brand-mark i:nth-child(4) { background: var(--green); }
.legal-controls { display: flex; align-items: center; gap: .8rem; }
.back-link { min-inline-size: 2.75rem; min-block-size: 2.75rem; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; color: #bac2bc; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.back-link span { display: none; }
.back-link:hover, .back-link:focus-visible { color: var(--lime); }
.language-switcher { display: inline-flex; align-items: center; gap: .3rem; padding: .2rem; border: 1px solid var(--line-dark); border-radius: 999px; }
.language-switcher span { color: #5f6962; }
.language-switcher button { min-inline-size: 2.35rem; min-block-size: 2.35rem; border: 0; border-radius: 999px; background: transparent; color: #8f9991; cursor: pointer; font-size: .64rem; font-weight: 850; }
.language-switcher button[aria-pressed="true"] { background: var(--lime); color: var(--ink); }

.legal-hero { position: relative; padding: clamp(4rem,10vw,8rem) clamp(1.25rem,8vw,8rem) clamp(3rem,7vw,5rem); overflow: hidden; background: var(--ink); color: var(--white); }
.legal-hero::after { content: ""; position: absolute; inline-size: 30rem; block-size: 30rem; inset: -17rem -8rem auto auto; border-radius: 50%; background: rgba(217,255,99,.09); filter: blur(3rem); }
.legal-kicker { margin: 0 0 1.25rem; color: var(--lime); font-size: .65rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.legal-hero h1 { max-inline-size: 60rem; margin: 0; font-family: var(--serif); font-size: clamp(3.1rem,9vw,7.5rem); font-weight: 400; letter-spacing: -.055em; line-height: .93; }
.legal-hero > p:last-child { max-inline-size: 44rem; margin: 1.75rem 0 0; color: #aeb7b0; }

.legal-layout { max-inline-size: 80rem; display: grid; gap: 2.5rem; margin-inline: auto; padding: clamp(3rem,8vw,7rem) clamp(1.25rem,6vw,5rem); }
.legal-summary { align-self: start; padding: 1.4rem; border: 1px solid var(--line-light); border-radius: 1rem; background: rgba(255,255,255,.4); }
.legal-summary strong { display: block; font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.legal-summary p { margin: .65rem 0 0; color: #5e685f; font-size: .75rem; }
.legal-content { min-inline-size: 0; }
.legal-section { padding-block: 0 2.4rem; margin-block-end: 2.4rem; border-block-end: 1px solid var(--line-light); }
.legal-section:last-child { margin: 0; border: 0; }
.legal-section span { color: #737c75; font-size: .58rem; font-weight: 850; letter-spacing: .13em; }
.legal-section h2 { margin: .4rem 0 .9rem; font-family: var(--serif); font-size: clamp(1.8rem,4vw,3rem); font-weight: 400; line-height: 1.1; }
.legal-section p, .legal-section li { color: #4f5a51; }
.legal-section ul { padding-inline-start: 1.25rem; }

.legal-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.5rem clamp(1.25rem,6vw,5rem); border-block-start: 1px solid var(--line-dark); background: var(--ink); color: #8d978f; font-size: .65rem; }
.legal-footer a { color: var(--white); text-decoration: none; }
.legal-footer a:hover, .legal-footer a:focus-visible { color: var(--lime); }

@media (min-width: 48rem) {
  .back-link span { display: inline; }
  .legal-layout { grid-template-columns: minmax(13rem,.35fr) minmax(0,1fr); }
  .legal-summary { position: sticky; inset-block-start: 2rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
