
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;
 src:url(/observatorio-da-china/app/f-f8e7120cf9.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:100 900;font-display:swap;
 src:url(/observatorio-da-china/app/f-087ee9ccc1.woff2) format('woff2')}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:100 900;font-display:swap;
 src:url(/observatorio-da-china/app/f-cbde4a0b3b.woff2) format('woff2')}

/* ============ tokens · amano observatories design system ============ */
:root{
  --amano-black:#1A1A1A; --amano-cream:#F6F3E9; --amano-sand:#E7E3DF;
  --amano-bronze:#734F2F; --amano-gold:#C4A67C; --amano-olive:#5F6B4A;
  --ink:var(--amano-black); --ink-2:#4A4136; --ink-3:#7A7167;
  --surface:var(--amano-cream); --surface-2:var(--amano-sand);
  --rule:rgba(26,26,26,.14); --rule-strong:rgba(26,26,26,.30);
  --b1:#291B11; --b2:#412E1D; --b3:#5A422B; --b4:#734F2F; --b5:#8E6C46; --b6:#AA8862;
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;--s8:128px;--s9:160px;
  --max-width:1280px; --reading-width:820px; --pad:80px;
  --serif:"Fraunces","Iowan Old Style",Georgia,serif;
  --sans:"Work Sans","Helvetica Neue",Arial,sans-serif;
}
.dark-chapter{
  --ink:var(--amano-cream); --ink-2:#D9D2C4; --ink-3:#9E9585;
  --surface:var(--amano-black); --surface-2:#242424;
  --rule:rgba(246,243,233,.18); --rule-strong:rgba(246,243,233,.34);
  --amano-bronze:#C08E5E;
  --b1:#EADCC6; --b2:#D2B896; --b3:#B99872; --b4:#A07850; --b5:#875C34; --b6:#6E4526;
  background:var(--amano-black); color:var(--amano-cream);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;overflow-x:clip;background:var(--amano-cream);color:var(--amano-black);
  font-family:var(--sans);font-size:16px;line-height:1.62;font-weight:380;
  -webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
img{max-width:100%;display:block}
a{color:inherit;text-underline-offset:3px}
hr{border:none;border-top:1px solid var(--rule);margin:0}

.wrap{max-width:var(--max-width);margin:0 auto;padding:0 var(--pad)}
.reading{max-width:var(--reading-width)}
.col-9{max-width:940px}

/* ============ tipografia ============ */
h1,h2,h3,h4{font-family:var(--serif);font-weight:340;margin:0;
  font-variation-settings:"SOFT" 0,"WONK" 0,"opsz" 60;letter-spacing:-.018em;line-height:1.04}
h1{font-size:clamp(42px,7.4vw,104px);letter-spacing:-.034em}
h2{font-size:clamp(34px,4.6vw,64px);letter-spacing:-.026em}
h3{font-size:clamp(24px,2.6vw,34px);line-height:1.12}
h4{font-size:20px;line-height:1.2;font-weight:420}
p{margin:0 0 1.15em}
.deck{font-family:var(--serif);font-weight:330;font-size:clamp(21px,2.2vw,30px);
  line-height:1.34;letter-spacing:-.012em;color:var(--ink-2)}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--amano-bronze);margin:0 0 var(--s3)}
.eyebrow.mut{color:var(--ink-3)}
.body{font-size:17px;line-height:1.66}
.small{font-size:13px;line-height:1.5;color:var(--ink-3)}
.micro{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
strong{font-weight:560}
em{font-style:italic}
.bronze{color:var(--amano-bronze)}
.figure-num{font-family:var(--serif);font-weight:300;font-variation-settings:"opsz" 144}

/* ============ header ============ */
header.top{position:sticky;top:0;z-index:80;background:var(--amano-cream);
  border-bottom:1px solid var(--rule);height:64px;display:flex;align-items:center}
.topin{max-width:var(--max-width);margin:0 auto;padding:0 var(--pad);width:100%;
  display:flex;align-items:center;gap:var(--s5)}
.brand{font-family:var(--serif);font-size:17px;font-weight:400;letter-spacing:-.01em;white-space:nowrap}
.brand em{font-style:normal;color:var(--ink-3);font-size:12px;font-family:var(--sans);
  letter-spacing:.1em;text-transform:uppercase;margin-left:10px}
nav.terr-nav{display:flex;gap:var(--s4);margin-left:auto}
nav.terr-nav a{font-size:12.5px;text-decoration:none;color:var(--ink-2);padding:2px 0;
  border-bottom:1px solid transparent}
nav.terr-nav a:hover,nav.terr-nav a[aria-current]{color:var(--amano-bronze);border-color:var(--amano-bronze)}
.util{display:flex;gap:var(--s2);margin-left:var(--s4);align-items:center}
.util button{background:none;border:1px solid var(--rule);color:var(--ink-2);height:30px;
  padding:0 12px;font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.util button:hover{border-color:var(--amano-bronze);color:var(--amano-bronze)}
:focus-visible{outline:2px solid var(--amano-bronze);outline-offset:3px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:12px;z-index:99;background:var(--amano-cream);padding:10px 16px;border:1px solid var(--amano-bronze)}

/* subnav contextual */
.subnav{position:sticky;top:64px;z-index:70;background:var(--amano-cream);
  border-bottom:1px solid var(--rule)}
.subnav .wrap{display:flex;align-items:center;gap:var(--s3);height:46px;overflow-x:auto;
  scrollbar-width:none;-webkit-overflow-scrolling:touch}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav .wrap > *{flex:0 0 auto}
.subnav b{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--amano-bronze);white-space:nowrap}
.subnav a{font-size:12.5px;color:var(--ink-2);text-decoration:none;white-space:nowrap}
.subnav a:hover{color:var(--amano-bronze)}
.subnav span{color:var(--rule-strong)}

/* breadcrumb */
.crumb{font-size:11.5px;color:var(--ink-3);padding:var(--s4) 0 0}
.crumb b{font-weight:400;color:var(--amano-bronze)}

/* ============ capítulos ============ */
.chapter{padding:var(--s8) 0;border-top:1px solid var(--rule)}
.chapter.first{border-top:none}
.chapter.dark-chapter{border-top:none;padding:var(--s9) 0}
.chapter-head{margin-bottom:var(--s7)}
h1 + .deck,h2 + .deck,h3 + .deck{margin-top:var(--s3)}
.chapter-head .deck{margin-top:var(--s3)}

/* ============ tese ============ */
.thesis{border-left:2px solid var(--amano-bronze);padding:var(--s1) 0 var(--s1) var(--s4);
  margin:var(--s6) 0}
.thesis .eyebrow{margin-bottom:var(--s2)}
.thesis p:not(.eyebrow){font-family:var(--serif);font-weight:330;font-size:clamp(22px,2.4vw,34px);
  line-height:1.28;letter-spacing:-.014em;margin:0;color:var(--ink)}

/* ============ KPI, não é card ============ */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule-strong);
  margin:var(--s6) 0}
.kpi{padding:var(--s4) var(--s4) var(--s4) 0;border-bottom:1px solid var(--rule)}
.kpi + .kpi{border-left:1px solid var(--rule);padding-left:var(--s4)}
.kpi b{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(38px,4.6vw,60px);
  line-height:.94;letter-spacing:-.03em;color:var(--amano-bronze);font-variation-settings:"opsz" 144}
.kpi .lbl{display:block;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-2);margin-top:var(--s2)}
.kpi .note{display:block;font-size:12px;color:var(--ink-3);margin-top:var(--s1);line-height:1.4}

/* números editoriais */
.bignum{font-family:var(--serif);font-weight:300;font-size:clamp(80px,15vw,220px);line-height:.82;
  letter-spacing:-.05em;color:var(--amano-bronze);font-variation-settings:"opsz" 144}
.dark-chapter .bignum{color:var(--amano-gold)}

/* ============ gráficos ============ */
figure{margin:0}
.fig-title{font-family:var(--serif);font-weight:360;font-size:clamp(21px,2vw,27px);
  line-height:1.2;letter-spacing:-.016em;margin:0 0 var(--s1)}
