:root{
  --white:#FFFFFF;
  --soft:#F5F9FE;
  --ink:#0B1236;
  --brand:#000B7E;
  --cyan:#008CF6;
  --muted:#5A6664;
  --muted2:#5A6684;
  --line:#E3ECF8;
  --navy-deep:#040A24;
  --radius:16px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
  background:var(--white);color:var(--ink);line-height:1.65;
}
::selection{background:var(--cyan);color:#fff}
.container{width:min(1100px,92%);margin:0 auto}

/* header (mesmo padrão do site) */
header{position:sticky;top:0;z-index:100;padding:1rem 0;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo{display:flex;align-items:center;text-decoration:none}
.logo img{height:32px;display:block}
.back-link{color:var(--muted2);text-decoration:none;font-weight:600;font-size:.9rem;transition:.2s}
.back-link:hover{color:var(--cyan)}

/* hero simples do documento */
.doc-hero{padding:3.5rem 0 2.5rem;border-bottom:1px solid var(--line);background:var(--soft)}
.eyebrow{
  display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.24em;
  text-transform:uppercase;color:var(--cyan);margin-bottom:.9rem;
}
.eyebrow::before{content:"";display:inline-block;width:22px;height:3px;background:var(--cyan);margin-right:.6rem;vertical-align:middle;border-radius:2px}
.doc-hero h1{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800;letter-spacing:-.02em;color:var(--brand);max-width:760px}
.updated-badge{
  display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;
  background:#fff;border:1px solid var(--line);color:var(--muted2);
  font-size:.85rem;padding:.45rem .9rem;border-radius:999px;
}
.updated-badge b{color:var(--brand)}

/* layout do documento */
.doc-layout{display:grid;grid-template-columns:260px 1fr;gap:3rem;padding:3rem 0 5rem;align-items:start}
.toc{position:sticky;top:5.5rem;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;background:var(--soft);max-height:calc(100vh - 7rem);overflow-y:auto}
.toc h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted2);margin-bottom:.9rem}
.toc ol{list-style:none;counter-reset:toc;display:grid;gap:.55rem}
.toc li{counter-increment:toc}
.toc a{
  display:flex;gap:.6rem;color:var(--ink);text-decoration:none;font-size:.88rem;line-height:1.4;
  transition:.2s;
}
.toc a::before{content:counter(toc);flex:0 0 auto;color:var(--cyan);font-weight:800;font-size:.8rem}
.toc a:hover{color:var(--cyan)}

.doc-content{max-width:760px}
.doc-content .lead-note{
  background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--cyan);
  border-radius:12px;padding:1.3rem 1.5rem;margin-bottom:2.4rem;color:var(--ink);font-size:.98rem;
}
.doc-content .lead-note strong{color:var(--brand)}
.doc-content > p.intro{color:var(--muted2);font-size:1.05rem;margin-bottom:1rem}

.doc-section{padding-top:2.6rem;margin-top:2.6rem;border-top:1px solid var(--line)}
.doc-section:first-of-type{border-top:none;margin-top:0;padding-top:0}
.doc-section h2{
  font-size:1.35rem;font-weight:800;color:var(--brand);margin-bottom:1rem;
  display:flex;align-items:center;gap:.7rem;scroll-margin-top:6rem;
}
.doc-section h2 .n{
  flex:0 0 auto;width:32px;height:32px;border-radius:9px;background:var(--soft);
  border:1px solid var(--line);color:var(--cyan);font-size:.95rem;font-weight:900;
  display:flex;align-items:center;justify-content:center;
}
.doc-section p{color:var(--ink);margin-bottom:1rem;font-size:.99rem}
.doc-section ul{margin:0 0 1.1rem 1.3rem;display:grid;gap:.4rem}
.doc-section li{color:var(--ink);font-size:.99rem}
.doc-section strong{color:var(--brand)}

.doc-cta{
  margin-top:3rem;padding:2rem;border-radius:var(--radius);background:var(--brand);color:#fff;
  display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;justify-content:space-between;
}
.doc-cta p{color:rgba(255,255,255,.85);margin:0;font-size:.95rem;max-width:420px}
.doc-cta .btn{
  display:inline-flex;align-items:center;gap:.5rem;background:var(--cyan);color:#fff;
  font-weight:700;font-size:.92rem;text-decoration:none;padding:.8rem 1.5rem;border-radius:999px;
  white-space:nowrap;transition:.2s;
}
.doc-cta .btn:hover{background:#0074d4;transform:translateY(-2px)}

/* footer */
footer{background:var(--navy-deep);padding:2.4rem 0;color:#fff;text-align:center}
footer p{color:#9BAAD4;font-size:.88rem}
footer a{color:#5FB2FF;text-decoration:none}

@media(max-width:900px){
  .doc-layout{grid-template-columns:1fr}
  .toc{position:static;max-height:none}
}

/* usadas só na página do contrato de licenciamento (termos-e-condicoes-ce) */
.doc-section a{color:var(--cyan)}
.clause-label{font-weight:700;color:var(--brand)}

