 :root{
    --spruce:#16352A;
    --spruce-light:#25493B;
    --slate:#3E4A4C;
    --stone:#F4F1E9;
    --paper:#FBFAF6;
    --gold:#C08A2E;
    --gold-light:#E4B85C;
    --teal-soft: #e7efec;
    --accent: #2f5d8a;
    --white:#fff;
    --ink:#1B211C;
    --line:#D8D2C2;
    --rule: 1px solid var(--line);
    --radius: 3px;
    --serif: "Fraunces", Georgia, "Times New Roman", serif;
    --sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --mono: "IBM Plex Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  }

 /* ---------- Tables (comparison + program charts share this style) ---------- */
  .table-scroll{overflow-x:auto; margin:16px 0 28px; border:var(--rule); border-radius:var(--radius);}
  table.compare{
    width:100%; border-collapse:collapse; min-width:520px;
    font-size:14.5px; background:var(--white);
  }
  table.compare caption{
    text-align:left; font-family:var(--mono); font-size:17px; font-weight:600;
    letter-spacing:.08em; text-transform:uppercase; color:var(--slate);
    padding:14px 16px; background:var(--stone); border-bottom:var(--rule);
  }
  table.compare th, table.compare td{
    padding:13px 16px; text-align:left; border-bottom:var(--rule); vertical-align:top;
  }
  table.compare thead th{
    background:var(--spruce); color:var(--white);
    font-family:var(--sans); font-weight:600; font-size:14px;
  }
  table.compare thead th:first-child{border-top-left-radius:var(--radius);}
  table.compare tbody th{
    font-weight:600; color:var(--spruce); background:var(--white);
    white-space:nowrap; font-size:14px;
  }
  table.compare tbody tr:last-child td, table.compare tbody tr:last-child th{border-bottom:none;}
  table.compare tbody tr:hover{background:#F1EEE3;}
  td.num, th.num{font-family:var(--mono);}

table.compare tbody tr.highlight-row th,
table.compare tbody tr.highlight-row td{
  background:var(--stone);
  color:var(--ink);
  font-size:1.1875em;
  font-weight:700;
  padding-top:16px;
  padding-bottom:16px;
}
table.compare tbody tr.highlight-row th[scope="row"]{
  background:var(--stone);
  color:var(--spruce);
}

@media (max-width:768px){
    .table-scroll{overflow-x:visible; border:none;}
    table.compare{min-width:0; width:100%;}
    table.compare, table.compare caption, table.compare tbody, table.compare tr, table.compare th, table.compare td{
      display:block; width:100%;
    }
    table.compare caption{border-radius:var(--radius) var(--radius) 0 0; font-weight:700; font-size:16px;}
    table.compare thead{
      position:absolute; width:1px; height:1px; overflow:hidden;
      clip:rect(0 0 0 0); white-space:nowrap; border:0; padding:0; margin:-1px;
    }
    table.compare tbody tr{
      border:var(--rule);
      border-radius:var(--radius);
      margin:0 0 14px;
      overflow:hidden;
    }
    table.compare tbody tr:last-child{margin-bottom:0;}
    table.compare tbody th[scope="row"]{
      border-radius:0;
      white-space:normal;
      border-bottom:none;      
      font-weight:600; font-size:15px;
    }
    table.compare tbody td{
      border-bottom:1px dashed var(--line);
      padding-top:10px; padding-bottom:10px;
    }
    table.compare tbody td:last-child{border-bottom:none;}
    table.compare tbody td::before{
      content:attr(data-label);
      display:block;
      font-family:var(--mono);
      font-size:15px;
      font-weight:600;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:var(--gold);
      margin-bottom:4px;
    }
  }