.fig-sub{font-size:12.5px;color:var(--ink-3);margin:0 0 var(--s4);letter-spacing:.01em}
.fig-note{font-size:12.5px;color:var(--ink-3);margin-top:var(--s3);line-height:1.5;
  padding-top:var(--s2);border-top:1px solid var(--rule);max-width:640px}
.fig-note b{color:var(--ink-2);font-weight:560}
.chart svg{width:100%;height:auto;overflow:visible;display:block}
.bar{transition:opacity .12s}
.bar:hover{opacity:.72}
.tip{position:fixed;pointer-events:none;background:var(--amano-black);color:var(--amano-cream);
  padding:9px 12px;font-size:12px;line-height:1.45;z-index:99;opacity:0;transition:opacity .1s;max-width:260px}

/* ============ tabelas ============ */
table{width:100%;border-collapse:collapse;font-size:13px}
caption{text-align:left;font-size:12.5px;color:var(--ink-3);padding-bottom:var(--s2)}
th,td{text-align:left;padding:10px 14px 10px 0;border-bottom:1px solid var(--rule);vertical-align:top}
th{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:600;
  border-bottom:1px solid var(--rule-strong)}
td.num,th.num{text-align:right;padding-right:0}
td.bronze{color:var(--amano-bronze)}
.absent{color:var(--ink-3)}
details.tbl{margin-top:var(--s4)}
details.tbl summary{cursor:pointer;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-3);list-style:none;display:inline-flex;gap:8px;align-items:center;
  border-bottom:1px solid var(--rule);padding-bottom:4px}
details.tbl summary::-webkit-details-marker{display:none}
details.tbl summary:before{content:"+";font-size:13px}
details.tbl[open] summary:before{content:"–"}
details.tbl > div{margin-top:var(--s3);max-height:420px;overflow:auto}

/* ============ estados de dado ============ */
.state{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  padding:3px 8px;border:1px solid currentColor;white-space:nowrap;display:inline-block}
.st-confirmado{color:var(--amano-olive)}
.st-parcial{color:var(--amano-bronze)}
.st-nao-localizado{color:var(--ink-3)}
.st-divergente{color:#9B3B1F}
.st-revisao{color:var(--ink-2)}

/* ============ blocos editoriais ============ */
.rule-block{border-top:1px solid var(--rule-strong);padding-top:var(--s4);margin-top:var(--s6)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:var(--s7)}
.two-a{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--s7)}
.two-b{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--s7)}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}
.stack > * + *{margin-top:var(--s5)}
.item{border-top:1px solid var(--rule);padding-top:var(--s3)}
.item h4{margin-bottom:var(--s2)}
.item p{margin:0;font-size:14.5px;color:var(--ink-2)}

/* nota metodológica e fonte */
.method{border-left:1px solid var(--rule-strong);padding-left:var(--s3);font-size:12.5px;
  color:var(--ink-3);line-height:1.5;margin-top:var(--s4)}
.source{font-size:12px;color:var(--ink-3);margin-top:var(--s2)}

/* citação */
blockquote{margin:var(--s6) 0;padding:0;max-width:760px}
blockquote p{font-family:var(--serif);font-style:italic;font-weight:320;
  font-size:clamp(22px,2.3vw,31px);line-height:1.3;letter-spacing:-.012em;color:var(--ink)}
blockquote cite{display:block;font-family:var(--sans);font-style:normal;font-size:12px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:var(--s3)}

/* imagem */
.plate{margin:0}
.plate img{width:100%}
.plate figcaption{font-size:12.5px;color:var(--ink-3);margin-top:var(--s2);line-height:1.5}
.plate-full{margin:var(--s7) 0}

/* fluxo */
.flow{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--rule-strong)}
.flow .st{padding:var(--s3) var(--s2) var(--s4) 0;border-bottom:1px solid var(--rule)}
.flow .st + .st{border-left:1px solid var(--rule);padding-left:var(--s2)}
.flow .n{font-family:var(--serif);font-weight:300;font-size:26px;color:var(--amano-bronze);
  line-height:1;font-variation-settings:"opsz" 144}
.flow h4{font-size:14px;margin:var(--s2) 0 var(--s1);line-height:1.22}
.flow p{font-size:11.5px;color:var(--ink-3);margin:0;line-height:1.42}
.flow .org{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--amano-bronze);margin-top:var(--s2)}

/* próxima leitura */
.next{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);margin-top:var(--s5)}
.next a{display:block;text-decoration:none;border-top:1px solid var(--rule-strong);padding-top:var(--s3)}
.next a:hover h4{color:var(--amano-bronze)}
.next .micro{margin-bottom:var(--s2)}
.next p{font-size:13.5px;color:var(--ink-3);margin:var(--s1) 0 0}

