/* ==========================================================================
   CINCO - estilos das paginas internas
   (politica de privacidade, termos de uso e 404)
   Reaproveita os tokens, a nav e o rodape do index.html.
   ========================================================================== */
:root{
  --navy:#0D1B4B;
  --blue-deep:#1239B6;
  --blue:#305BE5;
  --cyan:#30E3E5;
  --bg:#F0F6FF;
  --border:#D0DCFA;
  --ink:#0D1B4B;
  --ink-soft:#44518A;
  --white:#FFFFFF;
  --grad:linear-gradient(165deg,#1239B6 0%,#305BE5 55%,#30E3E5 100%);
  --radius:20px;
  --shadow-md:0 14px 40px -12px rgba(13,27,75,.18);
  --ease:cubic-bezier(.22,1,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Poppins',sans-serif;
  color:var(--ink);
  background:var(--white);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Raleway',sans-serif;font-weight:700;letter-spacing:-.02em}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--cyan);color:var(--navy)}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important}
}
.wrap{width:min(1180px,92vw);margin:0 auto}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--blue);
}
.eyebrow.on-dark{color:var(--cyan)}
section{position:relative}
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:#fff;color:var(--blue-deep);padding:12px 20px;border-radius:0 0 12px 0;font-weight:600;
}
.skip-link:focus{left:0}

/* ---------- nav ---------- */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:100;
  background:rgba(240,246,255,.82);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:0 1px 0 rgba(13,27,75,.07);
}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.nav-logo svg{height:26px;width:auto}
.nav-links{display:flex;gap:30px;font-size:14px;font-weight:500;color:var(--ink-soft)}
.nav-links a{position:relative;transition:color .3s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--cyan);border-radius:2px;transition:width .35s var(--ease)}
.nav-links a:hover{color:var(--ink)}
.nav-links a:hover::after{width:100%}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:'Poppins',sans-serif;font-weight:600;font-size:15px;
  padding:15px 30px;border-radius:999px;border:0;cursor:pointer;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s;
  will-change:transform;
}
.btn-primary{
  background:var(--grad);color:#fff;
  box-shadow:0 14px 34px -10px rgba(48,91,229,.55);
}
.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 22px 44px -10px rgba(48,91,229,.6)}
/* variantes para fundo escuro (usadas na 404) */
.btn-light{background:#fff;color:var(--blue-deep);box-shadow:0 14px 34px -12px rgba(13,27,75,.4)}
.btn-light:hover{transform:translateY(-3px) scale(1.02)}
.btn-ghost-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.btn-ghost-light:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-3px)}
.nav-cta-mobile{display:none}

/* ---------- hero ---------- */
.legal-hero{
  background:linear-gradient(165deg,#1239B6 0%,#305BE5 100%);
  padding:150px 0 72px;overflow:hidden;
}
.legal-hero::after{
  content:"";position:absolute;right:-180px;top:-140px;width:540px;height:540px;border-radius:50%;
  background:radial-gradient(circle,rgba(48,227,229,.22),transparent 68%);pointer-events:none;
}
.legal-hero .wrap{position:relative;z-index:1;width:min(820px,92vw)}
.legal-hero h1{color:#fff;font-size:clamp(34px,5.2vw,52px);line-height:1.07;margin-top:14px}
.legal-hero .updated{color:rgba(255,255,255,.72);font-size:14.5px;margin-top:18px}

/* ---------- 404 ---------- */
.nf{
  min-height:calc(100vh - 76px);
  display:flex;align-items:center;
  background:linear-gradient(165deg,#1239B6 0%,#305BE5 60%,#30E3E5 160%);
  padding:120px 0 80px;overflow:hidden;
}
.nf::after{
  content:"";position:absolute;right:-200px;top:-160px;width:620px;height:620px;border-radius:50%;
  background:radial-gradient(circle,rgba(48,227,229,.22),transparent 68%);pointer-events:none;
}
.nf .wrap{position:relative;z-index:1;width:min(760px,92vw)}
.nf-code{
  font-family:'Raleway',sans-serif;font-weight:800;line-height:.9;
  font-size:clamp(88px,17vw,168px);letter-spacing:-.04em;
  color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.34);
  margin:14px 0 6px;
}
.nf h1{color:#fff;font-size:clamp(28px,4.4vw,44px);line-height:1.1}
.nf p{color:rgba(255,255,255,.78);font-size:16.5px;line-height:1.75;margin-top:16px;max-width:52ch}
.nf-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.nf-links{
  margin-top:40px;padding-top:26px;border-top:1px solid rgba(255,255,255,.16);
}
.nf-links h2{
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cyan);margin-bottom:16px;font-weight:600;
}
.nf-links ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 30px}
.nf-links a{
  color:rgba(255,255,255,.82);font-size:15px;display:inline-flex;align-items:center;gap:9px;
  transition:color .3s,transform .3s var(--ease);
}
.nf-links a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan);flex:none}
.nf-links a:hover{color:#fff;transform:translateX(3px)}

/* ---------- corpo do documento ---------- */
.legal-body{padding:64px 0 88px}
.legal-body .wrap{width:min(820px,92vw)}
.legal-intro{
  font-size:16.5px;line-height:1.8;color:var(--ink-soft);
  border-left:3px solid var(--cyan);padding-left:22px;margin-bottom:46px;
}
.legal-intro strong{color:var(--ink);font-weight:600}
.legal-toc{
  background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);
  padding:26px 30px;margin-bottom:52px;
}
.legal-toc h2{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:16px}
/* columns (e nao grid) para a numeracao correr de cima a baixo em cada coluna */
.legal-toc ol{list-style:none;counter-reset:toc;columns:2;column-gap:30px}
.legal-toc li{counter-increment:toc;font-size:14.5px;line-height:1.5;margin-bottom:10px;break-inside:avoid}
.legal-toc li:last-child{margin-bottom:0}
.legal-toc li::before{content:counter(toc) ". ";color:var(--blue);font-weight:600}
.legal-toc a{color:var(--ink-soft);transition:color .3s}
.legal-toc a:hover{color:var(--blue)}

