:root{
  --ink:#202824;--ink-strong:#102a1d;--muted:#6b766f;--green:#174b34;--green-deep:#103b29;
  --green-soft:#edf4ef;--accent:#a8bd3c;--paper:#fff;--bg:#eef2ef;--line:#d9e2dc;--line-strong:#c6d3ca;
  --max:1380px;--reading:850px;--shadow:0 18px 48px rgba(24,52,36,.08)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Aptos","Segoe UI Variable Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.78;font-weight:400;letter-spacing:.001em;-webkit-font-smoothing:antialiased}
a{color:#17633f;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:#0e472c}
.site-header{background:rgba(16,59,41,.98);color:#fff;position:sticky;top:0;z-index:50;border-bottom:3px solid var(--accent);box-shadow:0 5px 22px rgba(7,34,22,.12)}
.header-inner{max-width:var(--max);margin:auto;padding:12px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none}.brand-logo{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 2px 5px #0002)}
.brand-name{font-size:25px;letter-spacing:.16em;font-weight:720;line-height:1}.brand-subtitle{font-size:12px;opacity:.8;line-height:1.3;margin-top:6px;letter-spacing:.025em;max-width:620px}
.menu-toggle{display:none;border:1px solid #ffffff45;background:#ffffff0d;color:#fff;border-radius:999px;padding:8px 13px;font:650 14px inherit;cursor:pointer}
.page-shell{max-width:var(--max);margin:24px auto 0;display:grid;grid-template-columns:292px minmax(0,1fr);background:var(--paper);min-height:calc(100vh - 92px);box-shadow:var(--shadow);border:1px solid #e4eae6;border-radius:16px;overflow:hidden}
.sidebar{padding:30px 18px 50px;border-right:1px solid var(--line);background:#fafcfb;position:relative}.sidebar-title{padding:0 9px 18px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800;color:#718078}
.nav-group{margin:0 0 20px}.nav-group-title{font-size:10.5px;font-weight:800;letter-spacing:.075em;text-transform:uppercase;color:#88948c;padding:0 9px 6px}
.nav-group>a{display:block;padding:7px 9px;border-radius:8px;text-decoration:none;color:#39463f;font-size:13.5px;line-height:1.35;transition:.15s ease}.nav-group>a:hover{background:#f0f5f1;color:#153e29}.nav-group>a.active{background:#e9f2ec;color:#123e29;font-weight:700;box-shadow:inset 3px 0 var(--accent)}
.nav-subitems{margin:7px 0 0 15px;padding-left:11px;border-left:1px solid #cfdcd3}.nav-subitems a{display:block;text-decoration:none;color:#68766d;font-size:12px;line-height:1.35;padding:4px 5px}.nav-subitems a:hover{color:#174f34}
.content{min-width:0;padding:58px 72px 76px}.chapter-head{max-width:var(--reading);border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:38px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#66816e;font-size:10.5px;font-weight:800}.chapter-head h1{font-family:"Aptos Display","Segoe UI Variable Display","Segoe UI",Arial,sans-serif;color:var(--ink-strong);font-size:clamp(35px,3.5vw,49px);font-weight:650;letter-spacing:-.035em;line-height:1.07;margin:8px 0 0;max-width:900px}
.article-body{max-width:var(--reading)}.article-body>hr:first-child{display:none}.article-body>strong:first-of-type{display:none}
.article-body p{margin:0 0 1.35em!important;text-align:left!important}.article-body p:empty{display:none}.article-body br+br{line-height:.65}
.article-body img{max-width:100%!important;height:auto!important;border-radius:8px}.article-body table{max-width:100%!important;border-collapse:collapse}.article-body td{height:auto!important;vertical-align:top}.article-body [width]{max-width:100%!important}.article-body font{font-family:inherit!important}.article-body object,.article-body embed{max-width:100%}.article-body b,.article-body strong{font-weight:700;color:#24352c}
.article-body h2,.article-body h3,.article-body h4{font-family:"Aptos Display","Segoe UI Variable Display","Segoe UI",Arial,sans-serif;color:#16462f;letter-spacing:-.018em;line-height:1.22}.article-body h2{font-size:27px;margin:2em 0 .7em}.article-body h3{font-size:21px;margin:1.7em 0 .6em}
.article-body blockquote{margin:1.6em 0;padding:15px 20px;border-left:3px solid var(--accent);background:#f7faf8;color:#425048}
.article-body ul,.article-body ol{padding-left:1.35em;margin:0 0 1.4em}.article-body li{margin:.3em 0}
.figure-caption{display:block;font-size:12.5px!important;line-height:1.48!important;color:#707b74!important;font-weight:430!important;padding:4px 0 24px!important;text-align:left!important;max-width:100%}.figure-caption img{display:block;margin:0 auto 9px;border-radius:9px;box-shadow:0 5px 18px rgba(22,52,35,.08)}.figure-caption *{font-size:inherit!important;line-height:inherit!important;color:inherit!important}.figure-caption span,.figure-caption em{display:inline}
.topic-panel{border:1px solid var(--line);border-radius:13px;margin:0 0 14px;background:#fff;overflow:hidden;box-shadow:0 3px 15px rgba(25,58,40,.045)}.topic-panel>summary{cursor:pointer;list-style:none;padding:17px 50px 17px 20px;font-size:18px;font-weight:680;letter-spacing:-.012em;color:#174b32;background:#f7faf8;position:relative;transition:.15s ease}.topic-panel>summary:hover{background:#f0f6f2}.topic-panel>summary::-webkit-details-marker{display:none}.topic-panel>summary:after{content:'+';position:absolute;right:20px;top:11px;font-size:27px;font-weight:300;color:#587261}.topic-panel[open]>summary:after{content:'–'}.topic-panel[open]>summary{border-bottom:1px solid var(--line);background:#edf4ef}.topic-content{padding:25px 26px 10px}.topic-content>p:first-child{margin-top:0!important}
.chapter-nav{max-width:var(--reading);display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:48px;padding-top:23px}.chapter-nav a{text-decoration:none;font-size:13.5px;font-weight:700;color:#2e6247}.chapter-nav a:hover{text-decoration:underline}
.site-footer{max-width:var(--max);margin:18px auto 38px;padding:19px 28px;color:#647168;font-size:12px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
/* legacy author/logo tables become lighter and less boxy */
.article-body table:not([class]) td{padding:7px 9px}.article-body table img[src*="Andreas"],.article-body table img[src*="Mozart"]{border-radius:50%;box-shadow:none}
@media(max-width:900px){body{font-size:16px;line-height:1.72}.header-inner{padding:10px 15px}.brand-logo{width:39px;height:39px}.brand-name{font-size:21px}.brand-subtitle{font-size:11px}.menu-toggle{display:block}.page-shell{display:block;margin:0;border:0;border-radius:0;box-shadow:none}.sidebar{display:none;position:fixed;z-index:45;top:62px;left:0;right:0;bottom:0;overflow:auto;border:0;box-shadow:0 12px 30px #0004;padding:20px 15px 35px}.sidebar.open{display:block}.nav-group>a{font-size:15px;padding:8px 10px}.nav-subitems a{font-size:14px;padding:6px}.content{padding:36px 22px 52px}.chapter-head{margin-bottom:29px}.article-body{max-width:none}.article-body table{display:block;overflow-x:auto;width:100%!important}.topic-panel>summary{font-size:17px;padding:15px 44px 15px 16px}.topic-content{padding:20px 17px 6px}.figure-caption{font-size:12px!important}.site-footer{margin:0;padding:18px;display:block}.site-footer div+div{margin-top:6px}}
@media(max-width:500px){.brand-subtitle{display:none}.content{padding-left:17px;padding-right:17px}.chapter-head h1{font-size:32px}.chapter-nav{font-size:13px}.figure-caption{font-size:11.75px!important}.article-body img{border-radius:6px}.topic-panel{border-radius:10px}}
@media print{.site-header,.sidebar,.chapter-nav{display:none!important}.page-shell{display:block;box-shadow:none;border:0;margin:0}.content{padding:0}.topic-panel{border:0;box-shadow:none}.topic-panel>summary{padding-left:0}.site-footer{background:none;padding:15px 0}}

/* V6 — Bibliografia: índice alfabético */
.alpha-index {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .65rem;
  align-items: center;
  margin: .25rem 0 2.25rem;
  padding: .85rem 1rem;
  border-top: 1px solid var(--line, #dfe5df);
  border-bottom: 1px solid var(--line, #dfe5df);
  font-size: .86rem;
  font-weight: 700;
  letter-spacing: .015em;
}
.alpha-index a,
.alpha-index span {
  display: inline-block;
  text-decoration: none;
  line-height: 1;
}
.alpha-index a { color: var(--green, #285f48); }
.alpha-index a:hover { text-decoration: underline; text-underline-offset: 3px; }
.alpha-index .disabled { color: #b7beb9; font-weight: 500; }
.bibliography-section {
  scroll-margin-top: 6rem;
  margin: 0 0 2.5rem;
  padding-top: .25rem;
}
.bibliography-section h2 {
  margin: 0 0 1rem;
  padding-bottom: .45rem;
  border-bottom: 1px solid var(--line, #dfe5df);
  font-size: 1.35rem;
  font-weight: 650;
}
.bibliography-section p {
  margin: 0 0 1rem;
  font-size: .94rem;
  line-height: 1.62;
}
.bibliography-section p:empty { display:none; }
.bibliography-section img { vertical-align: middle; }
.back-to-index {
  display: inline-block;
  margin-top: .35rem;
  font-size: .78rem;
  font-weight: 650;
  text-decoration: none;
  color: var(--green, #285f48);
}
@media (max-width: 640px) {
  .alpha-index { gap: .7rem .8rem; padding: .9rem .25rem; font-size: .9rem; }
  .bibliography-section p { font-size: .92rem; }
}
\n/* V8 — refinamentos editoriais, tabelas, notas e autores */
.sidebar-title{text-transform:none;letter-spacing:.08em;font-size:12px;font-weight:750;color:#53645a}
.table-caption{display:block!important;font-size:13px!important;line-height:1.45!important;color:#59675f!important;font-weight:600!important;margin:1.4rem 0 .55rem!important;text-align:left!important}
.table-caption *{font-size:inherit!important;line-height:inherit!important;color:inherit!important}
.data-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;margin:.35rem 0 1.9rem!important;font-size:13.5px!important;line-height:1.45!important;border:1px solid #cfd9d2!important;border-radius:8px;overflow:hidden;background:#fff}
.data-table td,.data-table th{padding:8px 10px!important;border:0!important;border-right:1px solid #d8e0da!important;border-bottom:1px solid #d8e0da!important;vertical-align:middle!important}
.data-table tr:last-child td{border-bottom:0!important}.data-table td:last-child,.data-table th:last-child{border-right:0!important}
.data-table tr:first-child td,.data-table th{font-weight:700}.table-four td[bgcolor]{background-color:attr(bgcolor color)!important}
/* browsers already honor legacy bgcolor attributes in Tabela 4; do not overwrite them */
.table-four td{min-width:34px}.table-four td[bgcolor="#ffffcc"]{background:#ffffcc!important}.table-four td[bgcolor="#00cc66"]{background:#00cc66!important}.table-four td[bgcolor="#009900"]{background:#009900!important}.table-four td[bgcolor="#ffffff"]{background:#fff!important}.table-four td[bgcolor="#ffcc00"]{background:#ffcc00!important}.table-four td[bgcolor="#ff0000"]{background:#ff0000!important}.table-four td[bgcolor="#cccccc"]{background:#ccc!important}
.figure-caption strong,.figure-caption b{font-weight:430!important;color:inherit!important}.restored-caption{margin-top:7px!important;padding-bottom:24px!important}.figure-86{display:block!important;width:min(100%,520px)!important;height:auto!important;margin:0 auto 9px!important}
.footnote{display:block!important;margin:1.25rem 0 .45rem!important;padding-top:.7rem!important;border-top:1px solid #e2e8e4!important;font-size:12.5px!important;line-height:1.5!important;font-style:italic!important;color:#6b766f!important;font-weight:400!important}.footnote *{font-size:inherit!important;line-height:inherit!important;color:inherit!important;font-style:inherit!important}
.authors-heading{display:block;margin:2rem 0 .7rem!important;padding-top:1rem;border-top:1px solid var(--line);font-size:13px!important;font-weight:750!important;color:#375443!important}
.authors-block{display:table!important;width:100%!important;margin:0!important;background:#f5f8f6!important;border:1px solid #dce5df!important;border-radius:10px!important;font-size:12.5px!important;line-height:1.35!important}.authors-block td{padding:12px 14px!important;line-height:1.35!important}.authors-block img{width:76px!important;height:auto!important;border-radius:8px!important}.authors-block br+br{display:none}.authors-block a{font-size:inherit}
.useful-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:1.5rem}.useful-link-card{min-height:128px;border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;align-items:center;gap:16px;text-decoration:none;background:#fafcfb;color:#244333;font-weight:650;font-size:14px;line-height:1.4;transition:.15s ease}.useful-link-card:hover{background:#f0f6f2;border-color:#bfd0c4}.useful-link-card img{width:92px!important;max-height:72px!important;object-fit:contain;border-radius:0!important;box-shadow:none!important}
/* breathing room after tables */.data-table + p,.data-table + div:not(.figure-caption){margin-top:1.35rem!important}
@media(max-width:700px){.useful-links{grid-template-columns:1fr}.authors-block{display:block!important}.authors-block tbody,.authors-block tr,.authors-block td{display:block!important;width:100%!important}.authors-block img{width:70px!important}.data-table{font-size:12.5px!important}}

.table-four td[bgcolor="#99ff66"]{background:#99ff66!important}.table-four td[bgcolor="#f0f0f0"]{background:#f0f0f0!important}

/* V9: figure/table caption and legacy typography corrections */
.article-body p { font-weight: 400; }
.figure-caption { display:block; font-size:13px !important; line-height:1.42 !important; font-weight:400 !important; font-style:normal; color:#5f6964; margin:8px 0 18px; text-align:left; }
td > .figure-caption { margin:8px 2px 6px; }
.table-caption { display:block; font-size:13px !important; line-height:1.4 !important; font-weight:600 !important; color:#4f5b55; margin:10px 0 8px; padding:0; }
.table-four { margin-top:0 !important; }
.table-four + br { display:none; }
.figure-86 { transform:none !important; rotate:none !important; width:min(100%,560px) !important; height:auto !important; max-height:none !important; }

/* V11: figure captions bound to their figures */
.figure-caption[data-figure]{display:block!important;font-size:13px!important;font-weight:400!important;line-height:1.42!important;margin:7px auto 20px!important;max-width:760px;color:#5d665f;text-align:left;}
td .figure-caption[data-figure]{margin:7px 0 16px!important;}


/* V13 refinements */
.page-index .article-body{font-size:15px;line-height:1.65}
.page-index .article-body p{margin-bottom:1.15em!important}
/* consistent table headers */
.data-table:not(.table-four):not(.table-four-legend) > tbody > tr:first-child > td,
.data-table:not(.table-four):not(.table-four-legend) > thead > tr:first-child > th{background:#dcefdc!important;font-weight:700!important;color:#173c2b!important}
/* Table 4 */
.page-med-opc .table-caption{margin-bottom:4px!important}
.table-four > tbody > tr:nth-child(-n+2) > td{background:#d6ad35!important;color:#2f2608!important;font-weight:700!important}
.table-four-legend{margin-top:8px!important;font-size:12.5px!important}
.table-four-legend td{padding:5px 7px!important;white-space:nowrap}
.table-four-legend .legend-swatch{width:20px!important;min-width:20px!important;padding:0!important;border:1px solid #aeb8b1!important}
.table-four-legend .footnote{font-style:italic!important;white-space:nowrap!important}
/* eliminate legacy blank caption rows / oversized gaps around figures */
td.figure-caption:empty, .figure-caption:empty{display:none!important;padding:0!important;margin:0!important;height:0!important}
.page-ava-pro .article-body table:has(img[src*="Tipos%20rodovias"]),
.page-ava-dia .article-body table:has(img[src*="Barreira_conceitual"]),
.page-ava-dia .article-body table:has(img[src*="Efeito_barreira"]),
.page-ava-dec .article-body table:has(img[src*="Fluxograma_decisao"]){margin-bottom:8px!important}
.page-ava-pro .article-body table:has(img[src*="Tipos%20rodovias"]) + p,
.page-ava-dia .article-body table:has(img[src*="Barreira_conceitual"]) + p,
.page-ava-dec .article-body table:has(img[src*="Fluxograma_decisao"]) + p{margin-top:0!important}
.figure-grid{border-collapse:collapse!important;margin-bottom:12px!important}
.figure-grid td{padding:3px 5px!important}
.figure-grid .figure-caption{margin:4px 0 8px!important;padding:0!important}
.figure-48-grid .figure-caption{padding-top:5px!important}
.fence-grid .figure-caption{margin-bottom:8px!important}

/* V14 — Apresentação: mesmo corpo tipográfico das demais páginas */
.page-index .article-body{font-size:17px!important;line-height:1.78!important}
.page-index .article-body p{margin-bottom:1.35em!important}
/* Mantém apenas o bloco de autores/créditos em corpo menor */
.page-index .authors-heading{font-size:13px!important;line-height:1.35!important}
.page-index .authors-block,.page-index .authors-block *{font-size:12.5px!important;line-height:1.35!important}
@media(max-width:900px){.page-index .article-body{font-size:16px!important;line-height:1.72!important}}

/* V15 — correções de tabelas e espaçamento de figuras */
.data-table:not(.table-four):not(.table-four-legend) > tbody > tr:first-child > td{background:#dcefdc!important;font-weight:700!important;color:#173c2b!important;}
/* Células de legenda em tabelas devem continuar sendo table-cell; display:block quebrava colspan. */
td.figure-caption:not(:empty){display:table-cell!important;width:auto!important;max-width:none!important;}
.figure-48-grid{width:100%!important;max-width:760px!important;table-layout:fixed!important;margin-left:auto!important;margin-right:auto!important;}
.figure-48-grid td.figure-caption-wide{display:table-cell!important;width:auto!important;max-width:none!important;padding:7px 5px 10px!important;text-align:left!important;}
.page-ava-dia table:has(img[src*="Barreira_conceitual"]),.page-ava-dia table:has(img[src*="Efeito_barreira"]){margin-bottom:0!important;}
.page-ava-dia table:has(img[src*="Barreira_conceitual"]) .figure-caption,.page-ava-dia table:has(img[src*="Efeito_barreira"]) .figure-caption{margin-bottom:4px!important;}
.page-ava-dia table:has(img[src*="Barreira_conceitual"]) + p,.page-ava-dia table:has(img[src*="Efeito_barreira"]) + p{margin-top:.35rem!important;}


/* V18: language switch, external links and mobile hardening */
.header-inner{position:relative}.lang-switch{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:750;letter-spacing:.04em;white-space:nowrap}.lang-switch a,.lang-switch span{color:#dfe9e2}.lang-switch .lang-active{color:#fff}.lang-switch a{text-decoration:none}.lang-switch a:hover{text-decoration:underline}.lang-sep{opacity:.55}
.article-body a[href^="http://"]::after,.article-body a[href^="https://"]::after,.useful-link-card[href^="http"]::after{content:" ↗";font-size:.78em;vertical-align:.08em;text-decoration:none;display:inline-block;opacity:.7}.article-body a[href*="conecte.bio.br"]::after{content:""}
.sidebar a.active{background:#eaf2ed!important;color:#173d28!important;font-weight:750!important;border-left:3px solid #4f7d5d!important;padding-left:calc(1rem - 3px)!important}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;margin:0 0 1.2rem}.table-scroll table{margin-bottom:.25rem!important}
@media(max-width:700px){.header-inner{gap:10px}.lang-switch{margin-left:0}.brand-subtitle{display:none}.article-body table{min-width:max-content;max-width:none}.article-body .photo-grid,.article-body table[role="presentation"]{min-width:0;max-width:100%}}

/* V22 — mobile: photo groups stack vertically instead of being clipped */
@media (max-width: 700px) {
  .article-body table:has(img):not(.data-table):not(.authors-block),
  .article-body table:has(img):not(.data-table):not(.authors-block) > tbody,
  .article-body table:has(img):not(.data-table):not(.authors-block) > tbody > tr {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    table-layout:auto !important;
  }
  .article-body table:has(img):not(.data-table):not(.authors-block) > tbody > tr > td {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:auto !important;
    box-sizing:border-box !important;
    text-align:center !important;
    padding:4px 0 !important;
  }
  .article-body table:has(img):not(.data-table):not(.authors-block) img {
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 auto !important;
    object-fit:contain !important;
  }
  .article-body table:has(img):not(.data-table):not(.authors-block) td.figure-caption,
  .article-body table:has(img):not(.data-table):not(.authors-block) td.figure-caption-wide {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    text-align:left !important;
    padding:6px 0 12px !important;
  }
  .figure-grid,.figure-48-grid,.fence-grid {
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }
}
