/* ---------- barra de progresso ---------- */
  .progresso{position:fixed; top:0; left:0; right:0; height:3px; z-index:90; background:transparent}
  .progresso i{display:block; height:100%; width:0; background:var(--fio-ouro)}
  @media(min-width:62rem){.progresso{top:auto; bottom:0}}

  /* ---------- cabeçalho do artigo ---------- */
  .art-topo{padding:3.5rem 0 2.5rem; border-bottom:1px solid var(--rule)}
  .trilha{font-family:var(--tipo-ui); font-size:.75rem; color:var(--muted); margin:0 0 1.5rem; max-width:none}
  .trilha a{color:var(--muted); text-decoration:none; border-bottom:1px solid var(--rule-strong)}
  .trilha a:hover{color:var(--accent)}
  .etiquetas{display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1.25rem; padding:0; list-style:none; max-width:none}
  .etiquetas a{font-family:var(--tipo-ui); font-size:.6875rem; font-weight:500; letter-spacing:.12em;
    text-transform:uppercase; color:var(--accent); text-decoration:none;
    border:1px solid var(--rule-strong); border-radius:2px; padding:.4375rem .75rem;
    min-height:2.75rem; display:inline-flex; align-items:center}
  .etiquetas a:hover{border-color:var(--accent-line); background:var(--surface-2)}
  .art-topo h1{max-width:22ch}
  .ficha{display:flex; flex-wrap:wrap; gap:.5rem 1.75rem; margin:1.75rem 0 0;
    font-family:var(--tipo-ui); font-size:.8125rem; color:var(--muted); max-width:none}
  .ficha b{color:var(--ink-strong); font-weight:500}
  .ficha .oab{color:var(--muted); font-weight:300}
  .ficha .discreto{color:var(--muted); font-weight:300; font-size:.8125rem}

  /* ---------- corpo com sumário ---------- */
  .leitura{padding:2.5rem 0 4.5rem}
  @media(min-width:64rem){
    .leitura .wrap{display:grid; grid-template-columns:15rem 1fr; gap:4rem; align-items:start}
    .sumario{position:sticky; top:6.5rem}
  }
  .sumario{border-left:2px solid var(--rule); padding-left:1.125rem}
  .sumario p{font-family:var(--tipo-ui); font-weight:500; font-size:.6875rem; letter-spacing:.16em;
    text-transform:uppercase; color:var(--accent); margin:0 0 .75rem; max-width:none}
  .sumario ol{list-style:none; margin:0; padding:0; counter-reset:s}
  .sumario li{counter-increment:s}
  .sumario a{display:block; font-family:var(--tipo-ui); font-weight:300; font-size:.8125rem;
    line-height:1.4; color:var(--muted); text-decoration:none; padding:.5rem 0;
    min-height:2.75rem; display:flex; align-items:center; gap:.5rem}
  .sumario a::before{content:counter(s,decimal-leading-zero); font-size:.6875rem;
    color:var(--rule-strong); font-variant-numeric:tabular-nums; flex:none}
  .sumario a:hover{color:var(--accent)}
  .sumario a[aria-current="true"]{color:var(--ink-strong); font-weight:400}
  .sumario a[aria-current="true"]::before{color:var(--accent-line)}

  .corpo-art{max-width:var(--medida)}
  .resumo{background:var(--surface); border:1px solid var(--rule); border-left:3px solid transparent;
    border-image:var(--fio-ouro) 1; padding:1.75rem 1.875rem; margin:0 0 2.5rem; max-width:none}
  .resumo p:first-child{font-family:var(--tipo-ui); font-weight:500; font-size:.6875rem;
    letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin:0 0 .875rem}
  .resumo ul{margin:0; padding-left:1.125rem}
  .resumo li{margin-bottom:.5rem; font-size:.9375rem}
  .resumo li:last-child{margin-bottom:0}
  .resumo li::marker{color:var(--accent-line)}

  .corpo-art h2{font-size:clamp(1.25rem,2.2vw,1.5rem); margin:2.75rem 0 .25rem; scroll-margin-top:6.5rem}
  .corpo-art h2 + .fio{margin:.75rem 0 1.25rem; width:2.5rem}
  .corpo-art h2:first-of-type{margin-top:0}
  .pg{position:relative}
  .pg .anc{position:absolute; left:-2.25rem; top:.25rem; width:1.75rem; height:1.75rem;
    display:none; align-items:center; justify-content:center; border:0; background:none;
    color:var(--rule-strong); cursor:pointer; padding:0; font-family:var(--tipo-ui); font-size:.875rem}
  @media(min-width:64rem){
    .pg:hover .anc,.pg:focus-within .anc{display:flex}
  }
  .pg .anc:hover{color:var(--accent)}
  .pg .anc[data-copiado="1"]{color:var(--accent)}
  blockquote{margin:1.75rem 0; padding-left:1.375rem; border-left:2px solid var(--accent-line);
    font-style:italic; color:var(--ink-strong); max-width:56ch}
  blockquote cite{display:block; font-style:normal; font-family:var(--tipo-ui);
    font-size:.75rem; color:var(--muted); margin-top:.625rem}
  .corpo-art strong{color:var(--ink-strong); font-weight:600}
  .corpo-art ul{max-width:var(--medida); padding-left:1.25rem}
  .corpo-art li{margin-bottom:.625rem}
  .corpo-art li::marker{color:var(--rule-strong)}

  .aviso-art{background:var(--surface-2); border:1px solid var(--rule); padding:1.5rem 1.75rem;
    margin:3rem 0 0; font-family:var(--tipo-ui); font-weight:300; font-size:.875rem;
    line-height:1.65; color:var(--muted); max-width:none}
  .aviso-art b{color:var(--ink-strong); font-weight:500}

  /* ---------- autor ---------- */
  .autor{border-top:1px solid var(--rule); margin-top:3rem; padding-top:2rem;
    display:flex; gap:1.25rem; align-items:flex-start; max-width:none}
  .autor .av{width:3.25rem; height:3.25rem; border-radius:50%; background:var(--navy);
    color:var(--champanhe); display:grid; place-items:center; font-family:var(--tipo-ui);
    font-weight:500; font-size:.9375rem; flex:none}
  .autor h3{margin-bottom:.25rem}
  .autor p{font-family:var(--tipo-ui); font-weight:300; font-size:.875rem; color:var(--muted);
    margin:0; max-width:56ch}

  /* ---------- relacionados ---------- */
  .relacionados{background:var(--surface-2); border-top:1px solid var(--rule); padding:3.5rem 0}
  .rel-grid{display:grid; gap:1px; background:var(--rule); border:1px solid var(--rule); margin-top:2rem}
  @media(min-width:52rem){.rel-grid{grid-template-columns:repeat(3,1fr)}}
  .rel-grid a{background:var(--surface); padding:1.5rem 1.625rem; text-decoration:none; color:inherit;
    border-left:2px solid transparent; transition:background .2s, border-color .2s; display:block}
  .rel-grid a:hover{background:var(--surface-2); border-left-color:var(--accent-line)}
  .rel-grid .m{font-family:var(--tipo-ui); font-weight:500; font-size:.625rem; letter-spacing:.14em;
    text-transform:uppercase; color:var(--accent); margin:0 0 .5rem; max-width:none}
  .rel-grid h3{font-size:1rem; margin-bottom:.5rem}
  .rel-grid .d{font-family:var(--tipo-ui); font-weight:300; font-size:.75rem; color:var(--muted); margin:0}

  @media print{
    .topo,.progresso,.sumario,.relacionados,.pg .anc,.nota-proto{display:none!important}
    .leitura .wrap{display:block}
    body{background:#fff}
  }

/* artigo sem sumário (texto corrido, sem subtítulos) */
@media(min-width:64rem){
  .leitura.sem-sumario .wrap{grid-template-columns:minmax(0,50rem); justify-content:start}
}
