:root {
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:#273447;
  background:#f4f6f8;
  font-synthesis:none;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
}

body {
  margin:0;
  background:#f4f6f8;
  color:#2d3b50;
}

a {
  color:inherit;
}

.legal-page {
  max-width:1320px;
  margin:0 auto;
  padding:22px 52px 70px;
}

.legal-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:38px;
}

.legal-brand {
  display:flex;
  align-items:center;
  gap:11px;
  color:#20252d;
  text-decoration:none;
  font-weight:850;
}

.legal-brand-mark {
  width:39px;
  height:39px;
  object-fit:cover;
  display:block;
  border-radius:12px;
  display:grid;
  place-items:center;
  color:#29200e;
  background:linear-gradient(135deg,#f4d77f,#c99b3d);
  font-size:17px;
  font-weight:950;
}

.legal-back {
  border:1px solid #dce2e8;
  border-radius:999px;
  padding:9px 14px;
  color:#596678;
  background:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
}

.legal-hero {
  min-height:340px;
  padding-top:7px;
}

.legal-eyebrow {
  margin:0 0 22px;
  color:#b1893c;
  font-size:13px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.legal-hero h1 {
  max-width:1080px;
  margin:0;
  color:#20242b;
  font-size:clamp(52px,6.3vw,86px);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:950;
}

.legal-lead {
  max-width:900px;
  margin:24px 0 18px;
  color:#697484;
  font-size:21px;
  line-height:1.65;
  font-weight:600;
}

.legal-badges {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.legal-badge {
  border:1px solid #dce2e8;
  border-radius:999px;
  padding:10px 14px;
  color:#697484;
  background:#fff;
  font-size:12px;
  font-weight:900;
}

.legal-layout {
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:34px;
  align-items:start;
}

.legal-toc {
  position:sticky;
  top:24px;
  border:1px solid #dce2e8;
  border-radius:22px;
  padding:25px 20px;
  background:#fff;
  box-shadow:0 8px 26px rgba(38,48,63,.035);
}

.legal-toc strong {
  display:block;
  margin-bottom:13px;
  color:#252b32;
  font-size:15px;
}

.legal-toc nav {
  display:grid;
  gap:2px;
}

.legal-toc a {
  border-radius:9px;
  padding:7px 8px;
  color:#344258;
  text-decoration:none;
  font-size:14px;
  line-height:1.45;
  font-weight:750;
}

.legal-toc a:hover {
  color:#735a25;
  background:#faf5e9;
}

.legal-content {
  display:grid;
  gap:20px;
}

.legal-card {
  scroll-margin-top:25px;
  border:1px solid #dce2e8;
  border-radius:26px;
  padding:31px 34px;
  background:#fff;
  box-shadow:0 8px 28px rgba(38,48,63,.025);
}

.legal-card h2 {
  margin:0 0 15px;
  color:#20252c;
  font-size:30px;
  line-height:1.15;
  letter-spacing:-.035em;
}

.legal-card h3 {
  margin:24px 0 9px;
  color:#293547;
  font-size:17px;
}

.legal-card p {
  margin:9px 0;
  font-size:16px;
  line-height:1.75;
}

.legal-card ul {
  margin:10px 0;
  padding-left:22px;
}

.legal-card li {
  margin:8px 0;
  line-height:1.65;
}

.legal-card a {
  color:#806326;
  font-weight:750;
}

.legal-note {
  margin-top:18px;
  border-left:4px solid #c9a653;
  border-radius:4px 14px 14px 4px;
  padding:14px 17px;
  background:#fbf7ec;
}

.legal-contact {
  line-height:1.8;
}

.legal-nav-bottom {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:30px;
}

.legal-nav-bottom a {
  border:1px solid #dce2e8;
  border-radius:11px;
  padding:11px 14px;
  color:#4f5d70;
  background:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
}

.legal-footer {
  margin-top:50px;
  border-top:1px solid #d8dee5;
  padding-top:22px;
  color:#788392;
  font-size:13px;
  line-height:1.7;
}

.legal-sites {
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin:0 0 12px;
}

.legal-sites a {
  color:#344155;
  font-weight:800;
  text-decoration:none;
}

.legal-sites a:hover {
  color:#8a6a2b;
}

.legal-sites-label {
  color:#788392;
  font-weight:700;
}

.legal-sites-legal a {
  font-weight:700;
  color:#4a5668;
}

.legal-footer strong {
  color:#344155;
}

@media (max-width:900px) {
  .legal-page {
    padding:20px 24px 50px;
  }

  .legal-hero {
    min-height:auto;
    padding-bottom:60px;
  }

  .legal-layout {
    grid-template-columns:1fr;
  }

  .legal-toc {
    position:static;
  }

  .legal-toc nav {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:600px) {
  .legal-page {
    padding:16px 16px 38px;
  }

  .legal-top {
    margin-bottom:38px;
  }

  .legal-hero h1 {
    font-size:48px;
  }

  .legal-lead {
    font-size:18px;
  }

  .legal-toc nav {
    grid-template-columns:1fr;
  }

  .legal-card {
    border-radius:20px;
    padding:24px 21px;
  }

  .legal-card h2 {
    font-size:25px;
  }
}
