/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 200 400;
  font-display: swap;
  src: url(f/f1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(f/f2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(f/f3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(f/f4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-optical-sizing:none}
/* A Fraunces tem eixo de tamanho óptico de 9 a 144. Deixado no automático, o
   navegador casa o eixo com o corpo da letra: a 84 pixels escolhe o corte de
   vitrine e a barra do "e" vira um fio que some sobre fundo escuro. Acima, o
   eixo fica no corte de texto; abaixo, os títulos grandes voltam para o corte
   de título, que é o 24. */
.jhero h1,.jhero .deck,.jsh h2,.pagehead h1,.hero h1,h1,h2,
.stat b,.kpi b,.jkpi b,.big,.num b{font-variation-settings:"opsz" 24}

body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16.5px;font-weight:300;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2{font-family:var(--serif);font-weight:200;letter-spacing:-.012em;line-height:1.12}
h3,h4{font-family:var(--serif);font-weight:300;letter-spacing:-.012em;line-height:1.20}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 34%,transparent)}
a:hover{border-bottom-color:var(--accent)}
img{max-width:100%;display:block}
button,select,input{font-family:inherit;font-size:inherit;color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(20px,4vw,44px)}
.wrapw{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,44px)}

/* ===== HEADER ===== */
.hd{position:sticky;top:0;z-index:80;background:color-mix(in srgb,var(--bg) 97%,transparent);backdrop-filter:saturate(1.2) blur(9px);border-bottom:1px solid var(--line)}
.hdin{display:flex;align-items:center;gap:var(--s5);height:74px}
.brand{display:flex;align-items:baseline;gap:11px;border:0;flex:0 0 auto}
.brand svg{height:17px;width:auto;fill:var(--ink)}
.brand .obs{font-family:var(--serif);font-size:14.5px;color:var(--ink2);white-space:nowrap;letter-spacing:-.01em}
@media(max-width:1180px){.brand .obs{display:none}}
.mnav{display:flex;gap:2px;margin-left:auto;flex-wrap:nowrap}
.mnav a{border:0;font-size:14px;color:var(--ink2);padding:7px 11px;border-radius:0;white-space:nowrap;border-bottom:2px solid transparent;transition:color .14s,border-color .14s}
.mnav a:hover{color:var(--ink)}
.mnav a.on{color:var(--accent);border-bottom-color:var(--accent)}
.hdtools{display:flex;align-items:center;gap:var(--s3);margin-left:var(--s4)}
.lang{position:relative}
.langb{background:none;border:1px solid var(--line2);color:var(--ink3);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;cursor:pointer;display:flex;align-items:center;gap:6px}
.langb:hover{border-color:var(--accent);color:var(--accent)}
.langm{display:none;position:absolute;right:0;top:calc(100% + 6px);background:var(--panel);border:1px solid var(--line);min-width:184px;z-index:90}
.lang.open .langm{display:block}
.langm button{display:flex;justify-content:space-between;gap:10px;width:100%;background:none;border:0;text-align:left;padding:9px 13px;font-size:12.5px;color:var(--ink2);cursor:pointer}
.langm button:hover{background:var(--panel2);color:var(--ink)}
.langm button .st{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink4)}
.langm button.on{color:var(--accent)}
.tgl{background:none;border:1px solid var(--line2);color:var(--ink3);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;cursor:pointer}
.tgl:hover{border-color:var(--accent);color:var(--accent)}
.burger{display:none;width:36px;height:36px;border:1px solid var(--line2);background:none;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin-left:auto}
.burger i{display:block;width:15px;height:1.4px;background:var(--ink)}
@media(max-width:1240px){
  .mnav{display:none;position:fixed;inset:74px 0 auto 0;background:var(--panel);border-bottom:1px solid var(--line);
    flex-direction:column;padding:var(--s3) 0;max-height:calc(100vh - 74px);overflow:auto}
  body.nav .mnav{display:flex}
  .mnav a{padding:11px clamp(20px,4vw,44px);font-size:14px;border-bottom:1px solid var(--line)}
  .mnav a.on{border-bottom-color:var(--line);background:color-mix(in srgb,var(--accent) 8%,transparent)}
  .burger{display:flex}
  .hdtools{margin-left:var(--s3)}
}