/* footer */
footer{background:var(--amano-black);color:var(--amano-cream);padding:var(--s7) 0 var(--s5);font-size:13px}
footer a{color:var(--amano-cream);text-decoration:none}
footer a:hover{color:var(--amano-gold)}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--s6)}
footer h4{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-family:var(--sans);
  font-weight:600;color:#9E9585;margin-bottom:var(--s3)}
footer ul{list-style:none;padding:0;margin:0}
footer li{padding:4px 0;color:#D9D2C4}
.foot-bot{margin-top:var(--s6);padding-top:var(--s3);border-top:1px solid rgba(246,243,233,.18);
  display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;font-size:11.5px;color:#9E9585}

/* ============ responsivo ============ */
@media(max-width:1280px){:root{--pad:64px}}
@media(max-width:1024px){
  :root{--pad:48px}
  nav.terr-nav{display:none}
  .two,.two-a,.two-b,.three{grid-template-columns:1fr;gap:var(--s5)}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .kpi:nth-child(3){border-left:none;padding-left:0}
  .flow{grid-template-columns:repeat(2,1fr)}
  .flow .st:nth-child(odd){border-left:none;padding-left:0}
  .next{grid-template-columns:1fr;gap:var(--s4)}
}
@media(max-width:768px){
  :root{--pad:32px;--s8:80px;--s9:96px}
  .chapter{padding:var(--s7) 0}
  .brand em{display:none}
  .util{display:none}
  h1{font-size:clamp(38px,10vw,56px)}
  h2{font-size:clamp(30px,7vw,44px)}
}
@media(max-width:430px){
  :root{--pad:22px}
  body{font-size:15.5px}
  .kpis{grid-template-columns:1fr}
  .kpi + .kpi{border-left:none;padding-left:0}
  .flow{grid-template-columns:1fr}
  .flow .st + .st{border-left:none;padding-left:0}
}
@media print{
  header.top,.subnav,.util,.tip{display:none}
  .chapter{page-break-inside:avoid;padding:24px 0}
  .dark-chapter{background:#fff!important;color:#000!important}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto}}

/* ============ leitura longa · índice lateral ============ */
.study{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:var(--s7);
  max-width:var(--max-width);margin:0 auto;padding:0 var(--pad)}
.toc{grid-column:2;grid-row:1;position:sticky;top:120px;align-self:start;max-height:calc(100vh - 160px);overflow-y:auto;
  padding-bottom:var(--s5)}
.toc h4{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--s3)}
.toc ol{list-style:none;padding:0;margin:0;counter-reset:toc}
.toc li{border-top:1px solid var(--rule)}
.toc a{display:block;padding:9px 0;font-size:12.5px;line-height:1.32;text-decoration:none;
  color:var(--ink-3);position:relative;padding-left:26px}
.toc a:before{counter-increment:toc;content:counter(toc,decimal-leading-zero);
  position:absolute;left:0;font-size:10px;color:var(--rule-strong);top:11px}
.toc a:hover,.toc a[aria-current]{color:var(--amano-bronze)}
.toc a[aria-current]:before{color:var(--amano-bronze)}
.study-body{grid-column:1;grid-row:1}
.study-body > section{padding:var(--s7) 0;border-top:1px solid var(--rule)}
.study-body > section:first-child{border-top:none;padding-top:var(--s5)}
.study-body h2{font-size:clamp(28px,3.4vw,46px)}
.study-body .body{max-width:var(--reading-width)}
.study-body .deck{max-width:var(--reading-width)}

/* faixa larga dentro do estudo */
.bleed{margin-right:calc(-1 * (230px + var(--s7)))}

/* matriz */
.matrix{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:var(--s4)}
.matrix th{font-size:9.5px;letter-spacing:.14em}
.matrix td{padding:8px 12px 8px 0}
.matrix td.num,.matrix th.num{white-space:nowrap}
.matrix .mdl{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}

/* horizonte */
.horizon{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);margin-top:var(--s5)}
.horizon > div{border-top:2px solid var(--amano-bronze);padding-top:var(--s3)}
.horizon > div:nth-child(2){border-top-color:var(--ink-3)}
.horizon > div:nth-child(3){border-top-color:var(--rule-strong)}
.horizon ul{list-style:none;padding:0;margin:var(--s2) 0 0}
.horizon li{padding:5px 0;border-bottom:1px solid var(--rule);font-size:13.5px}

/* portas */
.doors{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule-strong);margin-top:var(--s5)}
.doors > div{padding:var(--s3) var(--s3) var(--s4) 0;border-bottom:1px solid var(--rule)}
.doors > div + div{border-left:1px solid var(--rule);padding-left:var(--s3)}
.doors .n{font-family:var(--serif);font-weight:300;font-size:30px;color:var(--amano-bronze);line-height:1}
.doors h4{font-size:15px;margin:var(--s2) 0 var(--s1)}
.doors p{font-size:12.5px;color:var(--ink-3);margin:0;line-height:1.45}

/* fontes */
.refs{font-size:13px}
.refs li{padding:10px 0;border-bottom:1px solid var(--rule);list-style:none;
  display:grid;grid-template-columns:26px 1fr;gap:12px}
.refs ol{padding:0;margin:0}
.refs .n{color:var(--amano-bronze);font-family:var(--serif)}
.refs b{font-weight:560}

@media(max-width:1024px){
  .study{grid-template-columns:1fr;gap:var(--s4)}
  .toc{grid-column:1;grid-row:1;position:static;max-height:none;
    border-bottom:1px solid var(--rule);padding-bottom:var(--s3)}
  .study-body{grid-column:1;grid-row:2}
  .toc ol{display:flex;flex-wrap:wrap;gap:0 var(--s3)}
  .toc li{border-top:none;border-bottom:1px solid transparent}
  .bleed{margin-right:0}
  .horizon,.doors{grid-template-columns:1fr}
  .doors > div + div{border-left:none;padding-left:0}
}
.sect{width:100%;border-collapse:collapse;font-size:13px;margin-top:var(--s4)}
.sect th{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);
  font-weight:600;text-align:left;padding:0 12px 10px 0;border-bottom:1px solid var(--rule-strong)}
.sect th.num,.sect td.num{text-align:right;padding-right:0}
.sect td{padding:11px 12px 11px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.sect .ncm{font-size:11px;color:var(--ink-3);letter-spacing:.04em}
.sect .nome{font-weight:500}
.sect .obs{font-size:11.5px;color:var(--ink-3);line-height:1.42;margin-top:3px}
.sect .dirv{color:var(--amano-bronze)}
.sect .dirc{color:var(--ink-3)}
.sect tr.zero td{background:linear-gradient(90deg,rgba(115,79,47,.06),transparent 60%)}
.shr{display:inline-block;width:100%;max-width:110px;height:8px;background:var(--surface-2);position:relative}
.shr i{position:absolute;left:0;top:0;bottom:0;background:var(--amano-bronze);display:block}
.spread{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);align-items:start;margin-top:var(--s5)}
@media(max-width:768px){.spread{grid-template-columns:1fr}}


/* ---------- icone editorial ---------- */
.ico{display:block;height:56px;width:auto;margin-bottom:var(--s3);opacity:.94}
.ico-sm{height:34px;width:auto;opacity:.9}
.ico-lg{height:110px;width:auto;opacity:.94}
.ico-row{display:flex;gap:var(--s4);align-items:flex-end;margin-bottom:var(--s4)}

/* ---------- ficha ---------- */
.ident{display:grid;grid-template-columns:1fr auto;gap:var(--s5);align-items:start;
  border-bottom:1px solid var(--rule-strong);padding-bottom:var(--s5)}
.attrs{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:var(--s5)}
.attr{padding:var(--s3) var(--s4) var(--s3) 0;border-bottom:1px solid var(--rule)}
.attr:nth-child(even){border-left:1px solid var(--rule);padding-left:var(--s4)}
.attr dt{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.attr dd{margin:6px 0 0;font-size:15px}
.attr dd.cn{font-size:15px}
.rel{display:grid;grid-template-columns:150px 1fr;gap:var(--s3) var(--s4);font-size:14px;margin-top:var(--s4)}
.rel dt{color:var(--ink-3);font-size:11px;letter-spacing:.13em;text-transform:uppercase;padding-top:3px}
.rel dd{margin:0;padding-bottom:var(--s3);border-bottom:1px solid var(--rule)}
.gap{border-left:2px solid var(--amano-bronze);padding-left:var(--s3);margin-top:var(--s3)}
.gap h4{font-size:15px;margin-bottom:4px}
.gap p{font-size:13.5px;color:var(--ink-3);margin:0}

/* ---------- atlas ---------- */
.map{width:100%;height:auto;display:block}
.cluster{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4);margin-top:var(--s5)}
.cluster > div{border-top:1px solid var(--rule);padding-top:var(--s3)}
.cluster h4{font-size:15px;margin-bottom:4px}
.cluster p{font-size:12.5px;color:var(--ink-3);margin:0}
.cluster .n{font-family:var(--serif);font-size:26px;font-weight:300;color:var(--amano-bronze);line-height:1}

/* ---------- database ---------- */
.filters{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center;
  padding:var(--s3) 0;border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule);
  position:sticky;top:110px;background:var(--amano-cream);z-index:40}
.filters input,.filters select{font-family:var(--sans);font-size:13px;padding:7px 10px;
  border:1px solid var(--rule);background:var(--amano-cream);color:var(--ink);border-radius:0}
