
  :root{
    --fs-body: 21px;        /* body text: 20-22px */
    --fs-h1: 34px;
    --fs-h2: 28px;          /* H2: 28px */
    --fs-h3: 22px;
    --fs-table: 20px;
    --c-text: #1f2328;
    --c-muted: #57606a;
    --c-line: #d8dee4;
    --c-accent: #0b5fff;
    --c-thead: #f3f5f7;
    --c-zebra: #fafbfc;
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;}
  body{
    margin:0;
    padding:48px 24px 96px;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    font-size:var(--fs-body);
    line-height:1.7;
    color:var(--c-text);
    background:#fff;
  }
  .wrap{max-width:960px;margin:0 auto;}

  h1{
    font-size:var(--fs-h1);
    line-height:1.25;
    font-weight:700;
    margin:0 0 24px;
    letter-spacing:-.01em;
  }
  h2{
    font-size:var(--fs-h2);
    line-height:1.3;
    font-weight:700;
    margin:56px 0 20px;
    padding-bottom:10px;
    border-bottom:2px solid var(--c-line);
    letter-spacing:-.005em;
  }
  h3{
    font-size:var(--fs-h3);
    line-height:1.4;
    font-weight:600;
    margin:32px 0 12px;
  }

  p{font-size:var(--fs-body);margin:0 0 20px;}
  ul{font-size:var(--fs-body);margin:0 0 20px;padding-left:1.4em;}
  li{margin:0 0 10px;}
  strong{font-weight:600;}

  .lede{
    font-size:22px;
    line-height:1.65;
    color:#2b3138;
    background:var(--c-zebra);
    border-left:4px solid var(--c-accent);
    padding:20px 24px;
    margin:0 0 40px;
    border-radius:0 6px 6px 0;
  }

  .table-scroll{overflow-x:auto;margin:0 0 28px;-webkit-overflow-scrolling:touch;}
  table{
    width:100%;
    border-collapse:collapse;
    font-size:var(--fs-table);
    line-height:1.6;
    min-width:640px;
  }
  th,td{
    border:1px solid var(--c-line);
    padding:14px 16px;
    text-align:left;
    vertical-align:top;
  }
  th{background:var(--c-thead);font-weight:600;}
  tbody tr:nth-child(even){background:var(--c-zebra);}
  td.num{width:56px;text-align:center;font-weight:600;color:var(--c-muted);}

  .note{
    font-size:var(--fs-body);
    color:var(--c-muted);
    border-left:3px solid var(--c-line);
    padding:4px 0 4px 18px;
    margin:0 0 28px;
  }

  .cta{
    margin:56px 0 0;
    padding:28px 30px;
    background:var(--c-zebra);
    border:1px solid var(--c-line);
    border-radius:8px;
  }
  .cta p{margin:0 0 14px;}
  .cta p:last-child{margin:0;}
  .cta a{color:var(--c-accent);text-decoration:none;font-weight:600;}
  .cta a:hover{text-decoration:underline;}

  .faq-q{
    font-size:22px;
    font-weight:600;
    line-height:1.45;
    margin:32px 0 10px;
  }
  .faq-a{margin:0 0 8px;}

  @media (max-width:640px){
    :root{
      --fs-body:20px;
      --fs-h1:28px;
      --fs-h2:28px;
      --fs-h3:21px;
      --fs-table:20px;
    }
    body{padding:32px 16px 72px;}
    .lede{font-size:20px;padding:16px 18px;}
    .faq-q{font-size:21px;}
  }

  @media print{
    body{padding:0;font-size:11pt;}
    h2{font-size:15pt;page-break-after:avoid;}
    table{page-break-inside:avoid;}
    .cta{page-break-inside:avoid;}
  }