/* banner de idioma */
.langbar{background:var(--preto);color:var(--creme);font-size:12px;padding:9px 0}
html[data-theme="dark"] .langbar{background:var(--accent);color:#1A1A1A}
.langbar .wrap{display:flex;gap:14px;align-items:center;justify-content:space-between}
.langbar button{background:none;border:1px solid color-mix(in srgb,#F6F3E9 42%,transparent);color:inherit;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;cursor:pointer}
.heroin .wrap{width:100%;padding-bottom:var(--s7);padding-top:var(--s7)}
.hero h1{color:#F6F3E9;font-size:clamp(30px,5vw,62px);max-width:19ch;line-height:1.10}
.hero p{color:#E7E3DF;font-size:var(--t6);max-width:62ch;margin-top:var(--s4);font-weight:300}
.hero .kick{color:#F6F3E9;opacity:.82;font-size:var(--t1);letter-spacing:.24em;text-transform:uppercase;margin-bottom:var(--s4)}

/* ===== SEÇÕES ===== */
.sec{padding:var(--s8) 0}
.sec.tight{padding:var(--s7) 0}
.sec.alt{background:var(--panel2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.eyebrow{display:flex;align-items:center;gap:var(--s4);margin:var(--s7) 0 var(--s5)}
.pagehead + .sec .eyebrow:first-child,.wrap > .eyebrow:first-child{margin-top:0}
dl.kv + .eyebrow,.tblwrap + .eyebrow,.cards + .eyebrow,.chart + .eyebrow,.figch + .eyebrow{margin-top:var(--s8)}
.eyebrow .n{font-size:var(--t1);letter-spacing:.2em;color:var(--ink4)}
.eyebrow .rule{flex:1;height:1px;background:var(--line)}
.eyebrow .nm{font-size:var(--t1);letter-spacing:.2em;text-transform:uppercase;color:var(--ink4)}
h2.sec-t{font-size:clamp(25px,3.3vw,40px);margin-bottom:var(--s3);max-width:22ch}
p.lede{font-size:var(--t6);line-height:1.6;color:var(--ink2);max-width:72ch;margin:0 0 var(--s6);font-weight:300}
.pagehead{padding:var(--s8) 0 var(--s6);border-bottom:1px solid var(--line);background:var(--panel2)}
.crumb{font-size:var(--t1);letter-spacing:.18em;text-transform:uppercase;color:var(--ink4);margin-bottom:var(--s4)}
.crumb a{border:0;color:var(--ink4)}.crumb a:hover{color:var(--accent)}
.pagehead h1{font-size:clamp(28px,4.4vw,50px);max-width:19ch;line-height:1.14}
.pagehead p{font-size:var(--t6);color:var(--ink2);max-width:74ch;margin-top:var(--s4);font-weight:300}
.stamp{display:inline-flex;align-items:center;gap:8px;font-size:var(--t1);letter-spacing:.14em;text-transform:uppercase;color:var(--ink4);border:1px solid var(--line2);padding:5px 10px;margin-top:var(--s5)}
.stamp i{width:5px;height:5px;background:var(--oliva);border-radius:50%;display:block}

/* grid */
.grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.grid>*{background:var(--panel);min-width:0}
.g5{grid-template-columns:repeat(5,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
@media(max-width:1000px){.g5,.g4{grid-template-columns:repeat(2,1fr)}.g3,.g2{grid-template-columns:1fr}}
@media(max-width:580px){.g5,.g4{grid-template-columns:1fr}}
.card{background:var(--panel);border:1px solid var(--line);padding:var(--s5)}
.stat{padding:var(--s5)}
.stat .k{font-size:var(--t1);letter-spacing:.18em;text-transform:uppercase;color:var(--ink3);display:block;margin-bottom:var(--s3)}
.stat .v{font-family:var(--serif);font-weight:200;font-size:clamp(28px,3.2vw,40px);line-height:.98;color:var(--ink);overflow-wrap:anywhere}
.stat .v em{font-style:normal;font-size:.44em;color:var(--ink3);margin-left:5px}
.stat .d{font-size:var(--t4);color:var(--ink2);margin-top:var(--s3);line-height:1.55}
.stat .src{font-size:var(--t1);color:var(--ink4);margin-top:var(--s3)}
.plab{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3);display:block}
.chip{display:inline-block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--line2);color:var(--ink3);white-space:nowrap}
.chip.ok{border-color:var(--oliva);color:var(--oliva)}
html[data-theme="dark"] .chip.ok{border-color:var(--oliva);color:var(--oliva)}
.chip.dv{border-color:var(--accent2);color:var(--accent2);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.chip.tA{border-color:var(--accent);color:var(--accent)}
.chip.nl{border-style:dashed}
.note{border-left:2px solid var(--accent);padding:var(--s3) 0 var(--s3) var(--s4);font-size:var(--t4);color:var(--ink2);margin:var(--s5) 0;line-height:1.62}
.note strong{color:var(--ink);font-weight:500}
.srcline a{font-size:var(--t1)}

/* portas */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
@media(max-width:960px){.doors{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.doors{grid-template-columns:1fr}}
.door{background:var(--panel);padding:var(--s5);border:0;display:block;text-align:left;cursor:pointer;transition:background .16s var(--ease)}
.door:hover{background:var(--panel2)}
.door svg{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;margin-bottom:var(--s4)}
.door h3{font-size:var(--t7);margin-bottom:6px}
.door .q{font-size:var(--t4);color:var(--ink2);margin-bottom:var(--s4)}
.door .go{font-size:var(--t2);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}

/* tabela */
.tblwrap{overflow-x:auto;border:1px solid var(--line);background:var(--panel)}
table{border-collapse:collapse;width:100%;font-size:var(--t4)}
th{position:sticky;top:0;background:var(--panel);text-align:left;font-weight:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);padding:12px;border-bottom:1px solid var(--line2);white-space:nowrap;z-index:2}
td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink2)}
tr:last-child td{border-bottom:0}
tbody tr:hover td{background:var(--panel2)}
td.nm{color:var(--ink);font-weight:400}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
dl.kv{display:grid;grid-template-columns:minmax(170px,250px) 1fr;gap:1px;background:var(--line);border:1px solid var(--line);font-size:var(--t4)}
dl.kv dt{background:var(--panel2);padding:10px 13px;color:var(--ink3);font-size:var(--t2);letter-spacing:.06em;text-transform:uppercase}
dl.kv dd{background:var(--panel);padding:10px 13px;color:var(--ink2)}
@media(max-width:640px){dl.kv{grid-template-columns:1fr}dl.kv dt{padding-bottom:2px}}

/* filtros */
.filters{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center;margin-bottom:var(--s5)}
.filters input,.filters select{background:var(--panel);border:1px solid var(--line2);padding:9px 12px;font-size:var(--t4);color:var(--ink);min-width:160px}
.filters input{min-width:270px;flex:1}
.filters input:focus,.filters select:focus{outline:0;border-color:var(--accent)}
.count{font-size:var(--t2);letter-spacing:.12em;text-transform:uppercase;color:var(--ink4);margin-left:auto}

/* artigos */
.arts{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.art{background:var(--panel);padding:var(--s6) var(--s5);display:flex;flex-direction:column;gap:var(--s3)}
.art .eix{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.art h3{font-size:var(--t8);line-height:1.14}
.art p{font-size:var(--t4);color:var(--ink2);flex:1}
.art .meta{font-size:var(--t1);letter-spacing:.12em;text-transform:uppercase;color:var(--ink4);display:flex;gap:12px;align-items:center;padding-top:var(--s3);border-top:1px solid var(--line)}

/* estudos */
.stud{display:grid;grid-template-columns:230px 1fr;gap:var(--s6);align-items:start;padding:var(--s6) 0;border-top:1px solid var(--line)}
@media(max-width:760px){.stud{grid-template-columns:1fr}}
.stud .cv{border:1px solid var(--line);background:var(--panel2);aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;overflow:hidden}
.stud .cv img{width:100%;height:100%;object-fit:cover}
.stud .cv span{font-family:var(--serif);font-weight:300;font-size:var(--t7);color:var(--ink4);padding:var(--s5);text-align:center}
.stud h3{font-size:var(--t9);line-height:1.08;margin-bottom:var(--s3)}
.stud p{font-size:var(--t5);color:var(--ink2);max-width:66ch}

/* figuras */
.fig{margin:0;border:1px solid var(--line);background:var(--panel2);overflow:hidden}
.fig img{width:100%;height:auto}
.fig.diag{background:#F6F3E9}
html[data-theme="dark"] .fig.diag{background:#F6F3E9}
.fig figcaption{display:flex;gap:var(--s4);align-items:baseline;justify-content:space-between;flex-wrap:wrap;padding:var(--s3) var(--s4);border-top:1px solid var(--line);background:var(--panel);font-size:var(--t1);color:var(--ink4)}
.fig figcaption b{font-weight:400;color:var(--ink2);min-width:0}
.fig figcaption .tagi{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line2);padding:2px 7px;white-space:nowrap}
.figrow{display:grid;gap:var(--s5)}
.figrow.f2{grid-template-columns:1fr 1fr}
.figrow.f12{grid-template-columns:1fr 1.5fr}
.figrow.f21{grid-template-columns:1.5fr 1fr}
@media(max-width:900px){.figrow.f2,.figrow.f12,.figrow.f21{grid-template-columns:1fr}}

/* gráficos */
.chart{background:var(--panel);border:1px solid var(--line);padding:var(--s5)}
.chart h3{font-size:var(--t7);margin-bottom:4px}
.csub{font-size:var(--t2);color:var(--ink3);margin-bottom:var(--s5);line-height:1.55}
.bars{display:flex;flex-direction:column;gap:9px}
.bar{display:grid;grid-template-columns:minmax(96px,1.1fr) 3fr minmax(78px,auto);gap:14px;align-items:center;font-size:var(--t4)}
.bl{color:var(--ink2);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.btr{display:block;background:transparent;height:17px;position:relative}
.bf{display:block;height:100%;background:var(--ctx)}
.bv{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.lc{width:100%;height:auto;display:block;overflow:visible}
.lc text{font-family:var(--sans)}
.mapbox svg{width:100%;height:auto;display:block}
.mapbox path{stroke:var(--panel);stroke-width:.7;cursor:pointer;transition:opacity .13s}
.mapbox path:hover{opacity:.72}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:var(--t2);color:var(--ink3);margin-top:var(--s4);align-items:center}
.legend i{width:16px;height:9px;display:inline-block;margin-right:5px;vertical-align:-1px}
.tt{position:fixed;pointer-events:none;background:var(--preto);color:var(--creme);font-size:12.5px;padding:7px 10px;z-index:200;opacity:0;transition:opacity .11s;max-width:290px;line-height:1.5}
.tt.on{opacity:1}
html[data-theme="dark"] .tt{background:var(--creme);color:var(--preto)}

/* ferramenta de tarifa */
.tool{background:var(--preto);color:var(--creme);padding:var(--s6);border:1px solid var(--preto)}
html[data-theme="dark"] .tool{background:var(--panel);color:var(--ink);border-color:var(--line2)}
.tool h3{color:var(--dourado);font-size:var(--t8);margin-bottom:var(--s3)}
html[data-theme="dark"] .tool h3{color:var(--accent)}
.tool .sub{font-size:var(--t4);opacity:.72;margin-bottom:var(--s5);max-width:62ch}
.tool .row{display:flex;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s5)}
.tool select{background:transparent;border:1px solid color-mix(in srgb,#F6F3E9 34%,transparent);color:inherit;padding:11px 13px;min-width:230px;flex:1}
html[data-theme="dark"] .tool select{border-color:var(--line2)}
.tool option{background:#1A1A1A;color:#F6F3E9}
html[data-theme="dark"] .tool option{background:#1B1918}
.tres{border-top:1px solid color-mix(in srgb,#F6F3E9 22%,transparent);padding-top:var(--s5);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
@media(max-width:760px){.tres{grid-template-columns:1fr}}
.tres .k{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;opacity:.6;display:block;margin-bottom:7px}
.tres .v{font-family:var(--serif);font-weight:200;font-size:var(--t9);line-height:1}
.tres .d{font-size:var(--t3);opacity:.75;margin-top:8px}

/* grafo */
.graf{background:var(--panel);border:1px solid var(--line);padding:var(--s5)}
.graf svg{width:100%;height:auto}
.graf circle{cursor:pointer}
.gsel{display:flex;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s5)}
.gsel button{background:none;border:1px solid var(--line2);color:var(--ink3);padding:6px 11px;font-size:var(--t3);cursor:pointer}
.gsel button.on{border-color:var(--accent);color:var(--accent)}

/* cta correção */
.claim{background:var(--panel2);border:1px solid var(--line2);padding:var(--s5);display:flex;gap:var(--s5);align-items:center;justify-content:space-between;flex-wrap:wrap}
.claim p{font-size:var(--t4);color:var(--ink2);max-width:60ch}
.btn{background:var(--accent);color:#F6F3E9;border:1px solid var(--accent);padding:11px 20px;font-size:var(--t3);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--preto);border-color:var(--preto)}
html[data-theme="dark"] .btn{color:#1A1A1A}
.btn.gh{background:none;color:var(--accent)}
.ft a{color:var(--dourado)}
.ftg{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--s6);padding-bottom:var(--s7);border-bottom:1px solid rgba(246,243,233,.14)}
@media(max-width:900px){.ftg{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ftg{grid-template-columns:1fr}}
.ft ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.ft ul a{border:0;color:rgba(246,243,233,.76)}.ft ul a:hover{color:var(--creme)}
.ft .logo{height:18px;fill:var(--dourado);margin-bottom:var(--s4)}
.ftb .bw{text-transform:none;letter-spacing:.01em;font-size:var(--t3);color:rgba(246,243,233,.72)}
.ftb .bw b{color:var(--creme);font-weight:500}
.pane{display:none}.pane.on{display:block;animation:fi .3s var(--ease)}
@keyframes fi{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.hatch{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Cpath d='M-1 1 L1 -1 M0 6 L6 0 M5 7 L7 5' stroke='%231A1A1A' stroke-opacity='.3' stroke-width='1'/%3E%3C/svg%3E");background-size:6px 6px}

/* linha do tempo */
.tline{border-left:1px solid var(--line2);margin:var(--s5) 0 var(--s6);padding-left:var(--s5)}
.tl{display:grid;grid-template-columns:74px 1fr;gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--line)}
.tl:last-child{border-bottom:0}
.tl .ty{font-family:var(--serif);font-weight:200;font-size:var(--t7);color:var(--accent);line-height:1.1}
.tl .tc b{display:block;font-weight:400;color:var(--ink);font-size:var(--t5)}
.tl .tc span{display:block;font-size:var(--t3);color:var(--ink2);margin-top:3px}

/* verbetes */
.verbs{border:1px solid var(--line);background:var(--panel);margin-bottom:var(--s6)}
details.verb{border-bottom:1px solid var(--line)}
details.verb:last-child{border-bottom:0}
details.verb summary{cursor:pointer;padding:var(--s4);font-family:var(--serif);font-weight:300;font-size:var(--t6);list-style:none;display:flex;justify-content:space-between;gap:var(--s4);align-items:baseline}
details.verb summary::-webkit-details-marker{display:none}
details.verb summary::after{content:'+';color:var(--accent);font-family:var(--sans);font-size:var(--t6);flex:0 0 auto}
details.verb[open] summary::after{content:'–'}
details.verb summary:hover{background:var(--panel2)}
details.verb>div{padding:0 var(--s4) var(--s5);font-size:var(--t4);color:var(--ink2);max-width:88ch}

/* lacunas */
ul.lac{list-style:none;border:1px solid var(--line);background:var(--panel)}
ul.lac li{padding:var(--s4);border-bottom:1px solid var(--line);font-size:var(--t4);color:var(--ink2);position:relative;padding-left:var(--s6)}
ul.lac li:last-child{border-bottom:0}
ul.lac li::before{content:'';position:absolute;left:var(--s4);top:calc(var(--s4) + 9px);width:7px;height:1px;background:var(--accent)}

/* formulário */
.frm{border:1px solid var(--line);background:var(--panel);padding:var(--s6);margin-top:var(--s6);display:flex;flex-direction:column;gap:var(--s4);max-width:820px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
@media(max-width:640px){.fgrid{grid-template-columns:1fr}}
.frm label{display:flex;flex-direction:column;gap:7px;font-size:var(--t1);letter-spacing:.16em;text-transform:uppercase;color:var(--ink3)}
.frm input,.frm select,.frm textarea{background:var(--panel2);border:1px solid var(--line2);padding:11px 13px;font-size:var(--t5);color:var(--ink);letter-spacing:0;text-transform:none;font-family:var(--sans);resize:vertical}
.frm input:focus,.frm select:focus,.frm textarea:focus{outline:0;border-color:var(--accent)}
.frm .btn{align-self:flex-start;margin-top:var(--s2)}
.fmsg{font-size:var(--t4);color:var(--oliva);border-left:2px solid var(--oliva);padding-left:var(--s4)}
html[data-theme="dark"] .fmsg{color:var(--oliva);border-color:var(--oliva)}
.bf.hl{background:var(--r5)}

/* ===== MARCA DO OBSERVATÓRIO ===== */
.sig{flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.15;stroke-linejoin:round;stroke-linecap:round}
.obm{display:flex;align-items:center;gap:var(--s4);color:var(--ink);border:0}
.obm .sig{width:30px;height:30px}
.obm .wm{display:flex;flex-direction:column;gap:2px;min-width:0}
.obm .wm b{font-family:var(--serif);font-weight:200;font-size:23px;line-height:1;letter-spacing:-.012em;color:var(--ink)}
.obm .wm span{font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink3);white-space:nowrap}
.obm:hover .wm b{color:var(--accent)}
@media(max-width:520px){.obm .wm span{letter-spacing:.2em;font-size:9px}.obm .wm b{font-size:20px}}

/* assinatura amano no cabeçalho */
.byam{display:flex;align-items:center;gap:7px;padding-left:var(--s4);margin-left:var(--s4);border-left:1px solid var(--line);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink4);white-space:nowrap}
.byam svg{height:12px;width:auto;fill:var(--ink3)}
@media(max-width:1400px){.byam{display:none}}

/* abertura com a marca em primeiro plano */
.hero .brandlock{display:flex;align-items:center;gap:var(--s5);margin-bottom:var(--s5)}
.hero .brandlock .sig{width:clamp(58px,7vw,94px);height:clamp(58px,7vw,94px);color:#F6F3E9;opacity:.95}
.hero .brandlock .wm{display:flex;flex-direction:column;gap:6px}
.hero .brandlock .wm b{font-family:var(--serif);font-weight:200;color:#F6F3E9;font-size:clamp(42px,7.2vw,86px);line-height:.94;letter-spacing:-.02em}
.hero .tese{color:#F6F3E9;font-family:var(--serif);font-weight:200;font-size:clamp(19px,2.1vw,27px);line-height:1.22;max-width:26ch;opacity:1;margin-top:var(--s5)}
.hero .selo{display:inline-flex;align-items:center;gap:10px;margin-top:var(--s6);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#F6F3E9;opacity:.9}
.hero .selo svg{height:14px;width:auto;fill:#F6F3E9}
@media(max-width:640px){.hero .brandlock{gap:var(--s4)}.hero .brandlock .sig{width:46px;height:46px}}

/* ===== leitura amano ===== */
.lam{background:var(--preto);color:var(--creme);border:1px solid var(--preto);margin:var(--s7) 0 0;display:grid;grid-template-columns:1.65fr 1fr}
html[data-theme="dark"] .lam{background:var(--panel);color:var(--ink);border-color:var(--line2)}
@media(max-width:900px){.lam{grid-template-columns:1fr}}
.lam .txt{padding:var(--s6)}
.lam .tit{display:flex;align-items:center;gap:10px;margin-bottom:var(--s4)}
.lam .tit svg{height:13px;width:auto;fill:var(--dourado)}
html[data-theme="dark"] .lam .tit svg{fill:var(--accent)}
.lam .tit .sep{color:var(--dourado);opacity:.7;font-size:12.5px}
.lam .tit span{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--dourado)}
html[data-theme="dark"] .lam .tit span{color:var(--accent)}
.lam h3{font-family:var(--serif);font-weight:200;font-size:var(--t8);line-height:1.14;color:var(--creme);margin-bottom:var(--s4);max-width:24ch}
html[data-theme="dark"] .lam h3{color:var(--ink)}
.lam p{font-size:var(--t5);line-height:1.66;opacity:.82;max-width:62ch}
.lam p + p{margin-top:var(--s3)}
.lam .cta{padding:var(--s6);border-left:1px solid rgba(246,243,233,.16);display:flex;flex-direction:column;justify-content:center;gap:var(--s4)}
html[data-theme="dark"] .lam .cta{border-left-color:var(--line2)}
@media(max-width:900px){.lam .cta{border-left:0;border-top:1px solid rgba(246,243,233,.16)}}
.lam .cta .q{font-size:var(--t5);line-height:1.55;opacity:.86}
.lam .cta .who{font-size:12px;letter-spacing:.06em;opacity:.62;line-height:1.6}
.lam .cta .who b{font-weight:500;opacity:.9}
.btn.wa{background:var(--dourado);border-color:var(--dourado);color:#1A1A1A;display:inline-flex;align-items:center;gap:10px;align-self:flex-start;text-transform:none;letter-spacing:.01em;font-size:var(--t5);padding:13px 22px}
.btn.wa b{font-weight:500}
.btn.wa:hover{background:var(--creme);border-color:var(--creme);color:#1A1A1A}
.btn.wa svg{width:15px;height:15px;fill:currentColor}

/* ===== FICHAS (materiais, produtores, estados) ===== */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.mcard{background:var(--panel);padding:var(--s6) var(--s5);cursor:pointer;border:0;text-align:left;display:flex;flex-direction:column;gap:var(--s3);transition:background .16s;min-width:0}
.mcard:hover{background:var(--panel2)}
.mcard .top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4)}
.mcard h3{font-size:var(--t7);line-height:1.16;font-weight:300;margin:0 0 9px}
.mcard .sub{margin-bottom:var(--s3);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0}
.mcard .ev{font-size:var(--t4);color:var(--ink2);line-height:1.6;margin:0}
.mcard .ev.q{color:var(--ink3)}
.mcard .bot{margin-top:auto;padding-top:var(--s4);border-top:1px solid var(--line);display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.mcard .arw{margin-left:auto;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);opacity:0;transition:opacity .16s}
.mcard:hover .arw{opacity:1}
.uf{flex:0 0 auto;font-family:var(--serif);font-weight:200;font-size:var(--t7);color:var(--ink4);line-height:1}

/* ficha aberta */
.ficha{display:grid;grid-template-columns:1fr 340px;gap:var(--s7);align-items:start}
@media(max-width:1000px){.ficha{grid-template-columns:1fr}}
.ficha .side{border:1px solid var(--line);background:var(--panel);position:sticky;top:98px}
.ficha .side .hd2{padding:var(--s4) var(--s5);border-bottom:1px solid var(--line);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3)}
.ficha .side ul{list-style:none}
.ficha .side li a{display:block;padding:11px var(--s5);border-bottom:1px solid var(--line);font-size:var(--t4);color:var(--ink2)}
.ficha .side li:last-child a{border-bottom:0}
.ficha .side li a:hover{background:var(--panel2);color:var(--accent)}
.voltar{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink4);border:0;background:none;cursor:pointer;margin-bottom:var(--s5)}
.voltar:hover{color:var(--accent)}

/* ===== ARTIGOS ===== */
.artgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.artc{background:var(--panel);padding:var(--s6) var(--s5);display:flex;flex-direction:column;gap:var(--s3);cursor:pointer;border:0;text-align:left;transition:background .16s;min-width:0}
.artc:hover{background:var(--panel2)}
.artc .num{font-family:var(--serif);font-weight:200;font-size:var(--t7);color:var(--ink4);line-height:1}
.artc .eix{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.artc h3{font-size:var(--t7);line-height:1.18;font-weight:300}
.artc p{font-size:var(--t4);color:var(--ink2);flex:1;line-height:1.6}
.artc .meta{margin-top:auto;padding-top:var(--s4);border-top:1px solid var(--line);display:flex;gap:12px;align-items:center;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink4);flex-wrap:wrap}

.artigo{max-width:none}
.artwrap{display:grid;grid-template-columns:minmax(0,1fr) 268px;gap:var(--s8);align-items:start}
@media(max-width:1080px){.artwrap{grid-template-columns:1fr}}
.artbody{font-size:17.5px;line-height:1.78;color:var(--ink2);max-width:none}
.artbody p{margin:0 0 var(--s5)}
.artbody h2{font-family:var(--serif);font-weight:200;font-size:clamp(26px,2.9vw,36px);line-height:1.12;color:var(--ink);letter-spacing:-.012em;margin:var(--s8) 0 var(--s4);max-width:24ch}
.artbody h3{font-family:var(--serif);font-weight:300;font-size:var(--t7);color:var(--ink);margin:0 0 10px;text-transform:none}
.artbody p.citavel{font-family:var(--serif);font-weight:300;font-size:clamp(19px,2vw,23px);line-height:1.48;color:var(--ink);border-left:2px solid var(--accent);padding:var(--s2) 0 var(--s2) var(--s5);margin:0 0 var(--s6);max-width:52ch}
.artbody p.fonte-nota{font-size:var(--t3);line-height:1.7;color:var(--ink3);background:var(--panel2);border:1px solid var(--line);padding:var(--s4) var(--s5);margin:var(--s6) 0}
.artbody .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:var(--s6) 0}
@media(max-width:700px){.artbody .stats{grid-template-columns:1fr}}
.artbody .stats .stat{background:var(--panel);padding:var(--s5);display:flex;flex-direction:column;gap:9px}
.artbody .stats .stat strong{font-family:var(--serif);font-weight:200;font-size:clamp(26px,3vw,34px);line-height:1;color:var(--ink);overflow-wrap:anywhere}
.artbody .stats .stat span{font-size:var(--t2);color:var(--ink3);line-height:1.5}
.artbody table{margin:var(--s6) 0;border:1px solid var(--line);background:var(--panel)}
.artbody th{position:static}
.artbody ol,.artbody ul{margin:0 0 var(--s6) 0;padding-left:0;list-style:none;counter-reset:li}
.artbody ol li{counter-increment:li;position:relative;padding:var(--s4) 0 var(--s4) var(--s7);border-bottom:1px solid var(--line)}
.artbody ol li::before{content:counter(li,decimal-leading-zero);position:absolute;left:0;top:var(--s4);font-family:var(--serif);font-weight:200;font-size:var(--t6);color:var(--accent)}
.artbody ul li{position:relative;padding:var(--s3) 0 var(--s3) var(--s6);border-bottom:1px solid var(--line)}
.artbody ul li::before{content:'';position:absolute;left:0;top:calc(var(--s3) + 13px);width:12px;height:1px;background:var(--accent)}
.artbody li:last-child{border-bottom:0}
.artbody .qa{border:1px solid var(--line);background:var(--panel);padding:var(--s5);margin:0 0 1px}
.artbody .qa p{margin:0;font-size:var(--t4);line-height:1.68}
.artbody strong{color:var(--ink);font-weight:500}
.artsum{border:1px solid var(--line);background:var(--panel);position:sticky;top:98px;max-height:calc(100vh - 130px);overflow:auto}
.artsum .hd2{padding:var(--s4) var(--s5);border-bottom:1px solid var(--line);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3)}
.artsum ul{list-style:none}
.artsum li a{display:block;padding:10px var(--s5);border-bottom:1px solid var(--line);font-size:var(--t3);color:var(--ink2);line-height:1.45}
.artsum li:last-child a{border-bottom:0}
.artsum li a:hover{background:var(--panel2);color:var(--accent)}
.artmeta{display:flex;gap:var(--s5);flex-wrap:wrap;align-items:center;padding:var(--s4) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:var(--s7);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink4)}
.artfontes{border:1px solid var(--line);background:var(--panel2);margin-top:var(--s7)}
.artfontes .hd2{padding:var(--s4) var(--s5);border-bottom:1px solid var(--line);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3)}
.artfontes li{list-style:none;padding:12px var(--s5);border-bottom:1px solid var(--line);font-size:var(--t3);color:var(--ink2);line-height:1.6}
.artfontes li:last-child{border-bottom:0}
.artfontes li a{word-break:break-word}

@media(max-width:620px){
  .hdin{gap:var(--s3);height:66px}
  .obm{gap:11px}
  .obm .sig{width:24px;height:24px}
  .obm .wm b{font-size:18px}
  .obm .wm span{font-size:8.5px;letter-spacing:.18em}
  .tgl{display:none}
  .hdtools{margin-left:var(--s3);gap:var(--s2)}
  .langb{padding:6px 8px}
  .burger{width:32px;height:32px}
  .mnav{inset:66px 0 auto 0}
}

/* ===== alvos de toque no celular ===== */
@media(max-width:860px){
  .ft ul{gap:0}
  .ft ul a{display:block;padding:12px 0;min-height:44px;line-height:1.5}
  .ft ul li{border-bottom:1px solid rgba(246,243,233,.09)}
  .ft ul li:last-child{border-bottom:0}
  td a,.crumb a{display:inline-block;padding:9px 0;min-height:44px}
  .filters input,.filters select{min-height:46px}
  .langb,.tgl{min-height:44px;min-width:46px;justify-content:center}
  .burger{width:44px;height:44px}
  .langm button{min-height:46px;align-items:center}
  .mnav a{min-height:48px;display:flex;align-items:center}
  details.verb summary{min-height:52px;align-items:center}
  .gsel button,.btn,.btn.gh{min-height:46px}
  .voltar{min-height:44px;align-items:center}
  .side li a{min-height:46px;display:flex;align-items:center}
  .artsum li a{min-height:46px;display:flex;align-items:center}
  .artfontes li a{display:inline-block;padding:8px 0}
}

/* ===== filtro fixo ao rolar ===== */
.filters{position:sticky;top:74px;z-index:40;background:color-mix(in srgb,var(--bg) 97%,transparent);backdrop-filter:saturate(1.2) blur(9px);padding:var(--s4) 0;margin-bottom:var(--s5);border-bottom:1px solid var(--line)}
@media(max-width:620px){.filters{top:66px}}

/* ===== ver mais ===== */
.vermais{display:flex;align-items:center;gap:var(--s4);justify-content:center;padding:var(--s6) 0}
.vermais button{background:none;border:1px solid var(--line2);color:var(--ink2);padding:13px 26px;font-size:var(--t3);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;min-height:46px}
.vermais button:hover{border-color:var(--accent);color:var(--accent)}
.vermais .rest{font-size:var(--t2);letter-spacing:.12em;text-transform:uppercase;color:var(--ink4)}

/* ===== leitura amano no alto ===== */
.lam.alto{margin:0 0 var(--s7)}

/* ===== leia também ===== */
.leia{border:1px solid var(--line);background:var(--panel2);margin:var(--s7) 0}
.leia .hd2{padding:var(--s4) var(--s5);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;align-items:baseline}
.leia .hd2 span{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3)}
.leia .hd2 a{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;border:0}
.leia ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
@media(max-width:900px){.leia ul{grid-template-columns:1fr}}
.leia li{background:var(--panel)}
.leia li a{display:flex;flex-direction:column;gap:7px;padding:var(--s5);border:0;min-height:100%}
.leia li a:hover{background:var(--panel2)}
.leia li .eix{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.leia li .t{font-family:var(--serif);font-weight:300;font-size:var(--t6);line-height:1.2;color:var(--ink)}
.leia li .m{font-size:var(--t2);letter-spacing:.1em;text-transform:uppercase;color:var(--ink4);margin-top:auto;padding-top:10px}

/* ===== menu: grupo mais ===== */
.mais{position:relative}
.maisb{background:none;border:0;font-size:14px;color:var(--ink2);padding:7px 11px;cursor:pointer;display:flex;align-items:center;gap:6px;border-bottom:2px solid transparent;white-space:nowrap}
.maisb:hover{color:var(--ink)}
.mais.open .maisb{color:var(--accent);border-bottom-color:var(--accent)}
.maism{display:none;position:absolute;right:0;top:calc(100% + 8px);background:var(--panel);border:1px solid var(--line);min-width:250px;z-index:90}
.mais.open .maism{display:block}
.maism a{display:block;padding:12px 16px;font-size:14px;color:var(--ink2);border:0;border-bottom:1px solid var(--line)}
.maism a:last-child{border-bottom:0}
.maism a:hover{background:var(--panel2);color:var(--accent)}
@media(max-width:1240px){
  .mais{position:static}
  .maisb{display:none}
  .maism{display:block;position:static;border:0;min-width:0;background:transparent}
  .maism a{padding:11px clamp(20px,4vw,44px);font-size:14px;min-height:48px;display:flex;align-items:center}
}

/* ===== anatomia de gráfico ===== */
.figch{border:1px solid var(--line);background:var(--panel);margin:var(--s6) 0}
.figch .bd{padding:var(--s6) var(--s5)}
.figch .cheye{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink3);margin-bottom:10px}
.figch .chtit{font-family:var(--serif);font-weight:300;font-size:clamp(19px,2.2vw,25px);line-height:1.22;color:var(--ink);max-width:36ch;margin-bottom:9px;text-transform:none}
.figch .chsub{font-size:var(--t4);color:var(--ink2);max-width:66ch;margin-bottom:var(--s5);line-height:1.6}
.figch .chsrc{font-size:var(--t2);color:var(--ink3);margin-top:var(--s5);line-height:1.65;padding-top:var(--s4);border-top:1px solid var(--line)}
.figch .chsrc a{display:inline-block;padding:4px 0;min-height:24px;font-size:inherit;overflow-wrap:anywhere}
.chtabbtn{background:none;border:1px solid var(--line2);color:var(--ink3);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;cursor:pointer;margin-top:var(--s4);min-height:38px}
.chtabbtn:hover{border-color:var(--accent);color:var(--accent)}
.chtab{display:none;margin-top:var(--s4)}
.chtab.on{display:block}
.leg{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:var(--t2);color:var(--ink3);margin-top:var(--s4)}
.leg i{width:16px;height:10px;display:inline-block;margin-right:6px;vertical-align:-1px}

@media(max-width:860px){
  .obm{min-height:44px}
  .leia .hd2 a{display:inline-flex;align-items:center;min-height:44px}
  .srcline a{display:inline-block;padding:8px 0;min-height:44px}
  .ft p a{display:inline-flex;align-items:center;min-height:44px}
  .note a{display:inline-flex;align-items:center;min-height:44px}
}

/* ================= MENU LATERAL ================= */
.mnav{display:none !important}
.mais{display:none !important}
.hdin{gap:var(--s4)}
.abrir{margin-left:auto;display:flex;align-items:center;gap:12px;background:none;border:0;cursor:pointer;padding:10px 4px;min-height:44px;color:var(--ink2);font-size:14px;letter-spacing:.14em;text-transform:uppercase}
.abrir .bars{display:flex;flex-direction:column;gap:4.5px;width:19px}
.abrir .bars i{display:block;height:1.4px;background:var(--ink);transition:transform .22s var(--ease),opacity .16s}
.abrir:hover{color:var(--accent)}
.abrir:hover .bars i{background:var(--accent)}
body.menu .abrir .bars i:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.menu .abrir .bars i:nth-child(2){opacity:0}
body.menu .abrir .bars i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:620px){.abrir span{display:none}}

.drawer{position:fixed;inset:0;z-index:120;visibility:hidden;pointer-events:none}
body.menu .drawer{visibility:visible;pointer-events:auto}
.drawer .veu{position:absolute;inset:0;background:rgba(26,26,26,.4);opacity:0;transition:opacity .26s var(--ease)}
body.menu .drawer .veu{opacity:1}
.drawer .painel{position:absolute;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--panel);border-left:1px solid var(--line);transform:translateX(100%);transition:transform .3s var(--ease);display:flex;flex-direction:column;overflow-y:auto}
body.menu .drawer .painel{transform:none}
.drawer .topo{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s5) var(--s6);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:2}
.drawer .topo .t{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink3)}
.drawer .fechar{background:none;border:1px solid var(--line2);color:var(--ink3);cursor:pointer;min-height:44px;min-width:44px;padding:0 16px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.drawer .fechar:hover{border-color:var(--accent);color:var(--accent)}
.drawer .corpo{padding:var(--s5) 0 var(--s7)}
.dgrupo{border-bottom:1px solid var(--line);padding:var(--s5) var(--s6)}
.dgrupo:last-child{border-bottom:0}
.dgrupo .gt{display:flex;align-items:baseline;gap:12px;margin-bottom:var(--s4)}
.dgrupo .gt .n{font-size:10.5px;letter-spacing:.18em;color:var(--ink4);font-variant-numeric:tabular-nums}
.dgrupo .gt .l{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink3)}
.dgrupo ul{list-style:none;display:grid;gap:2px}
.dgrupo a{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);border:0;padding:11px 0;min-height:48px;color:var(--ink)}
.dgrupo a .nome{font-family:var(--serif);font-weight:300;font-size:21px;line-height:1.2;letter-spacing:-.01em}
.dgrupo a .qt{font-size:11.5px;color:var(--ink4);white-space:nowrap;font-variant-numeric:tabular-nums}
.dgrupo a:hover .nome,.dgrupo a.on .nome{color:var(--accent)}
.dgrupo a.on .nome{position:relative}
.dgrupo a.on .nome::before{content:'';position:absolute;left:-16px;top:.62em;width:9px;height:1px;background:var(--accent)}
.drawer .pe{margin-top:auto;padding:var(--s6);border-top:1px solid var(--line);background:var(--panel2)}
.drawer .pe .lb{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink3);display:block;margin-bottom:var(--s4)}
.drawer .pe .btn.wa{width:100%;justify-content:center}
@media(max-width:520px){.dgrupo{padding:var(--s4) var(--s5)}.dgrupo a .nome{font-size:19px}}

/* ================= MÓDULOS AMANO ================= */
.mod{border:1px solid var(--line2);background:var(--panel);margin:var(--s7) 0;display:grid;grid-template-columns:1fr}
.mod .cab{display:flex;align-items:center;gap:11px;padding:var(--s4) var(--s5);border-bottom:1px solid var(--line)}
.mod .cab svg.am{height:12px;width:auto;fill:var(--ink3)}
.mod .cab .sep{color:var(--ink2);font-size:12.5px}
.mod .cab .k{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink2);font-weight:500}
.mod .bd{padding:var(--s6) var(--s5)}
.mod h3{font-family:var(--serif);font-weight:300;font-size:var(--t8);line-height:1.16;color:var(--ink);margin-bottom:var(--s4);max-width:30ch;text-transform:none}
.mod p{font-size:var(--t5);line-height:1.68;color:var(--ink2);max-width:70ch}
.mod p + p{margin-top:var(--s3)}
.mod .pe{padding:var(--s4) var(--s5);border-top:1px solid var(--line);display:flex;gap:var(--s4);align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--panel2)}
.mod .pe .q{font-size:var(--t4);color:var(--ink2);max-width:56ch}
.mod .lista{list-style:none;margin-top:var(--s5)}
.mod .lista li{padding:12px 0 12px var(--s6);border-top:1px solid var(--line);position:relative;font-size:var(--t4);color:var(--ink2)}
.mod .lista li::before{content:'';position:absolute;left:0;top:23px;width:13px;height:1px;background:var(--accent)}
/* oportunidade */
.mod.op{border-color:color-mix(in srgb,var(--oliva) 60%,var(--line2))}
.mod.op .cab{border-bottom-color:color-mix(in srgb,var(--oliva) 30%,transparent);background:color-mix(in srgb,var(--oliva) 7%,transparent)}
.mod.op .cab .k{color:var(--oliva)}
html[data-theme="dark"] .mod.op .cab .k{color:var(--oliva)}
html[data-theme="dark"] .mod.op{border-color:var(--oliva)}
.mod.op .lista li::before{background:var(--oliva)}
/* atenção */
.mod.at{border-color:color-mix(in srgb,var(--accent) 55%,var(--line2))}
.mod.at .cab{border-bottom-color:color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 7%,transparent)}
.mod.at .cab .k{color:var(--accent)}
html[data-theme="dark"] .mod.at .cab .k{color:var(--accent2)}
.mod.at .lista li::before{background:var(--accent2)}

/* ================= CAPA ================= */
.hero{position:relative;border-bottom:1px solid var(--line);overflow:hidden;background:var(--rail);min-height:min(86vh,760px);display:flex;align-items:stretch}
.hero img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 58%}
.heroin{inset:0;display:flex;align-items:flex-end;background:rgba(26,26,26,.72);position:relative}
.faixa{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media(max-width:900px){.faixa{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.faixa{grid-template-columns:1fr}}
.faixa figure{margin:0;background:var(--panel);position:relative;overflow:hidden;aspect-ratio:4/3}
.faixa img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.faixa figure:hover img{transform:scale(1.03)}
.faixa figcaption{position:absolute;left:0;right:0;bottom:0;padding:var(--s5) var(--s4) var(--s4);background:rgba(26,26,26,.62);color:#F6F3E9;font-size:12.5px;line-height:1.5}
.faixa figcaption b{display:block;font-family:var(--serif);font-weight:300;font-size:17px;margin-bottom:4px}

.mods{display:grid;grid-template-columns:1.35fr 1fr;gap:var(--s7)}
@media(max-width:1000px){.mods{grid-template-columns:1fr}}
.modhd{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);padding-bottom:var(--s4);border-bottom:1px solid var(--line2);margin-bottom:var(--s5);flex-wrap:wrap}
.modhd h2{font-size:clamp(24px,2.8vw,32px);margin:0}
.modhd a{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;border:0}
.ultart{list-style:none;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.ultart li{background:var(--panel)}
.ultart a{display:grid;grid-template-columns:54px 1fr;gap:var(--s4);padding:var(--s5);border:0;align-items:start}
.ultart a:hover{background:var(--panel2)}
.ultart .num{font-family:var(--serif);font-weight:200;font-size:26px;color:var(--ink4);line-height:1}
.ultart .eix{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:5px}
.ultart .t{font-family:var(--serif);font-weight:300;font-size:20px;line-height:1.22;color:var(--ink);display:block}
.ultart .m{font-size:11.5px;color:var(--ink4);display:block;margin-top:7px;letter-spacing:.06em}
.ultest{list-style:none;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.ultest li{background:var(--panel)}
.ultest .it{display:grid;grid-template-columns:78px 1fr;gap:var(--s4);padding:var(--s4) var(--s5);align-items:center}
.ultest .cv{aspect-ratio:3/4;background:var(--panel2);border:1px solid var(--line);overflow:hidden}
.ultest .cv img{width:100%;height:100%;object-fit:cover;display:block}
.ultest .t{font-family:var(--serif);font-weight:300;font-size:17px;line-height:1.24;color:var(--ink)}
.ultest .s{font-size:11.5px;color:var(--ink4);margin-top:6px;letter-spacing:.08em;text-transform:uppercase}

/* ================= EVENTOS ================= */
.evfiltro{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center;margin-bottom:var(--s5)}
.evfiltro button{background:none;border:1px solid var(--line2);color:var(--ink3);padding:9px 15px;font-size:var(--t3);cursor:pointer;min-height:44px;letter-spacing:.04em}
.evfiltro button.on{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}
.evfiltro .ct{margin-left:auto;font-size:var(--t2);letter-spacing:.12em;text-transform:uppercase;color:var(--ink4)}

/* calendário em régua */
.cal{border:1px solid var(--line);background:var(--panel);margin:var(--s6) 0;overflow:hidden}
.calano{border-bottom:1px solid var(--line)}
.calano:last-child{border-bottom:0}
.calhd{display:flex;align-items:baseline;gap:var(--s4);padding:var(--s4) var(--s5);background:var(--panel2);border-bottom:1px solid var(--line)}
.calhd .a{font-family:var(--serif);font-weight:200;font-size:26px;color:var(--ink);line-height:1}
.calhd .q{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.calgrid{display:grid;grid-template-columns:repeat(12,1fr);position:relative;min-height:38px;border-bottom:1px solid var(--line)}
.calgrid.meses{background:var(--panel2)}
.calgrid.meses span{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);padding:11px 0 11px 9px;border-right:1px solid var(--line)}
.calgrid.meses span:last-child{border-right:0}
.callin:last-child{border-bottom:0}
.callin .col{border-right:1px solid var(--line);height:100%}
.callin .col:last-child{border-right:0}
.callin{display:grid;grid-template-columns:repeat(12,1fr);position:relative;border-bottom:1px solid var(--line);min-height:52px;align-items:center;overflow:visible}
.callin .ev{position:absolute;top:13px;bottom:13px;background:var(--ctx);border:0;padding:0;cursor:pointer;min-width:5px;border-radius:2px}
.callin .ev.pA{background:var(--r5)}
.callin .ev.pB{background:var(--r3)}
.callin .ev.pC{background:var(--ctx)}
.callin .ev.feito{opacity:.4}
.callin .ev.fim b{left:auto;right:100%;margin-left:0;margin-right:9px}
.callin .ev b{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:7px;font-weight:400;font-size:12.5px;color:var(--ink2);white-space:nowrap;letter-spacing:.005em;background:var(--panel);padding:3px 7px;border:1px solid var(--line);max-width:168px;overflow:hidden;text-overflow:ellipsis;display:block}
.callin .ev:hover{outline:2px solid var(--accent);outline-offset:2px;z-index:4}
.callin .ev:hover b{color:var(--accent)}
.callin .ev.feito b{color:var(--ink4)}
@media(max-width:900px){.cal{display:none}}
.calnota{font-size:var(--t2);color:var(--ink4);margin-top:var(--s3);line-height:1.6}

/* cartão de evento */
.evs{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.evc{background:var(--panel);border:0;text-align:left;cursor:pointer;display:flex;flex-direction:column;padding:0;transition:background .16s;min-width:0}
.evc:hover{background:var(--panel2)}
.evc .top{display:grid;grid-template-columns:82px 1fr;gap:var(--s4);padding:var(--s5);border-bottom:1px solid var(--line);align-items:start}
.evc .data{border-right:1px solid var(--line);padding-right:var(--s4);text-align:center}
.evc .data .d{font-family:var(--serif);font-weight:200;font-size:34px;line-height:.94;color:var(--ink);font-variant-numeric:tabular-nums}
.evc .data .m{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-top:5px}
.evc .data .y{font-size:11.5px;color:var(--ink4);margin-top:3px;font-variant-numeric:tabular-nums}
.evc h3{font-family:var(--serif);font-weight:300;font-size:21px;line-height:1.2;color:var(--ink);margin-bottom:6px}
.evc .loc{font-size:12.5px;color:var(--ink3);line-height:1.5}
.evc .bd{padding:var(--s5);flex:1;display:flex;flex-direction:column;gap:var(--s3)}
.evc .bd p{font-size:var(--t4);color:var(--ink2);line-height:1.6;margin:0}
.evc .pe{margin-top:auto;padding:var(--s4) var(--s5);border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.evc .arw{margin-left:auto;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);opacity:0;transition:opacity .16s}
.evc:hover .arw{opacity:1}
.chip.pA{border-color:var(--accent);color:var(--accent)}
.chip.feito{opacity:.6;border-style:dashed}
.chip.breve{border-color:var(--oliva);color:var(--oliva)}
html[data-theme="dark"] .chip.breve{border-color:var(--oliva);color:var(--oliva)}

/* ficha de evento */
.evhero{display:grid;grid-template-columns:1fr 320px;gap:var(--s7);align-items:start;margin-bottom:var(--s7)}
@media(max-width:1000px){.evhero{grid-template-columns:1fr}}
.evbox{border:1px solid var(--line);background:var(--panel)}
.evbox .l{padding:var(--s4) var(--s5);border-bottom:1px solid var(--line);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3)}
.evbox dl{display:grid;grid-template-columns:1fr;gap:0}
.evbox dt{padding:12px var(--s5) 2px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink4)}
.evbox dd{padding:0 var(--s5) 12px;font-size:var(--t4);color:var(--ink2);border-bottom:1px solid var(--line)}
.evbox dd:last-child{border-bottom:0}
.notas{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:var(--s5) 0}
@media(max-width:700px){.notas{grid-template-columns:1fr 1fr}}
.notas>div{background:var(--panel);padding:var(--s5)}
.notas .k{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);display:block;margin-bottom:10px}
.notas .v{display:flex;gap:4px;align-items:center}
.notas .v i{width:16px;height:5px;background:var(--line2);display:block}
.notas .v i.on{background:var(--r4)}
.notas .n{font-size:11.5px;color:var(--ink4);margin-top:9px;font-variant-numeric:tabular-nums}

/* ================= RODAPÉ ENXUTO ================= */
.ft{background:var(--preto);color:rgba(246,243,233,.76);font-size:var(--t3);padding:var(--s7) 0 var(--s5);margin-top:var(--s8)}
.ftg{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:var(--s6) var(--s5);padding-bottom:var(--s5);border-bottom:1px solid rgba(246,243,233,.13)}
@media(max-width:980px){.ftg{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ftg{grid-template-columns:1fr}}
.ft h4{color:var(--creme);text-transform:uppercase;font-family:var(--sans);font-size:10.5px;letter-spacing:.2em;margin-bottom:var(--s3)}
.ft ul{gap:0}
.ft ul a{font-size:13px;padding:5px 0;display:inline-block}
@media(max-width:860px){.ft ul a{padding:11px 0}}
.ft .col p{font-size:13px;line-height:1.65;max-width:36ch}
.ftb{color:rgba(246,243,233,.62);display:flex;justify-content:space-between;gap:var(--s5);flex-wrap:wrap;letter-spacing:.1em;text-transform:uppercase;padding-top:var(--s4);font-size:10.5px}

@media(max-width:860px){
  .modhd a{display:inline-flex;align-items:center;min-height:44px}
  .mod .pe a{min-height:46px}
}

/* acervo colapsado */
details.acervo{border:1px solid var(--line2);background:var(--panel2);margin:var(--s6) 0}
details.acervo>summary{cursor:pointer;list-style:none;padding:var(--s5);display:flex;justify-content:space-between;gap:var(--s4);align-items:center;flex-wrap:wrap;min-height:52px}
details.acervo>summary::-webkit-details-marker{display:none}
details.acervo>summary b{font-family:var(--serif);font-weight:300;font-size:var(--t7);color:var(--ink)}
details.acervo>summary .q{font-size:var(--t3);color:var(--ink3)}
details.acervo>summary::after{content:'abrir';font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border:1px solid var(--line2);padding:9px 14px;min-height:40px;display:flex;align-items:center}
details.acervo[open]>summary::after{content:'fechar'}
details.acervo>summary:hover::after{border-color:var(--accent)}
details.acervo .in{padding:0 var(--s5) var(--s5)}
details.acervo .verbs{margin-bottom:0}

/* busca no glossário */
.gbusca{position:sticky;top:74px;z-index:40;background:color-mix(in srgb,var(--bg) 97%,transparent);backdrop-filter:saturate(1.2) blur(9px);padding:var(--s4) 0;margin-bottom:var(--s5);border-bottom:1px solid var(--line);display:flex;gap:var(--s3);align-items:center;flex-wrap:wrap}
.gbusca input{background:var(--panel);border:1px solid var(--line2);padding:11px 14px;font-size:var(--t4);color:var(--ink);flex:1;min-width:280px;min-height:46px}
.gbusca input:focus{outline:0;border-color:var(--accent)}
.gbusca .ct{font-size:var(--t2);letter-spacing:.12em;text-transform:uppercase;color:var(--ink4);margin-left:auto}
@media(max-width:620px){.gbusca{top:66px}}
details.verb.oculto{display:none}
.verbs.vazio{display:none}

/* pequenos múltiplos */
.pm{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:var(--s5) 0}
@media(max-width:1000px){.pm{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pm{grid-template-columns:1fr}}
.pm>div{background:var(--panel);padding:var(--s4) var(--s4) var(--s3)}
.pm .uf{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:9px}
.pm .uf b{font-family:var(--serif);font-weight:300;font-size:var(--t6);color:var(--ink)}
.pm .uf span{font-size:11.5px;color:var(--ink4);font-variant-numeric:tabular-nums}
.pm svg{width:100%;height:auto;display:block;overflow:visible}
.pm.um{grid-template-columns:1fr;margin-bottom:var(--s4)}
.pm.um>div{padding:var(--s5)}
.pm .dst{border-left:2px solid var(--r5)}

/* ================= MAPAS E BANCO ================= */
:root{--preto:#1A1A1A;--creme:#F6F3E9;--areia:#E7E3DF;--bronze:#734F2F;--oliva:#5F6B4A;--dourado:#C4A67C;--bg:#F2EEE3;--panel:#FBF9F3;--panel2:#F6F3E9;--rail:#EDE8DB;--ink:#1A1A1A;--ink2:#413B35;--ink3:#665F57;--ink4:#6E675E;--line:#DED7C6;--line2:#C2B9A4;--accent:#734F2F;--accent2:#8B6039;--oliva2:#5F6B4A;--r1:#C1A995;--r2:#AD917A;--r3:#9A7B61;--r4:#866548;--r5:#734F2F;--ctx:#908B84;--nodata:#E7E3DF;--serif:'Fraunces',Georgia,'Times New Roman',serif;--sans:'Work Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;--s1:4px;--s2:8px;--s3:12px;--s4:18px;--s5:26px;--s6:36px;--s7:52px;--s8:72px;--s9:100px;--t1:11.5px;--t2:12.5px;--t3:13.5px;--t4:14.5px;--t5:16px;--t6:18.5px;--t7:22px;--t8:29px;--t9:38px;--t10:52px;--max:1220px;--maxw:1420px;--ease:cubic-bezier(.22,.61,.36,1);--oceano:#F1EDE4;--terra:#D5CFC3}
html[data-theme="dark"]{--bg:#121110;--panel:#1B1918;--panel2:#211E1C;--rail:#171514;--ink:#F2EEE3;--ink2:#CFC8BC;--ink3:#A49C91;--ink4:#948C81;--line:#2B2724;--line2:#3D3833;--accent:#C4A67C;--accent2:#D8BE97;/* tonalidade clara da oliva para o tema escuro: mesma cor, outra luminância */
  --oliva:#93A177;--oliva2:#93A177;--r1:#654529;--r2:#7B5A3E;--r3:#917052;--r4:#A98668;--r5:#C19D7E;--ctx:#787169;--nodata:#2B2724;--oceano:#171512;--terra:#312C27}
.mapbox.mundo svg{width:100%;height:auto;display:block}
.mapbox.mundo path{stroke:var(--panel);stroke-width:.4}
.mapbox svg path[data-tt]{cursor:default}
.mapbox svg path[data-tt]:hover{stroke:var(--ink);stroke-width:1.1}
.mapbox.fluxos path.arco{fill:none;stroke:var(--bronze);opacity:.85;stroke-linecap:round}
.mapbox.fluxos path.terra{stroke:var(--oceano);stroke-width:.5}
html[data-theme="dark"] .mapbox.fluxos path.arco{stroke:var(--dourado)}
.mapbox.fluxos path.arco:hover{opacity:1;stroke:var(--ink)}
.mapbox.fluxos circle.no{fill:var(--bronze);opacity:.9;stroke:var(--panel);stroke-width:.8}
html[data-theme="dark"] .mapbox.fluxos circle.no{fill:var(--dourado)}
.mapbox.fluxos circle.orig{fill:var(--ink);stroke:var(--panel);stroke-width:1.4}
.fluxos .rot{fill:var(--ink);font-family:var(--sans);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.anosel{display:flex;align-items:center;gap:var(--s3);margin:var(--s4) 0 var(--s3);flex-wrap:wrap}
.anosel label{font-size:var(--t2);letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.anosel input[type=range]{flex:1;min-width:220px;accent-color:var(--bronze);height:32px}
.anosel output{font-family:var(--serif);font-size:var(--t6);font-weight:300;min-width:72px;text-align:right;color:var(--ink)}
.conf{display:inline-block;font-size:var(--t2);letter-spacing:.07em;padding:3px 9px;border:1px solid var(--line2);color:var(--ink2);background:var(--panel2);white-space:nowrap;font-weight:500}
.conf.cA{border-color:var(--bronze);color:var(--bronze)}
.conf.cAm{border-color:var(--bronze);color:var(--ink2)}
.conf.cBp{border-color:var(--oliva);color:var(--oliva)}
html[data-theme="dark"] .conf.cA,html[data-theme="dark"] .conf.cAm{border-color:var(--dourado);color:var(--dourado)}
html[data-theme="dark"] .conf.cBp{border-color:var(--dourado);color:var(--ink2)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:var(--s4) 0}
.chip.big{font-size:var(--t3);padding:6px 12px;text-transform:none;letter-spacing:.01em}
.cadeiagraf{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:var(--s4) 0 var(--s5);border:1px solid var(--line);background:var(--panel);padding:var(--s4)}
.cadeiagraf .no{font-size:var(--t3);border:1px solid var(--line2);padding:6px 11px;color:var(--ink2);background:var(--panel2)}
.cadeiagraf .se{color:var(--ink4);font-size:var(--t3)}
.carregando{font-size:var(--t2);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);padding:var(--s6) 0;text-align:center;border-bottom:1px solid var(--line)}
tr.oculto{display:none}
@media(max-width:620px){
  .chtabbtn{min-height:44px;padding-top:12px;padding-bottom:12px}
  .anosel input[type=range]{height:44px}
  .anosel{gap:var(--s2)}
  .cadeiagraf .no{font-size:var(--t2)}
}

/* ================= ICONOGRAFIA ================= */
svg.ic{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;vertical-align:-3px}
.drawer .corpo li a{display:flex;align-items:center;gap:11px}
.drawer .corpo li a svg.ic{color:var(--ink4);transition:color .18s var(--ease)}
.drawer .corpo li a:hover svg.ic,.drawer .corpo li a.on svg.ic{color:var(--accent)}
.drawer .corpo li a .nome{flex:1}
.mod .cab svg.ic{color:var(--ink2);width:16px;height:16px}
.mod.op .cab svg.ic,.mod.at .cab svg.ic{color:var(--accent)}
html[data-theme="dark"] .mod.op .cab svg.ic,html[data-theme="dark"] .mod.at .cab svg.ic{color:var(--accent2)}

/* ================= ESTUDO SOB ENCOMENDA ================= */
.est{border:1px solid var(--line2);border-left:3px solid var(--accent);background:var(--panel);padding:var(--s5) var(--s5) var(--s5) var(--s5);margin:var(--s6) 0;max-width:640px}
.est .cab{display:flex;align-items:center;gap:9px;margin-bottom:var(--s3);color:var(--accent)}
.est .cab .k{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:500}
.est h4{font-family:var(--serif);font-weight:300;font-size:var(--t6);line-height:1.28;margin:0 0 var(--s3);color:var(--ink)}
.est h4 svg{height:.72em;width:auto;fill:var(--ink);vertical-align:baseline;margin-right:.06em}
.est p{margin:0 0 var(--s3);color:var(--ink2);font-size:var(--t4);line-height:1.55}
.est ul{list-style:none;margin:0 0 var(--s4);padding:0;border-top:1px solid var(--line)}
.est ul li{position:relative;padding:8px 0 8px 18px;font-size:var(--t3);color:var(--ink2);border-bottom:1px solid var(--line)}
.est ul li::before{content:"";position:absolute;left:0;top:15px;width:7px;height:1px;background:var(--accent)}
.est .btn.wa{display:inline-flex;align-items:center;gap:9px;min-height:44px}
html[data-theme="dark"] .est{border-left-color:var(--accent2)}
html[data-theme="dark"] .est .cab{color:var(--accent2)}
html[data-theme="dark"] .est ul li::before{background:var(--accent2)}
html[data-theme="dark"] .est h4 svg{fill:var(--ink)}

/* ================= FICHAS DE PAÍS ================= */
.atalhos{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line)}
.atalhos a{flex:1;min-width:150px;background:var(--panel);padding:var(--s4);display:flex;align-items:center;gap:10px;color:var(--ink2);text-decoration:none;font-size:var(--t3);letter-spacing:.04em;min-height:56px}
.atalhos a:hover{background:var(--panel2);color:var(--accent)}
.atalhos a svg.ic{color:var(--ink4)} .atalhos a:hover svg.ic{color:var(--accent)}
.pcards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:var(--s5) 0}
.pcard{background:var(--panel);padding:var(--s5)}
.pcard header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s4)}
.pcard h3{font-size:var(--t7);font-weight:300}
.pcard .num{display:grid;gap:var(--s3);margin-bottom:var(--s4)}
.pcard .num .k{display:flex;align-items:center;gap:7px;font-size:var(--t2);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.pcard .num .k svg.ic{width:14px;height:14px;color:var(--ink4)}
.pcard .num b{display:block;font-family:var(--serif);font-weight:300;font-size:var(--t7);color:var(--ink);margin-top:3px}
.pcard .num b.up{color:var(--accent)} .pcard .num b.dn{color:var(--oliva2)}
html[data-theme="dark"] .pcard .num b.up{color:var(--accent2)}
.pcard .num i{display:block;font-style:normal;font-size:var(--t2);color:var(--ink3);margin-top:2px}
.pcard .lid{border-top:1px solid var(--line);padding-top:var(--s3);margin-bottom:var(--s3)}
.pcard .lid .k{display:flex;align-items:center;gap:7px;font-size:var(--t2);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:7px}
.pcard .lid .k svg.ic{width:14px;height:14px;color:var(--ink4)}
.pcard .lid .ch{display:inline-block;font-size:var(--t2);border:1px solid var(--line2);padding:4px 9px;margin:0 4px 4px 0;color:var(--ink2)}
.pcard .ob{font-size:var(--t3);color:var(--ink2);line-height:1.55;margin:0}
.pcard .mais{list-style:none;margin:var(--s3) 0 0;padding:0}
.pcard .mais li{position:relative;padding:7px 0 7px 16px;font-size:var(--t2);color:var(--ink3);border-top:1px solid var(--line)}
.pcard .mais li::before{content:"";position:absolute;left:0;top:14px;width:6px;height:1px;background:var(--line2)}
@media(max-width:900px){.pcards{grid-template-columns:1fr}}

/* ================= FATOS E REFUTAÇÕES ================= */
.fatos{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:var(--s5) 0}
.fato{background:var(--panel);padding:var(--s5)}
.fato .t{display:flex;align-items:center;gap:9px;margin-bottom:var(--s3);color:var(--ink)}
.fato .t span{font-size:var(--t4);font-weight:500;letter-spacing:.01em}
.fato .t svg.ic{color:var(--ink3)}
.fato p{margin:0 0 var(--s3);font-size:var(--t3);color:var(--ink2);line-height:1.55}
.fato .s{font-size:var(--t2);color:var(--ink3);letter-spacing:.03em;display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px}
.fato .s a{color:var(--accent);display:inline-flex;align-items:center;min-height:44px;padding:0 2px}
.refut{border:1px solid var(--line2);background:var(--panel2);margin:var(--s5) 0}
.rf{padding:var(--s5);border-bottom:1px solid var(--line)}
.rf:last-child{border-bottom:0}
.rf .t{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:var(--s3)}
.rf .t>span:first-of-type{font-size:var(--t4);font-weight:500;color:var(--ink)}
.rf .t svg.ic{color:var(--accent)}
html[data-theme="dark"] .rf .t svg.ic{color:var(--accent2)}
.rf .vd{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--line2);padding:3px 8px;color:var(--ink2);font-weight:500}
.rf .vd.vREFUTADO{border-color:var(--accent);color:var(--accent)}
html[data-theme="dark"] .rf .vd.vREFUTADO{border-color:var(--accent2);color:var(--accent2)}
.rf p{margin:0;font-size:var(--t3);color:var(--ink2);line-height:1.55}
@media(max-width:900px){.fatos{grid-template-columns:1fr}}
@media(max-width:620px){.est{padding:var(--s4)}.atalhos a{min-width:130px}}


/* ===== REORGANIZAÇÃO EDITORIAL v10 ===== */
.study-hero .hero-sub{font-size:var(--t4);max-width:68ch;margin-top:var(--s3);color:var(--creme);opacity:1}
.primary-gates{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:var(--s6)}
.primary-gate{background:var(--panel);padding:clamp(24px,4vw,44px);border:0!important;min-height:300px;display:flex;flex-direction:column;align-items:flex-start;color:var(--ink);transition:background .18s var(--ease)}
.primary-gate:hover{background:var(--panel2)}.primary-gate>svg{width:28px;height:28px;stroke:var(--accent);fill:none;stroke-width:1.5;margin-bottom:auto}
.primary-gate .k{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink4);margin-top:var(--s6)}
.primary-gate h3{font-family:var(--serif);font-size:clamp(30px,4vw,48px);font-weight:250;line-height:1.02;margin-top:8px}
.primary-gate p{font-size:var(--t5);color:var(--ink2);max-width:43ch;margin-top:var(--s3)}.primary-gate .go{font-size:var(--t2);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-top:var(--s5)}
@media(max-width:760px){.primary-gates{grid-template-columns:1fr}.primary-gate{min-height:240px}}
.macro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:var(--s5)}
.macro-card{background:var(--panel);padding:var(--s5);border:0!important;display:flex;flex-direction:column;min-height:210px;color:var(--ink)}.macro-card:hover{background:var(--panel2)}
.macro-card>svg{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.4;margin-bottom:auto}.macro-card h3{font-size:var(--t7);margin-top:var(--s5)}.macro-card p{font-size:var(--t3);color:var(--ink2);margin-top:7px;line-height:1.55}.macro-card>span{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-top:var(--s4)}
@media(max-width:950px){.macro-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.macro-grid{grid-template-columns:1fr}}
.study-page{max-width:1180px}.study-prologue{max-width:840px;margin:0 0 var(--s8)}.study-kicker{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--s3)}
.study-prologue h2{font-size:clamp(32px,4.4vw,54px);line-height:1.02;max-width:18ch}.study-prologue p{font-size:var(--t5);color:var(--ink2);line-height:1.72;max-width:70ch;margin-top:var(--s4)}
.study-chapters{border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);margin:0 0 var(--s8)}.study-chapters-hd{display:flex;justify-content:space-between;gap:20px;padding:10px 0;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink4)}
.study-chapters-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.study-chapters-grid a{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:16px 14px 16px 0;border:0!important;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink)}
.study-chapters-grid a:hover{background:var(--panel2)}.study-chapters-grid .n{font-size:10px;letter-spacing:.14em;color:var(--ink4)}.study-chapters-grid b{display:block;font-size:var(--t4);font-weight:500}.study-chapters-grid small{display:block;font-size:var(--t2);color:var(--ink4);margin-top:3px;line-height:1.4}
@media(max-width:850px){.study-chapters-grid{grid-template-columns:1fr 1fr}}@media(max-width:540px){.study-chapters-grid{grid-template-columns:1fr}}
.story-bridge{max-width:780px;margin:var(--s7) 0;padding-left:var(--s5);border-left:1px solid var(--accent)}.story-bridge h3{font-size:var(--t8);line-height:1.15}.story-bridge p{font-size:var(--t5);line-height:1.7;color:var(--ink2);margin-top:var(--s3)}.story-links{display:flex;flex-wrap:wrap;gap:8px;margin:var(--s5) 0 var(--s7)}.story-links a{border:1px solid var(--line2);padding:9px 12px;font-size:var(--t2);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}.story-links a:hover{border-color:var(--accent);color:var(--accent)}
.chapter-context{border-bottom:1px solid var(--line);background:var(--panel);padding:10px 0}.chapter-context .wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.chapter-context a{display:flex;align-items:center;gap:9px;border:0!important;color:var(--ink)}.chapter-context a>svg{width:17px;height:17px;stroke:var(--accent);fill:none;stroke-width:1.5}.chapter-context small{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink4)}.chapter-context b{font-size:var(--t3);font-weight:500}.chapter-context>.wrap>.sep{color:var(--ink4)}.chapter-context>.wrap>span:not(.sep):not(.ctx-note){font-size:var(--t3);color:var(--ink2)}.chapter-context .ctx-note{margin-left:auto;font-size:var(--t1);color:var(--ink4)}
@media(max-width:720px){.chapter-context .ctx-note{width:100%;margin-left:26px}}
.world-directory{border:1px solid var(--line);background:var(--panel);margin:var(--s5) 0}.world-dir-head{display:flex;justify-content:space-between;gap:20px;padding:14px 16px;border-bottom:1px solid var(--line);font-size:var(--t3)}.world-dir-head span{color:var(--ink4)}.world-list{display:grid;grid-template-columns:repeat(5,1fr);padding:12px 16px}.world-list span{font-size:var(--t3);color:var(--ink2);padding:6px 4px;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}
@media(max-width:900px){.world-list{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.world-list{grid-template-columns:1fr 1fr}.world-dir-head{display:block}.world-dir-head span{display:block;margin-top:5px}}
/* mais espaço entre argumento e evidência: páginas passam a respirar como estudos */
.study-page>.figch,.study-page>.tblwrap,.study-page>.mapbox,.study-page>.grid{margin-top:var(--s5)}

/* governança de dados */
.gov-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:24px 0 44px}
.gov-status{background:var(--panel,#FBF9F3);padding:18px 20px;min-height:110px}
.gov-status span{font-size:13px;line-height:1.5;color:var(--ink2)}
.gov-pri{display:inline-flex;min-width:32px;justify-content:center;padding:3px 6px;border:1px solid var(--line2);font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--ink2)}
.gov-pri.p0{border-color:var(--accent);color:var(--accent);font-weight:500}
.gov-pri.p1{border-color:var(--r4);color:var(--r4)}
.gov-pri.p2{border-color:var(--line2);color:var(--ink2)}
.gov-kpis{margin-bottom:52px}
@media(max-width:760px){.gov-status-grid{grid-template-columns:1fr}}

.alias-chip{display:inline-block;border:1px solid var(--line2);padding:3px 6px;margin:2px 3px 2px 0;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3)}