.filters input{min-width:230px}
.filters input:focus,.filters select:focus{border-color:var(--amano-bronze);outline:none}
.filters .cnt{margin-left:auto;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.filters button{background:none;border:1px solid var(--rule);color:var(--ink-2);padding:7px 12px;
  font-family:var(--sans);font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.filters button:hover{border-color:var(--amano-bronze);color:var(--amano-bronze)}
.db{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:var(--s2)}
.db th{position:sticky;top:158px;background:var(--amano-cream);z-index:30;
  font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:600;
  text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--rule-strong);cursor:pointer;user-select:none}
.db th:hover{color:var(--amano-bronze)}
.db th.on:after{content:" ↓";color:var(--amano-bronze)}
.db th.on.asc:after{content:" ↑"}
.db td{padding:9px 12px 9px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.db tr.hide{display:none}
.db .cn{color:var(--ink-3);font-size:11.5px}
.db a{color:var(--amano-bronze)}
.empty{padding:var(--s5) 0;color:var(--ink-3);font-size:14px}

/* ---------- dossie ---------- */
.timeline{margin-top:var(--s5);border-left:1px solid var(--rule-strong);padding-left:var(--s5)}
.tl{position:relative;padding-bottom:var(--s5)}
.tl:before{content:"";position:absolute;left:calc(-1 * var(--s5) - 4px);top:8px;
  width:7px;height:7px;background:var(--amano-bronze);border-radius:50%}
.tl.now:before{background:var(--amano-gold);width:11px;height:11px;left:calc(-1 * var(--s5) - 6px);top:6px}
.tl .yr{font-family:var(--serif);font-size:26px;font-weight:300;color:var(--amano-bronze);line-height:1}
.tl h4{font-size:16px;margin:var(--s2) 0 5px}
.tl p{font-size:14px;color:var(--ink-2);margin:0;max-width:640px}
.tl .doc{font-size:11.5px;color:var(--ink-3);margin-top:6px}

/* ---------- agenda ---------- */
.ev{display:grid;grid-template-columns:120px 1fr 150px 120px;gap:var(--s4);
  padding:var(--s3) 0;border-bottom:1px solid var(--rule);align-items:baseline;font-size:14px}
.ev .dt{font-family:var(--serif);font-size:17px;font-weight:300;color:var(--amano-bronze)}
.ev .nm{font-weight:500}
.ev .loc,.ev .tr{font-size:12.5px;color:var(--ink-3)}
.ev.head{border-bottom:1px solid var(--rule-strong);padding-bottom:8px;
  font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.ev.head > *{font-family:var(--sans)!important;font-size:9.5px!important;color:var(--ink-3)!important}
.mesbar{display:flex;align-items:baseline;gap:var(--s3);margin:var(--s6) 0 var(--s2);
  border-bottom:1px solid var(--rule-strong);padding-bottom:8px}
.mesbar h3{font-size:22px}
.mesbar span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
@media(max-width:1024px){
  .attrs,.cluster{grid-template-columns:1fr}
  .attr:nth-child(even){border-left:none;padding-left:0}
  .ev{grid-template-columns:90px 1fr;gap:var(--s2) var(--s3)}
  .ev .loc,.ev .tr{grid-column:2}
  .ev.head{display:none}
  .rel{grid-template-columns:1fr}
  .filters{position:static}
  .db th{position:static}
}

/* ---------- ancora nao some atras do cabecalho fixo ---------- */
html{scroll-behavior:smooth}
.chapter[id]{scroll-margin-top:126px}

/* ---------- sparkline no kpi ---------- */
.kpi .spkw{display:block;margin-top:var(--s2);height:24px}
.spk{display:block}
.kpi .delta{font-size:12px;color:var(--ink-3);margin-top:4px;display:block}
.kpi .delta b{font-weight:500;color:var(--amano-bronze)}

/* ---------- calendario ---------- */
.cal{margin-top:var(--s5)}
.cal svg{width:100%;height:auto;display:block;overflow:visible}
.callegend{display:flex;gap:var(--s5);flex-wrap:wrap;align-items:center;
  margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--rule);
  font-size:11.5px;color:var(--ink-3)}
.callegend i{display:inline-block;width:22px;height:9px;margin-right:7px;
  vertical-align:middle;font-style:normal}
.callegend .l1 i{background:var(--amano-bronze)}
.callegend .l2 i{background:repeating-linear-gradient(45deg,var(--amano-bronze) 0 2px,var(--surface) 2px 5px);
  border:.5px solid var(--amano-bronze)}
.callegend .l3 i{background:var(--amano-gold);width:9px;height:9px;border-radius:50%}
.callegend .l4 i{background:var(--b6);width:2px;height:12px}

/* ---------- fluxograma de estacoes ---------- */
.flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  border-top:1px solid var(--rule-strong);margin-top:var(--s5)}
.flow .st{padding:var(--s4) var(--s4) var(--s5) 0;border-bottom:1px solid var(--rule);position:relative}
.flow .st + .st{border-left:1px solid var(--rule);padding-left:var(--s4)}
.flow .st .n{font-family:var(--serif);font-size:13px;color:var(--amano-gold);display:block}
.flow .st h4{font-size:14.5px;margin:6px 0 5px;line-height:1.25}
.flow .st p{font-size:12.5px;color:var(--ink-3);margin:0;line-height:1.45}

/* ---------- tabela de setores, colunas fixas ---------- */
table.setores{table-layout:fixed}
table.setores th:nth-child(1),table.setores td:nth-child(1){width:24%}
table.setores th:nth-child(2),table.setores td:nth-child(2){width:12%;padding-right:22px}
table.setores th:nth-child(3),table.setores td:nth-child(3){width:14%;padding-right:22px}
table.setores th:nth-child(4),table.setores td:nth-child(4){width:11%;padding-right:26px}
table.setores th:nth-child(5),table.setores td:nth-child(5){padding-left:22px;border-left:1px solid var(--rule)}
table.setores tr.gap td{border-left:none!important;padding-left:0}

/* ---------- tabela de apoio, densa ---------- */
.dense{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:var(--s3)}
.dense th{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);
  font-weight:600;text-align:left;padding:9px 14px 9px 0;border-bottom:1px solid var(--rule-strong)}
.dense td{padding:8px 14px 8px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.dense td.d{font-family:var(--serif);font-size:14px;font-weight:300;color:var(--amano-bronze);white-space:nowrap}
.dense tr.gap td{border-bottom:none;padding-top:var(--s4)}
.dense .mo{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}

/* ---------- grade de graficos ---------- */
figure.chart svg{width:100%;height:auto;display:block;overflow:visible}
.chart-wide{margin-top:var(--s5)}
@media(max-width:768px){
  .cal svg{min-width:640px}
  .cal{overflow-x:auto}
}

/* ================= barra de territorios ================= */
header.top{position:sticky;top:0;z-index:100;background:var(--amano-cream);
  height:auto;display:block;border-bottom:none}
header.top .topin{height:64px;border-bottom:1px solid var(--rule)}
.sec-nav{display:flex;gap:var(--s5);margin-left:auto;margin-right:var(--s5)}
.sec-nav a{font-size:12.5px;text-decoration:none;color:var(--ink-2);padding:2px 0;
  border-bottom:1px solid transparent}
.sec-nav a:hover{color:var(--amano-bronze)}
.sec-nav a[aria-current]{color:var(--ink);border-bottom-color:var(--amano-bronze)}
.terr-bar{border-bottom:1px solid var(--rule);background:var(--amano-cream)}
.topin2{max-width:1280px;margin:0 auto;padding:0 var(--s5);display:flex;align-items:center;
  gap:var(--s2);height:40px}
.tlab{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);
  margin-right:var(--s3)}
.grp{position:static}
.grp > button{background:none;border:none;cursor:pointer;font-family:var(--sans);
  font-size:12.5px;color:var(--ink-2);padding:10px var(--s3);display:flex;align-items:center;gap:6px}
.grp > button i{font-style:normal;font-size:10px;color:var(--ink-3)}
.grp > button:hover{color:var(--amano-bronze)}
.grp.on > button{color:var(--amano-bronze);box-shadow:inset 0 -2px 0 var(--amano-bronze)}
.mega{display:none;position:absolute;left:0;right:0;background:var(--amano-cream);
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule-strong);
  padding:var(--s5) 0 var(--s6);z-index:99}
.grp.on .mega{display:block}
.megagrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:var(--s3);
  border-top:1px solid var(--rule)}
.megagrid a{text-decoration:none;display:block;padding:var(--s3) var(--s4) var(--s3) 0;
  border-bottom:1px solid var(--rule)}
.megagrid a + a{}
.megagrid a b{font-family:var(--serif);font-weight:300;font-size:13px;color:var(--amano-gold);
  margin-right:7px}
.megagrid a span{font-size:14px;color:var(--ink)}
.megagrid a em{display:block;font-style:normal;font-size:11.5px;color:var(--ink-3);margin-top:3px}
.megagrid a:hover span{color:var(--amano-bronze)}
.subnav{top:105px}
.chapter[id]{scroll-margin-top:166px}
.filters{top:150px}
.db th{top:198px}
@media(max-width:900px){
  .terr-bar{display:none}
  .sec-nav{display:none}
  .subnav{top:64px}
  .chapter[id]{scroll-margin-top:126px}
}

/* ================= indice de serie ================= */
.serie-head{display:grid;grid-template-columns:1fr 300px;gap:var(--s7);align-items:start}
.estado-barra{display:flex;height:8px;margin-top:var(--s4);border:1px solid var(--rule)}
.estado-barra i{display:block;height:100%}
.estado-barra i.e1{background:var(--amano-bronze)}
.estado-barra i.e2{background:repeating-linear-gradient(45deg,var(--amano-bronze) 0 2px,var(--surface) 2px 5px)}
.estado-barra i.e3{background:var(--surface-2)}
.estado-leg{display:flex;gap:var(--s4);flex-wrap:wrap;font-size:11.5px;color:var(--ink-3);margin-top:var(--s2)}
.estado-leg i{display:inline-block;width:16px;height:8px;margin-right:6px;vertical-align:middle;font-style:normal}
.estado-leg .l1 i{background:var(--amano-bronze)}
.estado-leg .l2 i{background:repeating-linear-gradient(45deg,var(--amano-bronze) 0 2px,var(--surface) 2px 5px);border:.5px solid var(--amano-bronze)}
.estado-leg .l3 i{background:var(--surface-2)}

/* ================= lexico ================= */
.lex-filtros{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center;padding:var(--s3) 0;
  border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule);
  position:sticky;top:146px;background:var(--amano-cream);z-index:40}
