/* Report pages: A4, laid out in the browser and printed to PDF. */
.rep{--ink:#111;--muted:#555;--rule:#000;--soft:#d9d9d9;--fill:#f2f2f2;--head:#d9e1f2;--head-ink:#111;--head-align:center;--heading:#111;
  --font:Arial,"Helvetica Neue",Helvetica,sans-serif;--size:9.5pt;--indent:30mm;--ml:20mm;--logo-h:14mm;
  font-family:var(--font);color:var(--ink);font-size:var(--size);line-height:1.35;
  -webkit-print-color-adjust:exact;print-color-adjust:exact} /* print fills and colours even if "Background graphics" is off */
.rep *{box-sizing:border-box}
.rep .page{width:210mm;height:297mm;background:#fff;position:relative;overflow:hidden;margin:0 auto 10mm;box-shadow:0 1px 6px rgba(0,0,0,.25);
  padding:16mm 18mm 18mm var(--ml);display:flex;flex-direction:column}
.rep .page.landscape{width:297mm;height:210mm;padding:12mm 14mm 12mm 14mm}
.rep .page.landscape table.small{font-size:7.6pt}
.rep .phead{color:var(--phead-ink,inherit);font-size:9pt;line-height:1.3;margin-bottom:6mm;display:flex;justify-content:space-between;align-items:flex-start;gap:6mm}
.rep .phead.nohdr{margin-bottom:0}
.rep .plogo{height:var(--logo-h);width:auto;max-width:70mm;object-fit:contain}
.rep .phead div{white-space:nowrap}
.rep .ptitle{font-weight:700;font-size:calc(var(--size) + 1.5pt);text-transform:uppercase;margin-bottom:4mm;letter-spacing:.02em;color:var(--heading)}
.rep .pbody{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:3.2mm}
.rep .pfoot{position:absolute;right:18mm;bottom:9mm;font-size:8.5pt}
.rep .blk{break-inside:avoid}
.rep .row2{display:grid;grid-template-columns:var(--indent) 1fr;gap:4mm}
.rep .row2>.lab{font-weight:700;text-align:right;padding-right:1mm;color:var(--heading)}
.rep .row2>.txt{text-align:justify;min-width:0}
.rep .txt p{margin:0 0 2mm}
.rep .txt p:last-child{margin-bottom:0}
.rep ul{margin:1mm 0 0;padding-left:5mm}
.rep table{border-collapse:collapse;width:100%;font-size:var(--tsize,calc(var(--size) - 1pt))}
.rep th,.rep td{border:.3mm solid var(--rule);padding:1mm 1.6mm;vertical-align:top}
.rep th,.rep th.n{background:var(--head);color:var(--head-ink);font-weight:700;text-align:var(--head-align);vertical-align:middle}
.rep td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.rep td.c{text-align:center}
.rep tr.tot td{font-weight:700;background:var(--fill)}
.rep tr.sub td{font-weight:700}
.rep tr.grp td{font-weight:700;background:#eef1f6}
.rep tr.ind td:first-child{padding-left:5mm}
.rep .tblwrap{margin-left:calc(var(--indent) + 4mm)}
.rep .tblwrap.full{margin-left:0}
.rep .small,.rep table.small{font-size:var(--tsize-s,calc(var(--size) - 2pt))}
.rep .note{font-size:8pt;color:var(--muted)}
.rep .num{display:inline-block;width:6mm}
/* letter */
.rep .letter .lh{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12mm}
.rep .letter .brand{font-size:20pt;font-weight:700;letter-spacing:-.02em;text-transform:lowercase}
.rep .letter .addr{font-size:8.5pt;line-height:1.4;text-align:left}
.rep .letter .lbody{display:flex;flex-direction:column;gap:3.5mm;font-size:10pt}
.rep .letter .lbody p{margin:0;text-align:justify}
.rep .letter table{width:70%;font-size:9.5pt}
/* cover & fly-sheets */
.rep .cover .ctitle,.rep .fly .ctitle{margin:auto 0;text-align:center;font-size:18pt;font-weight:700;line-height:1.5}
.rep .cover .ctitle small{display:block;font-size:12pt;font-weight:400}
.rep .cover .cfoot{text-align:center;font-size:10pt}
.rep .fly .ctitle{font-size:20pt}
/* contents */
.rep .toc{width:100%;font-size:10.5pt;border:0}
.rep .toc td{border:0;padding:2mm 0}
/* charts */
.rep .chart{width:100%;height:auto;display:block}
.rep .chart text{font-family:Arial,sans-serif;font-size:7.5px;fill:#222}
/* photos */
.rep .photos{display:grid;grid-template-columns:1fr;gap:5mm}
.rep .photo{display:grid;grid-template-columns:1fr 50mm;gap:5mm;align-items:start}
.rep .photo img{width:100%;height:95mm;object-fit:cover;border:.3mm solid #999;background:#eee}
.rep .photo .ph-missing{height:95mm;border:.3mm dashed #999;display:grid;place-items:center;color:#888;font-size:9pt}
/* appendix slot (replaced by the uploaded PDF when the final report is assembled) */
.rep .slot{margin:auto;text-align:center;border:.6mm dashed #888;padding:14mm;color:#444;font-size:11pt;width:80%}
.rep .slot a{color:inherit;text-decoration:none;display:block}
.rep .wide{transform-origin:top left}
@media print{
  @page{size:A4;margin:0}
  @page land{size:A4 landscape;margin:0}
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  body>*:not(#printroot){display:none!important}
  #printroot{display:block!important}
  .rep .page{margin:0;box-shadow:none;break-after:page}
  .rep .page.landscape{page:land}
  .rep .page:last-child{break-after:auto}
}
/* ===== Modern look (Firm details → Report look) ===== */
.rep .pf-l{display:none}
.rep.modern{--accent:#002060;--line:#cfd6e0;--zebra:#f5f7fa;--lab:#5b6573}
.rep.modern .phead{font-size:8pt;color:#6b7480;padding-bottom:2.5mm;border-bottom:.25mm solid var(--line);margin-bottom:7mm;align-items:center}
.rep.modern .phead.nohdr{border-bottom:0}
.rep.modern .ptitle{color:var(--accent);font-size:calc(var(--size) + 4pt);text-transform:none;letter-spacing:0;padding-bottom:2mm;border-bottom:.6mm solid var(--accent);margin-bottom:6mm}
.rep.modern .row2>.lab{color:var(--lab);font-weight:600;font-size:calc(var(--size) - .5pt);padding-top:.3mm}
.rep.modern .pbody{gap:3.6mm}
.rep.modern table{border-collapse:collapse}
.rep.modern th,.rep.modern td{border:0;border-bottom:.2mm solid var(--line);padding:1.4mm 2mm}
.rep.modern th,.rep.modern th.n{border-bottom:0;padding:1.8mm 2mm;font-weight:600}
.rep.modern tbody tr:nth-child(even) td{background:var(--zebra)}
.rep.modern tr.tot td{background:none!important;border-top:.45mm solid var(--accent);border-bottom:.45mm solid var(--accent);color:var(--accent)}
.rep.modern tr.sub td{background:none!important;border-top:.25mm solid #9aa3ae}
.rep.modern tr.grp td{background:#e9eef5!important;color:var(--accent)}
.rep.modern td.n{font-variant-numeric:tabular-nums}
.rep.modern .pfoot{left:var(--ml);right:18mm;display:flex;justify-content:space-between;border-top:.25mm solid var(--line);padding-top:2mm;color:#6b7480;font-size:7.8pt}
.rep.modern .page.landscape .pfoot{left:14mm;right:14mm}
.rep.modern .pf-l{display:inline}
/* key figures */
.rep.modern .kf{display:grid;grid-template-columns:repeat(3,1fr);gap:3mm;margin-bottom:2mm}
.rep.modern .kf-t{border:.25mm solid var(--line);border-top:1.2mm solid var(--accent);border-radius:1mm;padding:2.6mm 3mm;display:flex;flex-direction:column;gap:.6mm;background:#fff}
.rep.modern .kf-l{font-size:7.5pt;text-transform:uppercase;letter-spacing:.05em;color:#6b7480;font-weight:600}
.rep.modern .kf-v{font-size:14pt;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.15}
.rep.modern .kf-s{font-size:7.5pt;color:#6b7480}
/* cover */
.rep.modern .page.mcover-page{padding:0}
.rep.modern .mcover-page .pbody{gap:0}
.rep.modern .mc{display:flex;flex-direction:column;height:100%}
.rep.modern .mc-top{padding:18mm 20mm 0;height:52mm;display:flex;align-items:flex-start}
.rep.modern .mc-top .plogo{height:calc(var(--logo-h) * 1.5);max-width:90mm}
.rep.modern .mc-brand{font-size:20pt;font-weight:700;color:var(--accent);letter-spacing:-.01em}
.rep.modern .mc-band{background:var(--accent);color:#fff;position:relative;min-height:110mm;display:flex;align-items:flex-end;overflow:hidden}
.rep.modern .mc-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.rep.modern .mc-txt{position:relative;padding:0 20mm 16mm}
.rep.modern .mc-kicker{font-size:11pt;letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin-bottom:4mm}
.rep.modern .mc-title{font-size:26pt;font-weight:700;line-height:1.15;max-width:160mm}
.rep.modern .mc-sub{font-size:12pt;margin-top:5mm;opacity:.9}
.rep.modern .mc-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:7mm 10mm;padding:16mm 20mm 0}
.rep.modern .mc-meta span{display:block;font-size:8pt;text-transform:uppercase;letter-spacing:.08em;color:#6b7480;margin-bottom:1mm}
.rep.modern .mc-meta b{font-size:12pt;color:#1b2330;font-weight:600}
.rep.modern .mc-foot{margin-top:auto;padding:0 20mm 14mm;font-size:8pt;color:#6b7480;border-top:0}
/* fly-sheets and contents to match */
.rep.modern .fly .ctitle{text-align:left;color:var(--accent);font-size:22pt;border-left:2mm solid var(--accent);padding-left:8mm;margin:auto 0}
.rep.modern .toc td{border-bottom:.2mm solid var(--line)}
.rep.modern .page.landscape th,.rep.modern .page.landscape td{padding:.8mm 1.5mm}
.rep.modern table.small td{padding-top:1mm;padding-bottom:1mm}

/* boxed statement (current recommendation) */
.rep .callout{border:.45mm solid var(--accent,#002060);border-radius:1mm;padding:2.4mm 3mm 2.4mm 0;display:flex;flex-direction:column;gap:2mm}
.rep .callout .row2>.txt p:last-child{margin-bottom:0}
/* photo layouts */
.rep .phrow{display:grid;gap:5mm;justify-content:center}
.rep .phrow.c1{grid-template-columns:min(150mm,100%)}
.rep .phrow.c2{grid-template-columns:repeat(2,1fr)}
.rep .phrow.c3{grid-template-columns:repeat(3,1fr)}
.rep .ph{margin:0;display:flex;flex-direction:column;min-height:0;height:100%}
.rep .ph img,.rep .ph .ph-missing{flex:none;width:100%;aspect-ratio:4/3;height:auto;max-height:calc(100% - 13mm);object-fit:cover;border:.3mm solid #999;background:#eee}
.rep .ph .ph-missing{border-style:dashed;display:grid;place-items:center;color:#888;font-size:9pt}
.rep .ph figcaption{font-size:calc(var(--size) - .5pt);padding-top:1.6mm;line-height:1.3;max-height:13mm;overflow:hidden}
.rep .phrow.c3 .ph figcaption{font-size:calc(var(--size) - 1.5pt)}

/* bold inside an already-bold cell stays the same weight (otherwise it renders extra-heavy) */
.rep b,.rep strong{font-weight:700}
