:root {
  --legal-page: #f2f5f7;
  --legal-panel: #ffffff;
  --legal-soft: #f8fafb;
  --legal-ink: #0c2340;
  --legal-copy: #344b63;
  --legal-muted: #6b8599;
  --legal-line: #dfe7ee;
  --legal-teal: #00b896;
  --legal-teal-dark: #007d6c;
  --legal-teal-soft: rgba(0, 184, 150, 0.12);
  --legal-danger: #a33a3a;
}

html {
  scroll-padding-top: 96px;
}

body.bg-gray-50 {
  margin: 0;
  font-family:
    'Barlow',
    -apple-system,
    BlinkMacSystemFont,
    system-ui,
    sans-serif;
  background: var(--legal-page) !important;
  color: var(--legal-ink);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

body * {
  letter-spacing: 0;
}

body a {
  transition:
    color 0.16s ease,
    border-color 0.16s ease,
    background-color 0.16s ease;
}

body > nav {
  position: sticky !important;
  top: 0;
  right: auto !important;
  left: auto !important;
  background: rgba(242, 245, 247, 0.98) !important;
  border-bottom: 1px solid var(--legal-line);
  box-shadow: none !important;
}

body > nav.py-4 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body > nav .container,
footer .container {
  width: min(1160px, calc(100vw - 2rem));
  max-width: none;
  margin-right: auto;
  margin-left: auto;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body > nav .container {
  min-height: 72px;
}

body > nav img {
  width: auto;
  height: 38px !important;
}

body > nav a,
body > nav span {
  color: var(--legal-copy) !important;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
}

body > nav a:hover,
body > nav span {
  color: var(--legal-ink) !important;
}

body > nav .primary-btn,
body > section a.bg-blue-600,
body > section a.bg-green-600 {
  border: 1px solid var(--legal-teal) !important;
  border-radius: 8px !important;
  background: var(--legal-teal) !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-weight: 700;
}

body > nav .primary-btn:hover,
body > section a.bg-blue-600:hover,
body > section a.bg-green-600:hover {
  border-color: var(--legal-teal-dark) !important;
  background: var(--legal-teal-dark) !important;
  color: #ffffff !important;
}

body > .gradient-bg,
body > section.gradient-bg {
  border-bottom: 4px solid var(--legal-teal);
  background: var(--legal-ink) !important;
  padding: clamp(3.5rem, 7vw, 5rem) 0 !important;
  color: #ffffff;
}

body > .gradient-bg .container,
body > section.gradient-bg .container {
  width: min(980px, calc(100vw - 2rem));
  max-width: none;
  margin-right: auto;
  margin-left: auto;
  padding-right: 0 !important;
  padding-left: 0 !important;
  text-align: left !important;
}

body > .gradient-bg h1,
body > section.gradient-bg h1 {
  margin-bottom: 0.75rem !important;
  color: #ffffff;
  font-family: 'Barlow Condensed', 'Barlow', system-ui, sans-serif;
  font-size: clamp(3rem, 8vw, 5rem) !important;
  font-weight: 800 !important;
  line-height: 0.95;
}

body > .gradient-bg p,
body > section.gradient-bg p {
  max-width: 680px !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: clamp(1rem, 2vw, 1.18rem) !important;
  line-height: 1.55;
}

body > div.container.mx-auto.max-w-4xl {
  width: min(980px, calc(100vw - 2rem));
  max-width: none !important;
  padding: 3.5rem 0 0 !important;
}

body > div.container.mx-auto.max-w-4xl > .bg-white,
body > section:not(.gradient-bg) .bg-white.rounded-lg,
body > section:not(.gradient-bg) .bg-gray-50.rounded-lg,
.security-card {
  border: 1px solid var(--legal-line);
  border-radius: 8px !important;
  background: var(--legal-panel) !important;
  box-shadow: none !important;
}

body > div.container.mx-auto.max-w-4xl > .bg-white {
  padding: clamp(1.5rem, 4vw, 3rem) !important;
}

body > div.container.mx-auto.max-w-4xl section {
  margin-bottom: 0 !important;
  padding: 2.25rem 0;
  border-top: 1px solid var(--legal-line);
}

body > div.container.mx-auto.max-w-4xl section:first-of-type {
  border-top: 0;
}

body > section:not(.gradient-bg) {
  padding: 3.5rem 0 !important;
  background: var(--legal-page) !important;
}

body > section:not(.gradient-bg) .container {
  width: min(1080px, calc(100vw - 2rem));
  max-width: none;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body h1,
body h2,
body h3 {
  color: var(--legal-ink);
  font-family: 'Barlow Condensed', 'Barlow', system-ui, sans-serif;
  line-height: 1.05;
}

body h2 {
  font-size: clamp(2rem, 4vw, 2.75rem) !important;
  font-weight: 800 !important;
}

body h3 {
  font-size: clamp(1.35rem, 2.5vw, 1.8rem) !important;
  font-weight: 700 !important;
}

body p,
body li {
  color: var(--legal-copy) !important;
  font-size: 1rem;
  line-height: 1.7;
}

body strong {
  color: var(--legal-ink);
  font-weight: 700;
}

body .text-center {
  text-align: left !important;
}

.toc-link,
body a.text-blue-600 {
  color: var(--legal-teal-dark) !important;
  text-decoration: none !important;
}

.toc-link:hover,
body a.text-blue-600:hover {
  color: var(--legal-ink) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.18em;
}

body .bg-gray-50.rounded-lg.p-6.mb-12,
body .bg-blue-50,
body .bg-yellow-50,
body .bg-red-50 {
  border: 1px solid var(--legal-line) !important;
  border-left: 4px solid var(--legal-teal) !important;
  border-radius: 8px !important;
  background: var(--legal-soft) !important;
  box-shadow: none !important;
}

body .bg-red-50 {
  border-left-color: var(--legal-danger) !important;
}

.section-number,
body .text-blue-600,
body .text-green-500,
body .text-blue-800 {
  color: var(--legal-teal-dark) !important;
}

.feature-icon {
  border: 1px solid rgba(0, 184, 150, 0.22);
  border-radius: 8px !important;
  background: var(--legal-teal-soft) !important;
  color: var(--legal-teal-dark) !important;
}

.feature-icon i {
  color: inherit !important;
}

.security-card {
  transition: border-color 0.16s ease !important;
}

.security-card:hover {
  transform: none !important;
  border-color: rgba(0, 184, 150, 0.45);
  box-shadow: none !important;
}

body .rounded-full {
  border-radius: 8px !important;
}

body .rounded-lg {
  border-radius: 8px !important;
}

body .shadow-lg,
body .shadow-md,
body .shadow-sm {
  box-shadow: none !important;
}

footer.bg-gray-900 {
  margin-top: 3.5rem !important;
  padding: 2.25rem 0 !important;
  background: var(--legal-ink) !important;
}

footer h3 {
  color: #ffffff !important;
  font-size: 1.2rem !important;
}

footer p,
footer a,
footer span,
footer li {
  color: rgba(255, 255, 255, 0.72) !important;
}

footer a:hover {
  color: #ffffff !important;
}

footer .border-t {
  border-color: rgba(255, 255, 255, 0.14) !important;
}

@media (max-width: 767px) {
  body > nav .container {
    min-height: auto;
    padding: 0.85rem 0 !important;
  }

  body > nav img {
    height: 32px !important;
  }

  body > nav .primary-btn {
    display: none;
  }

  body > div.container.mx-auto.max-w-4xl {
    width: min(100% - 1rem, 980px);
    padding-top: 1.5rem !important;
  }

  body > div.container.mx-auto.max-w-4xl > .bg-white {
    padding: 1.25rem !important;
  }

  body > div.container.mx-auto.max-w-4xl section {
    padding: 1.6rem 0;
  }

  footer .space-x-4 > :not([hidden]) ~ :not([hidden]) {
    margin-left: 0.5rem;
  }
}