.lex-filtros input,.lex-filtros select{font-family:var(--sans);font-size:13px;padding:7px 10px;
  border:1px solid var(--rule);background:var(--amano-cream);color:var(--ink);border-radius:0}
.lex-filtros input{min-width:220px}
.lex-filtros input:focus,.lex-filtros select:focus{border-color:var(--amano-bronze);outline:none}
.lex-filtros .cnt{margin-left:auto;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.lexgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule)}
.verb{padding:var(--s4) var(--s4) var(--s4) 0;border-bottom:1px solid var(--rule);
  display:flex;flex-direction:column;gap:4px}
.verb:not(:nth-child(3n+1)){border-left:1px solid var(--rule);padding-left:var(--s4)}
.verb.hide{display:none}
.verb .cn{font-family:var(--serif);font-size:23px;font-weight:300;line-height:1.1;color:var(--ink)}
.verb .py{font-size:11.5px;color:var(--ink-3);font-style:italic}
.verb .tr{font-size:14.5px;color:var(--ink);margin-top:2px}
.verb .meta{font-size:11px;color:var(--ink-3);margin-top:6px;display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center}
.verb .rel{font-size:12.5px;color:var(--ink-2);line-height:1.45;margin-top:6px}
.tag{font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);
  border:1px solid var(--rule);padding:2px 6px}
.tag.on{color:var(--amano-bronze);border-color:var(--amano-bronze)}
.stg{font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--amano-bronze)}

/* verbete aberto */
.verbete{border-top:2px solid var(--ink);padding-top:var(--s5);margin-top:var(--s6)}
.verbete .cabeca{display:grid;grid-template-columns:1fr 260px;gap:var(--s6);align-items:start}
.verbete .termo{font-family:var(--serif);font-size:clamp(40px,6vw,66px);font-weight:300;
  line-height:1.02;letter-spacing:-.01em;margin:0}
.verbete .pyt{font-size:15px;color:var(--ink-3);font-style:italic;margin-top:var(--s2)}
.verbete .trt{font-family:var(--serif);font-size:26px;font-weight:300;margin-top:var(--s2);color:var(--amano-bronze)}
.tres{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:var(--s6);
  border-top:1px solid var(--rule-strong)}
.tres > div{padding:var(--s4) var(--s4) var(--s5) 0;border-bottom:1px solid var(--rule)}
.tres > div + div{border-left:1px solid var(--rule);padding-left:var(--s4)}
.tres h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--amano-bronze);
  font-weight:600;margin-bottom:var(--s3)}
.tres p{font-size:14px;line-height:1.55;color:var(--ink-2);margin:0 0 var(--s2)}

/* ================= fichas visto na china ================= */
.fichas{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--rule-strong)}
.fic{padding:var(--s5) var(--s5) var(--s6) 0;border-bottom:1px solid var(--rule)}
.fic:nth-child(even){border-left:1px solid var(--rule);padding-left:var(--s5)}
.fic .n{font-family:var(--serif);font-size:13px;color:var(--amano-gold)}
.fic h3{font-size:22px;margin:6px 0 2px;line-height:1.2}
.fic .cn{font-size:14px;color:var(--ink-3)}
.fic .loc{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-top:var(--s2)}
.fic .desc{font-size:14px;color:var(--ink-2);line-height:1.55;margin-top:var(--s3)}
.fic dl{margin:var(--s3) 0 0;border-top:1px solid var(--rule)}
.fic dt{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);
  font-weight:600;padding-top:var(--s3)}
.fic dd{margin:4px 0 var(--s3);font-size:13.5px;color:var(--ink-2);line-height:1.5}
.fic .rod{display:flex;gap:var(--s3);align-items:center;margin-top:var(--s3)}

/* ================= mito ================= */
.mitos{border-top:1px solid var(--rule-strong);margin-top:var(--s5)}
.mito{display:grid;grid-template-columns:1fr 250px;gap:var(--s6);
  padding:var(--s5) 0;border-bottom:1px solid var(--rule)}
.mito .afirm{font-family:var(--serif);font-size:24px;font-weight:300;line-height:1.25;margin:0}
.mito .ver{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-bottom:var(--s2)}
.mito .ver.cai{color:var(--amano-bronze)}
.mito .ver.fica{color:var(--ink-3)}
.mito .resp{font-size:14.5px;line-height:1.6;color:var(--ink-2);margin:var(--s3) 0 0;max-width:62ch}
.mito .norma{font-size:12px;color:var(--ink-3);margin-top:var(--s3);border-left:2px solid var(--amano-gold);
  padding-left:var(--s3);line-height:1.5}
.mito .lado{border-left:1px solid var(--rule);padding-left:var(--s4)}
.mito .lado p{font-size:12.5px;color:var(--ink-3);margin:0 0 var(--s3);line-height:1.5}

/* ================= guia ================= */
.guias{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--rule-strong)}
.gui{padding:var(--s4) var(--s5) var(--s5) 0;border-bottom:1px solid var(--rule)}
.gui:nth-child(even){border-left:1px solid var(--rule);padding-left:var(--s5)}
.gui .n{font-family:var(--serif);font-size:30px;font-weight:300;color:var(--amano-gold);line-height:1}
.gui h3{font-size:19px;margin:var(--s2) 0 var(--s2)}
.gui p{font-size:13.5px;color:var(--ink-3);margin:0;line-height:1.55}
.gui .prec{font-size:12.5px;color:var(--ink-2);margin-top:var(--s3);
  border-top:1px solid var(--rule);padding-top:var(--s3)}
.passos{border-top:1px solid var(--rule-strong);margin-top:var(--s5)}
.passo{display:grid;grid-template-columns:56px 1fr 220px;gap:var(--s4);
  padding:var(--s4) 0;border-bottom:1px solid var(--rule);align-items:start}
.passo .np{font-family:var(--serif);font-size:26px;font-weight:300;color:var(--amano-gold);line-height:1}
.passo h4{font-size:16px;margin:0 0 5px}
.passo p{font-size:13.5px;color:var(--ink-2);margin:0;line-height:1.55;max-width:62ch}
.passo .fonte{font-size:11.5px;color:var(--ink-3);line-height:1.45}

/* ================= mapa do site ================= */
.mapa{border-top:1px solid var(--rule-strong);margin-top:var(--s5)}
.mrow{display:grid;grid-template-columns:210px 1fr 120px 130px;gap:var(--s4);
  padding:var(--s3) 0;border-bottom:1px solid var(--rule);align-items:baseline;font-size:13.5px}
.mrow.head{border-bottom:1px solid var(--rule-strong);font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-3)}
.mrow .url{font-family:var(--mono,var(--sans));font-size:13px;color:var(--amano-bronze)}
.mrow .d{font-size:12.5px;color:var(--ink-3)}
.mrow .num{text-align:right;font-variant-numeric:tabular-nums}
.mgrupo{display:flex;align-items:baseline;gap:var(--s3);margin:var(--s6) 0 var(--s2);
  border-bottom:1px solid var(--rule-strong);padding-bottom:8px}
.mgrupo h3{font-size:21px}
.mgrupo span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}

@media(max-width:1024px){
  .lexgrid{grid-template-columns:repeat(2,1fr)}
  .verb:not(:nth-child(3n+1)){border-left:none;padding-left:0}
  .verb:not(:nth-child(2n+1)){border-left:1px solid var(--rule);padding-left:var(--s4)}
  .fichas,.guias,.tres{grid-template-columns:1fr}
  .fic:nth-child(even),.gui:nth-child(even){border-left:none;padding-left:0}
  .tres > div + div{border-left:none;padding-left:0}
  .serie-head,.verbete .cabeca,.mito{grid-template-columns:1fr}
  .mito .lado{border-left:none;padding-left:0;border-top:1px solid var(--rule);padding-top:var(--s3)}
  .passo{grid-template-columns:44px 1fr}
  .passo .fonte{grid-column:2}
  .mrow{grid-template-columns:1fr 90px;gap:var(--s2) var(--s3)}
  .mrow .d{grid-column:1/-1}
  .mrow.head{display:none}
  .lex-filtros{position:static}
}
@media(max-width:680px){
  .lexgrid{grid-template-columns:1fr}
  .verb{border-left:none!important;padding-left:0!important}
}