/* ===== correções do QA visual em navegador real, 10/08/2026 ===== */
/* 1 · botão fantasma ficava com 1,05:1 no tema escuro */
.btn.gh{background:transparent;border:1px solid var(--line2);color:var(--ink2)}
.btn.gh:hover{background:var(--accent);border-color:var(--accent);color:var(--accent)}
html[data-theme="dark"] .btn.gh{border-color:var(--line2);color:var(--ink2)}
html[data-theme="dark"] .btn.gh:hover{border-color:var(--accent2);color:var(--accent2)}
/* 2 · subtítulo do lockup estava em 4,42:1, abaixo do mínimo de 4,5 */
.obm .wm span,.brandlock .wm span{color:var(--ink2)}
/* 3 · alvo de toque mínimo em links de navegação e de bloco */
.hd a,.ft a,.fr li a,.atalhos a,.pz,.modhd a,main .btn,#app .btn{min-height:44px}
.modhd a,.ft li a,.fr li a{display:inline-flex;align-items:center}
@media(max-width:620px){
  main a,#app a{min-height:24px}
  main .btn,#app .btn,.modhd a,.ft li a{min-height:44px}
}
/* 4 · h1 de leitor de tela */
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* subtítulo do lockup no hero estava em 4,42:1 sobre o véu */
.hero .brandlock .wm span{font-size:clamp(10px,1.15vw,14px);letter-spacing:.42em;text-transform:uppercase;opacity:1;color:#FBF9F3}
/* selo de completude usava bronze fixo: no escuro precisa do dourado */
.gov-status b{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;color:var(--accent)}
.gov-tag{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}

/* ===== v25 · faixa de carregamento não destrutiva ===== */
.faixacarga{font-size:var(--t2);letter-spacing:.12em;text-transform:lowercase;color:var(--ink3);background:var(--panel2);border-bottom:1px solid var(--line);padding:10px var(--s5);text-align:center}
#app[aria-busy="true"]{opacity:.55;transition:opacity .2s var(--ease)}

/* ===== v25 · lockup com PEDRA BRASILEIRA como protagonista ===== */
/* o descritor recua, o nome avança. o nome oficial completo permanece legível. */
.obm .wm,.brandlock .wm{display:flex;flex-direction:column;line-height:1;gap:3px}
.obm .wm .desc,.brandlock .wm .desc{order:1;font-family:var(--sans);font-weight:400;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink3)}
.obm .wm .nome,.brandlock .wm .nome{order:2;font-family:var(--serif);font-weight:300;letter-spacing:.005em;color:var(--ink);text-transform:lowercase}
.obm .wm .nome{font-size:19px}
.brandlock .wm .nome{font-size:clamp(30px,5.2vw,58px);line-height:.98}
.brandlock .wm .desc{font-size:clamp(10px,1.1vw,13px);letter-spacing:.3em}
@media(max-width:620px){
  .obm .wm .nome{font-size:16px}
  .obm .wm .desc{font-size:9px;letter-spacing:.2em}
}
html[data-theme="dark"] .obm .wm .desc,html[data-theme="dark"] .brandlock .wm .desc{color:var(--ink3)}

