:root {
  --ts-navy: #1d1f48;
  --ts-navy-deep: #0f1024;
  --ts-lime: #b2d235;
  --ts-ink: #27283f;
  --ts-muted: #6b6d7f;
  --ts-border: #e6e7ed;
  --ts-surface: #f7f8f4;
}

* { box-sizing: border-box; }

body {
  background:
    radial-gradient(circle at 8% 2%, rgba(178, 210, 53, .12), transparent 24rem),
    var(--ts-surface);
  color: var(--ts-ink);
  font-family: "Open Sans", Arial, sans-serif;
  margin: 0;
}

.legal-site-header {
  background: linear-gradient(135deg, var(--ts-navy-deep), var(--ts-navy));
  border-bottom: 3px solid var(--ts-lime);
  box-shadow: 0 8px 28px rgba(15, 16, 36, .18);
}

.legal-header-inner,
.legal-footer-inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1120px;
  padding: 18px 24px;
}

.legal-brand img { display: block; filter: brightness(0) invert(1); height: 38px; width: auto; }
.legal-header-links { align-items: center; display: flex; gap: 24px; }
.legal-header-links a { color: rgba(255, 255, 255, .82); font: 600 13px/1 "Poppins", sans-serif; text-decoration: none; }
.legal-header-links a:hover, .legal-header-links a[aria-current="page"] { color: var(--ts-lime); }
.legal-home-link { border: 1px solid rgba(255, 255, 255, .24); border-radius: 7px; padding: 10px 14px; }

main {
  background: #fff;
  border: 1px solid var(--ts-border);
  border-radius: 16px;
  box-shadow: 0 18px 55px rgba(29, 31, 72, .08);
  margin: 64px auto;
  max-width: 920px;
  overflow: hidden;
  padding: 54px 64px 64px;
  position: relative;
}

main::before {
  background: linear-gradient(90deg, var(--ts-lime), #d4e877);
  content: "";
  height: 6px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.legal-eyebrow {
  color: #718719;
  font: 600 12px/1 "Poppins", sans-serif;
  letter-spacing: .16em;
  margin: 0 0 12px;
  text-transform: uppercase;
}

main h1 { color: var(--ts-navy); font: 600 clamp(32px, 5vw, 46px)/1.15 "Poppins", sans-serif; letter-spacing: -.025em; margin: 0 0 14px; }
main h2 { color: var(--ts-navy); font: 600 20px/1.35 "Poppins", sans-serif; margin-top: 36px; }
main p, main li { color: #454657; font-size: 15px; line-height: 1.75; }
main ul { padding-left: 22px; }
main li::marker { color: var(--ts-lime); }
main a { color: #627713; font-weight: 600; text-underline-offset: 3px; }
main > p:nth-of-type(2) { border-bottom: 1px solid var(--ts-border); margin-bottom: 34px; padding-bottom: 30px; }

.legal-page-footer { background: var(--ts-navy-deep); color: rgba(255, 255, 255, .66); }
.legal-footer-brand img { display: block; filter: brightness(0) invert(1); height: 34px; width: auto; }
.legal-footer-copy { font-size: 12px; margin-top: 10px; }
.legal-footer-links { display: flex; flex-wrap: wrap; gap: 20px; justify-content: flex-end; }
.legal-footer-links a { color: rgba(255, 255, 255, .76); font-size: 13px; text-decoration: none; }
.legal-footer-links a:hover, .legal-footer-links a[aria-current="page"] { color: var(--ts-lime); }

@media (max-width: 700px) {
  .legal-header-inner { align-items: flex-start; gap: 18px; }
  .legal-header-links { align-items: flex-end; flex-direction: column; gap: 14px; }
  .legal-header-links a:not(.legal-home-link) { display: none; }
  main { border-left: 0; border-radius: 0; border-right: 0; margin: 28px 0; padding: 42px 24px 48px; }
  .legal-footer-inner { align-items: flex-start; flex-direction: column; gap: 24px; }
  .legal-footer-links { justify-content: flex-start; }
}