/* coluna numerica em tabela nao pode encostar na coluna de texto seguinte */
table td.num + td, table th.num + th{padding-left:22px}
table td.num, table th.num{padding-right:22px}
table td.num:last-child, table th.num:last-child{padding-right:0}

/* mapa de navegacao no rodape: toda pagina alcanca toda pagina */
.foot-mapa{padding-bottom:var(--s6);margin-bottom:var(--s6);border-bottom:1px solid rgba(246,243,233,.14)}
.foot-mapa .cols6{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s5)}
.foot-mapa h4{font-family:var(--sans);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
 color:var(--amano-gold);margin-bottom:10px}
.foot-mapa ul{list-style:none;margin:0;padding:0}
.foot-mapa li{margin-bottom:6px}
.foot-mapa a{color:#C9C0B0;font-size:12.5px;text-decoration:none;line-height:1.35}
.foot-mapa a:hover{color:var(--amano-cream);text-decoration:underline}
@media(max-width:1000px){.foot-mapa .cols6{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.foot-mapa .cols6{grid-template-columns:1fr 1fr}}

/* ================= cartao de indicador ================= */
.indics{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule-strong);margin-top:var(--s5)}
.ind{padding:var(--s4) var(--s4) var(--s5) 0;border-bottom:1px solid var(--rule)}
.ind:not(:nth-child(3n+1)){border-left:1px solid var(--rule);padding-left:var(--s4)}
.ind .lbl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);display:block}
.ind .val{font-family:var(--serif);font-size:36px;font-weight:300;line-height:1.05;margin-top:8px;
  letter-spacing:-.015em;display:block}
.ind .un{font-size:13px;color:var(--ink-3);display:block;margin-top:2px}
.ind .cmp{display:flex;gap:var(--s3);align-items:baseline;margin-top:var(--s3);
  border-top:1px solid var(--rule);padding-top:var(--s2);font-size:12px;color:var(--ink-3)}
.ind .cmp b{font-weight:500;color:var(--amano-bronze)}
.ind .cmp b.neg{color:var(--ink-2)}
.ind .nota{font-size:12px;color:var(--ink-3);margin-top:var(--s2);line-height:1.45}
.ind .fonte{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:var(--s2)}

/* ================= ficha de pessoa / lugar ================= */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule-strong)}
.pcard{padding:var(--s4) var(--s4) var(--s5) 0;border-bottom:1px solid var(--rule)}
.pcard:not(:nth-child(3n+1)){border-left:1px solid var(--rule);padding-left:var(--s4)}
.pcard.hide{display:none}
.pcard h4{font-size:17px;margin:0 0 2px;line-height:1.2}
.pcard .cn{font-size:13px;color:var(--ink-3)}
.pcard .role{font-size:12.5px;color:var(--ink-2);margin-top:6px;line-height:1.4}
.pcard .meta{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:var(--s3)}
.pcard .why{font-size:12.5px;color:var(--ink-3);margin-top:var(--s2);line-height:1.5}
.pcard .rod{margin-top:var(--s3);display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center}

/* ================= oportunidade ================= */
.opps{border-top:1px solid var(--rule-strong);margin-top:var(--s5)}
.opp{display:grid;grid-template-columns:52px 1fr 240px;gap:var(--s4);
  padding:var(--s4) 0;border-bottom:1px solid var(--rule);align-items:start}
.opp.hide{display:none}
.opp .id{font-family:var(--serif);font-size:15px;color:var(--amano-gold);line-height:1.6}
.opp h4{font-size:17px;margin:0 0 5px;line-height:1.25}
.opp p{font-size:13.5px;color:var(--ink-2);margin:0;line-height:1.5;max-width:70ch}
.opp .por{font-size:12.5px;color:var(--ink-3);margin-top:6px;line-height:1.5}
.opp .lado{border-left:1px solid var(--rule);padding-left:var(--s4);font-size:11.5px;color:var(--ink-3)}
.opp .lado dt{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;margin-top:8px}
.opp .lado dd{margin:2px 0 0;color:var(--ink-2);font-size:12.5px}
.opp .comp{display:flex;gap:2px;margin-top:8px}
.opp .comp i{display:block;width:9px;height:9px;background:var(--surface-2);font-style:normal}
.opp .comp i.on{background:var(--amano-bronze)}

/* ================= politica ================= */
.pol{border-top:2px solid var(--ink);padding-top:var(--s5);margin-top:var(--s6);
  display:grid;grid-template-columns:1fr 280px;gap:var(--s6)}
.pol h3{font-size:clamp(24px,3vw,32px);line-height:1.15;margin:var(--s2) 0 var(--s3)}
.pol .cn{font-size:15px;color:var(--ink-3)}
.pol dl{margin:var(--s4) 0 0;border-top:1px solid var(--rule)}
.pol dt{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--amano-bronze);
  font-weight:600;padding-top:var(--s3)}
.pol dd{margin:5px 0 var(--s3);font-size:14px;color:var(--ink-2);line-height:1.55}

/* ================= rota / itinerario ================= */
.rota{border-top:2px solid var(--ink);padding-top:var(--s5);margin-top:var(--s6)}
.rota .cab{display:grid;grid-template-columns:1fr 300px;gap:var(--s6);align-items:start}
.rota h3{font-size:clamp(24px,3vw,34px);line-height:1.12;margin:var(--s2) 0 var(--s3)}
.itin{display:flex;gap:0;margin-top:var(--s5);border-top:1px solid var(--rule);overflow-x:auto}
.itin .par{flex:1 0 190px;padding:var(--s4) var(--s4) var(--s5) 0;border-bottom:1px solid var(--rule);position:relative}
.itin .par + .par{border-left:1px solid var(--rule);padding-left:var(--s4)}
.itin .par .n{font-family:var(--serif);font-size:12px;color:var(--amano-gold)}
.itin .par h5{font-size:15.5px;margin:5px 0 4px}
.itin .par p{font-size:12.5px;color:var(--ink-3);margin:0;line-height:1.45}
.itin .par .cn{font-size:12px;color:var(--ink-3)}

/* ================= diagrama do banco ================= */
.blocos{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule-strong);margin-top:var(--s5)}
.bloco{padding:var(--s4) var(--s4) var(--s5) 0;border-bottom:1px solid var(--rule)}
.bloco:not(:nth-child(3n+1)){border-left:1px solid var(--rule);padding-left:var(--s4)}
.bloco h4{font-size:16px;margin:6px 0 4px}
.bloco .cnt{font-family:var(--serif);font-size:30px;font-weight:300;color:var(--amano-bronze);line-height:1}
.bloco p{font-size:12.5px;color:var(--ink-3);margin:0 0 var(--s3);line-height:1.45}
.bloco ul{list-style:none;margin:0;padding:0}
.bloco li{font-size:12px;padding:5px 0;border-bottom:1px solid var(--rule);display:flex;
  justify-content:space-between;gap:var(--s2);color:var(--ink-2)}
.bloco li code{font-size:11.5px}
.bloco li span{color:var(--ink-3);font-variant-numeric:tabular-nums}
.bloco li.zero code{color:var(--ink-3)}
.bloco li.zero span{color:var(--amano-bronze)}

/* ================= fonte ================= */
.fontes{border-top:1px solid var(--rule-strong);margin-top:var(--s4)}
.fonte{display:grid;grid-template-columns:1fr 150px 90px 70px;gap:var(--s4);
  padding:var(--s3) 0;border-bottom:1px solid var(--rule);align-items:baseline;font-size:13.5px}
.fonte.hide{display:none}
.fonte.head{border-bottom:1px solid var(--rule-strong);font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-3)}
.fonte .nm strong{font-weight:500}
.fonte .cn{font-size:12.5px;color:var(--ink-3)}
.fonte .obs{font-size:12px;color:var(--ink-3);margin-top:3px;line-height:1.45}
.fonte .tp,.fonte .ev{font-size:12px;color:var(--ink-3)}

/* ================= report ================= */
.reps{border-top:1px solid var(--rule-strong);margin-top:var(--s5)}
.rep{display:grid;grid-template-columns:64px 1fr 260px;gap:var(--s5);
  padding:var(--s5) 0;border-bottom:1px solid var(--rule);align-items:start}