/* ================= v25 · SILHUETA DE PAÍS ================= */
svg.sil{width:100%;height:auto;display:block;fill:var(--ink3);stroke:none}
svg.sil.mini{width:22px;height:auto;display:inline-block;vertical-align:-3px;margin-right:8px;fill:var(--ink4)}
.nmp{display:inline-flex;align-items:center}
.hd3{display:flex;align-items:center;gap:12px}
svg.sil.ficha{width:34px;height:auto;flex:0 0 auto;fill:var(--ink4)}
svg.sil.ficha.grande{width:56px}
.atalhos a svg.sil.atalho{width:26px;height:auto;flex:0 0 auto;fill:var(--ink4)}
.atalhos a:hover svg.sil.atalho{fill:var(--accent)}

/* ================= v25 · PRESENÇA MUNDIAL ================= */
.pres{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:var(--s5) 0}
.pz{background:var(--panel);padding:var(--s4);display:block;text-decoration:none;border-bottom:0;transition:background .18s var(--ease)}
.pz:hover{background:var(--panel2)}
.pz .mp{height:52px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.pz .mp svg.sil{max-width:74px;max-height:52px;width:auto}
.pz.fr1 svg.sil{fill:var(--r1)} .pz.fr2 svg.sil{fill:var(--r2)} .pz.fr3 svg.sil{fill:var(--r3)}
.pz.fr4 svg.sil{fill:var(--r4)} .pz.fr5 svg.sil{fill:var(--r5)}
.pz .tx{text-align:center}
.pz .tx b{display:block;font-size:var(--t3);font-weight:400;color:var(--ink);letter-spacing:.01em}
.pz .tx .v{display:block;font-family:var(--serif);font-weight:300;font-size:var(--t6);color:var(--ink);margin-top:2px}
.pz .tx .q{display:block;font-size:10.5px;letter-spacing:.05em;color:var(--ink3);margin-top:4px;line-height:1.35}
.pres-capa{margin-top:var(--s7)}
.sec-t3{font-family:var(--serif);font-weight:300;font-size:var(--t6);color:var(--ink);margin:0 0 var(--s3)}
@media(max-width:620px){.pres{grid-template-columns:repeat(2,1fr)}.pz .mp{height:44px}}
.gov-pri,.alias-chip,.chip{min-height:24px;align-items:center}
.atalhos a{min-height:44px;display:inline-flex;align-items:center;gap:10px}
main a.btn,#app a.btn,main button,#app button,.drawer a,.drawer button,
header button,header a.obm,.ft li a,.fr li a{min-height:44px}
.drawer a,.ft li a{display:flex;align-items:center}
/* fonte citada continua sendo texto corrido: alvo mínimo de 24px, sem esticar o parágrafo */
.fonte a,.src a,.srcline a,.q a,.note a,p a,li a,dd a,td a{display:inline;min-height:24px}
/* a linha de fonte é texto corrido com um endereço dentro. O alvo cresce pelo
   espaçamento da linha, não por caixa: esticar cada endereço quebraria a leitura. */
.srcline{font-size:var(--t1);color:var(--ink4);margin-top:var(--s3);line-height:1.9}.srcline a{padding:4px 0}

/* ===== v25 · foco visível em tudo que recebe teclado ===== */
:where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}
html[data-theme="dark"] :where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline-color:var(--accent2)}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms !important;transition-duration:.001ms !important}}

