/* One-page A2 portrait poster. Screen shows the sheet; print/PDF uses @page A2. Light (Carbon White) by design;
   the header band is rich black #161616 (print as C60 M40 Y40 K100; reversed type is >= 8 pt). */
@page { size: 420mm 594mm; margin: 0; } /* A2 portrait; CSS has no A2 keyword */
/* The poster is always the light (Carbon White) palette: body gets class "paper" via these rules. */
.page-poster { background: var(--p-gray-20, #e0e0e0); }
/* On screen, shrink the A2 sheet to fit the window. */
@media screen and (max-width: 1660px) { .poster { zoom: 0.8; } }
@media screen and (max-width: 1340px) { .poster { zoom: 0.6; } }
@media screen and (max-width: 1000px) { .poster { zoom: 0.42; } }
@media screen and (max-width: 700px) { .poster { zoom: 0.235; margin: 8px auto; } }
.page-poster .theme-btn { display: none !important; }
.poster { width: 420mm; height: 594mm; margin: 24px auto; padding: 16mm 20mm 12mm; background: var(--bg); color: var(--text); overflow: hidden;
  display: grid; grid-template-rows: auto auto auto auto auto auto 1fr; gap: 6mm; font-size: 15px; line-height: 1.45; box-shadow: 0 0 0 1px var(--hairline); }
.p-head { display: grid; grid-template-columns: 1fr 1.25fr; gap: 14mm; align-items: end; margin: -16mm -20mm 0; padding: 16mm 20mm 10mm; background: var(--rich-black); color: #f4f4f4; }
.p-head .eyebrow, .p-head .p-intro { color: #c6c6c6; }
.p-head h1 { color: #ffffff; }
.p-head h1::after { background: #3ddbd9 !important; }
.p-head .p-problem { background: #262626; border-color: #393939; border-left-color: var(--analyst); color: #f4f4f4; }
.p-head .p-problem .mono-label { color: #c6c6c6; display: flex; align-items: center; }
.p-head .p-problem .mono-label .icon { color: var(--analyst); }
.p-strip ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; border: 1.5px solid var(--hairline); border-radius: 12px; background: var(--surface); }
.p-strip li { margin: 0; display: grid; grid-template-columns: 56px 1fr; grid-template-rows: auto auto; column-gap: 4mm; align-items: center; padding: 5mm 6mm 5mm 9mm; position: relative; }
.p-strip li + li { border-left: 1px solid var(--hairline); }
.p-strip li + li::before { content: ""; position: absolute; left: -7px; top: 50%; width: 12px; height: 12px; margin-top: -6px; border-top: 1.5px solid var(--hairline-strong); border-right: 1.5px solid var(--hairline-strong); transform: rotate(45deg); background: var(--surface); }
.p-strip .picto { grid-row: 1 / 3; width: 56px; height: 56px; color: var(--tool); }
.p-strip li:last-child .picto { color: var(--analyst-ink); }
.p-strip .mono { font-size: 13px; color: var(--tool-text); letter-spacing: .1em; }
.p-strip span:last-child { font-weight: 600; font-size: 17px; line-height: 1.25; }
.p-h .icon { width: 24px; height: 24px; color: var(--tool); align-self: center; }
.p-head h1 { font-size: 88px; line-height: 0.95; margin: 0 0 4mm; letter-spacing: -0.03em; }
.p-head h1::after { content: ""; display: block; width: 26mm; height: 3px; background: var(--tool); margin-top: 5mm; }
.p-intro { font-size: 20px; color: var(--text-muted); margin: 0; max-width: 40ch; }
.p-problem { border: 1.5px solid var(--hairline); border-left: 4px solid var(--analyst-ink); border-radius: 12px; background: var(--surface); padding: 8mm 9mm; }
.p-problem .problem-sentence { font-size: 30px; line-height: 1.3; font-weight: 500; margin: 3mm 0 0; }
.p-h { font-size: 26px; margin: 0 0 5mm; display: flex; gap: 12px; align-items: baseline; }
.p-h .mono { font-size: 14px; color: var(--tool-text); letter-spacing: 0.1em; }
.p-flow .flow { width: 64%; margin: 0 auto; }
.p-row3 { display: grid; grid-template-columns: 1fr 1.05fr 1fr; gap: 10mm; }
.p-obj { padding-left: 1.2em; margin: 0; }
.p-obj li { margin-bottom: 3mm; }
.p-types .ptype-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8mm; }
.p-types .ptype { padding: 3mm 5mm; }
.p-types .ptype h3 { font-size: 22px; margin-bottom: 2mm; }
.p-types .ptype .eyebrow { margin-bottom: 1mm; }
.p-row3 .chips { margin-bottom: 2mm; }
.p-q .mono-label { margin: 0 0 2mm; color: var(--tool-text); }
.p-q ul { margin: 0 0 4mm; padding-left: 1.1em; }
.p-q li { margin-bottom: 1.5mm; }
.p-row2 { display: grid; grid-template-columns: 1.15fr 1fr; gap: 10mm; align-items: start; }
.p-success .table-wrap { margin: 0; }
.p-row2 .mx-wrap { margin: 0; overflow: visible; }
.p-row2 .matrix { min-width: 0; }
.p-row2 .mx-btn { min-height: 0; font-size: 14px; padding: 10px 12px; }
.p-note { font-size: 13px; color: var(--text-muted); margin: 4mm 0 0; }
.p-sc { display: grid; gap: 4mm; }
.p-sc .chart { max-width: 100%; max-height: 92mm; margin: 0 auto; }
.p-table { margin: 0; }
.p-table table { min-width: 0 !important; font-size: 13px; }
.p-table th, .p-table td { padding: 7px 10px; }
.p-foot { align-self: end; border-top: 1px solid var(--hairline); padding-top: 4mm; font-size: 11px; color: var(--text-muted); }
.p-foot p { margin: 0 0 2mm; }
.page-poster .topnav { position: static; }
@media print {
  html, body { background: #ffffff !important; }
  .page-poster { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .page-poster .topnav, .page-poster .skip { display: none !important; }
  .poster { margin: 0; box-shadow: none; }
}
.page-poster.paper { background: #e0e0e0; }
.p-types .ptype-types { font-size: 12px; margin-bottom: 2mm; }
.p-row3 .chips li { font-size: 11.5px; padding: 2px 6px; }
.p-types .ptype-tasks { font-size: 12.5px; gap: 1mm; }
.p-types .ptype-tasks > div { display: block; padding-top: 1mm; }
.p-types .ptype-tasks dt, .p-types .ptype-tasks dd { display: inline; }
.p-types .ptype-tasks dt::after { content: ": "; }
.p-row3 { align-items: start; }
.p-sub { margin: 0 0 3mm; color: var(--tool-text); }
.p-success { align-self: start; }
