/* Página institucional: política de privacidade */

.page-legal .header{
  background:rgba(0,13,26,.94);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  backdrop-filter:blur(18px) saturate(150%);
  border-bottom-color:rgba(120,190,225,.14);
}

.legal-hero{
  position:relative;
  padding:clamp(42px,6vw,84px) 0 clamp(36px,5vw,68px);
  background:linear-gradient(180deg,var(--ink-900),var(--ink-950));
  overflow:clip;
}
.legal-hero .wrap{position:relative;z-index:1;display:grid;gap:16px;max-width:820px}
.legal-hero .title{color:#fff}
.legal-hero .lede{color:var(--tx-light-soft);max-width:62ch}
.legal-meta{color:var(--tx-muted);font-size:.92rem;font-weight:600}
.legal-hero .btn{justify-self:start;width:auto}

.legal{background:var(--paper-100)}
.legal__layout{
  display:grid;
  grid-template-columns:minmax(220px,280px) minmax(0,1fr);
  gap:clamp(22px,3vw,48px);
  align-items:start;
}

.legal-index{
  position:sticky;
  top:calc(var(--nav-h) + 18px);
  display:grid;
  gap:4px;
  padding:22px 18px;
  border-radius:var(--r-lg);
  background:var(--paper);
  box-shadow:var(--sh-soft);
}
.legal-index h2{
  margin:0 0 10px;
  padding-inline:10px;
  font-size:.78rem;
  font-weight:700;
  font-stretch:var(--wide);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--cyan-600);
}
.legal-index a{
  display:block;
  padding:.62em .8em;
  border-radius:12px;
  color:var(--tx-dark);
  font-size:.92rem;
  font-weight:650;
  line-height:1.35;
  transition:background .3s ease,color .3s ease;
}
.legal-index a:hover,
.legal-index a.is-active{
  background:var(--paper-100);
  color:var(--cyan-600);
}

.legal-doc{
  display:grid;
  gap:18px;
  padding:clamp(22px,3vw,40px);
  border-radius:var(--r-xl);
  background:var(--paper);
  box-shadow:var(--sh-card);
}
.legal-doc > p{color:var(--tx-body);line-height:1.75}
.legal-topic{
  scroll-margin-top:calc(var(--nav-h) + 22px);
  padding-top:8px;
}
.legal-topic + .legal-topic{
  margin-top:10px;
  padding-top:28px;
  border-top:1px solid var(--paper-200);
}
.legal-topic h2{
  margin-bottom:14px;
  font-size:clamp(1.35rem,2vw,1.75rem);
}
.legal-topic h3{
  margin:22px 0 10px;
  color:var(--navy);
  font-size:1.05rem;
  font-weight:750;
  font-stretch:var(--semiwide);
  letter-spacing:-.01em;
  line-height:1.3;
}
.legal-topic p{margin-bottom:14px;line-height:1.75}
.legal-topic p:last-child{margin-bottom:0}
.legal-topic ul{
  margin:0 0 16px;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.legal-topic li{
  position:relative;
  padding-left:1.15em;
  line-height:1.65;
}
.legal-topic li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--cyan-500);
}
.legal-topic a{
  color:var(--cyan-600);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.legal-topic a:hover{color:var(--navy)}

.legal-note{
  margin:8px 0 18px;
  padding:16px 18px;
  border-radius:var(--r-md);
  background:linear-gradient(180deg,#f3fbfe,var(--paper));
  box-shadow:inset 4px 0 0 var(--cyan-500),inset 0 0 0 1px var(--paper-200);
}
.legal-note strong{
  display:block;
  margin-bottom:6px;
  color:var(--navy);
  font-stretch:var(--semiwide);
}
.legal-note p{margin:0}
.legal-note--navy{box-shadow:inset 4px 0 0 var(--navy),inset 0 0 0 1px var(--paper-200)}

.legal-split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.86fr);
  gap:clamp(22px,3vw,42px);
  align-items:start;
}
.del-form{
  display:grid;
  gap:14px;
  padding:clamp(22px,3vw,34px);
  border-radius:var(--r-xl);
  background:var(--paper);
  box-shadow:var(--sh-card);
}
.del-form h2{font-size:clamp(1.35rem,2vw,1.7rem)}
.del-form p{color:var(--tx-body);line-height:1.6}
.del-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.del-field{display:grid;gap:6px}
.del-field span{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--navy)}
.del-field input,.del-field textarea{
  width:100%;
  padding:.95em 1em;
  border:0;
  border-radius:14px;
  background:var(--paper-100);
  box-shadow:inset 0 0 0 1px var(--paper-300);
  color:var(--tx-dark);
  font:inherit;
}
.del-field textarea{min-height:140px;resize:vertical}
.del-field input:focus,.del-field textarea:focus{
  outline:none;
  background:#fff;
  box-shadow:inset 0 0 0 1.6px var(--cyan-500),0 0 0 4px rgba(0,151,188,.15);
}
.del-field.is-invalid input,.del-field.is-invalid textarea{box-shadow:inset 0 0 0 1.6px var(--danger)}
.del-error{min-height:1em;font-size:.78rem;font-weight:650;color:var(--danger)}
.del-ok{display:grid;gap:10px;justify-items:center;text-align:center;padding:12px 8px 4px}
.del-ok b{color:var(--navy);font-size:1.2rem;font-stretch:var(--wide)}
.del-ok p{max-width:36ch}

@media (max-width:1280px){
  .page-legal .nav__link{padding:.55em .62em;font-size:.84rem}
  .page-legal .header__in{gap:14px}
  .page-legal .header__cta .btn--sm{padding:.7em 1em}
}
@media (max-width:900px){
  .legal__layout,.legal-split{grid-template-columns:1fr}
  .legal-index{position:static}
}
@media (max-width:620px){
  .legal-hero .btn{width:auto}
  .legal-doc{padding:20px 16px;border-radius:var(--r-lg)}
  .del-row{grid-template-columns:1fr}
}