/* ===== v25 · lista de passos no corpo do artigo ===== */
.artbody .passos{margin:var(--s5) 0;border-top:1px solid var(--line)}
.artbody .passos dt{font-weight:500;color:var(--ink);padding:var(--s4) 0 4px;border-top:1px solid var(--line);font-size:var(--t3);letter-spacing:.01em}
.artbody .passos dt:first-of-type{border-top:0}
.artbody .passos dd{margin:0 0 var(--s3);color:var(--ink2);font-size:var(--t3);line-height:1.62}

/* ===== v25 · B22 · alvo de toque ===== */
/* A regra de 44px vale para controle. Link dentro de linha de texto continua
   isento, como a própria WCAG 2.2 prevê, senão o parágrafo vira escada. */
.story-link{margin-top:var(--s4);font-size:var(--t2);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;min-height:44px}
.pagehead .crumb a{display:inline-flex;align-items:center;min-height:24px;padding:2px 0}
.gov-pri,.alias-chip,.chip{min-height:24px;align-items:center}
.pres .pz{min-height:44px}
.atalhos a{min-height:44px;display:inline-flex;align-items:center;gap:10px}
main a.btn,#app a.btn,main button,#app button,.drawer a,.drawer button,
header button,header a.obm,.ft li a,.fr li a{min-height:44px}
.drawer a,.ft li a{display:flex;align-items:center}
/* fonte citada continua sendo texto corrido: alvo mínimo de 24px, sem esticar o parágrafo */
.fonte a,.src a,.q a,.note a,p a,li a,dd a,td a{min-height:24px}

/* ===== v25 · foco visível em tudo que recebe teclado ===== */
:where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}
html[data-theme="dark"] :where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline-color:var(--accent2)}
/* atalho para pular a navegação, exigência de teclado */
.pular{position:absolute;left:-9999px;top:0;z-index:100;background:var(--panel);color:var(--ink);border:1px solid var(--accent);padding:12px 18px;font-size:var(--t3)}
.pular:focus{left:12px;top:12px}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms !important;transition-duration:.001ms !important}}

/* ===== v25 · atlas da proveniência ===== */
.jfiltro{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:var(--s5) 0 var(--s4)}
.jfiltro input,.jfiltro select{font:inherit;font-size:var(--t3);color:var(--ink);background:var(--panel);border:1px solid var(--line2);padding:11px 14px;min-height:44px;min-width:220px}
.jfiltro input:focus,.jfiltro select:focus{outline:2px solid var(--accent);outline-offset:2px}
.jfiltro .ct{font-size:var(--t2);letter-spacing:.1em;color:var(--ink3)}
#jlista{border:1px solid var(--line);background:var(--line)}
.jficha{background:var(--panel);border-bottom:1px solid var(--line)}
.jficha:last-child{border-bottom:0}
.jficha.oculto{display:none}
.jficha>summary{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(120px,1.1fr) minmax(130px,1.2fr) minmax(110px,1fr) 190px 56px;gap:var(--s4);align-items:center;padding:var(--s4) var(--s5);cursor:pointer;list-style:none;min-height:44px}
.jficha>summary .pc,.jficha>summary .cf{justify-self:end}
.jficha>summary .pc .chip{max-width:100%;white-space:normal;text-align:center;line-height:1.3}
.jficha>summary::-webkit-details-marker{display:none}
.jficha>summary:hover{background:var(--panel2)}
.jficha>summary .nm{font-family:var(--serif);font-weight:300;font-size:var(--t5);color:var(--ink)}
.jficha>summary .tp,.jficha>summary .em,.jficha>summary .lg{font-size:var(--t2);color:var(--ink2);letter-spacing:.01em}
.jficha[open]>summary{background:var(--panel2);border-bottom:1px solid var(--line)}
.jdet{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);padding:var(--s5)}
.jdet>div.lar{grid-column:1 / -1}
.jdet .k{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
.jdet p{margin:0;font-size:var(--t3);color:var(--ink2);line-height:1.6}
.jdet a{color:var(--accent);word-break:break-all}
.tese-d{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--line);font-size:var(--t3);color:var(--ink2);line-height:1.6}
.tese-d b{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-right:10px}
.grid.g4{display:grid;grid-template-columns:repeat(4,1fr)}
@media(max-width:1080px){.jficha>summary{grid-template-columns:minmax(130px,1.4fr) 1fr 56px}
  .jficha>summary .tp,.jficha>summary .lg,.jficha>summary .pc{display:none}
  .jdet{grid-template-columns:repeat(2,1fr)}
  .grid.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.jficha>summary{grid-template-columns:1fr 56px}
  .jficha>summary .em{display:none}
  .jdet{grid-template-columns:1fr}
  .grid.g4{grid-template-columns:1fr}}

/* ===== v25 · quebra de linha em endereço longo ===== */
/* endereço de fonte não pode empurrar a página para fora da tela no celular */
.lac li,.jdet p,.jdet a,.note,.card p,.fato p,.est p,.est li,.srcline,.artfontes li{overflow-wrap:anywhere}
.jficha>summary .nm,.jficha>summary .em,.jficha>summary .lg{overflow-wrap:anywhere}
@media(max-width:640px){
  .jdet{padding:var(--s4)}
  .est{overflow:hidden}
  .grid.g2,.grid.g3{grid-template-columns:1fr}
}

/* ===== v25 · item de grade não empurra a página ===== */
/* item de grid e de flex tem min-width auto por padrão: um texto longo dentro
   dele estica o contêiner inteiro e cria rolagem horizontal no celular. */
.lam,.lam>*,.grid>*,.fatos>*,.cards>*,.pres>*,.frentes>*,.ficha,.ficha>*,.artwrap,.artwrap>*{min-width:0}
.kv dd,.kv dt,.cta,.ficha dd{overflow-wrap:anywhere}
.lam h3,.lam p,.lam .txt{overflow-wrap:anywhere}

/* ===== v25.2 · atlas da proveniência ===== */
/* abertura escura, como no documento de referência */
.jhero{background:var(--preto);color:var(--creme);padding:var(--s8) 0 var(--s7);position:relative;overflow:hidden}
.jhero .eyebrow{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--dourado);margin-bottom:var(--s6)}
.jhero h1{font-family:var(--serif);font-weight:300;font-size:clamp(38px,6.6vw,92px);line-height:1.10;letter-spacing:-.022em;color:var(--creme);max-width:16ch}
/* peso 300, e não 200, de propósito: claro sobre escuro engole o traço fino da
   barra do "e", e a palavra "de" passa a ser lida como "dc". */
.jhero h1 em{font-style:italic;color:var(--dourado)}
.jhero-b{display:grid;grid-template-columns:1.3fr .9fr;gap:var(--s7);align-items:end;margin-top:var(--s6)}
.jhero .deck{font-family:var(--serif);font-weight:300;font-size:clamp(17px,1.7vw,22px);line-height:1.5;color:rgba(246,243,233,.86);max-width:52ch}
.jmeta{display:flex;flex-direction:column;gap:5px;border-left:1px solid rgba(246,243,233,.22);padding-left:var(--s5)}
.jmeta span{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(246,243,233,.62)}
@media(max-width:860px){.jhero-b{grid-template-columns:1fr}.jmeta{border-left:0;padding-left:0}}

/* navegação de capítulo */
/* o cabeçalho do site já é fixo em 75px: a navegação de capítulo encosta nele,
   e não embaixo dele, senão some ao rolar */
