: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:820px;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;}.avoid{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 */
  .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 */
  .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;}
  .arrowmid{align-self:center;font-size:22pt;color:var(--blue);font-weight:700;}
  .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);}
  .figbox{border:1px solid var(--line);border-radius:10px;padding:16px;margin:10px 0 0;background:var(--fill2);}
  /* hangout mockup */
  .chat{background:var(--fill2);border:1.5px solid var(--line);border-radius:12px;padding:18px 22px;}
  .chat .hi{font-weight:600;font-size:10.5pt;}
  .chat h4{color:var(--navy);text-align:center;margin:10px 0 6px;font-size:12pt;}
  .chat table{font-size:8.6pt;}
  .chat td,.chat th{padding:3px 6px;}
  .chat .q{background:var(--fill);font-weight:700;color:var(--navy);text-align:left;}
  .chat .t td{background:var(--fill);font-weight:700;color:var(--navy);}
  .chat .link{margin-top:10px;background:var(--fill);border:1px solid var(--line);border-radius:6px;padding:6px 12px;color:var(--blue);font-weight:600;font-size:9.5pt;display:inline-block;}
  /* sheet mockup */
  .grid td,.grid th{padding:5px 8px;font-size:9pt;text-align:center;white-space:nowrap;}
  .grid .barcode{font-weight:700;}
  tr.warn td{background:var(--yellow);}
  tr.warn td.barcode{color:var(--amber);}
  tr.over td{background:var(--lightred);}
  tr.over td.barcode{color:var(--red);}
  .hnote{border-left:3px solid var(--lgray);background:var(--fill2);padding:8px 12px;font-size:9pt;color:var(--gray);margin:8px 0;}
  .legend{display:flex;gap:16px;margin:8px 0;}
  .sw{display:inline-block;width:34px;height:16px;border:1px solid #c8c8d0;vertical-align:middle;margin-right:6px;}
  .sw.y{background:var(--yellow);} .sw.r{background:var(--lightred);}
  .badges{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;}
  .svgwrap svg{width:100%;height:auto;display:block;}
  .skills td{font-size:9pt;}
  .skills td.c{font-weight:600;color:var(--navy);}
  .nobreak{page-break-inside:avoid;}

/* --- 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);}
