/* Leitura dos documentos legais: progresso, seções que surgem ao rolar, trilho de navegação
   e volta ao topo. Só aparência e movimento; o texto jurídico não é tocado. */
.legal-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:1200;pointer-events:none;background:transparent}
.legal-progress i{display:block;height:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#7fd11f,#afff38 60%,#e6ffb8);box-shadow:0 0 18px #afff3866;border-radius:0 3px 3px 0}

.doc .legal-meta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 6px;padding:0;list-style:none}
.doc .legal-meta li{display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border:1px solid #343a38;border-radius:999px;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:#c9c4be;line-height:1.3;background:#161919}
.doc .legal-meta li::before{content:"";width:6px;height:6px;border-radius:50%;background:#afff38;box-shadow:0 0 10px #afff3899}
.doc .updated{display:none}

.doc .doc-sumario{margin-top:34px}
.doc .doc-sumario a{transition:color .35s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.doc .doc-sumario a:hover{color:#afff38;transform:translateX(4px)}

.doc .doc-sec{position:relative;margin-top:28px;padding:34px 34px 30px;border:1px solid #2a302e;border-radius:28px;background:linear-gradient(160deg,#1a1e1d 0%,#141717 70%);overflow:hidden}
.doc .doc-sec::before{content:"";position:absolute;inset:0 auto auto 0;width:180px;height:180px;background:radial-gradient(circle at 0 0,#afff3814,transparent 70%);pointer-events:none}
.doc .doc-sec h2{margin:0!important;padding-top:0!important;border-top:0!important;display:flex;align-items:baseline;gap:18px;position:relative}
.doc .doc-sec h2 .num{flex:none;display:inline-block;margin:0;min-width:2.3ch;font-size:15px;letter-spacing:.06em;color:#afff38;font-variant-numeric:tabular-nums}
.doc .doc-sec h2::after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:1px;background:linear-gradient(90deg,#afff3855,#343a38 28%,transparent)}
.doc .doc-sec h2+*{margin-top:30px}
.doc .doc-sec ul{list-style:none;padding-left:0;margin-left:0}
.doc .doc-sec ul>li{position:relative;padding-left:26px;margin:10px 0}
.doc .doc-sec ul>li::before{content:"";position:absolute;left:4px;top:.78em;width:7px;height:7px;border-radius:50%;border:1.5px solid #afff38}
.doc .doc-sec a{color:#d6ff9c;text-decoration:none;background:linear-gradient(#afff38,#afff38) 0 100%/100% 1px no-repeat;transition:background-size .45s cubic-bezier(.22,1,.36,1),color .3s}
.doc .doc-sec a:hover{color:#111313;background-size:100% 100%}
.doc .doc-sec:last-of-type{border-color:#afff3840;background:linear-gradient(150deg,#afff3812,#161919 55%)}

.legal-rail{position:fixed;top:132px;right:max(20px,calc((100vw - 960px)/2 - 268px));width:228px;max-height:calc(100vh - 190px);overflow:auto;padding:18px 16px;border:1px solid #2a302e;border-radius:22px;background:#141717e6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .7s ease,transform .9s cubic-bezier(.22,1,.36,1);z-index:40;scrollbar-width:none}
.legal-rail::-webkit-scrollbar{display:none}
.legal-rail.on{opacity:1;transform:none;pointer-events:auto}
.legal-rail p{margin:0 0 10px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#8d938f}
.legal-rail a{display:flex;gap:10px;padding:7px 8px;border-radius:10px;font-size:12.5px;line-height:1.35;color:#9aa19c;text-decoration:none;transition:color .35s,background-color .35s}
.legal-rail a span{color:#5f6662;font-variant-numeric:tabular-nums;transition:color .35s}
.legal-rail a:hover{color:#fcf5ee}
.legal-rail a.is-now{color:#fcf5ee;background:#afff3812}
.legal-rail a.is-now span{color:#afff38}
@media(max-width:1500px){.legal-rail{display:none}}

.legal-top{position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom));width:52px;height:52px;border-radius:50%;border:1px solid #3a413e;background:#181b1be6;color:#fcf5ee;display:grid;place-items:center;cursor:pointer;opacity:0;transform:translateY(16px) scale(.92);pointer-events:none;transition:opacity .6s ease,transform .8s cubic-bezier(.22,1,.36,1),border-color .3s,background-color .3s,color .3s;z-index:60;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.legal-top.on{opacity:1;transform:none;pointer-events:auto}
.legal-top:hover{border-color:#afff38;background:#afff38;color:#111313;transform:translateY(-3px)}
.legal-top svg{width:20px;height:20px}

@media(prefers-reduced-motion:no-preference){
  .doc.legal-ready .doc-sec,.doc.legal-ready .doc-sumario,.doc.legal-ready .legal-meta{opacity:0;transform:translateY(26px);transition:opacity 1.1s ease,transform 1.2s cubic-bezier(.22,1,.36,1)}
  .doc.legal-ready .is-seen{opacity:1;transform:none}
  .doc.legal-ready .doc-sec>*{opacity:0;transform:translateY(12px);transition:opacity .9s ease,transform 1s cubic-bezier(.22,1,.36,1)}
  .doc.legal-ready .doc-sec.is-seen>*{opacity:1;transform:none}
  .doc.legal-ready .doc-sec.is-seen>*:nth-child(2){transition-delay:.09s}
  .doc.legal-ready .doc-sec.is-seen>*:nth-child(3){transition-delay:.18s}
  .doc.legal-ready .doc-sec.is-seen>*:nth-child(4){transition-delay:.27s}
  .doc.legal-ready .doc-sec.is-seen>*:nth-child(n+5){transition-delay:.36s}
}
@media(max-width:600px){
  .doc .doc-sec{padding:26px 20px 22px;border-radius:22px;margin-top:20px}
  .doc .doc-sec h2{gap:12px}
  .doc .legal-meta li{font-size:11px;padding:9px 13px}
  .legal-top{right:16px;width:48px;height:48px}
}
@media print{.legal-progress,.legal-rail,.legal-top{display:none!important}.doc .doc-sec{border:0;background:none;padding:0}.doc .legal-meta li{border:0;padding:0;color:black}.doc .updated{display:block}}