.jcaps{position:sticky;top:75px;z-index:20;background:var(--panel);border-bottom:1px solid var(--line)}
/* o título da seção não pode nascer escondido atrás das duas barras fixas */
.sec[id],.study-page > div[id],.wrap > div[id]:empty{scroll-margin-top:132px}
.study-page > div[id]:empty{height:0}
@media(max-width:620px){.jcaps{top:64px}.sec[id]{scroll-margin-top:118px}}
.jcaps .wrap{display:flex;gap:var(--s5);overflow-x:auto;scrollbar-width:none}
.jcaps .wrap::-webkit-scrollbar{display:none}
.jcaps a{white-space:nowrap;padding:14px 0;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);border-bottom:2px solid transparent;min-height:44px;display:inline-flex;align-items:center}
.jcaps a:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* indicadores da abertura */
.jkpis{border-bottom:1px solid var(--line);background:var(--panel2)}
.jkpis .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding-left:0;padding-right:0}
.jkpi + .jkpi{border-left:1px solid var(--line)}
.jkpi{background:var(--panel2);padding:var(--s5)}
.jkpi b{display:block;font-family:var(--serif);font-weight:200;font-size:clamp(34px,3.6vw,48px);line-height:1;color:var(--accent)}
.jkpi span{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:10px 0 6px}
.jkpi p{margin:0;font-size:var(--t2);color:var(--ink3);line-height:1.5}
@media(max-width:900px){.jkpis .wrap{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.jkpis .wrap{grid-template-columns:1fr}}

/* cabeça de seção: algarismo, título e linha de apoio */
.jsh{display:grid;grid-template-columns:64px 1fr;gap:var(--s4);margin-bottom:var(--s6)}
.jsh .n{font-family:var(--serif);font-style:italic;font-weight:300;font-size:var(--t4);color:var(--accent);padding-top:10px}
.jsh h2{font-family:var(--serif);font-weight:300;font-size:clamp(28px,3.6vw,50px);line-height:1.16;letter-spacing:-.012em;color:var(--ink);max-width:22ch}
.jsh .sub{margin:var(--s3) 0 0;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(16px,1.5vw,20px);line-height:1.5;color:var(--accent);max-width:60ch}
@media(max-width:620px){.jsh{grid-template-columns:1fr}.jsh .n{padding-top:0}}
.jregra{border-left:2px solid var(--accent);background:var(--panel2);padding:var(--s4) var(--s5);margin:var(--s5) 0;font-size:var(--t3);line-height:1.6;color:var(--ink2);overflow-wrap:anywhere}
.jregra a{display:inline-block;padding:4px 0;min-height:24px;overflow-wrap:anywhere;color:var(--accent)}

/* conceitos */
.jconc{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:var(--s6) 0}
.jc{background:var(--panel);padding:var(--s5)}
.jc .n{font-family:var(--serif);font-style:italic;font-size:var(--t3);color:var(--accent)}
.jc h3{font-family:var(--serif);font-weight:300;font-size:var(--t6);color:var(--ink);margin:var(--s4) 0 var(--s3)}
.jc p{margin:0;font-size:var(--t2);line-height:1.62;color:var(--ink2)}
.jquote{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(21px,2.6vw,34px);line-height:1.3;color:var(--ink);text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--s6) 0;margin:var(--s6) 0 0}
@media(max-width:900px){.jconc{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.jconc{grid-template-columns:1fr}}

/* achados, com o algarismo em destaque */
.jfinds{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.jf{background:var(--panel);padding:var(--s6)}
.jf strong{display:block;font-family:var(--serif);font-weight:200;font-size:clamp(30px,3.4vw,44px);line-height:1;color:var(--accent)}
.jf h3{font-family:var(--serif);font-weight:300;font-size:var(--t6);color:var(--ink);margin:var(--s4) 0 var(--s3)}
.jf p{margin:0;font-size:var(--t2);line-height:1.62;color:var(--ink2)}
@media(max-width:720px){.jfinds{grid-template-columns:1fr}}

/* cartões de expansão */
.jevid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.je{background:var(--panel);padding:var(--s6)}
.je .tag{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.je h3{font-family:var(--serif);font-weight:300;font-size:var(--t7);color:var(--ink);margin:var(--s4) 0 6px}
.je .meta{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:var(--s4)}
.je p{margin:0;font-size:var(--t3);line-height:1.62;color:var(--ink2)}
.je .next{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--line)}
.je .next span{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
.je .url{margin-top:var(--s3);font-size:var(--t2)}
.je .url a{display:inline-block;padding:4px 0;min-height:24px;color:var(--accent);overflow-wrap:anywhere}
@media(max-width:820px){.jevid{grid-template-columns:1fr}}

/* seção escura */
.sec.escura{background:var(--preto);color:var(--creme)}
.sec.escura .jsh h2,.sec.escura h3,.sec.escura .hd2{color:var(--creme)}
.sec.escura .jsh .sub,.sec.escura .jsh .n{color:var(--dourado)}
.sec.escura .lede,.sec.escura p,.sec.escura li,.sec.escura td{color:rgba(246,243,233,.78)}
.sec.escura .tblwrap{border-color:rgba(246,243,233,.16);background:transparent}
/* a tabela herdava o fundo claro do tema e ficava creme sobre creme na seção escura */
.sec.escura table{border-color:rgba(246,243,233,.16)}
.sec.escura tbody tr:hover td{background:rgba(246,243,233,.05)}
.sec.escura th{background:var(--preto);color:rgba(246,243,233,.62);border-color:rgba(246,243,233,.16)}
.sec.escura td{border-color:rgba(246,243,233,.1)}
.sec.escura .nm{color:var(--creme)}
.sec.escura .chip{border-color:rgba(246,243,233,.3);color:rgba(246,243,233,.82)}
.sec.escura .jregra{background:rgba(246,243,233,.06);border-left-color:var(--dourado);color:rgba(246,243,233,.82)}
.sec.escura .jregra a{color:var(--dourado)}
.sec.escura .srcline{color:rgba(246,243,233,.55)}
.sec.escura .story-links a{color:rgba(246,243,233,.82);border-color:rgba(246,243,233,.26)}
.sec.escura .story-links a:hover{color:var(--dourado);border-color:var(--dourado)}

/* pedra do patrimônio */
.jherit{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(246,243,233,.14);border:1px solid rgba(246,243,233,.14);margin-top:var(--s6)}
.jh{background:var(--preto);padding:var(--s6)}
.jh span{font-family:var(--serif);font-style:italic;font-weight:300;font-size:var(--t5);color:var(--dourado)}
.jh h3{font-family:var(--serif);font-weight:300;font-size:var(--t7);margin:var(--s4) 0 var(--s3)}
.jh p{margin:0;font-size:var(--t2);line-height:1.6}
@media(max-width:700px){.jherit{grid-template-columns:1fr}}

/* dna */
.jdna{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.jd{background:var(--panel);padding:var(--s5)}
.jd h3{font-family:var(--serif);font-weight:300;font-size:var(--t6);color:var(--ink);margin-bottom:var(--s4)}
.jd dl{display:grid;gap:12px;margin:0}
.jd dt{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.jd dd{margin:3px 0 0;font-size:var(--t2);line-height:1.55;color:var(--ink2)}
@media(max-width:900px){.jdna{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.jdna{grid-template-columns:1fr}}

/* três bases */
.jbases{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(246,243,233,.14);border:1px solid rgba(246,243,233,.14)}
.jb{background:var(--preto);padding:var(--s5)}
.jb .hd2{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dourado);padding-bottom:var(--s3);border-bottom:1px solid rgba(246,243,233,.14);margin-bottom:var(--s4)}
.jb ul{list-style:none;margin:0;padding:0}
.jb li{font-size:var(--t2);line-height:1.9;color:rgba(246,243,233,.78)}
@media(max-width:820px){.jbases{grid-template-columns:1fr}}

/* funil */
.jfunil{display:flex;flex-direction:column;gap:1px;margin:var(--s6) 0}
.jg{background:var(--panel2);border:1px solid var(--line);border-left:3px solid var(--accent);padding:var(--s4) var(--s5);display:flex;align-items:baseline;gap:var(--s4);min-width:min(100%,260px)}
.jg b{font-family:var(--serif);font-weight:300;font-size:var(--t6);color:var(--accent);min-width:76px}
.jg span{font-size:var(--t3);color:var(--ink2)}
@media(max-width:620px){.jg{width:100% !important}}

/* dossiês */
.jdoss{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.jo{background:var(--panel);padding:var(--s6)}
.jo .dk{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.jo h3{font-family:var(--serif);font-weight:300;font-size:var(--t7);color:var(--ink);margin:var(--s3) 0 var(--s4)}
.jo p{margin:0;font-size:var(--t3);line-height:1.62;color:var(--ink2)}
.jo .tese{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--line)}
.jo .tese b{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-right:10px}
@media(max-width:820px){.jdoss{grid-template-columns:1fr}}

/* horizonte */
.jins{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(246,243,233,.14);border:1px solid rgba(246,243,233,.14)}
.ji{background:var(--preto);padding:var(--s5)}
.ji h3{font-family:var(--serif);font-weight:300;font-size:var(--t6);margin-bottom:var(--s3)}
.ji p{margin:0;font-size:var(--t2);line-height:1.6}
@media(max-width:980px){.jins{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.jins{grid-template-columns:1fr}}

/* biblioteca */
.jbib{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.jbx{background:var(--panel);padding:var(--s5)}
.jbx .hd2{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3);padding-bottom:var(--s3);border-bottom:1px solid var(--line);margin-bottom:var(--s4)}
.jbx p{margin:0;font-size:var(--t2);line-height:1.7;color:var(--ink2)}
@media(max-width:760px){.jbib{grid-template-columns:1fr}}

/* ===== v26 · rótulo curto na cabeça de seção ===== */
.jsh .rot{display:block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3);margin-bottom:var(--s3)}
.sec.escura .jsh .rot{color:rgba(246,243,233,.6)}

/* ===== v26 · unidade dentro do indicador da abertura ===== */
.jkpi b i{font-style:normal;font-size:.46em;letter-spacing:.04em;margin-left:6px;color:var(--ink3)}

/* ===== v27 · capa editorial ===== */
.cmp{border:1px solid var(--line);background:var(--panel);padding:var(--s5);align-self:start}
.cmp-l{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s4);padding:var(--s4) 0;border-bottom:1px solid var(--line)}
.cmp-l span{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.cmp-l b{font-family:var(--serif);font-weight:300;font-size:var(--t7);color:var(--ink);white-space:nowrap}
.cmp-l b i{font-style:normal;font-size:.5em;color:var(--ink3);margin-left:3px}
.cmp-n{padding-top:var(--s4);font-size:var(--t2);line-height:1.6;color:var(--ink2)}

.geo2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s7);margin:var(--s6) 0 var(--s7)}
.geo2 .hd2{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3);padding-bottom:var(--s3);border-bottom:1px solid var(--line);margin-bottom:var(--s4)}
.geo2 .btn{margin-top:var(--s4)}
@media(max-width:900px){.geo2{grid-template-columns:1fr}}

.terrs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:var(--s6)}
.terr{background:var(--panel);padding:0;display:block;text-decoration:none;border-bottom:0;transition:background .18s var(--ease);min-height:44px;overflow:hidden}
.terr .cv{display:block;aspect-ratio:16/9;background:var(--panel2);overflow:hidden;border-bottom:1px solid var(--line)}
.terr .cv img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.terr:hover .cv img{transform:scale(1.03)}
.terr .cor{display:block;padding:var(--s6)}
.terr:hover{background:var(--panel2)}
.terr svg.ic{width:24px;height:24px;color:var(--accent)}
.terr .tag{display:block;margin:var(--s4) 0 6px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.terr h3{font-family:var(--serif);font-weight:300;font-size:var(--t7);color:var(--ink)}
.terr p{margin:var(--s3) 0 var(--s4);font-size:var(--t2);line-height:1.6;color:var(--ink2)}
.terr .go{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
@media(max-width:940px){.terrs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.terrs{grid-template-columns:1fr}}

.estacoes{display:grid;grid-template-columns:repeat(11,1fr);gap:1px;background:rgba(246,243,233,.14);border:1px solid rgba(246,243,233,.14);margin:var(--s6) 0}
.est-no{background:var(--preto);padding:var(--s4) 8px;display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;border-bottom:0;text-align:center;min-height:44px}
.est-no:hover{background:rgba(246,243,233,.06)}
.est-no .n{font-size:9.5px;letter-spacing:.1em;color:rgba(246,243,233,.58)}
.est-no svg.ic{width:22px;height:22px;color:rgba(246,243,233,.5)}
.est-no .t{font-size:10.5px;letter-spacing:.04em;color:rgba(246,243,233,.78);line-height:1.3}
.est-no.quente svg.ic{color:var(--dourado)}
.est-no.quente .t{color:var(--creme)}
@media(max-width:1080px){.estacoes{grid-template-columns:repeat(6,1fr)}}
@media(max-width:620px){.estacoes{grid-template-columns:repeat(3,1fr)}}

.agora{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:var(--s6)}
.ag{background:var(--panel);padding:var(--s6)}
.ag b{display:block;font-family:var(--serif);font-weight:200;font-size:clamp(30px,3.4vw,44px);line-height:1;color:var(--accent)}
.ag h3{font-family:var(--serif);font-weight:300;font-size:var(--t6);color:var(--ink);margin:var(--s4) 0 var(--s3)}
.ag p{margin:0 0 var(--s4);font-size:var(--t2);line-height:1.62;color:var(--ink2)}
.ag a{display:inline-block;padding:7px 0;min-height:24px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
@media(max-width:900px){.agora{grid-template-columns:1fr}}

.prova{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:var(--s6) 0}
.pv{background:var(--panel);padding:var(--s4) var(--s5)}
.pv b{display:block;font-family:var(--serif);font-weight:300;font-size:var(--t7);color:var(--ink)}
.pv span{display:block;margin-top:4px;font-size:10.5px;letter-spacing:.06em;color:var(--ink3);line-height:1.4}
@media(max-width:900px){.prova{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.prova{grid-template-columns:1fr}}

.mov{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:var(--s6)}
.mv{background:var(--panel);padding:var(--s6);display:grid;grid-template-columns:186px 1fr;grid-template-rows:auto 1fr;column-gap:var(--s6);row-gap:var(--s4);align-items:start}
.mv .tp{grid-column:1;grid-row:1;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);padding-bottom:var(--s3);border-bottom:1px solid var(--line)}
.mv .btn{grid-column:1;grid-row:2;align-self:start;justify-self:start;margin-top:0}
.mv>ul,.mv>.ag-prox,.mv>p{grid-column:2;grid-row:1/span 2;margin:0}

.mv .ultart{grid-template-columns:repeat(5,1fr)}
.mv .ultart a{grid-template-columns:1fr;gap:var(--s3);padding:var(--s4)}
.mv .ultart .num{font-size:20px}
.mv .ultart .t{font-size:16px}
.mv .ultest{grid-template-columns:repeat(5,1fr)}
.mv .ultest .it{grid-template-columns:1fr;gap:var(--s3);padding:var(--s4);align-items:start}
.mv .ultest .cv{width:74px}

.ag-prox{border-left:2px solid var(--accent);padding-left:var(--s5);display:grid;grid-template-columns:78px 1fr 1.3fr;column-gap:var(--s6);align-items:start}
.ag-prox .dt{display:block}
.ag-prox .dt b{display:block;font-family:var(--serif);font-weight:300;font-size:var(--t8);color:var(--accent);line-height:.95}
.ag-prox .dt span{display:block;margin-top:4px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.ag-prox h3{font-family:var(--serif);font-weight:300;font-size:var(--t6);color:var(--ink)}
.ag-prox p{margin-top:var(--s3);font-size:var(--t2);line-height:1.6;color:var(--ink2)}
.ag-prox p:last-child{grid-column:3;margin-top:0}
@media(max-width:1040px){
  .mv{grid-template-columns:1fr;grid-template-rows:auto auto auto;row-gap:var(--s4)}
  .mv .tp{grid-column:1;grid-row:1}
  .mv>ul,.mv>.ag-prox,.mv>p{grid-column:1;grid-row:2}
  .mv .btn{grid-column:1;grid-row:3}
  .mv .ultart,.mv .ultest{grid-template-columns:repeat(2,1fr)}
  .ag-prox{grid-template-columns:1fr}
  .ag-prox p:last-child{grid-column:1;margin-top:var(--s3)}
}
@media(max-width:620px){.mv .ultart,.mv .ultest{grid-template-columns:1fr}}

/* v28 · corpo do verbete. Antes, 54 blocos publicavam JSON serializado; agora
   o dado vem estruturado e cada bloco é uma linha de definição. */
.vbl{margin:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.vbl > div{background:var(--panel);display:grid;grid-template-columns:200px 1fr;
  gap:var(--s5);padding:var(--s4) var(--s5);align-items:baseline}
.vbl > div.so{grid-template-columns:1fr}
.vbl > div.am{background:var(--panel2);border-left:2px solid var(--accent)}
.vbl .vcit{font-size:var(--t4)}
.vbl dt{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);
  line-height:1.5}
.vbl dd{margin:0;font-size:var(--t3);line-height:1.72;color:var(--ink2)}
.vcit{margin:0;border-left:2px solid var(--accent);padding-left:var(--s5);
  font-family:var(--serif);font-weight:300;font-size:var(--t5);line-height:1.62;color:var(--ink2)}
.verb > p{margin:0}
.verb > p,.verb > blockquote{padding:0 var(--s4) var(--s4)}
.verb > .vbl{margin:0 var(--s4) var(--s4)}
.sec.escura .vbl{background:rgba(246,243,233,.14);border-color:rgba(246,243,233,.14)}
.sec.escura .vbl > div{background:var(--preto)}
@media(max-width:760px){
  .vbl > div{grid-template-columns:1fr;gap:6px}
}

/* v28 · o tema escuro alcançável no celular. O botão do cabeçalho some abaixo
   de 900 pixels e não tinha substituto na gaveta. */
.tgld{display:none}
@media(max-width:900px){
  .tgld{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px}
}

/* v28 · a sigla do estado alinha pela primeira linha do nome */
.mcard .top{align-items:baseline}

/* v28 · folgas medidas em zero, com descendente encostando na linha seguinte */
.ficha li + li{margin-top:6px}
.artsum li + li{margin-top:7px}
/* bloco de conteúdo seguido de cabeça de seção: um pixel entre a última linha
   de um e o algarismo do outro é colisão, não respiro */
.tblwrap + .jsh,.mapbox + .jsh,.lam + .jsh,.macro-grid + .jsh,
.srcline + .jsh,.grid + .jsh,.cards + .jsh{margin-top:var(--s7)}
.hd3 + .tblwrap,.mapbox + .tblwrap,.srcline + .tblwrap,
.srcline + figure,.srcline + .grid{margin-top:var(--s5)}
.srcline{margin-bottom:var(--s5)}
.sub-t{margin-bottom:var(--s4)}
.ag-prox .dt{margin-bottom:6px}

/* v28 · a barra de capítulos avisa que continua. Em 390 pixels ela guarda
   1.117 pixels de conteúdo, e seis dos nove capítulos ficavam fora da tela sem
   nenhum indício de que existiam. */
.jcaps .wrap{position:relative}
.jcaps .wrap::after{content:'';position:absolute;top:0;right:0;bottom:0;width:48px;
  pointer-events:none;background:linear-gradient(90deg,rgba(246,243,233,0),var(--panel));
  opacity:0;transition:opacity .2s var(--ease)}
.jcaps .wrap.rola::after{opacity:1}
.jcaps .wrap.fim::after{opacity:0}
html[data-theme="dark"] .jcaps .wrap::after{
  background:linear-gradient(90deg,rgba(18,17,16,0),var(--panel))}


/* v28 · a seta do grafo é conector, não pontuação: quebrando a linha depois
   dela, apontava para o vazio. */
.cadeiagraf{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.cadeiagraf .se{margin:0 2px}

.callin .ev{padding:0 10px;margin-left:-10px;box-sizing:content-box;background-clip:content-box}

/* ==================== v29 · o estudo "o setor em números" ====================
   Emitida por estudo/gera.py em modo aplicativo. Todo nome de classe leva o
   prefixo `e-`, e toda regra vive sob `.estnum`, porque o estudo e o
   aplicativo compartilham 41 nomes de classe. Não editar aqui: editar o
   gerador e rodar de novo. */
.estnum{--max:1280px}
.estnum{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
  font-size:var(--t4);line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:clip}
.estnum h1,.estnum h2,.estnum h3,.estnum h4{font-family:var(--serif);letter-spacing:-.012em;margin:0}
.estnum h1{font-weight:300;font-variation-settings:"opsz" 24}
.estnum h2,.estnum h3,.estnum h4{font-variation-settings:"opsz" 24}
.estnum a{color:var(--accent)}
.estnum .e-wrap{max-width:var(--max);margin:0 auto;padding:0 var(--s8)}
.estnum .e-sec{padding:var(--s9) 0;border-bottom:1px solid var(--line)}
.estnum .e-sec.e-alt{background:var(--panel2)}
.estnum .e-sec.e-escura{background:var(--preto);color:var(--creme);border-bottom:0}
.estnum .e-marca{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.estnum .e-marca .e-sig{width:30px;height:30px;border:1px solid var(--line2);display:grid;place-items:center;
  font-family:var(--serif);font-size:13px;color:var(--accent)}
.estnum .e-marca .e-wm{display:flex;flex-direction:column;line-height:1.15}
.estnum .e-marca .e-desc{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink3)}
.estnum .e-marca .e-nome{font-family:var(--serif);font-weight:300;font-size:16px;text-transform:lowercase}
.estnum .e-hero{min-height:86vh;background:var(--preto);color:var(--creme);display:flex;
  align-items:flex-end;position:relative;overflow:hidden}
.estnum .e-hero::before,.estnum .e-hero::after{content:'';position:absolute;border-radius:50%;pointer-events:none}
.estnum .e-hero::before{width:860px;height:860px;border:1px solid rgba(196,166,124,.09);
  right:-260px;top:-360px}
.estnum .e-hero::after{width:520px;height:520px;border:1px solid rgba(196,166,124,.10);
  right:60px;top:-190px}
.estnum .e-hero .e-wrap{position:relative;z-index:2;padding-top:var(--s9);padding-bottom:var(--s8);width:100%}
.estnum .e-hero h1{font-size:clamp(42px,7vw,104px);line-height:1.04;letter-spacing:-.032em;
  color:var(--creme);max-width:17ch}
.estnum .e-hero h1 em{font-style:italic;color:var(--dourado)}
.estnum .e-hero .e-hg{display:grid;grid-template-columns:1.25fr .75fr;gap:var(--s8);
  margin-top:var(--s7);align-items:end}
.estnum .e-hero .e-deck{margin:0;font-family:var(--serif);font-weight:300;
  font-size:clamp(17px,1.75vw,22px);line-height:1.56;color:rgba(246,243,233,.84);max-width:52ch}
.estnum .e-hero .e-meta{display:grid;gap:9px;border-left:1px solid rgba(246,243,233,.2);padding-left:var(--s5)}
.estnum .e-hero .e-meta span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(246,243,233,.66)}
@media(max-width:900px){.estnum .e-hero{min-height:auto}.estnum .e-hero .e-hg{grid-template-columns:1fr;gap:var(--s5)}.estnum .e-hero .e-meta{border-left:0;padding-left:0}}
.estnum .e-kpis{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);
  background:var(--line)}
.estnum .e-kpi{background:var(--bg);padding:var(--s6) var(--s5)}
.estnum .e-kpi b{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(30px,3.4vw,46px);
  line-height:1;color:var(--accent);font-variation-settings:"opsz" 24}
.estnum .e-kpi b em{font-style:normal;font-size:.44em;color:var(--ink3);margin-left:5px}
.estnum .e-kpi span{display:block;margin-top:var(--s4);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink3)}
.estnum .e-kpi p{margin:var(--s3) 0 0;font-size:var(--t2);line-height:1.58;color:var(--ink2)}
@media(max-width:900px){.estnum .e-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.estnum .e-kpis{grid-template-columns:1fr}}
.estnum .e-sh{display:grid;grid-template-columns:80px 1fr;gap:var(--s4);margin-bottom:var(--s7);
  scroll-margin-top:132px}
.estnum .e-sh .e-n{font-family:var(--serif);font-style:italic;font-weight:300;font-size:var(--t7);
  color:var(--accent);line-height:1.1}
.estnum .e-sh .e-rot{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink3);margin-bottom:var(--s3)}
.estnum .e-sh h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4.4vw,64px);
  line-height:1.07;letter-spacing:-.028em;max-width:19ch}
.estnum .e-sh .e-sub{margin:var(--s4) 0 0;font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:var(--t6);line-height:1.5;color:var(--accent);max-width:60ch}
.estnum .e-sec.e-escura .e-sh h2{color:var(--creme)}
.estnum .e-sec.e-escura .e-sh .e-n,.estnum .e-sec.e-escura .e-sh .e-sub{color:var(--dourado)}
.estnum .e-sec.e-escura .e-sh .e-rot{color:rgba(246,243,233,.6)}
@media(max-width:700px){.estnum .e-sh{grid-template-columns:1fr}.estnum .e-sh .e-n{font-size:var(--t6)}}
.estnum .e-lede{font-family:var(--serif);font-weight:300;font-size:var(--t6);line-height:1.62;
  color:var(--ink2);max-width:66ch;margin:0 0 var(--s5)}
.estnum p{max-width:72ch}
.estnum .e-small{font-size:var(--t3);color:var(--ink2)}
.estnum .e-achado{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin:var(--s6) 0}
.estnum .e-achado div{background:var(--panel);padding:var(--s6) var(--s5)}
.estnum .e-achado b{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(28px,3vw,40px);
  line-height:1;color:var(--accent);font-variation-settings:"opsz" 24}
.estnum .e-achado .e-sinal{color:var(--oliva)}
.estnum .e-achado span{display:block;margin-top:var(--s4);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink3)}
.estnum .e-achado p{margin:var(--s3) 0 0;font-size:var(--t2);line-height:1.58;color:var(--ink2)}
.estnum .e-achado.e-esc{background:rgba(246,243,233,.14);border-color:rgba(246,243,233,.14)}
.estnum .e-achado.e-esc div{background:var(--preto)}
.estnum .e-achado.e-esc b{color:var(--dourado)}
.estnum .e-achado.e-esc span{color:rgba(246,243,233,.6)}
.estnum .e-achado.e-esc p{color:rgba(246,243,233,.78)}
@media(max-width:760px){.estnum .e-achado{grid-template-columns:1fr}}
.estnum .e-chart{border:1px solid var(--line);background:var(--panel);padding:var(--s6) var(--s6) var(--s5);
  margin:var(--s6) 0}
