:root {
  --ink: #f7f3e8;
  --muted: #aba9a2;
  --paper: #111311;
  --panel: #181b18;
  --panel-2: #20241f;
  --line: #343a33;
  --lime: #c5f36a;
  --lime-soft: #9bcf51;
  --amber: #f1b74d;
  --blue: #66b7d2;
  --rose: #df7e86;
  --violet: #a897dc;
  --radius: 18px;
  --shadow: 0 28px 70px rgba(0, 0, 0, 0.28);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 80% -10%, rgba(197, 243, 106, 0.08), transparent 30rem),
    var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}

button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }

.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 100;
  transform: translateY(-160%);
  background: var(--lime);
  color: #10130d;
  padding: 10px 14px;
  border-radius: 8px;
}
.skip-link:focus { transform: translateY(0); }

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 72px;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto minmax(120px, 1fr);
  align-items: center;
  gap: 24px;
  padding: 12px clamp(20px, 4vw, 68px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  background: rgba(17, 19, 17, 0.9);
  backdrop-filter: blur(18px);
}

.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--lime);
  border-radius: 50%;
  color: var(--lime);
  font: 700 18px Georgia, serif;
}
.brand div { display: grid; line-height: 1.15; }
.brand strong { font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }
.brand span:last-child { color: var(--muted); font-size: 12px; }

nav { display: flex; gap: 6px; }
nav a {
  color: var(--muted);
  font-size: 13px;
  text-decoration: none;
  padding: 8px 10px;
  border-radius: 8px;
}
nav a:hover, nav a:focus-visible { color: var(--ink); background: var(--panel-2); }

.print-button, .quiet-button {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}
.print-button { justify-self: end; padding: 9px 15px; }
.print-button:hover, .quiet-button:hover { border-color: var(--lime); color: var(--lime); }

.section { width: min(1220px, calc(100% - 40px)); margin: 0 auto; padding: 96px 0; }
.hero {
  min-height: 70vh;
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(220px, 1fr);
  align-items: end;
  gap: 56px;
  padding-top: 110px;
}
.eyebrow {
  margin: 0 0 18px;
  color: var(--lime);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
h1, h2, h3, p { margin-top: 0; }
h1 {
  max-width: 900px;
  margin-bottom: 28px;
  font: 500 clamp(48px, 7vw, 92px)/0.98 Georgia, "Times New Roman", serif;
  letter-spacing: -0.045em;
}
h2 { margin-bottom: 0; font: 500 clamp(32px, 4vw, 54px)/1.05 Georgia, serif; letter-spacing: -0.03em; }
h3 { margin-bottom: 8px; font-size: 18px; }
.hero-summary { max-width: 760px; margin-bottom: 22px; color: #d4d1c9; font-size: clamp(17px, 2vw, 22px); }
.hero-aside { padding: 22px; border-top: 1px solid var(--line); color: var(--muted); }
.hero-index { display: block; margin-bottom: 70px; color: var(--lime); font-size: 13px; }

.kpis { padding-top: 8px; }
.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.kpi-card { padding: 30px 24px 28px; border-right: 1px solid var(--line); }
.kpi-card:last-child { border-right: 0; }
.kpi-value { display: block; margin-bottom: 6px; color: var(--lime); font: 500 clamp(25px, 3vw, 38px)/1.1 Georgia, serif; }
.kpi-label { display: block; margin-bottom: 16px; font-weight: 700; }
.kpi-card p { min-height: 48px; color: var(--muted); font-size: 13px; }

.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 48px; margin-bottom: 44px; }
.section-heading > div { max-width: 760px; }
.section-note { max-width: 330px; margin-bottom: 2px; color: var(--muted); font-size: 13px; }

.hero-story-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--lime);
  color: var(--ink);
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
}
.hero-story-link span { color: var(--lime); }

