:root {
  --bg: #050807;
  --panel: #0b1510;
  --panel-2: #0e1c14;
  --green: #00e66b;
  --green-light: #7cffb2;
  --white: #f7fbf8;
  --muted: #a9b5ad;
  --line: rgba(124, 255, 178, .17);
  --max: 920px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 80% -5%, rgba(0, 230, 107, .13), transparent 30rem),
    linear-gradient(180deg, var(--bg), #07110c);
  color: var(--white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
:focus-visible { outline: 3px solid var(--green-light); outline-offset: 4px; }
.wrap { width: min(1160px, calc(100% - 36px)); margin-inline: auto; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; transform: translateY(-180%); padding: 10px 14px; border-radius: 8px; background: var(--white); color: var(--bg); }
.skip-link:focus { transform: none; }

.site-header { border-bottom: 1px solid rgba(255,255,255,.07); background: rgba(5,8,7,.91); backdrop-filter: blur(12px); }
.header-row { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--white); font-size: .84rem; font-weight: 900; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.brand img { width: 31px; height: 31px; border-radius: 8px; }
.partner-label { display: none; color: var(--muted); font-size: .75rem; }

.legal-hero { padding: 54px 0 28px; }
.eyebrow { margin: 0 0 10px; color: var(--green-light); font-size: .7rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
h1 { max-width: 760px; margin: 0; font-size: clamp(2.55rem, 12vw, 5.1rem); line-height: .95; letter-spacing: -.055em; text-wrap: balance; }
.updated { margin: 18px 0 0; color: var(--muted); font-size: .8rem; }

.legal-shell { width: min(var(--max), calc(100% - 36px)); margin: 0 auto 64px; padding: 26px 22px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg, rgba(14,28,20,.96), rgba(7,17,12,.94)); box-shadow: 0 24px 80px rgba(0,0,0,.36); }
.legal-shell .intro { color: #e6efe9; font-size: 1.04rem; }
.legal-shell h2 { margin: 2em 0 .45em; color: var(--white); font-size: clamp(1.18rem, 4vw, 1.42rem); line-height: 1.25; }
.legal-shell p, .legal-shell li { color: #bbc7bf; }
.legal-shell strong { color: var(--white); }
.legal-shell a:not(.back) { color: var(--green-light); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.legal-shell ul { padding-left: 1.25rem; }
.notice { margin: 25px 0; padding: 18px; border-left: 3px solid var(--green); border-radius: 0 10px 10px 0; background: rgba(0,230,107,.07); }
.notice p { margin: 0; color: #e6efe9; }
.back { display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; color: var(--bg); padding: 12px 17px; border-radius: 9px; background: var(--green); font-weight: 900; line-height: 1.2; text-decoration: none; }
.back:hover { filter: brightness(1.07); }

.site-footer { padding: 25px 0 32px; border-top: 1px solid rgba(255,255,255,.07); color: var(--muted); font-size: .73rem; }
.footer-links { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 0 0 15px; padding: 0; list-style: none; }
.footer-links a { color: #dce5df; text-decoration: none; }
.footer-links a:hover { color: var(--white); text-decoration: underline; }
.company { max-width: 920px; margin: 0; }

.contact-card { display: grid; gap: 15px; margin: 22px 0; }
.contact-row { padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.contact-row span { display: block; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contact-row strong, .contact-row a { display: block; margin-top: 3px; color: var(--white); overflow-wrap: anywhere; }

@media (min-width: 680px) {
  .wrap { width: min(1160px, calc(100% - 64px)); }
  .partner-label { display: block; }
  .legal-hero { padding: 76px 0 38px; }
  .legal-shell { width: min(var(--max), calc(100% - 64px)); padding: 42px 46px; }
  .contact-card { grid-template-columns: repeat(2, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes legal-enter {
    from { opacity: 0; transform: translateY(18px); filter: blur(3px); }
    to { opacity: 1; transform: translateY(0); filter: blur(0); }
  }
  .legal-hero .eyebrow { opacity: 0; animation: legal-enter .62s .04s cubic-bezier(.2,.75,.25,1) forwards; }
  .legal-hero h1 { opacity: 0; animation: legal-enter .68s .11s cubic-bezier(.2,.75,.25,1) forwards; }
  .legal-hero .updated { opacity: 0; animation: legal-enter .68s .18s cubic-bezier(.2,.75,.25,1) forwards; }
  .legal-shell { opacity: 0; animation: legal-enter .78s .25s cubic-bezier(.2,.75,.25,1) forwards; }
}
