/* arkynIA tech: páginas legais (privacidade, exclusão de dados) */

.legal-nav { background: rgba(13, 15, 26, .82); backdrop-filter: blur(14px); border-bottom-color: var(--line-dark); }
.legal-nav .nav-cta { display: inline-flex; }

/* Topo */
.legal-hero { position: relative; overflow: hidden; padding: 168px 0 72px; }
.legal-hero > .container { position: relative; z-index: 1; }
.legal-hero .hero-glow { top: -380px; right: -260px; opacity: .8; }
.legal-title {
  font-family: var(--display); font-weight: 700; letter-spacing: -.045em; line-height: .95;
  font-size: clamp(46px, 8vw, 112px); max-width: 12ch;
}
.legal-intro { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px 64px; flex-wrap: wrap; margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--line-dark); }
.legal-intro p { max-width: 560px; font-size: clamp(16px, 1.5vw, 19px); color: #C9CADB; }
.legal-date { font-size: 14px; color: var(--muted-dark); white-space: nowrap; }
.legal-date strong { color: #fff; font-weight: 600; }

/* Corpo */
.legal-body { background: #fff; color: var(--text); padding: clamp(56px, 8vw, 104px) 0 clamp(80px, 10vw, 128px); }
.legal-grid { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: clamp(40px, 7vw, 112px); align-items: start; }

.toc { position: sticky; top: 108px; font-size: 14px; }
.toc p { font-weight: 600; margin-bottom: 14px; }
.toc ol { list-style: none; border-left: 1px solid var(--line-light); }
.toc a { display: block; padding: 7px 0 7px 16px; margin-left: -1px; border-left: 2px solid transparent; color: var(--muted); transition: color .15s ease, border-color .15s ease; }
.toc a:hover { color: var(--text); }
.toc a.on { color: var(--roxo); border-left-color: var(--roxo); font-weight: 500; }

.doc { max-width: 70ch; font-size: 17px; line-height: 1.7; color: #2B2C45; }
.doc section { scroll-margin-top: 100px; padding-top: 56px; }
.doc section:first-of-type { padding-top: 0; }
.doc h2 {
  font-family: var(--display); font-weight: 700; letter-spacing: -.03em; line-height: 1.1;
  font-size: clamp(26px, 2.6vw, 34px); color: var(--text); margin-bottom: 18px;
  display: flex; gap: 14px; align-items: baseline;
}
.doc h2 .n { font-size: .55em; font-weight: 600; letter-spacing: 0; color: var(--roxo); min-width: 1.6em; }
.doc h3 { font-size: 18px; font-weight: 600; color: var(--text); margin: 28px 0 8px; }
.doc p + p, .doc p + ul, .doc ul + p, .doc table + p { margin-top: 14px; }
.doc ul { list-style: none; margin-top: 10px; }
.doc li { position: relative; padding-left: 22px; }
.doc li + li { margin-top: 8px; }
.doc li::before { content: ""; position: absolute; left: 2px; top: .72em; width: 6px; height: 6px; border-radius: 50%; background: var(--grad); }
.doc strong { color: var(--text); font-weight: 600; }
.doc a { color: var(--roxo); text-decoration: underline; text-decoration-color: rgba(113, 12, 240, .3); text-underline-offset: 3px; transition: text-decoration-color .15s ease; }
.doc a:hover { text-decoration-color: currentColor; }

/* Resumo: o único bloco escuro no meio do texto */
.summary {
  position: relative; background: var(--dark); color: #fff; border-radius: var(--radius);
  padding: clamp(28px, 4vw, 44px); margin-bottom: 64px; overflow: hidden; isolation: isolate;
}
.summary::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; z-index: -1;
  background: linear-gradient(135deg, rgba(123, 130, 255, .7), rgba(179, 123, 255, .15) 45%, transparent 70%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
}
.summary::after {
  content: ""; position: absolute; width: 420px; height: 420px; right: -180px; top: -220px; z-index: -1;
  background: radial-gradient(circle, rgba(113, 12, 240, .45), transparent 65%);
}
.summary h2 { color: #fff; font-size: clamp(22px, 2.2vw, 28px); margin-bottom: 20px; }
.summary ul { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 32px; margin: 0; }
.summary li { padding: 0; font-size: 15.5px; line-height: 1.6; color: #C9CADB; }
.summary li::before { display: none; }
.summary li + li { margin-top: 0; }
.summary li strong { display: block; color: #fff; font-size: 16px; margin-bottom: 4px; }

/* Tabela de finalidades e bases legais */
.doc table { width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 15.5px; line-height: 1.55; }
.doc th { text-align: left; font-weight: 600; color: var(--muted); font-size: 13px; padding: 0 16px 10px 0; border-bottom: 1px solid var(--text); }
.doc td { padding: 14px 16px 14px 0; border-bottom: 1px solid var(--line-light); vertical-align: top; }
.doc td:last-child { color: var(--muted); width: 42%; }

/* Bloco de dado vindo da Meta */
.datalist { margin-top: 18px; border-top: 1px solid var(--line-light); }
.datalist div { display: grid; grid-template-columns: 200px 1fr; gap: 6px 24px; padding: 14px 0; border-bottom: 1px solid var(--line-light); }
.datalist dt { font-weight: 600; color: var(--text); font-size: 15.5px; }
.datalist dd { font-size: 15.5px; line-height: 1.6; }

.note { margin-top: 20px; padding: 18px 20px; border-radius: 14px; background: #F5F3FF; border: 1px solid #E7DEFF; font-size: 15.5px; line-height: 1.6; }

/* Passos (página de exclusão): é uma sequência de verdade */
.howto { list-style: none; counter-reset: passo; margin-top: 22px; display: grid; gap: 14px; }
.howto li { counter-increment: passo; padding: 20px 22px 20px 72px; border: 1px solid var(--line-light); border-radius: 16px; }
.howto li::before {
  content: counter(passo); left: 22px; top: 20px; width: 32px; height: 32px; border-radius: 50%;
  background: var(--grad); color: #fff; font: 600 14px/32px var(--display); text-align: center;
}
.howto li > strong:first-child { display: block; margin-bottom: 2px; }
.howto li + li { margin-top: 0; }

/* Contato no fim do documento */
.reach { margin-top: 64px; padding-top: 40px; border-top: 1px solid var(--line-light); }
.reach h2 { margin-bottom: 10px; }
.reach-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.doc .reach-actions a { text-decoration: none; }
.btn-dark { background: var(--dark); color: #fff; }
.btn-outline { border-color: var(--line-light); color: var(--text); }
.btn-outline:hover { border-color: var(--text); }
.doc .btn-grad, .doc .btn-dark { color: #fff; }
.doc .btn-outline { color: var(--text); }
.btn:active { transform: scale(.97); }

/* Rodapé curto */
.legal-footer { padding-top: 0; }
.legal-footer .footer-row { border-top: 0; padding-top: 28px; }
.footer-links a[aria-current="page"] { color: #fff; }

:focus-visible { outline: 2px solid #A98BFF; outline-offset: 3px; border-radius: 4px; }

@media (max-width: 900px) {
  .legal-grid { grid-template-columns: 1fr; }
  .toc { display: none; }
  .summary ul { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .legal-hero { padding: 128px 0 48px; }
  .legal-nav .nav-cta { padding: 9px 14px; font-size: 13px; }
  .doc { font-size: 16px; }
  .datalist div { grid-template-columns: 1fr; }
  .doc td:last-child { width: 46%; }
  .howto li { padding: 18px 18px 18px 62px; }
  .howto li::before { left: 18px; top: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .btn, .toc a { transition: none; }
  .btn:hover, .btn:active { transform: none; }
}