.investigation-section { width: min(1380px, calc(100% - 40px)); padding-top: 120px; }
.scrolly-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(330px, .55fr);
  gap: clamp(34px, 5vw, 76px);
  align-items: start;
}
.story-stage {
  position: sticky;
  top: 92px;
  min-height: calc(100vh - 116px);
  display: flex;
  flex-direction: column;
  padding: clamp(18px, 2.4vw, 30px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(145deg, rgba(197,243,106,.07), transparent 38%), #131713;
  box-shadow: var(--shadow);
}
.story-opening { max-width: 780px; margin: 0 0 18px; color: #ebe9df; font: 500 clamp(20px, 2.2vw, 32px)/1.08 Georgia, serif; letter-spacing: -.015em; }
.story-status { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 10px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.story-status span:first-child { color: var(--lime); }
.story-status span:last-child { color: var(--muted); }
.story-progress { height: 3px; margin-bottom: 20px; overflow: hidden; background: #30362f; }
.story-progress > span { display: block; width: 11.111%; height: 100%; background: var(--lime); transition: width .35s ease; }

.story-track-viewport { position: relative; width: 100%; overflow: hidden; padding: 8px 0 18px; }
.story-track { width: max-content; display: flex; align-items: start; margin: 0; padding: 0 calc(50% - 62px); list-style: none; transition: transform .38s ease; }
.story-track li { position: relative; width: clamp(118px, 10vw, 150px); flex: 0 0 auto; }
.story-track li:not(:last-child)::after { content: ""; position: absolute; top: 18px; left: 34px; width: calc(100% - 22px); border-top: 1px solid #465044; }
.story-track li:has(button.is-complete)::after,
.story-track li:has(button.is-active)::after { border-color: rgba(197,243,106,.55); }
.story-track button { position: relative; z-index: 2; width: 100%; display: grid; justify-items: start; gap: 8px; padding: 0 12px 0 0; border: 0; background: transparent; color: var(--muted); text-align: left; cursor: pointer; }
.story-track button > span { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid #586158; border-radius: 50%; background: #171c17; color: #929a90; font: 600 12px Georgia, serif; transition: border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease; }
.story-track button strong { max-width: 122px; font-size: 10px; line-height: 1.25; }
.story-track button.is-active { color: #eef4e5; }
.story-track button.is-active > span { border-color: var(--lime); background: var(--lime); color: #11150d; box-shadow: 0 0 0 6px rgba(197,243,106,.09); }

.story-visual-grid { min-height: 0; display: block; flex: 1 1 auto; }
.story-map-panel { position: relative; height: clamp(300px, 36vh, 380px); margin: 0; overflow: hidden; border: 1px solid #30372f; border-radius: 13px; background: radial-gradient(circle at 24% 66%, rgba(102,183,210,.07), transparent 32%), #0f130f; }
#story-world-map { width: 100%; height: 100%; display: block; }
.story-map-panel figcaption { position: absolute; right: 12px; bottom: 12px; left: 12px; display: grid; gap: 4px; padding: 11px 13px; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: rgba(12,15,12,.84); backdrop-filter: blur(8px); }
.story-map-panel figcaption span { color: var(--lime); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.story-map-panel figcaption strong { font: 500 18px/1.08 Georgia, serif; }

.story-step-details span { display: block; margin-bottom: 6px; color: var(--lime); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.story-controls { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; margin-top: 14px; }
.story-controls .quiet-button { min-width: 112px; padding: 8px 13px; }
.story-controls .quiet-button:disabled { opacity: .3; cursor: not-allowed; }
.story-dots { display: flex; justify-content: center; gap: 5px; }
.story-dots button { width: 18px; height: 24px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; cursor: pointer; }
.story-dots button span { width: 5px; height: 5px; border-radius: 50%; background: #596057; transition: width .2s ease, border-radius .2s ease, background .2s ease; }
.story-dots button.is-active span { width: 17px; border-radius: 999px; background: var(--lime); }

.story-step-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.story-scroll-step { min-height: 72vh; display: flex; flex-direction: column; justify-content: center; padding: clamp(20px, 2.2vw, 30px) 0 clamp(20px, 2.2vw, 30px) clamp(24px, 3vw, 44px); border-left: 1px solid #465044; opacity: .3; transition: opacity .28s ease, border-color .28s ease; }
.story-scroll-step.is-active { border-left: 2px solid var(--lime); opacity: 1; }
.story-step-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 34px; }
.story-step-heading > span { color: var(--lime); font: 500 34px Georgia, serif; }
.story-step-heading small { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.story-scroll-step h3 { margin: 5px 0 20px; font: 500 clamp(26px, 2.6vw, 36px)/1.04 Georgia, serif; }
.story-step-details { display: grid; gap: 14px; }
.story-step-details p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.story-conclusion { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-top: 72px; padding: clamp(26px, 4vw, 48px); border: 1px solid var(--lime); border-radius: var(--radius); background: linear-gradient(110deg, rgba(197,243,106,.16), rgba(197,243,106,.035)); }
.story-conclusion .eyebrow { margin-bottom: 8px; }
.story-conclusion h3 { margin: 0; font: 500 clamp(26px, 3vw, 38px) Georgia, serif; }
.story-network-cta { display: inline-flex; align-items: center; gap: 18px; padding: 14px 20px; border: 0; border-radius: 999px; background: var(--lime); color: #10140e; font-weight: 850; cursor: pointer; white-space: nowrap; }
.story-network-cta:hover, .story-network-cta:focus-visible { background: #d9ff8a; transform: translateY(-1px); }

.graph-viewbar { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 18px; }
.graph-viewbar > p { max-width: 450px; margin: 0; color: var(--muted); font-size: 12px; text-align: right; }
.graph-mode-toggle { display: inline-flex; padding: 4px; border: 1px solid var(--line); border-radius: 999px; background: var(--panel); }
.graph-mode-toggle button { padding: 8px 14px; border: 0; border-radius: 999px; background: transparent; color: var(--muted); font-size: 12px; cursor: pointer; }
.graph-mode-toggle button.active { background: var(--lime); color: #10140e; font-weight: 800; }

.dossier-sections { display: grid; gap: 12px; }
.dossier-block { border: 1px solid var(--line); border-radius: 14px; background: var(--panel); overflow: hidden; }
.dossier-block summary {
  display: grid;
  grid-template-columns: 1fr minmax(280px, .8fr);
  align-items: center;
  gap: 30px;
  padding: 24px;
  cursor: pointer;
  list-style: none;
}
.dossier-block summary::-webkit-details-marker { display: none; }
.dossier-block summary > div { display: flex; align-items: center; gap: 18px; }
.dossier-block summary span { color: var(--lime); font: 500 20px Georgia, serif; }
.dossier-block summary h3, .dossier-block summary p { margin: 0; }
.dossier-block summary h3 { font: 500 25px/1.1 Georgia, serif; }
.dossier-block summary p { color: var(--muted); font-size: 13px; }
.dossier-block[open] summary { border-bottom: 1px solid var(--line); }
.dossier-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.dossier-item { min-height: 210px; padding: 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.dossier-item:nth-child(2n) { border-right: 0; }
.dossier-item h4 { margin: 0 0 12px; font-size: 16px; }
.dossier-item p { color: var(--muted); font-size: 13px; }

.graph-section { width: min(1380px, calc(100% - 40px)); }
.filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.filter-chip {
  padding: 9px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}
.filter-chip:hover, .filter-chip:focus-visible { color: var(--ink); border-color: #687066; }
.filter-chip.active { color: #10130d; border-color: var(--lime); background: var(--lime); }

.graph-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 18px; align-items: stretch; }
.graph-panel, .entity-card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); box-shadow: var(--shadow); }
.graph-panel { min-width: 0; display: flex; flex-direction: column; overflow: hidden; }
.graph-toolbar { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.legend { display: flex; flex-wrap: wrap; gap: 12px; }
.legend-item { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 11px; }
.legend-symbol { width: 15px; font-size: 14px; font-weight: 800; line-height: 1; text-align: center; }
.graph-actions { display: flex; flex: 0 0 auto; gap: 7px; }
.quiet-button { padding: 6px 11px; font-size: 11px; }
.fullscreen-button { display: inline-flex; align-items: center; gap: 6px; }
.fullscreen-button > span:first-child { font-size: 15px; line-height: 1; }
#relation-graph { display: block; width: 100%; height: 650px; cursor: grab; background: radial-gradient(circle at center, #1c211d, #151815 68%); }
#relation-graph:active { cursor: grabbing; }
.canvas-help { margin: 0; padding: 8px 16px 12px; color: #777d76; font-size: 11px; }

.entity-card { min-height: 720px; padding: 26px; overflow: auto; }

.graph-layout:fullscreen,
.graph-layout.is-expanded {
  width: 100vw;
  height: 100vh;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
  gap: 14px;
  padding: 16px;
  background: var(--paper);
}
.graph-layout.is-expanded { position: fixed; inset: 0; z-index: 100; }
.graph-layout:fullscreen .graph-panel,
.graph-layout:fullscreen .entity-card,
.graph-layout.is-expanded .graph-panel,
.graph-layout.is-expanded .entity-card { min-height: 0; height: 100%; }
.graph-layout:fullscreen #relation-graph,
.graph-layout.is-expanded #relation-graph { flex: 1 1 auto; height: auto; min-height: 0; }
body.graph-expanded { overflow: hidden; }
.empty-state { display: grid; place-items: start; align-content: center; height: 100%; color: var(--muted); }
.empty-icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 22px; border: 1px solid var(--line); border-radius: 50%; color: var(--lime); font-size: 24px; }
.entity-type { display: inline-flex; margin-bottom: 20px; padding: 4px 8px; border-radius: 4px; background: var(--lime); color: #10130d; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.entity-card h3 { font: 500 32px/1.05 Georgia, serif; }
.entity-meta { display: grid; gap: 8px; margin: 22px 0; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.meta-row { display: grid; grid-template-columns: 74px 1fr; gap: 10px; font-size: 13px; }
.meta-row span:first-child { color: var(--muted); }
.entity-card h4 { margin: 24px 0 10px; color: var(--muted); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.entity-card p { color: #d7d5ce; font-size: 14px; }
.relation-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.relation-list button { width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel-2); color: var(--ink); text-align: left; cursor: pointer; }
.relation-list button:hover { border-color: var(--lime); }
.relation-list small { display: block; color: var(--muted); }
.variant { padding: 10px 0; border-top: 1px solid var(--line); }

.search-panel { display: grid; grid-template-columns: minmax(280px, 1fr) 210px 230px; gap: 12px; margin-bottom: 22px; }
.search-panel label { display: grid; gap: 7px; color: var(--muted); font-size: 12px; }
.search-panel input, .search-panel select {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  outline: none;
  background: var(--panel);
  color: var(--ink);
}
.search-panel input:focus, .search-panel select:focus { border-color: var(--lime); box-shadow: 0 0 0 3px rgba(197, 243, 106, .12); }
.entity-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.entity-row {
  min-height: 148px;
  display: grid;
  align-content: space-between;
  gap: 18px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.entity-row:hover, .entity-row:focus-visible { border-color: var(--lime); transform: translateY(-2px); }
.entity-row strong { display: block; font-size: 16px; }
.entity-row p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.entity-row-footer { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.no-results { grid-column: 1 / -1; padding: 50px; border: 1px dashed var(--line); border-radius: 12px; color: var(--muted); text-align: center; }

.print-summary { display: none; }
footer { display: flex; justify-content: space-between; gap: 30px; padding: 34px clamp(20px, 4vw, 68px); border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
footer p { margin: 0; }

.type-pessoa { --node-color: var(--amber); }
.type-empresa { --node-color: var(--blue); }
.type-marca { --node-color: var(--lime); }
.type-instituicao { --node-color: var(--rose); }
.type-facilitador { --node-color: var(--violet); }
.type-localidade { --node-color: var(--lime); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (max-width: 1040px) {
  .topbar { grid-template-columns: 1fr auto; }
  nav { display: none; }
  .kpi-grid { grid-template-columns: 1fr 1fr; }
  .kpi-card:nth-child(2) { border-right: 0; }
  .kpi-card:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .graph-layout { grid-template-columns: 1fr; }
  .graph-layout:fullscreen, .graph-layout.is-expanded { grid-template-columns: 1fr; }
  .graph-layout:fullscreen .entity-card, .graph-layout.is-expanded .entity-card { display: none; }
  .entity-card { min-height: 0; }
  .entity-list { grid-template-columns: 1fr 1fr; }
  .investigation-section { width: calc(100% - 28px); }
  .scrolly-layout { grid-template-columns: minmax(0, 1.4fr) minmax(290px, .6fr); gap: 30px; }
  .story-stage { top: 82px; z-index: 5; min-height: 0; }
  .story-opening { font-size: 23px; }
  .story-map-panel { height: 300px; }
  .story-scroll-step { min-height: 62vh; }
}

@media (max-width: 720px) {
  .topbar { min-height: 64px; padding: 10px 16px; }
  .brand span:last-child { display: none; }
  .print-button { padding: 7px 10px; font-size: 12px; }
  .section { width: min(100% - 28px, 1220px); padding: 70px 0; }
  .hero { min-height: auto; grid-template-columns: 1fr; padding-top: 80px; }
  h1 { font-size: clamp(42px, 14vw, 66px); }
  .hero-aside { display: none; }
  .kpis { padding-top: 0; }
  .kpi-grid { grid-template-columns: 1fr; }
  .kpi-card { border-right: 0; border-bottom: 1px solid var(--line); }
  .section-heading { display: grid; gap: 18px; }
  .investigation-section { width: calc(100% - 16px); padding-top: 78px; }
  .scrolly-layout { grid-template-columns: 1fr; gap: 18px; }
  .story-stage { position: relative; top: auto; padding: 14px; }
  .story-opening { font-size: 21px; }
  .story-status { margin-bottom: 7px; }
  .story-progress { margin-bottom: 10px; }
  .story-track-viewport { overflow: visible; padding-bottom: 12px; }
  .story-track { width: auto; display: grid; gap: 0; padding: 0; transform: none !important; }
  .story-track li { width: 100%; }
  .story-track li:not(:last-child)::after { top: 34px; bottom: -2px; left: 17px; width: 0; border-top: 0; border-left: 1px solid #465044; }
  .story-track button { grid-template-columns: 36px 1fr; align-items: center; gap: 10px; padding: 3px 0; }
  .story-track button strong { max-width: none; }
  .story-map-panel { height: 220px; }
  .story-map-panel figcaption { right: 8px; bottom: 8px; left: 8px; padding: 8px 10px; }
  .story-map-panel figcaption strong { font-size: 15px; }
  .story-controls { margin-top: 9px; gap: 7px; }
  .story-controls .quiet-button { min-width: 0; padding: 7px 10px; font-size: 11px; }
  .story-dots { gap: 1px; }
  .story-dots button { width: 12px; }
  .story-dots button.is-active span { width: 10px; }
  .story-scroll-step { min-height: 62vh; padding: 24px 10px 24px 22px; }
  .story-step-heading { margin-bottom: 32px; }
  .story-step-heading > span { font-size: 30px; }
  .story-conclusion { display: grid; margin-top: 44px; }
  .story-network-cta { justify-content: space-between; }
  .graph-viewbar { display: grid; }
  .graph-viewbar > p { text-align: left; }
  .graph-mode-toggle { width: 100%; }
  .graph-mode-toggle button { flex: 1; padding-inline: 8px; }
  .graph-section { width: calc(100% - 16px); }
  .graph-toolbar { align-items: flex-start; }
  .graph-toolbar { flex-direction: column; }
  .graph-actions { width: 100%; }
  .graph-actions .quiet-button { flex: 1; }
  .legend { gap: 7px; }
  #relation-graph { height: 510px; }
  .search-panel { grid-template-columns: 1fr; }
  .entity-list, .dossier-grid { grid-template-columns: 1fr; }
  .dossier-block summary { grid-template-columns: 1fr; }
  .dossier-item { border-right: 0; }
  footer { display: grid; }
}

@media print {
  @page { size: A4 portrait; margin: 12mm; }
  :root { --ink: #121512; --muted: #4f554f; --paper: white; --panel: white; --line: #bdc3ba; --lime: #54761c; }
  body { background: white; color: #121512; font-size: 9.5pt; }
  .topbar, .disclaimer, main > section, footer { display: none !important; }
  main > .print-summary {
    display: block !important;
    width: auto;
    margin: 0;
    padding: 0;
  }
  .print-summary::before {
    content: "RESUMO EXECUTIVO CONSOLIDADO";
    display: block;
    margin-bottom: 8mm;
    padding: 3mm;
    border: 1px solid #826417;
    background: #fff3c9;
    color: #4d3b0e;
    font-weight: 800;
    text-align: center;
    letter-spacing: .04em;
  }
  .print-summary h2 { margin-bottom: 5mm; font-size: 24pt; }
  .print-summary > p { max-width: 170mm; font-size: 11pt; }
  .print-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3mm; margin: 8mm 0; }
  .print-kpi { padding: 4mm; border: 1px solid #bdc3ba; }
  .print-kpi strong { display: block; color: #3f5e12; font: 700 14pt Georgia, serif; }
  .print-kpi span { font-size: 8pt; }
  .print-summary > h3 { margin: 4mm 0 2mm; font: 700 11pt Georgia, serif; }
  .print-investigation { display: grid; grid-template-columns: 1fr 1fr; gap: 2mm 3mm; }
  .print-story-step { break-inside: avoid; display: grid; grid-template-columns: 1fr auto; gap: 3mm; padding: 2.2mm 3mm; border-left: 1.5mm solid #54761c; background: #f5f7f2; }
  .print-story-step strong { font-size: 8.5pt; }
  .print-story-step span { color: #4f554f; font-size: 7.5pt; text-align: right; }
  .print-summary::after {
    content: "Visão consolidada dos valores, vínculos, núcleos e etapas da rede financeira.";
    display: block;
    margin-top: 7mm;
    color: #4f554f;
    font-size: 8pt;
  }
}
