:root{
  --navy:#1F3864; --navy-d:#16294A; --teal:#2E86AB; --teal-d:#22688A; --teal-l:#EAF4F8;
  --blue:#2E74B5; --fill:#EEF3F8; --fill2:#F5F7FA; --ink:#1A1A1A; --text:#1A1A1A;
  --gray:#595959; --lgray:#64707F; --line:#C9D4E4; --amber:#C55A11; --red:#B23A48;
  --green:#1E8A5A; --dgreen:#146E46; --white:#FFFFFF; --yellow:#FFECB3;
  --lightred:#FADBE0; --sand:#FDF6E3; --sandline:#E0C98A;
}
  *{box-sizing:border-box;}
  html{-webkit-print-color-adjust:exact; print-color-adjust:exact;}
  body{font-family:"Segoe UI",Segoe UI,Calibri,Arial,sans-serif;color:var(--text);font-size:10.5pt;line-height:1.5;margin:0;background:#fff;}
  .sheet{max-width:860px;margin:0 auto;padding:28px 20px;}
  @page{size:A4;margin:16mm 14mm;}
  @media print{.sheet{max-width:none;padding:0;}.pb{page-break-before:always;}figure,table{page-break-inside:avoid;}.nobreak{page-break-inside:avoid;}}
  h1{font-size:16pt;color:var(--navy);border-bottom:2px solid var(--blue);padding-bottom:4px;margin:26px 0 10px;}
  h2{font-size:12.5pt;color:var(--blue);margin:16px 0 6px;}
  p{margin:6px 0;}
  .lead{font-size:11pt;}
  .small{font-size:9pt;color:var(--lgray);}
  .cap{font-size:8.8pt;color:var(--lgray);font-style:italic;text-align:center;margin:6px 0 16px;}
  table{border-collapse:collapse;width:100%;margin:8px 0;}
  th,td{border:1px solid #c8c8d0;padding:6px 8px;font-size:9.3pt;vertical-align:top;text-align:left;}
  th{background:var(--navy);color:#fff;font-weight:600;}
  tr:nth-child(even) td{background:var(--fill);}
  td.k{background:var(--fill);font-weight:600;color:var(--navy);width:26%;}
  ul{margin:6px 0 6px 18px;padding:0;}
  li{margin:4px 0;}
  .cover{padding-top:70px;}
  .kicker{color:var(--blue);font-weight:700;letter-spacing:2px;font-size:10pt;margin-bottom:26px;}
  .band{background:var(--navy);color:#fff;padding:34px 34px 26px;border-radius:6px;}
  .band h1.title{color:#fff;border:none;font-size:25pt;line-height:1.15;margin:0 0 10px;}
  .band .sub{color:#d5e0f0;font-size:13.5pt;font-weight:600;margin:0 0 10px;}
  .band .tag{color:#b8c7e0;font-style:italic;font-size:10.5pt;margin:0;}
  .meta{margin-top:22px;width:100%;}
  .meta td{background:#fff;border:1px solid #c8c8d0;padding:8px 10px;font-size:9.5pt;}
  .meta td.k{background:var(--fill);width:26%;}
  .cards{display:flex;gap:14px;margin:12px 0;}
  .card{flex:1;border:1.5px solid var(--line);border-radius:10px;background:var(--fill2);padding:14px 16px;}
  .card h3{margin:0 0 8px;font-size:12pt;}
  .card.before h3{color:var(--red);}
  .card.after h3{color:var(--dgreen);}
  .card ul{margin:0 0 0 16px;}
  .card .note{font-size:8.6pt;color:var(--lgray);margin-top:8px;}
  .chip{display:inline-block;background:var(--navy);color:#fff;font-size:8.5pt;font-weight:700;letter-spacing:.5px;padding:3px 10px;border-radius:12px;}
  .chip.amber{background:var(--amber);} .chip.green{background:var(--dgreen);} .chip.blue{background:var(--blue);} .chip.gray{background:var(--gray);}
  .figbox{border:1px solid var(--line);border-radius:10px;padding:16px;margin:12px 0 0;background:var(--fill2);}
  .badges{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;}
  .svgwrap svg{width:100%;height:auto;display:block;}
  .grid td,.grid th{padding:5px 7px;font-size:8.8pt;text-align:left;}
  .grid .mono{font-family:Consolas,"Courier New",monospace;font-size:8.2pt;}
  .grid th.tin{font-size:8.2pt;}
  .mail{background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:16px 18px;font-size:9.6pt;}
  .mail .hd{border-bottom:1px solid #d8dfe7;padding-bottom:8px;margin-bottom:10px;}
  .mail .hd div{margin:2px 0;}
  .var{background:#e8f1fb;border:1px dashed var(--blue);border-radius:4px;padding:0 4px;color:var(--navy);font-weight:600;}
  .note{border-left:3px solid var(--blue);background:var(--fill2);padding:9px 13px;font-size:9.4pt;color:var(--gray);margin:10px 0;}
  .note.amber{border-left-color:var(--amber);background:var(--sand);}
  .note.green{border-left-color:var(--dgreen);background:#eef7f1;}
  .skills td{font-size:9.1pt;}
  .skills td.c{font-weight:600;color:var(--navy);}
  .legend{font-size:8.6pt;color:var(--lgray);margin:6px 0 0;}
  .twocol{display:flex;gap:16px;}
  .twocol > div{flex:1;}
  .btn{display:inline-block;background:var(--dgreen);color:#fff;font-size:8.6pt;font-weight:700;letter-spacing:.4px;padding:5px 12px;border-radius:5px;}
  .lbl{font-size:8.4pt;font-weight:700;color:var(--navy);letter-spacing:.4px;text-transform:uppercase;margin:0 0 5px;}
  .foot{margin-top:26px;border-top:1px solid #d8dfe7;padding-top:10px;font-size:8.6pt;color:var(--lgray);}
  .toc{background:var(--fill2);border:1px solid var(--line);border-radius:10px;padding:12px 18px;margin:10px 0 4px;}
  .toc ul{margin:0 0 0 16px;} .toc li{margin:2px 0;font-size:9.3pt;}

/* --- Web heading hierarchy -------------------------------------------
   The source report used <h1> for every section heading. For the website the
   headings were demoted one level so each page has a single <h1> (the cover
   title). These classes reproduce the original visual styles exactly.       */
.h1-like{font-size:16pt;color:var(--navy);border-bottom:2px solid var(--blue);padding-bottom:4px;margin:26px 0 10px;break-after:avoid}
.h2-like{font-size:12.5pt;color:var(--blue);margin:16px 0 6px;break-after:avoid}
.h3-like{font-size:11pt;color:var(--navy);margin:12px 0 4px;break-after:avoid}


/* heading-rule equivalents (source selectors after one-level demotion) */
.card .h3-like{margin:0 0 8px;font-size:12pt;}
.card.before .h3-like{color:var(--red);}
.card.after .h3-like{color:var(--dgreen);}