.rep .num{font-family:var(--serif);font-size:44px;font-weight:300;color:var(--amano-gold);line-height:.9}
.rep h3{font-size:24px;margin:0 0 5px;line-height:1.2}
.rep .sub{font-size:14.5px;color:var(--ink-2);line-height:1.5;margin:0 0 var(--s3)}
.rep .desc{font-size:13px;color:var(--ink-3);line-height:1.55;margin:0}
.rep .secs{margin-top:var(--s3);font-size:12.5px;color:var(--ink-3);line-height:1.7;
  border-top:1px solid var(--rule);padding-top:var(--s3)}
.rep .secs b{color:var(--ink-2);font-weight:400}
.rep .lado{border-left:1px solid var(--rule);padding-left:var(--s4)}
.rep .lado p{font-size:12px;color:var(--ink-3);margin:0 0 var(--s3);line-height:1.5}
.rep .barra{display:flex;height:6px;border:1px solid var(--rule);margin-top:6px}
.rep .barra i{display:block;height:100%;background:var(--surface-2)}

/* ================= aviso forte ================= */
.aviso{border:1px solid var(--amano-bronze);padding:var(--s5);margin-top:var(--s5);max-width:900px}
.aviso p.micro{color:var(--amano-bronze)}
.aviso h3{font-size:22px;margin:var(--s2) 0 var(--s3);line-height:1.25}
.aviso p{font-size:14.5px;line-height:1.6;color:var(--ink-2);margin:0 0 var(--s3);max-width:72ch}
.aviso p:last-child{margin-bottom:0}

@media(max-width:1024px){
  .indics,.pgrid,.blocos{grid-template-columns:repeat(2,1fr)}
  .ind:not(:nth-child(3n+1)),.pcard:not(:nth-child(3n+1)),.bloco:not(:nth-child(3n+1)){border-left:none;padding-left:0}
  .ind:not(:nth-child(2n+1)),.pcard:not(:nth-child(2n+1)),.bloco:not(:nth-child(2n+1)){border-left:1px solid var(--rule);padding-left:var(--s4)}
  .opp,.pol,.rep,.rota .cab{grid-template-columns:1fr}
  .opp .lado,.rep .lado{border-left:none;padding-left:0;border-top:1px solid var(--rule);padding-top:var(--s3)}
  .fonte{grid-template-columns:1fr 100px}
  .fonte .ev{grid-column:2}
  .fonte.head{display:none}
}
@media(max-width:680px){
  .indics,.pgrid,.blocos{grid-template-columns:1fr}
  .ind,.pcard,.bloco{border-left:none!important;padding-left:0!important}
}


/* =====================================================================
   CAMADA DE CONTENÇÃO GLOBAL
   nada pode escapar para a direita. a causa se corrige nos componentes,
   esta camada é a rede de segurança que impede a falha de virar sintoma.
   ===================================================================== */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:clip}
img,svg,video,canvas,iframe{display:block;max-width:100%;height:auto}
main,section,article,figure,.grid,.flex,.two,.two-a,.three,.cols,.cols6{min-width:0}
a,p,li,td,th,dd,dt,h1,h2,h3,h4,code{overflow-wrap:anywhere}
pre{overflow-x:auto;max-width:100%}
select,input,textarea,button{max-width:100%}
/* select com opção longa cresce até o texto. no celular isso estoura a linha. */
select{text-overflow:ellipsis}
/* a etiqueta de estado é nowrap por desenho. abaixo de 430 ela cede antes de estourar. */
@media(max-width:430px){.state{white-space:normal;overflow-wrap:anywhere}}

/* a causa real do estouro: em grid, 1fr é minmax(auto,1fr) e o auto é o min-content.
   um link longo dentro do cartão empurra a coluna inteira. min-width:0 no filho
   devolve o controle à trilha. isto corrige a causa, não o sintoma. */
.indics>*,.pgrid>*,.blocos>*,.kpis>*,.flow>*,.lexgrid>*,.fichas>*,.guias>*,.tres>*,
.cluster>*,.doors>*,.horizon>*,.next>*,.two>*,.two-a>*,.two-b>*,.three>*,.attrs>*,
.spread>*,.megagrid>*,.cols6>*,.study>*,.rel>*,.ev>*,.opp>*,.rep>*,.passo>*,.mrow>*,
.indice>*,.icol>*,.fonte>*,.mito>*,.serie-head>*,.rota .cab>*,.verbete .cabeca>*,.ident>*,.mgrid>*{min-width:0}
.ind .fonte,.ind .nota,.card .fonte{overflow-wrap:anywhere}

/* =====================================================================
   TRÊS LARGURAS OFICIAIS
   texto de leitura, conteúdo ampliado e casco do site.
   ===================================================================== */
:root{
  --content-reading:760px;
  --content-wide:1180px;
  --content-max:1280px;   /* o casco que o site inteiro já usa, agora nomeado */
  --gutter:48px;
  --header-h:68px;
  --header-h-scrolled:58px;
}
.page-shell,.wrap{width:min(calc(100% - var(--gutter)),var(--content-max));margin-inline:auto;max-width:100%}
.article-copy,.reading{width:min(100%,var(--content-reading));margin-inline:auto}
.article-wide{width:min(100%,var(--content-wide));margin-inline:auto}
.chapter .reading{margin-inline:0}
@media(max-width:768px){:root{--gutter:32px}}

/* =====================================================================
   TABELA NUNCA QUEBRA A PÁGINA
   ela rola dentro do próprio contêiner, com sombra de borda que avisa.
   ===================================================================== */
.table-scroll,.itin,.cal{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;
 -webkit-overflow-scrolling:touch;
 background:linear-gradient(90deg,var(--amano-cream) 30%,rgba(246,243,233,0)),
   linear-gradient(90deg,rgba(246,243,233,0),var(--amano-cream) 70%) 100% 0,
   radial-gradient(farthest-side at 0 50%,rgba(26,26,26,.14),rgba(0,0,0,0)),
   radial-gradient(farthest-side at 100% 50%,rgba(26,26,26,.14),rgba(0,0,0,0)) 100% 0;
 background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;
 background-attachment:local,local,scroll,scroll}
.table-scroll table{min-width:680px;width:100%;margin-top:0}
.table-scroll+.method{margin-top:var(--s4)}
@media(max-width:640px){.table-scroll table{min-width:560px}}

/* =====================================================================
   HEADER DE UMA LINHA
   seis destinos, busca à direita. o menu desaparece para o conteúdo aparecer.
   ===================================================================== */
header.top{position:sticky;top:0;z-index:200;background:rgba(246,243,233,.94);
 backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);
 border-bottom:1px solid var(--rule);display:block;height:auto;
 transition:box-shadow .2s ease}
header.top.rolou{box-shadow:0 1px 0 rgba(26,26,26,.06),0 8px 24px -18px rgba(26,26,26,.4)}
/* o header respira na mesma coluna do conteúdo. marca alinhada com o texto. */
header.top .topin{width:100%;max-width:var(--content-max);margin-inline:auto;
 padding:0 var(--pad);border-bottom:0;
 height:var(--header-h);display:flex;align-items:center;gap:var(--s4);
 transition:height .18s ease}
header.top.rolou .topin{height:var(--header-h-scrolled)}
.brand{flex:0 0 auto;display:flex;align-items:baseline;gap:9px;white-space:nowrap}
.brand a{text-decoration:none;display:flex;align-items:baseline;gap:9px}
.brand,.brand a{font-family:var(--serif);font-size:19px;font-weight:400;color:var(--ink);letter-spacing:-.01em}
.brand em{font-family:var(--sans);font-style:normal;font-size:10px;letter-spacing:.16em;
 text-transform:uppercase;color:var(--ink-3)}
@media(max-width:1180px){.brand em{display:none}}

nav.principal{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:2px;justify-content:center;
 position:static}
