/* Print / PDF — keep the narrative readable without compromising the web design. */
@page { margin: 16mm 14mm; }
:root { --section-y: 14mm; --gutter: 0; }
html, body { background: #fff !important; color: #111 !important; font-size: 10.5pt; }
.nav, .progress, .scrim, .drawer, .mapstep, .dilg, .seg, .sliders,
.fin__ctrl, #ttprompt, .phone__nav { display: none !important; }
section, header { padding-block: 10mm !important; break-inside: avoid; }
.section--ink, .section--sand, .fullbleed__ov { background: #fff !important; color: #111 !important; }
.section--ink *, .section--ink .lead, .section--ink p { color: #111 !important; }
.hero { min-height: auto !important; page-break-after: always; }
.hero__media { position: static !important; height: 62mm; }
.hero__media img { height: 62mm; object-fit: cover; }
.hero__scrim { display: none; }
.hero__inner { padding-block: 8mm !important; }
.hero__title { font-size: 42pt !important; }
.display { font-size: 22pt !important; }
.h3 { font-size: 14pt !important; }
.lead { font-size: 11.5pt !important; color: #333 !important; }
h2, h3, .stat, .kpi, .phase, .risk, figure, .chartbox { break-inside: avoid; }
.rv { opacity: 1 !important; transform: none !important; }
.stats, .kpis, .phases { display: grid !important; grid-template-columns: repeat(2, 1fr) !important;
  border: 1px solid #ddd !important; background: #ddd !important; }
.stat, .kpi, .phase { background: #fff !important; padding: 5mm !important; }
.edit-band { grid-template-columns: repeat(3, 1fr) !important; }
.edit-band img { aspect-ratio: 4/5; }
.fullbleed { height: 60mm !important; }
.fullbleed__t .display { color: #111 !important; text-shadow: none !important; }
.chart svg, .map svg, .posmap svg, .wheel svg, .graph svg { max-height: 78mm; }
.risk__p { max-height: none !important; }
.risk__in { display: block !important; }
.risk__x { display: none; }
a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 8pt; color: #666; word-break: break-all; }
.tbl { font-size: 9pt; }
.foot__legal { font-size: 8pt; }
/* Interactive-only content gets a static note in print */
#potential .kpis::before { content: none; }
.sl, .tt__bar { display: none !important; }