.estnum .e-chart.e-esc{background:var(--preto);border-color:rgba(246,243,233,.16)}
.estnum .e-chart.e-esc .e-ceye{color:rgba(246,243,233,.6)}
.estnum .e-chart.e-esc h3{color:var(--creme)}
.estnum .e-chart.e-esc .e-csub{color:rgba(246,243,233,.78)}
.estnum .e-chart.e-esc .e-src{color:rgba(246,243,233,.62)}
.estnum .e-chart.e-esc .e-leitura-mes{color:rgba(246,243,233,.82)}
.estnum .e-chart.e-esc .e-leitura-mes b{color:var(--dourado)}
.estnum .e-chart.e-esc .e-gl{stroke:rgba(246,243,233,.13)}
.estnum .e-chart.e-esc .e-gt{stroke:rgba(246,243,233,.10)}
.estnum .e-chart.e-esc .e-gbase{stroke:rgba(246,243,233,.3)}
.estnum .e-chart.e-esc .e-ga,.estnum .e-chart.e-esc .e-gx{fill:rgba(246,243,233,.6)}
.estnum .e-chart.e-esc .e-gline{stroke:var(--dourado);stroke-width:1.6}
.estnum .e-chart.e-esc .e-garea{fill:var(--dourado);opacity:.09}
.estnum .e-chart.e-esc .e-gdot{fill:var(--creme)}
.estnum .e-chart.e-esc .e-il.e-l1{stroke:var(--dourado)}
.estnum .e-chart.e-esc .e-ic.e-l1,.estnum .e-chart.e-esc .e-ilab.e-l1,.estnum .e-chart.e-esc .e-ival.e-l1{fill:var(--dourado)}
.estnum .e-chart.e-esc .e-il.e-l2{stroke:#93A177}
.estnum .e-chart.e-esc .e-ic.e-l2,.estnum .e-chart.e-esc .e-ilab.e-l2,.estnum .e-chart.e-esc .e-ival.e-l2{fill:#93A177}
.estnum .e-chart.e-esc .e-il.e-l3{stroke:rgba(246,243,233,.5)}
.estnum .e-chart.e-esc .e-ic.e-l3,.estnum .e-chart.e-esc .e-ilab.e-l3,.estnum .e-chart.e-esc .e-ival.e-l3{fill:rgba(246,243,233,.7)}
.estnum .e-chart.e-esc .e-ic{stroke:var(--preto)}
.estnum .e-chart.e-esc .e-gsel{background:rgba(246,243,233,.18);border-color:rgba(246,243,233,.18)}
.estnum .e-chart.e-esc .e-gsel button{background:var(--preto);color:rgba(246,243,233,.7)}
.estnum .e-chart.e-esc .e-gsel button.e-on{background:var(--dourado);color:var(--preto)}
.estnum .e-chart.e-esc .e-sb.e-alta{fill:var(--dourado)}
.estnum .e-chart.e-esc .e-sb.e-baixa{fill:rgba(246,243,233,.44)}
.estnum .e-chart.e-esc .e-vlab{fill:rgba(246,243,233,.82)}
.estnum .e-chart.e-esc .e-bars{background:rgba(246,243,233,.15);border-color:rgba(246,243,233,.15)}
.estnum .e-chart.e-esc .e-brow{background:var(--preto)}
.estnum .e-chart.e-esc .e-bk{color:rgba(246,243,233,.82)}
.estnum .e-chart.e-esc .e-btrack{background:rgba(246,243,233,.14)}
.estnum .e-chart.e-esc .e-bfill{background:rgba(246,243,233,.5)}
.estnum .e-chart.e-esc .e-bfill.e-hl{background:var(--dourado)}
.estnum .e-chart.e-esc .e-bv{color:var(--creme)}
.estnum .e-pq{border-left:2px solid var(--accent);padding:var(--s3) 0 var(--s3) var(--s6);
  margin:var(--s7) 0 var(--s6)}
.estnum .e-pq p{margin:0;font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(21px,2.6vw,33px);line-height:1.34;color:var(--accent);max-width:19em}
.estnum .e-sec.e-escura .e-pq{border-left-color:var(--dourado)}
.estnum .e-sec.e-escura .e-pq p{color:var(--dourado)}
@media(max-width:620px){.estnum .e-pq{padding-left:var(--s5)}}
.estnum .e-chart .e-ceye{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3)}
.estnum .e-chart h3{margin:var(--s3) 0 0;font-family:var(--serif);font-weight:300;font-size:var(--t7);
  line-height:1.24}
.estnum .e-chart .e-csub{margin:var(--s3) 0 var(--s5);font-size:var(--t3);line-height:1.62;color:var(--ink2);
  max-width:74ch}
.estnum .e-gsvg{width:100%;height:auto;display:block;overflow:visible}
.estnum .e-gl{stroke:var(--line);stroke-width:1}
.estnum .e-gt{stroke:var(--line);stroke-width:1;stroke-dasharray:2 4}
.estnum .e-gbase{stroke:var(--line2);stroke-width:1;stroke-dasharray:4 3}
.estnum .e-ga{font-size:10px;fill:var(--ink4);text-anchor:end;font-family:var(--sans)}
.estnum .e-gx{font-size:10px;fill:var(--ink4);text-anchor:middle;font-family:var(--sans);
  letter-spacing:.08em}
.estnum .e-gline{fill:none;stroke:var(--r5);stroke-width:1.8;stroke-linejoin:round}
.estnum .e-garea{fill:var(--r5);opacity:.07}
.estnum .e-gdot{fill:var(--r5)}
.estnum .e-hit{fill:transparent;cursor:crosshair}
.estnum .e-il{fill:none;stroke-width:2;stroke-linejoin:round}
.estnum .e-ic{stroke:var(--panel);stroke-width:1.5}
.estnum .e-il.e-l1{stroke:var(--r5)}
.estnum .e-ic.e-l1,.estnum .e-ilab.e-l1,.estnum .e-ival.e-l1{fill:var(--r5);stroke:none}
.estnum .e-il.e-l2{stroke:var(--oliva)}
.estnum .e-ic.e-l2,.estnum .e-ilab.e-l2,.estnum .e-ival.e-l2{fill:var(--oliva);stroke:none}
.estnum .e-il.e-l3{stroke:var(--ctx)}
.estnum .e-ic.e-l3,.estnum .e-ilab.e-l3,.estnum .e-ival.e-l3{fill:var(--ctx);stroke:none}
.estnum .e-ilab{font-size:10px;font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;stroke:none}
.estnum .e-ival{font-size:15px;font-family:var(--serif);stroke:none}
.estnum .e-ilig{stroke-width:1;opacity:.5;fill:none}
.estnum .e-vlab{font-size:11px;fill:var(--ink3);text-anchor:middle;font-family:var(--sans);
  font-variant-numeric:tabular-nums}
.estnum .e-sb{fill:var(--ctx)}
.estnum .e-sb.e-alta{fill:var(--r5)}
.estnum .e-sb.e-baixa{fill:var(--ctx);opacity:.55}
.estnum .e-gsel{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);
  width:max-content;margin-bottom:var(--s5)}
.estnum .e-gsel button{background:var(--panel);border:0;padding:9px 16px;min-height:36px;cursor:pointer;
  font-family:var(--sans);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink3)}
.estnum .e-gsel button.e-on{background:var(--preto);color:var(--creme)}
.estnum .e-leitura-mes{margin-top:var(--s4);font-size:var(--t3);color:var(--ink2);min-height:22px}
.estnum .e-leitura-mes b{font-family:var(--serif);font-weight:400;color:var(--ink)}
.estnum .e-bars{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin:var(--s5) 0}
.estnum .e-brow{background:var(--panel);display:grid;grid-template-columns:170px 1fr 92px;
  align-items:center;gap:var(--s5);padding:13px var(--s5)}
.estnum .e-bk{font-size:var(--t3);color:var(--ink2)}
.estnum .e-btrack{background:var(--areia);height:12px;position:relative}
.estnum .e-bfill{display:block;height:100%;background:var(--ctx)}
.estnum .e-bfill.e-hl{background:var(--r5)}
.estnum .e-bv{font-family:var(--serif);font-size:var(--t5);text-align:right;color:var(--ink)}
@media(max-width:700px){.estnum .e-brow{grid-template-columns:1fr;gap:6px}.estnum .e-bv{text-align:left}}
.estnum .e-tw{overflow-x:auto;border:1px solid var(--line);background:var(--panel);margin:var(--s5) 0}
.estnum table{border-collapse:collapse;width:100%;font-size:var(--t3)}
.estnum th{text-align:left;font-weight:400;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink3);padding:13px var(--s5);border-bottom:1px solid var(--line);
  background:var(--panel);white-space:nowrap}
.estnum td{padding:12px var(--s5);border-bottom:1px solid var(--line);color:var(--ink2);vertical-align:top}
.estnum tbody tr:last-child td{border-bottom:0}
.estnum tbody tr:hover td{background:var(--panel2)}
.estnum .e-num{text-align:right;font-variant-numeric:tabular-nums}
.estnum td .e-nm{color:var(--ink);font-size:var(--t4)}
.estnum td .e-filho{color:var(--ink2);font-size:var(--t3);padding-left:var(--s5);position:relative;display:inline-block}
.estnum td .e-filho::before{content:'';position:absolute;left:8px;top:.7em;width:9px;height:1px;background:var(--line2)}
.estnum td strong{color:var(--ink)}
.estnum .e-tt{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);
  margin:0 0 var(--s3)}
.estnum .e-lt{font-size:var(--t3);line-height:1.72;color:var(--ink2);margin:var(--s4) 0 0;max-width:74ch}
.estnum .e-an{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin:var(--s5) 0 var(--s6)}
.estnum .e-an .e-ai{background:var(--panel);padding:var(--s5)}
.estnum .e-an .e-ai .e-k{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink3);margin-bottom:var(--s3);padding-bottom:var(--s3);
  border-bottom:1px solid var(--line)}