/* .item também é uma classe de conteúdo em css2. aqui ela é item de menu, e nada mais. */
nav.principal>.item{position:static;border-top:0;padding-top:0;margin:0}
/* o painel se ancora no header, nunca no item: assim ele nunca escapa pela direita */
nav.principal>.item>a,nav.principal>.item>button{
 font-family:var(--sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
 color:var(--ink-2);background:none;border:0;cursor:pointer;padding:9px 13px;
 text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
 border-radius:2px;transition:color .15s,background .15s}
nav.principal>.item>a:hover,nav.principal>.item>button:hover{color:var(--ink);background:rgba(115,79,47,.06)}
nav.principal>.item>a[aria-current],nav.principal>.item.on>button{color:var(--amano-bronze)}
nav.principal>.item>a[aria-current]::after{content:"";position:absolute;left:13px;right:13px;bottom:2px;
 height:1px;background:var(--amano-bronze)}
nav.principal>.item>button i{font-style:normal;font-size:8px;opacity:.5;transition:transform .18s}
nav.principal>.item.on>button i{transform:rotate(180deg);opacity:1}
@media(max-width:1080px){nav.principal>.item>a,nav.principal>.item>button{padding:9px 9px;font-size:11px;letter-spacing:.09em}}

.util{flex:0 0 auto;display:flex;align-items:center;gap:6px;margin-left:0}
#btn-print{display:none}
.util button,.util a{font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
 color:var(--ink-2);background:none;border:1px solid transparent;cursor:pointer;padding:7px 10px;
 text-decoration:none;border-radius:2px;transition:.15s}
.util button:hover,.util a:hover{color:var(--ink);border-color:var(--rule-strong)}
.util .busca-btn{display:inline-flex;align-items:center;gap:7px;border-color:var(--rule-strong)}
.util .busca-btn svg{width:12px;height:12px;flex:0 0 auto}
#btn-menu{display:none}
@media(max-width:900px){
  nav.principal{display:none}
  #btn-menu{display:inline-flex}
}
/* css2 escondia .util no celular. a busca e o menu precisam existir justamente ali. */
@media(max-width:768px){.util{display:flex}}
@media print{.util,header.top{display:none}}

/* ---------------- megamenu editorial ---------------- */
.mega2{position:absolute;top:calc(100% + 1px);left:50%;transform:translateX(-50%) translateY(-6px);
 width:min(calc(100vw - var(--gutter)),1180px);background:var(--amano-cream);
 border:1px solid var(--rule-strong);border-top:2px solid var(--amano-bronze);
 box-shadow:0 24px 60px -30px rgba(26,26,26,.5);padding:var(--s6);
 opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:210}
.item.on .mega2{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.mega2 .mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s6)}
.mega2 .mcol h4{font-family:var(--sans);font-size:10px;letter-spacing:.15em;text-transform:uppercase;
 color:var(--amano-bronze);padding-bottom:9px;margin-bottom:10px;border-bottom:1px solid var(--rule-strong)}
.mega2 .mcol p.msub{font-size:11.5px;color:var(--ink-3);line-height:1.4;margin:-6px 0 10px}
.mega2 .mcol a{display:block;padding:6px 0;text-decoration:none;border-bottom:1px solid transparent}
.mega2 .mcol a b{display:block;font-family:var(--serif);font-size:16px;font-weight:400;color:var(--ink);line-height:1.25}
.mega2 .mcol a span{display:block;font-size:11.5px;color:var(--ink-3);line-height:1.35;margin-top:1px}
.mega2 .mcol a:hover b{color:var(--amano-bronze)}
.mega2 .mfoot{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--rule);
 display:flex;gap:var(--s5);flex-wrap:wrap;align-items:baseline}
.mega2 .mfoot a{font-family:var(--sans);font-size:11.5px;letter-spacing:.06em;color:var(--ink-2);text-decoration:none}
.mega2 .mfoot a:hover{color:var(--amano-bronze);text-decoration:underline}
@media(max-width:1100px){.mega2 .mgrid{grid-template-columns:repeat(2,1fr)}}

/* ---------------- painel de busca ---------------- */
.busca-painel{position:fixed;inset:0;z-index:400;background:rgba(26,26,26,.42);
 backdrop-filter:blur(3px);display:none}
.busca-painel.on{display:block}
.busca-caixa{width:min(calc(100% - var(--gutter)),720px);margin:12vh auto 0;background:var(--amano-cream);
 border:1px solid var(--rule-strong);box-shadow:0 40px 90px -40px rgba(26,26,26,.6);padding:var(--s5)}
.busca-caixa input{width:100%;padding:14px 16px;border:1px solid var(--rule-strong);background:transparent;
 font-family:var(--serif);font-size:22px;color:var(--ink)}
.busca-caixa input:focus{outline:none;border-color:var(--amano-bronze)}
.busca-dica{font-size:11.5px;color:var(--ink-3);margin-top:8px}
.busca-res{margin-top:var(--s4);max-height:52vh;overflow-y:auto}
.busca-res a{display:block;padding:10px 0;border-bottom:1px solid var(--rule);text-decoration:none}
.busca-res a b{display:block;font-family:var(--serif);font-size:17px;font-weight:400;color:var(--ink)}
.busca-res a span{display:block;font-size:12px;color:var(--ink-3);margin-top:2px}
.busca-res a em{font-style:normal;font-family:var(--sans);font-size:10px;letter-spacing:.12em;
 text-transform:uppercase;color:var(--amano-bronze)}
.busca-res a:hover b{color:var(--amano-bronze)}
.busca-res mark{background:rgba(196,166,124,.34);color:inherit}

/* ---------------- menu de celular ---------------- */
.menu-mobile{position:fixed;inset:0;z-index:390;background:var(--amano-cream);overflow-y:auto;
 padding:var(--s6) 0;display:none}
.menu-mobile.on{display:block}
.menu-mobile .mm-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s6)}
.menu-mobile h4{font-family:var(--sans);font-size:10px;letter-spacing:.15em;text-transform:uppercase;
 color:var(--amano-bronze);margin:var(--s5) 0 8px;padding-bottom:8px;border-bottom:1px solid var(--rule-strong)}
.menu-mobile a{display:block;padding:9px 0;font-family:var(--serif);font-size:19px;color:var(--ink);
 text-decoration:none;border-bottom:1px solid var(--rule)}

/* =====================================================================
   SUBNAV DA PÁGINA, mais discreta
   ===================================================================== */
.subnav{position:sticky;top:var(--header-h);z-index:150;background:var(--amano-cream);
 border-bottom:1px solid var(--rule);transition:top .18s ease}
header.top.rolou~.subnav{top:var(--header-h-scrolled)}
.subnav .wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;height:auto;
 padding:9px var(--pad);overflow-x:auto}
@media(max-width:768px){
  .subnav .wrap{flex-wrap:nowrap;white-space:nowrap;scrollbar-width:none}
  .subnav .wrap::-webkit-scrollbar{display:none}
}

/* =====================================================================
   FOOTER com a arquitetura completa
   ===================================================================== */
footer .cols>*{min-width:0}
@media(max-width:900px){footer .cols{grid-template-columns:1fr 1fr}}
@media(max-width:560px){footer .cols{grid-template-columns:1fr;gap:var(--s5)}}
.foot-mapa .cols6{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.foot-mapa .cols6{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.foot-mapa .cols6{grid-template-columns:1fr}}

/* =====================================================================
   AJUSTES DE RITMO EDITORIAL
   texto de leitura estreito, figura larga. isso cria a respiração do longform.
   ===================================================================== */
.chapter .reading{max-width:var(--content-reading)}
.chapter .body,.chapter .deck,.chapter .method{max-width:var(--content-reading)}
figure.chart{max-width:var(--content-wide)}
figure.chart.chart-wide{max-width:var(--content-wide)}
.hero-ilu{max-width:var(--content-wide)}

.indice{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);margin-top:var(--s5)}
.icol h4{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--amano-bronze);padding-bottom:8px;border-bottom:1px solid var(--rule-strong)}
.icol ul{list-style:none;margin:0;padding:0}
.icol li{border-bottom:1px solid var(--rule)}
.icol a{display:block;padding:11px 0;text-decoration:none}
.icol b{display:block;font-family:var(--serif);font-size:17px;font-weight:400;color:var(--ink)}
.icol span{display:block;font-size:12.5px;color:var(--ink-2);margin-top:2px;line-height:1.4}
.icol a:hover b{color:var(--amano-bronze)}
@media(max-width:900px){.indice{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.indice{grid-template-columns:1fr}}
