/* Páginas legais do CRM Rogue */
.legal-page {
  --primary: #c5c9cd;
  --primary-light: #d7dbde;
  --dark: #0c0c0c;
  --light: #171717;
  --body: #aeaeae;
  --headline: #f4f4f4;
  --border: rgba(200, 204, 208, .15);
  --card-border: rgba(200, 204, 208, .14);
  background: var(--dark);
}

.legal-page .header {
  top: 16px;
  left: var(--gutter);
  right: var(--gutter);
  max-width: var(--container);
  border-radius: 14px;
  background: rgba(16, 17, 18, .96);
  border-color: #2e2e2e;
  box-shadow: none;
}

.legal-page .header.is-scrolled { background: rgba(16, 17, 18, .98); }
.legal-page .header__menu a[aria-current="page"] { color: #fff; }
.legal-page .header__menu a[aria-current="page"]::after { width: 100%; }
.legal-page .btn--light { background: #e6e8e9; color: #111; }
.legal-page .btn--light:hover { background: #fff; }
.legal-page .mobile-menu { background: #111; }

.legal-skip {
  position: fixed;
  top: -80px;
  left: 20px;
  z-index: 200;
  padding: 10px 16px;
  border-radius: 5px;
  background: #fff;
  color: #111;
}
.legal-skip:focus { top: 16px; }

.legal-hero {
  padding: 165px 0 70px;
  border-bottom: 1px solid #282828;
  background: radial-gradient(ellipse 65% 75% at 70% 0, #202226 0, transparent 75%);
}
.legal-hero__inner { max-width: 970px; }
.legal-hero .eyebrow { margin-bottom: 22px; color: #b8bcc1; }
.legal-hero h1 { font-size: clamp(42px, 7vw, 78px); line-height: 1.06; letter-spacing: -.055em; }
.legal-hero__lead { max-width: 690px; margin-top: 24px; color: #c1c1c1; font-size: clamp(16px, 2vw, 19px); line-height: 1.65; }
.legal-meta { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 33px; color: #9fa3a7; font-size: 12px; }
.legal-meta strong { color: #e6e6e6; }

.legal-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: clamp(35px, 6vw, 100px); padding-top: 70px; padding-bottom: 115px; }
.legal-nav { align-self: start; position: sticky; top: 105px; padding: 20px 0; }
.legal-nav p { margin-bottom: 16px; color: #e3e3e3; font-size: 11px; font-weight: 650; letter-spacing: .11em; text-transform: uppercase; }
.legal-nav ol { list-style: none; padding: 0; margin: 0; border-left: 1px solid #353535; }
.legal-nav a { display: block; padding: 8px 0 8px 17px; color: #aeb0b3; font-size: 12px; line-height: 1.4; transition: color .2s, border-color .2s; border-left: 2px solid transparent; margin-left: -1px; }
.legal-nav a:hover, .legal-nav a:focus-visible { color: #fff; border-color: #d7dbde; }
.legal-document { max-width: 760px; }
.legal-intro { padding: 25px 28px; margin-bottom: 44px; border: 1px solid #343434; border-radius: 12px; background: #171717; color: #d4d4d4; font-size: 15px; line-height: 1.7; }
.legal-document section + section { margin-top: 44px; padding-top: 44px; border-top: 1px solid #2b2b2b; }
.legal-document section { scroll-margin-top: 110px; }
.legal-document h2 { margin-bottom: 19px; font-size: clamp(24px, 3vw, 32px); line-height: 1.2; letter-spacing: -.035em; }
.legal-document h3 { margin: 24px 0 10px; font-size: 17px; }
.legal-document p, .legal-document li { color: #bdbdbd; font-size: 14px; line-height: 1.8; }
.legal-document p + p { margin-top: 13px; }
.legal-document ul { margin: 16px 0 20px; padding-left: 22px; list-style: disc; }
.legal-document li + li { margin-top: 7px; }
.legal-document a { color: #f1f1f1; text-decoration: underline; text-underline-offset: 3px; }
.legal-document strong { color: #ececec; }
.legal-related { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 60px; padding-top: 26px; border-top: 1px solid #333; }
.legal-related span { margin-right: 8px; color: #999; font-size: 12px; }
.legal-related a { padding: 9px 14px; border: 1px solid #414141; border-radius: 8px; color: #eee; font-size: 12px; text-decoration: none; }
.legal-related a:hover { background: #222; }

.legal-page .footer { background: #0c0c0c; }
.legal-page .footer::before, .legal-page .footer .container::before, .legal-page .footer__bottom::before { display: none; }
.legal-page .footer__grid { padding-bottom: 32px; }
.legal-page .footer__brand img { filter: none; }
.legal-page .footer__title { font-size: 11px; line-height: 1.4; letter-spacing: .1em; font-weight: 600; }
@media (max-width: 767px) {
  .legal-hero { padding-top: 140px; padding-bottom: 50px; }
  .legal-layout { display: block; padding-top: 38px; padding-bottom: 80px; }
  .legal-nav { position: static; padding: 0 0 40px; }
  .legal-nav ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .legal-document section + section { margin-top: 32px; padding-top: 32px; }
  .legal-intro { padding: 20px; }
}

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