.estnum .e-an .e-ai p{margin:0;font-size:var(--t3);line-height:1.7;color:var(--ink2);max-width:none}
.estnum .e-an .e-ai.e-am{background:var(--panel2);border-left:2px solid var(--accent)}
.estnum .e-an .e-ai.e-am .e-k{color:var(--accent)}
.estnum .e-mk{font-style:normal;text-transform:none;letter-spacing:.05em}
.estnum .e-an .e-ai.e-falta .e-k{color:var(--oliva)}
.estnum .e-an .e-ai.e-falta{background:var(--panel2);border-left:2px solid var(--oliva)}
.estnum .e-sec.e-escura .e-an{background:rgba(246,243,233,.14);border-color:rgba(246,243,233,.14)}
.estnum .e-sec.e-escura .e-an .e-ai{background:var(--preto)}
.estnum .e-sec.e-escura .e-an .e-ai p{color:rgba(246,243,233,.8)}
.estnum .e-sec.e-escura .e-an .e-ai .e-k{color:rgba(246,243,233,.6);border-color:rgba(246,243,233,.16)}
@media(max-width:900px){.estnum .e-an{grid-template-columns:1fr}}
.estnum .e-sec.e-escura .e-lt{color:rgba(246,243,233,.8)}
.estnum .e-src{font-size:var(--t2);line-height:1.7;color:var(--ink4);margin:var(--s4) 0 var(--s6)}
.estnum .e-nota{border-left:2px solid var(--accent);background:var(--panel2);padding:var(--s4) var(--s5);
  margin:var(--s5) 0;font-size:var(--t3);line-height:1.68;color:var(--ink2)}
.estnum .e-nota strong{color:var(--ink)}
.estnum .e-nota + .e-nota{margin-top:calc(var(--s5) * -.4)}
.estnum .e-metodo{border-left:2px solid var(--oliva);background:var(--panel2);padding:var(--s4) var(--s5);
  margin:var(--s5) 0;font-size:var(--t3);line-height:1.68;color:var(--ink2)}
.estnum .e-metodo strong{color:var(--oliva)}
.estnum .e-cmp3{border:1px solid var(--line);background:var(--panel);margin:var(--s5) 0 var(--s4)}
.estnum .e-cmp3 .e-ch,.estnum .e-cmp3 .e-cr{display:grid;grid-template-columns:186px repeat(3,1fr);
  gap:var(--s5);padding:var(--s4) var(--s5);align-items:center}
.estnum .e-cmp3 .e-ch{border-bottom:1px solid var(--line);background:var(--panel2);align-items:end}
.estnum .e-cmp3 .e-ch span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);
  line-height:1.5}
.estnum .e-cmp3 .e-ch em{display:block;font-style:normal;letter-spacing:.06em;text-transform:none;
  font-size:10.5px;color:var(--ink4);margin-top:3px}
.estnum .e-cmp3 .e-cr{border-bottom:1px solid var(--line)}
.estnum .e-cmp3 .e-cr:last-child{border-bottom:0}
.estnum .e-cmp3 .e-mat{font-family:var(--serif);font-weight:300;font-size:var(--t6);color:var(--ink)}
.estnum .e-cmp3 .e-cc{display:block}
.estnum .e-cmp3 .e-cc .e-tr{display:block;height:10px;background:var(--areia);position:relative}
.estnum .e-cmp3 .e-cc .e-tr i{display:block;height:100%;background:var(--ctx)}
.estnum .e-cmp3 .e-cc.e-alto .e-tr i{background:var(--r5)}
.estnum .e-cmp3 .e-cc.e-baixo .e-tr i{background:var(--ctx);opacity:.5}
.estnum .e-cmp3 .e-cc b{display:block;margin-top:7px;font-family:var(--serif);font-weight:300;
  font-size:var(--t7);color:var(--ink);line-height:1}
.estnum .e-cmp3 .e-cc .e-nd{font-size:var(--t2);font-style:italic;color:var(--ink4)}
@media(max-width:900px){.estnum .e-cmp3 .e-ch{display:none}.estnum .e-cmp3 .e-cr{grid-template-columns:1fr;gap:var(--s3)}.estnum .e-cmp3 .e-cc{display:grid;grid-template-columns:120px 1fr 62px;gap:var(--s4);align-items:center}.estnum .e-cmp3 .e-cc::before{content:attr(data-u);font-size:10px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--ink3)}.estnum .e-cmp3 .e-cc b{margin-top:0;font-size:var(--t6);text-align:right}}
.estnum .e-g2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6)}
@media(max-width:900px){.estnum .e-g2{grid-template-columns:1fr}}
.estnum .e-eyeb{display:flex;align-items:center;gap:var(--s4);margin:var(--s7) 0 var(--s4)}
.estnum .e-eyeb .e-n{font-size:var(--t1);letter-spacing:.2em;color:var(--ink4)}
.estnum .e-eyeb .e-rule{flex:1;height:1px;background:var(--line)}
.estnum .e-eyeb .e-nm{font-size:var(--t1);letter-spacing:.2em;text-transform:uppercase;color:var(--ink4)}
.estnum .e-btn{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 var(--s5);
  border:1px solid var(--accent);color:var(--accent);text-decoration:none;font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;background:none;cursor:pointer}
.estnum .e-btn:hover{background:var(--accent);color:var(--creme)}
.estnum .e-btn.e-cheio{background:var(--accent);color:var(--creme)}
.estnum .e-btn.e-cheio:hover{background:var(--preto);border-color:var(--preto)}
.estnum .e-g2>*,.estnum .e-kpis>*,.estnum .e-achado>*,.estnum .e-bars>*,.estnum .e-brow>*,.estnum .e-sh>*{min-width:0}
.estnum .e-sec.e-escura .e-src{color:rgba(246,243,233,.66)}
.estnum .e-sec.e-escura .e-lede,.estnum .e-sec.e-escura p{color:rgba(246,243,233,.8)}
@media(max-width:620px){.estnum .e-wrap{padding:0 var(--s5)}.estnum .e-gsel{width:100%;flex-wrap:wrap}.estnum .e-gsel button{flex:1 1 100%}.estnum .e-eyeb{flex-wrap:wrap;gap:var(--s3)}.estnum .e-eyeb .e-rule{order:3;flex-basis:100%}.estnum .e-eyeb .e-nm{min-width:0}.estnum .e-sh{scroll-margin-top:118px}.estnum .e-hero{padding:var(--s8) 0 var(--s7)}.estnum .e-chart{padding:var(--s5) var(--s4)}.estnum .e-brow{grid-template-columns:1fr}.estnum .e-topo .e-vt{display:none}}

/* ======================= v29b · quebra de linha e caixas ====================== */

/* A quebra deixa de ser sorte. `balance` reparte as linhas de um bloco curto em
   larguras parecidas, e é o que resolve o título que termina com uma palavra
   sozinha embaixo. O navegador só equilibra até seis linhas, então a regra vale
   para título, olho, citação e legenda de gráfico, que é onde a órfã aparece e
   incomoda. Em texto corrido entra `pretty`, que não reparte nada: só impede a
   última linha de ficar com uma palavra. Navegador que não conhece as duas
   palavras ignora a declaração e quebra como quebrava. */
h1,h2,h3,h4,summary,
.jquote,.chtit,.sec-t,.deck,.sub,.lede,.csub,figcaption,
.stat .k,.kpi span,.jkpi span,.eyebrow,.citavel,.vcit,.story-bridge,
.estnum .e-pq p,.estnum .e-lt,.estnum .e-csub,.estnum .e-deck{text-wrap:balance}
p,li,dd,td,.note,.src,.d{text-wrap:pretty}

/* O par de abertura da tese, na capa. Era `.grid g2`, cujo fundo é a própria
   linha de separação: cada filho precisa trazer o seu fundo e o seu recheio. O
   da esquerda não trazia nenhum dos dois, e o texto ficava a zero pixel do
   filete. O da direita tinha `align-self:start`, parava 42 pixels antes do fim
   da linha, e o fundo da grade aparecia como uma barra. */
.tesepar{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:var(--s6)}
.tesepar > *{background:var(--panel);padding:var(--s6);align-self:stretch}
.tesepar .tesetx .lede{margin:0}
.tesepar .tesetx .lede + .lede{margin-top:var(--s5)}
/* o quadro de comparação perde a borda própria, que dentro da grade duplicava
   o filete, e passa a ocupar a altura inteira da célula */
.tesepar .cmp{border:0;display:flex;flex-direction:column;justify-content:center}
.tesepar .cmp-l:first-child{padding-top:0}
@media(max-width:760px){
  .tesepar{grid-template-columns:1fr}
  .tesepar > *{padding:var(--s5)}
}

/* ==================== v30 · o estudo longo ====================
   Entre 37 e 52 capítulos por peça, o que é uma ordem de grandeza acima do
   artigo. As regras abaixo tratam do que muda nessa escala: o número do
   capítulo como âncora visual, o sumário lateral que precisa rolar sozinho, e
   o aparato recolhido no fim. Tudo com prefixo `el-`, porque o estudo longo e
   o resto do aplicativo compartilham nome de classe. */

/* o índice */
.estl-lista{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:var(--s6)}
.estl-lista.pq{grid-template-columns:repeat(3,1fr);margin-top:var(--s5)}
.estl-c{display:grid;grid-template-columns:112px 1fr;gap:var(--s5);align-items:start;
  background:var(--panel);border:0;padding:var(--s5);text-align:left;cursor:pointer;
  font:inherit;color:inherit;transition:background .2s var(--ease)}
.estl-c:hover{background:var(--panel2)}
.estl-c .cv{display:block;aspect-ratio:3/4;background:var(--areia);overflow:hidden}
.estl-c .cv img{width:100%;height:100%;object-fit:cover;display:block}
.estl-c .bd{display:block}
.estl-c .t{display:block;font-family:var(--serif);font-weight:300;font-size:var(--t7);
  line-height:1.22;color:var(--ink);margin:var(--s3) 0 var(--s3)}
.estl-c .m{display:block;font-size:var(--t2);color:var(--ink3);letter-spacing:.02em}
@media(max-width:900px){
  .estl-lista,.estl-lista.pq{grid-template-columns:1fr}
}

/* o corpo */
.artwrap.estlong{align-items:start}
.el-cap{scroll-margin-top:132px;padding-top:var(--s7)}
.el-cap + .el-cap{border-top:1px solid var(--line)}
.artbody .el-cap > h2{display:grid;grid-template-columns:56px 1fr;gap:var(--s4);
  align-items:baseline;margin:0 0 var(--s5)}
.el-n{font-family:var(--serif);font-style:italic;font-weight:300;font-size:var(--t6);
  color:var(--accent);line-height:1.2}
.el-corpo p{max-width:74ch}
.el-corpo .el-li{margin:var(--s4) 0;padding-left:var(--s5);max-width:74ch}
.el-corpo .el-li li + li{margin-top:7px}
.el-src{font-size:var(--t2);line-height:1.6;color:var(--ink3);margin:var(--s3) 0 var(--s5);
  padding-left:var(--s4);border-left:1px solid var(--line2);max-width:80ch}
.el-src a{color:var(--ink3);text-decoration:underline;text-underline-offset:2px}
.el-cit{margin:var(--s5) 0;border-left:2px solid var(--accent);padding-left:var(--s5);
  font-family:var(--serif);font-weight:300;font-size:var(--t6);line-height:1.6;color:var(--ink2)}
.el-tw{margin:var(--s5) 0}
/* item de grade nasce com min-width:auto, então uma tabela de 629 pixels dentro
   da coluna do artigo empurrava a página inteira em tela de 390. A caixa que
   rola é a `.tblwrap`, e ela só consegue rolar se o pai puder encolher. */
.artwrap.estlong{min-width:0}
.artwrap.estlong > *{min-width:0}
.el-corpo .tblwrap{overflow-x:auto;max-width:100%}
.el-corpo table{min-width:0}
/* rede de segurança: endereço é a única palavra do texto que não tem onde
   quebrar. O rótulo já vai encurtado do gerador, e aqui o que passar quebra. */
.el-corpo a,.el-src a,.el-detbd a{overflow-wrap:anywhere}

/* o sumário lateral: 52 capítulos não cabem na tela, então ele rola sozinho */
.estlong .artsum{position:sticky;top:132px;max-height:calc(100vh - 168px);overflow-y:auto;
  scrollbar-width:thin}
.estlong .artsum ul{display:grid;gap:0}
.estlong .artsum li a{display:grid;grid-template-columns:26px 1fr;gap:var(--s2);
  align-items:baseline;padding:5px 0;font-size:var(--t2);line-height:1.45}
.el-sn{font-family:var(--serif);font-style:italic;color:var(--ink4)}

/* o aparato, recolhido: nada some, e a leitura corrida não tropeça nele */
.el-ap{margin-top:var(--s8);border-top:1px solid var(--line2);padding-top:var(--s6)}
.el-det{border:1px solid var(--line);background:var(--panel);margin-bottom:var(--s3)}
.el-det > summary{cursor:pointer;padding:var(--s4) var(--s5);font-family:var(--serif);
  font-weight:300;font-size:var(--t6);color:var(--ink);list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:44px}
.el-det > summary::-webkit-details-marker{display:none}
.el-det > summary::after{content:'+';font-family:var(--sans);font-size:var(--t6);
  color:var(--accent);flex:0 0 auto}
.el-det[open] > summary::after{content:'\2212'}
.el-det[open] > summary{border-bottom:1px solid var(--line)}
.el-detbd{padding:var(--s5)}
.el-detbd > *:first-child{margin-top:0}

@media(max-width:1000px){
  .estlong .artsum{position:static;max-height:none;overflow:visible}
}
@media(max-width:620px){
  .artbody .el-cap > h2{grid-template-columns:1fr;gap:4px}
  .el-corpo p,.el-corpo .el-li{max-width:none}
}

/* ======================= v31 · o bloco de fechamento =======================
   Três tamanhos. O que muda entre eles é quanto aparato entra, não o desenho:
   o mesmo filete, a mesma etiqueta em versalete, a mesma serifada na leitura.
   O leitor precisa reconhecer o fim de página como um lugar, e não como um
   componente diferente por rota. */
.fx{border-top:1px solid var(--line2);margin-top:var(--s9);background:var(--panel2)}
.fx-in{max-width:var(--max);margin:0 auto;padding:var(--s8) var(--s8) var(--s7)}
.fx-hd{margin-bottom:var(--s7)}
.fx-eb{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink3);margin-bottom:var(--s4)}
.fx-hd h2{font-family:var(--serif);font-weight:300;font-size:clamp(28px,3.6vw,50px);
  line-height:1.08;letter-spacing:-.026em;max-width:20ch}
.fx-deck{margin:var(--s4) 0 0;font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:var(--t6);line-height:1.55;color:var(--accent);max-width:62ch}
.fx-k{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink3);margin-bottom:var(--s3)}
.fx-k b{font-weight:400;text-transform:none;letter-spacing:.05em}
.fx-b{margin-bottom:var(--s6)}
.fx-b p{margin:0 0 var(--s3);max-width:74ch;line-height:1.7;color:var(--ink2)}
.fx-b ul,.fx-mov ol,.fx-rg ul{margin:0;padding-left:var(--s5);max-width:74ch}
.fx-b li + li,.fx-mov li + li,.fx-rg li + li{margin-top:7px}
.fx-b.am{border-left:2px solid var(--accent);padding-left:var(--s5)}
.fx-b.am p{font-family:var(--serif);font-weight:300;font-size:var(--t6);line-height:1.62;
  color:var(--ink)}
.fx-b.am .fx-k{color:var(--accent)}
.fx-b.falta{border-left:2px solid var(--oliva);padding-left:var(--s5)}
.fx-b.falta .fx-k{color:var(--oliva)}
.fx-par{display:grid;grid-template-columns:1fr 1fr;gap:var(--s7);margin-bottom:var(--s6)}
.fx-contra{margin:var(--s6) 0;padding:var(--s5) 0;border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)}
.fx-contra p{margin:0;font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(19px,2.2vw,27px);line-height:1.38;color:var(--ink);max-width:52ch;
  text-wrap:balance}
.fx-mov{margin:var(--s7) 0}
.fx-mov ol{list-style:none;padding:0;counter-reset:mv;max-width:none;
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line)}
.fx-mov li{counter-increment:mv;background:var(--panel);padding:var(--s5);margin:0}
.fx-mov li::before{content:counter(mv,decimal-leading-zero);display:block;
  font-family:var(--serif);font-style:italic;color:var(--accent);margin-bottom:var(--s3)}
.fx-mov li b{display:block;font-family:var(--serif);font-weight:300;font-size:var(--t6);
  line-height:1.24;margin-bottom:6px}
.fx-mov li span{font-size:var(--t3);line-height:1.62;color:var(--ink2)}
.fx-radar{margin:var(--s7) 0}
.fx-rg{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);margin-top:var(--s3)}
.fx-rg b{display:block;font-size:var(--t2);letter-spacing:.06em;color:var(--accent);
  margin-bottom:var(--s3)}
.fx-rg ul{font-size:var(--t3);line-height:1.62;color:var(--ink2)}
.fx-at{margin:var(--s7) 0 0;border:1px solid var(--accent);padding:var(--s6)}
.fx-at .fx-k{color:var(--accent)}
.fx-nota{margin:0 0 var(--s4);font-size:var(--t2);color:var(--ink3);max-width:70ch}
.fx-at ul{margin:0;padding-left:var(--s5);max-width:78ch}
.fx-at li{margin-bottom:7px;font-size:var(--t3);line-height:1.62;color:var(--ink2)}
.fx-at li b{color:var(--ink);font-weight:500}
.fx-fim{margin:var(--s7) 0 0;font-family:var(--serif);font-weight:300;
  font-size:clamp(21px,2.5vw,31px);line-height:1.3;color:var(--ink);max-width:44ch;
  text-wrap:balance}
.fx-prox{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--line)}
.fx-prox a{font-family:var(--serif);font-size:var(--t6);color:var(--accent);
  text-decoration:none;border-bottom:1px solid var(--line2);padding-bottom:2px}
.fx-prox a:hover{border-bottom-color:var(--accent)}
.fx-curto .fx-in,.fx-min .fx-in{padding:var(--s7) var(--s8) var(--s6)}
.sec.escura + .fx{border-top:0}
@media(max-width:900px){
  .fx-par,.fx-mov ol,.fx-rg{grid-template-columns:1fr}
  .fx-in{padding:var(--s7) var(--s5) var(--s6)}
  .fx-curto .fx-in,.fx-min .fx-in{padding:var(--s6) var(--s5)}
}
