/* A4 reports and the two-page key-findings brief */
body.doc { background: var(--care80); }
.tools { position: sticky; top: 0; z-index: 30; background: #fff; border-bottom: 1px solid var(--night-line); }
.tools-in { max-width: 1100px; margin: 0 auto; padding: 0 20px; height: 58px; display: flex; align-items: center; gap: 18px; color: var(--night-ink-2); font-size: 13px; }
.tools-in a { color: var(--night-ink-2); text-decoration: none; }
.tools-in a:hover { color: var(--zest-deep); }
.tools-in .logos { display: flex; align-items: center; gap: 12px; }
.tools-in .logos img.sh { height: 26px; width: auto; }
.tools-in .logos img.ca { height: 18px; width: auto; }
.tools-in .sp { margin-inline-start: auto; }
.tools-in .btn {
  font: inherit; font-size: 13px; background: var(--russian); color: #fff; border: 0; padding: 9px 16px; cursor: pointer; font-weight: 600;
  transition: background-color .2s;
}
.tools-in .btn:hover { background: var(--zest-deep); }
.tools-in .ghost { color: var(--night-ink); padding: 7px 4px; }
.tools-in .ghost:hover { color: var(--zest-deep); }
@media screen and (max-width: 760px) { .tools-in .hide-s { display: none; } .tools-in { gap: 12px; } }

.pages { padding: 34px 16px 60px; display: grid; justify-items: center; gap: 26px; }
.page {
  width: 210mm; height: 297mm; background: #fff; position: relative; overflow: hidden;
  padding: 17mm 17mm 20mm; display: flex; flex-direction: column;
  box-shadow: 0 2px 4px rgba(168, 77, 20, .16);
}
@media screen and (max-width: 860px) {
  .pages { padding: 16px 0 40px; gap: 14px; }
  .page { width: 100%; height: auto; min-height: 0; padding: 26px 18px 54px; box-shadow: none; }
  .page .cols, .page .cols-3 { grid-template-columns: 1fr !important; }
}
@media print {
  body.doc { background: #fff; }
  .tools { display: none; }
  .pages { padding: 0; gap: 0; display: block; }
  .page { box-shadow: none; page-break-after: always; break-after: page; margin: 0; }
  .page:last-child { page-break-after: auto; }
}

/* running head + folio */
.rh { display: flex; justify-content: space-between; align-items: baseline; font-size: 9pt; color: var(--ink-3); padding-bottom: 5mm; margin-bottom: 7mm; border-bottom: 1px solid var(--line); }
.rh b { color: var(--ink); font-weight: 600; }
.folio { position: absolute; bottom: 9mm; inset-inline: 17mm; display: flex; justify-content: space-between; font-size: 8.5pt; color: var(--ink-3); }
.folio .pg { font-variant-numeric: tabular-nums; color: var(--ink); font-weight: 600; }

/* type */
.page h2 { font-size: 25pt; line-height: 1.08; margin: 0 0 4mm; }
html[dir="rtl"] .page h2 { font-size: 21pt; line-height: 1.35; font-weight: 600; }
.page h2 .ix { color: var(--zest-deep); font-style: italic; margin-inline-end: 3mm; font-weight: 400; }
html[dir="rtl"] .page h2 .ix { font-style: normal; }
.page h3 { font-size: 11pt; font-weight: 650; margin: 0 0 3mm; line-height: 1.3; }
.page p, .page li { font-size: 10pt; line-height: 1.55; color: var(--ink-2); }
html[dir="rtl"] .page p, html[dir="rtl"] .page li { font-size: 10pt; line-height: 1.8; }
.page .lede { font-size: 11.5pt; line-height: 1.55; color: var(--ink-2); max-width: 150mm; margin-bottom: 6mm; }
.page .small, .page .base { font-size: 8.5pt; color: var(--ink-3); }
.page b, .page strong { color: var(--ink); }
.cols { display: grid; grid-template-columns: 1fr 1fr; gap: 8mm; }
.cols-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6mm; }
.blk { margin-bottom: 7mm; min-width: 0; }
.grow { flex: 1; }
.page .hb { gap: 2.2mm; }
.page .hb-row { grid-template-columns: minmax(0, 44%) 1fr 15mm; gap: 3mm; font-size: 9pt; }
.page .hb-row .t { height: 3mm; }
.page .hb-row .v small { font-size: 7.5pt; }
.page .mx { font-size: 8.8pt; }
.page .mx th, .page .mx td { padding: 1.6mm 2mm; }
.page .mx th { font-size: 8pt; }

/* callouts: the chamfer again */
.fig { background: var(--wash); padding: 5mm 6mm; padding-inline-end: calc(var(--cut) + 5mm); }
.fig .n { font-family: var(--display); font-size: 30pt; line-height: 1; color: var(--ink); display: block; margin-bottom: 2mm; }
.fig .n small { font-size: .5em; color: var(--ink-3); }
.fig p { margin: 0; font-size: 9pt; line-height: 1.45; }
.fig.dark { background: var(--russian); }
.fig.dark .n { color: #fff; }
.fig.dark .n small { color: rgba(255, 255, 255, .85); }
.fig.dark p { color: rgba(255, 255, 255, .92); }
.fig.dark p b { color: #fff; }
.figs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4mm; margin-bottom: 7mm; }

/* numbered findings (key messages) */
.kf { list-style: none; margin: 0; padding: 0; display: grid; gap: 4.2mm; counter-reset: kf; }
.kf li { display: grid; grid-template-columns: 11mm 1fr; gap: 3mm; margin: 0; }
.kf li::before { counter-increment: kf; content: counter(kf, decimal-leading-zero); font-family: var(--display); font-size: 15pt; color: var(--zest-deep); line-height: 1.1; }
html[dir="rtl"] .kf li::before { font-family: var(--ar); font-weight: 600; font-size: 13pt; }
.kf li b { display: block; font-size: 10.5pt; margin-bottom: .6mm; line-height: 1.35; }
.kf li span { font-size: 9.5pt; line-height: 1.5; color: var(--ink-2); display: block; }

/* recommendations */
.recs { list-style: none; margin: 0; padding: 0; display: grid; gap: 3.6mm; }
.recs li { padding-inline-start: 7mm; position: relative; font-size: 9.8pt; line-height: 1.5; }
.recs li::before { content: ""; position: absolute; inset-inline-start: 0; top: 1.9mm; width: 3mm; height: 3mm; background: var(--zest); clip-path: polygon(0 0, 60% 0, 100% 40%, 100% 100%, 0 100%); }
.recs li b { color: var(--ink); }
.who { display: inline-block; font-size: 8pt; color: var(--ink-3); margin-inline-start: 1.5mm; }

.note { background: var(--wash); padding: 4mm 5mm; font-size: 8.8pt !important; line-height: 1.5 !important; color: var(--ink-2); }
.note b { color: var(--zest-deep); }
.tbl { width: 100%; border-collapse: collapse; font-size: 9pt; }
.tbl th, .tbl td { padding: 1.8mm 2mm; border-bottom: 1px solid var(--line); text-align: center; }
.tbl th { font-weight: 600; color: var(--ink-3); font-size: 8.3pt; }
.tbl th:first-child, .tbl td:first-child { text-align: start; }
.tbl tr.tot td { font-weight: 700; border-top: 1.5px solid var(--ink); border-bottom: 0; }
.tbl td { font-variant-numeric: tabular-nums; }

/* contents */
.toc { list-style: none; padding: 0; margin: 0; }
.toc li { display: grid; grid-template-columns: 12mm 1fr auto; align-items: baseline; padding: 3mm 0; border-bottom: 1px solid var(--line); font-size: 11pt; }
.toc li .i { font-family: var(--display); color: var(--zest-deep); font-style: italic; }
html[dir="rtl"] .toc li .i { font-family: var(--ar); font-style: normal; }
.toc a { text-decoration: none; color: var(--ink); }
.toc a:hover { color: var(--zest-deep); }
.toc .p { font-variant-numeric: tabular-nums; color: var(--ink-3); font-size: 9.5pt; }

/* cover */
.page.cover { background: var(--night); color: var(--night-ink); padding: 0; }
.cover .cv-top { display: flex; align-items: center; gap: 6mm; padding: 15mm 17mm 0; }
.cover .cv-top img.sh { height: 13mm; width: auto; }
.cover .cv-top img.ca { height: 8.5mm; width: auto; }
.cover .cv-top .x { width: 1px; height: 11mm; background: var(--night-line); }
.cover .cv-t { padding: 16mm 17mm 0; position: relative; z-index: 2; }
.cover .cv-t .k { font-size: 10.5pt; color: var(--zest-deep); margin: 0 0 5mm; }
.cover .cv-t h1 { color: var(--night-ink); font-size: 44pt; line-height: 1.02; letter-spacing: -.015em; max-width: 170mm; }
html[dir="rtl"] .cover .cv-t h1 { font-size: 36pt; line-height: 1.3; font-weight: 700; }
.cover .cv-t .sub { font-size: 13pt; color: var(--night-ink-2); margin: 6mm 0 0; max-width: 150mm; line-height: 1.45; }
.cover .cv-map { position: absolute; inset-inline: 0; bottom: 30mm; top: 118mm; }
.cover .cv-map svg { width: 100%; height: 100%; }
.cover .cv-meta { position: absolute; bottom: 0; inset-inline: 0; padding: 0 17mm 12mm; display: grid; grid-template-columns: repeat(4, 1fr); gap: 5mm; z-index: 2; }
.cover .cv-meta div { border-top: 1px solid var(--night-line); padding-top: 3mm; font-size: 8.5pt; color: var(--night-ink-2); line-height: 1.4; }
.cover .cv-meta b { display: block; color: var(--night-ink); font-size: 9.5pt; font-weight: 600; margin-bottom: .5mm; }

/* brief (2-page key findings) */
.page.brief { padding-top: 0; }
.brief .bh { background: var(--night); color: var(--night-ink); margin: 0 -17mm 8mm; padding: 11mm 17mm 9mm; }
.brief .bh .logos { display: flex; align-items: center; gap: 5mm; margin-bottom: 8mm; }
.brief .bh .logos img.sh { height: 10mm; width: auto; }
.brief .bh .logos img.ca { height: 6.5mm; width: auto; }
.brief .bh .logos .x { width: 1px; height: 8mm; background: var(--night-line); }
.brief .bh .logos span { margin-inline-start: auto; font-size: 8.5pt; color: var(--night-ink-2); }
.brief .bh h1 { color: var(--night-ink); font-size: 30pt; line-height: 1.06; }
html[dir="rtl"] .brief .bh h1 { font-size: 25pt; line-height: 1.35; font-weight: 700; }
.brief .bh h1 em { color: var(--zest); font-style: italic; font-weight: 400; }
html[dir="rtl"] .brief .bh h1 em { font-style: normal; font-weight: 700; }
.brief .bh p { color: var(--night-ink-2); font-size: 10pt; margin: 4mm 0 0; max-width: 160mm; }
.brief .sec { font-family: var(--display); font-size: 15pt; color: var(--ink); margin: 0 0 3.5mm; font-weight: 500; }
html[dir="rtl"] .brief .sec { font-family: var(--ar); font-weight: 600; font-size: 13.5pt; }
.brief .kf { gap: 3.4mm; }
.brief .kf li b { font-size: 10pt; }
.brief .kf li span { font-size: 9pt; }
.brief .figs .fig .n { font-size: 26pt; }
