:root {
        --bg: #eef1f5;
        --panel: #ffffff;
        --ink: #111827;
        --muted: #425166;
        --line: #c8d0da;
        --red: #9f1d24;
        --blue: #123f73;
        --gold: #d6b25e;
      }

      * {
        box-sizing: border-box;
      }

      html {
        scroll-behavior: smooth;
      }

      body {
        margin: 0;
        background: var(--bg);
        color: var(--ink);
        font-family:
          Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
          "Segoe UI", sans-serif;
      }

      .site-header {
        border-bottom: 1px solid var(--line);
        background: #f9fafb;
      }

      .wrap {
        width: min(100%, 1400px);
        margin: 0 auto;
        padding: 32px 24px;
      }

      .hero-shell {
        padding-bottom: 24px;
      }

      .dossier-label {
        margin-bottom: 16px;
      }

      .hero {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px;
        align-items: start;
      }

      .featured-media {
        grid-column: 2;
        grid-row: 1;
        align-self: start;
        width: 100%;
        justify-self: stretch;
        overflow: hidden;
        border: 1px solid #1d2939;
        border-radius: 8px;
        background: #05070a;
        box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16);
      }

      .featured-media video {
        display: block;
        width: 100%;
        aspect-ratio: 1290 / 746;
        background: #05070a;
        object-fit: contain;
      }

      .hero-copy {
        display: flex;
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
        flex-direction: column;
      }

      .eyebrow {
        margin: 0;
        color: var(--red);
        font-size: 13px;
        font-weight: 900;
        text-transform: uppercase;
      }

      h1,
      h2,
      h3,
      p {
        margin-top: 0;
      }

      h1 {
        max-width: 680px;
        margin-bottom: 16px;
        font-size: clamp(38px, 4vw, 58px);
        line-height: 1.04;
        letter-spacing: 0;
      }

      .dek {
        max-width: 680px;
        margin-bottom: 0;
        color: var(--muted);
        font-size: 17px;
        font-weight: 650;
        line-height: 1.45;
      }

      .key-box {
        width: 100%;
        min-height: 0;
        margin-top: 24px;
        border: 1px solid #1d2939;
        border-radius: 8px;
        background: #111827;
        color: white;
        padding: 20px;
      }

      .key-box .eyebrow {
        color: var(--gold);
        font-size: 13px;
      }

      .key-box-grid {
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
        gap: 28px;
        align-items: center;
        margin-top: 12px;
      }

      .key-box h2,
      .key-box h3 {
        margin: 0 0 12px;
        font-size: 29px;
        line-height: 1.12;
      }

      .key-box-grid p {
        margin-bottom: 0;
        color: #d5dce7;
        font-size: 15px;
        font-weight: 650;
        line-height: 1.45;
      }

      .video-question {
        display: flex;
        min-height: 100%;
        align-items: center;
        border-left: 1px solid #344054;
        padding-left: 28px;
      }

      .video-question h3 {
        margin-bottom: 0;
      }

      .tabs {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding-top: 0;
        padding-bottom: 24px;
      }

      .tabs a {
        flex: 0 0 auto;
        border: 2px solid var(--line);
        border-radius: 8px;
        background: white;
        color: var(--ink);
        padding: 9px 14px;
        font-size: 13px;
        font-weight: 900;
        text-decoration: none;
        text-transform: uppercase;
      }

      .tabs a:hover,
      .tabs a:focus {
        border-color: var(--ink);
        background: var(--ink);
        color: white;
      }

      main.wrap {
        padding-top: 32px;
      }

      .section {
        scroll-margin-top: 20px;
        margin-bottom: 36px;
      }

      .panel,
      .card {
        border: 1px solid var(--line);
        border-radius: 8px;
        background: var(--panel);
        box-shadow: 0 12px 35px rgba(15, 23, 42, 0.06);
      }

      .panel {
        padding: 28px;
      }

      .card {
        padding: 22px;
      }

      .overview {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 360px;
        gap: 24px;
      }

      .headline {
        max-width: 920px;
        margin: 10px 0 20px;
        font-size: clamp(31px, 4vw, 46px);
        line-height: 1.16;
      }

      .section-title {
        margin-bottom: 16px;
      }

      .body {
        color: var(--muted);
        font-size: 18px;
        font-weight: 650;
        line-height: 1.65;
      }

      .grid {
        display: grid;
        gap: 16px;
      }

      .two {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .four {
        grid-template-columns: repeat(4, minmax(0, 1fr));
      }

      .five {
        grid-template-columns: repeat(5, minmax(0, 1fr));
      }

      .source-links {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 18px;
      }

      .source-links a,
      .source-list a {
        border: 1px solid var(--line);
        border-radius: 8px;
        background: white;
        color: var(--blue);
        font-size: 14px;
        font-weight: 850;
        text-decoration: none;
      }

      .source-links a {
        padding: 10px 12px;
      }

      .source-list {
        display: grid;
        gap: 10px;
        margin-top: 20px;
      }

      .source-list a {
        padding: 16px;
      }

      .source-links a:hover,
      .source-list a:hover {
        border-color: var(--ink);
        text-decoration: underline;
        text-underline-offset: 4px;
      }

      .label-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
      }

      .small-label {
        margin-bottom: 0;
        color: #667085;
        font-size: 13px;
        font-weight: 900;
        text-transform: uppercase;
      }

      .rating {
        display: inline-flex;
        align-items: center;
        border: 1px solid;
        border-radius: 7px;
        padding: 6px 8px;
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
      }

      .rating-a {
        border-color: #91b6a8;
        background: #eaf4ef;
        color: #0d4f3d;
      }

      .rating-b {
        border-color: #94acc8;
        background: #edf3fb;
        color: #123f73;
      }

      .rating-c {
        border-color: #c9a66c;
        background: #fbf2df;
        color: #68400a;
      }

      .rating-d {
        border-color: #b79abf;
        background: #f4edf6;
        color: #5b2d68;
      }

      .card h3 {
        margin: 16px 0 10px;
        font-size: 25px;
        line-height: 1.2;
      }

      .card p {
        margin-bottom: 0;
        color: var(--muted);
        font-size: 16px;
        font-weight: 650;
        line-height: 1.5;
      }

      .claim-short {
        color: var(--blue) !important;
        font-size: 18px !important;
        font-weight: 900 !important;
      }

      .statute-grid {
        display: grid;
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        gap: 28px;
        align-items: start;
      }

      .statute-text {
        border-left: 4px solid var(--blue);
        padding-left: 18px;
      }

      .statute-text h3,
      .question-block h3 {
        margin-bottom: 12px;
        font-size: 24px;
        line-height: 1.2;
      }

      .statute-text p {
        margin-bottom: 14px;
        color: var(--muted);
        font-size: 16px;
        font-weight: 650;
        line-height: 1.55;
      }

      .question-list {
        margin: 0;
        padding-left: 22px;
        color: var(--ink);
      }

      .question-list li {
        margin-bottom: 12px;
        padding-left: 4px;
        font-size: 17px;
        font-weight: 750;
        line-height: 1.45;
      }

      .record-sequence {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1px;
        overflow: hidden;
        border: 1px solid var(--line);
        border-radius: 8px;
        background: var(--line);
      }

      .record-step {
        min-width: 0;
        background: var(--panel);
        padding: 22px;
      }

      .record-step h3 {
        margin: 12px 0 10px;
        font-size: 22px;
        line-height: 1.25;
      }

      .record-step p {
        margin-bottom: 0;
        color: var(--muted);
        font-size: 15px;
        font-weight: 650;
        line-height: 1.5;
      }

      .summary-questions {
        margin-top: 26px;
      }

      .summary-questions h3 {
        max-width: 760px;
        margin: 0 0 18px;
        font-size: 23px;
        line-height: 1.2;
      }

      .summary-questions .question-list {
        max-width: 820px;
      }

      .summary-sources {
        margin-top: 22px;
      }

      .post-archive {
        margin-top: 16px;
        border-top: 1px solid var(--line);
        padding-top: 16px;
      }

      .post-archive summary {
        cursor: pointer;
        color: var(--blue);
        font-size: 16px;
        font-weight: 900;
      }

      .archive-groups {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
        margin-top: 20px;
      }

      .archive-group h3 {
        margin-bottom: 10px;
        font-size: 19px;
      }

      .archive-links {
        display: grid;
        gap: 8px;
      }

      .archive-item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 5px 12px;
        border: 1px solid var(--line);
        border-radius: 7px;
        background: #f8fafc;
        padding: 10px 12px;
      }

      .archive-item.work-hours {
        border-color: #c99c37;
        background: #fff8e6;
        box-shadow: inset 4px 0 0 var(--gold);
        padding-left: 16px;
      }

      .archive-links a {
        color: var(--blue);
        font-size: 14px;
        font-weight: 750;
        line-height: 1.35;
        overflow-wrap: anywhere;
      }

      .archive-copy {
        text-align: right;
      }

      .post-time {
        grid-column: 1 / -1;
        color: #68400a;
        font-size: 12px;
        font-weight: 850;
        line-height: 1.4;
      }

      .work-hours-summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        margin-top: 20px;
        border: 1px solid #c99c37;
        border-radius: 8px;
        background: #fff8e6;
        padding: 16px 18px;
      }

      .work-hours-summary strong {
        color: #68400a;
        font-size: 18px;
      }

      .work-hours-summary span {
        color: var(--muted);
        font-size: 13px;
        font-weight: 750;
        line-height: 1.4;
      }

      .year {
        display: inline-flex;
        border-radius: 8px;
        background: var(--ink);
        color: white;
        padding: 9px 12px;
        font-size: 14px;
        font-weight: 900;
      }

      .media-links {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin: 16px 0;
      }

      .media-links a {
        border: 2px solid var(--line);
        border-radius: 8px;
        background: white;
        color: var(--ink);
        padding: 9px 14px;
        font-size: 13px;
        font-weight: 900;
        text-decoration: none;
        text-transform: uppercase;
      }

      .image-card img,
      .media-stage img {
        display: block;
        width: 100%;
        border: 1px solid var(--line);
        border-radius: 8px;
      }

      .image-card img {
        margin-top: 16px;
      }

      @media (max-width: 900px) {
        .hero,
        .overview,
        .two,
        .four,
        .five,
        .statute-grid,
        .record-sequence,
        .archive-groups {
          grid-template-columns: 1fr;
        }

        .wrap {
          padding: 24px 16px;
        }

        .hero-shell {
          padding-bottom: 20px;
        }

        .hero-copy {
          grid-column: 1;
          grid-row: 1;
        }

        .featured-media {
          grid-column: 1;
          grid-row: 2;
          width: 100%;
          justify-self: stretch;
        }

        .hero-copy h1 {
          max-width: none;
          margin-top: 2px;
          font-size: clamp(36px, 9vw, 52px);
        }

        .hero-copy .dek {
          max-width: none;
        }

        .key-box {
          margin-top: 20px;
        }

        .key-box-grid {
          grid-template-columns: 1fr;
          gap: 20px;
        }

        .video-question {
          border-top: 1px solid #344054;
          border-left: 0;
          padding-top: 20px;
          padding-left: 0;
        }

        .work-hours-summary {
          align-items: flex-start;
          flex-direction: column;
        }

        .tabs {
          padding-top: 0;
          padding-bottom: 20px;
        }
      }

.tabs a.active {
  border-color: var(--ink);
  background: var(--ink);
  color: white;
}