.legal-section{margin-bottom:46px;scroll-margin-top:100px}
.legal-section h2{color:var(--blue-deep);font-size:clamp(20px,2.6vw,24px);line-height:1.3;margin-bottom:16px}
.legal-section p{font-size:16px;line-height:1.8;color:var(--ink-soft);margin-bottom:14px}
.legal-section p:last-child{margin-bottom:0}
.legal-section strong{color:var(--ink);font-weight:600}
.legal-section ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin:4px 0 16px}
.legal-section ul li{position:relative;padding-left:26px;font-size:16px;line-height:1.75;color:var(--ink-soft)}
.legal-section ul li::before{
  content:"";position:absolute;left:4px;top:11px;width:7px;height:7px;border-radius:50%;
  background:var(--cyan);
}
.legal-section a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;transition:color .3s}
.legal-section a:hover{color:var(--blue-deep)}

.legal-callout{
  background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--blue);
  border-radius:0 var(--radius) var(--radius) 0;padding:24px 28px;margin-top:6px;
}
.legal-callout p:last-child{margin-bottom:0}

.legal-contact{background:var(--navy);border-radius:var(--radius);padding:34px 36px;box-shadow:var(--shadow-md)}
.legal-contact h2{color:#fff;margin-bottom:18px}
.legal-contact p,.legal-contact li{color:rgba(255,255,255,.72)}
.legal-contact strong{color:#fff}
.legal-contact a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.legal-contact a:hover{color:#fff}
.legal-contact ul li::before{background:var(--cyan)}

.legal-crosslink{
  margin-top:52px;padding-top:30px;border-top:1px solid var(--border);
  font-size:15.5px;color:var(--ink-soft);
}
.legal-crosslink a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.legal-crosslink a:hover{color:var(--blue-deep)}

/* ---------- footer ---------- */
footer{background:var(--navy);color:rgba(255,255,255,.7);padding:70px 0 36px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;margin-bottom:50px}
.foot-logo svg{height:34px;width:auto;margin-bottom:18px}
.foot-grid p{font-size:13.5px;line-height:1.7;max-width:340px}
.foot-grid h4{font-family:'Raleway',sans-serif;color:#fff;font-size:13px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}
.foot-grid ul{list-style:none;display:flex;flex-direction:column;gap:12px;font-size:14px}
.foot-grid ul a{transition:color .3s}
.foot-grid ul a:hover{color:var(--cyan)}
.social{display:flex;gap:12px;margin-top:22px}
.social a{
  width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.07);border:1px solid rgba(48,227,229,.18);
  transition:transform .35s var(--ease),background .35s,border-color .35s;
}
.social a:hover{transform:translateY(-3px);background:rgba(48,227,229,.14);border-color:rgba(48,227,229,.5)}
.social svg{width:19px;height:19px;fill:#fff}
.foot-bottom a{text-decoration:underline;text-underline-offset:3px;transition:color .3s}
.foot-bottom a:hover{color:var(--cyan)}
.foot-bottom a[aria-current="page"]{color:var(--cyan)}
.foot-legal{display:flex;flex-direction:column;gap:6px}
.disclaimer{
  border:1px solid rgba(48,227,229,.2);background:rgba(255,255,255,.04);
  border-radius:14px;padding:18px 22px;font-size:12.5px;line-height:1.7;
  color:rgba(255,255,255,.6);margin-bottom:36px;
}
.foot-bottom{
  border-top:1px solid rgba(255,255,255,.1);padding-top:26px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  font-size:12.5px;color:rgba(255,255,255,.45);
}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .nav-links{display:none}
  .nav-cta-mobile{display:inline-flex}
  .nav .btn.nav-cta-desktop{display:none}
  .legal-hero{padding:118px 0 56px}
  .nf{padding:100px 0 64px}
  .nf-links ul{grid-template-columns:1fr}
  .nf-ctas .btn{width:100%}
  .legal-toc ol{columns:1}
  .legal-toc,.legal-contact{padding:24px 22px}
  .foot-grid{grid-template-columns:1fr}
}
