/* The SitePage kit: section styles for page 46 (/illinois/chapter-7-bankruptcy/) and the 2026-10
   redesigned pages. Each of those bodies links it on its FIRST line:

       <link rel="stylesheet" href="[[asset href="/page-kit.css"]]">

   Not in style.css on purpose: style.css loads async (preload + css-async.js), so the sections would
   paint unstyled first. A stylesheet link in the body holds back the content after it until it has
   loaded. [[asset]] adds the ?v= content hash, so browsers keep the file for a year and a deploy that
   changes it changes the URL. Maintained with .claude/skills/sitepage-from-design (kit/components.md).
   Everything up to "2026-10 designs" is page 46's Head HTML kit, verbatim. */


    :root {
        --ds-navy: #0E2A6B;
        --ds-navy-deep: #0A1F50;
        --ds-navy-tint: #E8EDF7;
        --ds-red: #D7222A;
        --ds-red-deep: #B81920;
        --ds-red-tint: #FCEBEC;
        --ds-paper: #FAFBFD;
        --ds-mist: #F1F4F9;
        --ds-line: #DCE2EC;
        --ds-line-strong: #B7C0D1;
        --ds-mute: #6A7588;
        --ds-ink: #1B2333;
        --ds-ink-deep: #0B0F1A;
        --ds-success: #1F8A4C;
        --ds-success-bg: #E6F4EC;
        --shadow-xs: 0 1px 2px rgba(11,15,26,.06);
        --shadow-sm: 0 2px 4px rgba(11,15,26,.08),0 1px 2px rgba(11,15,26,.04);
        --shadow-md: 0 6px 16px rgba(11,15,26,.10),0 2px 4px rgba(11,15,26,.06);
        --shadow-lg: 0 16px 36px rgba(11,15,26,.14),0 4px 8px rgba(11,15,26,.06);
        --shadow-cta: 0 6px 18px rgba(215,34,42,.30);
    }

    .section, .final-cta {
        color: var(--ds-ink);
        font-family: "Rubik Regular", sans-serif;
        font-size: 16px;
        line-height: 1.5;
    }
    .section, .section *, .section *::before, .section *::after,
    .final-cta, .final-cta *, .final-cta *::before, .final-cta *::after { box-sizing: border-box; }


    .section, .final-cta { margin-bottom: 0; }
    .section > .container_center, .final-cta > .container_center { margin-bottom: 0; }


    .final-cta { margin-bottom: 100px; }


    :where(.section, .final-cta) h1, :where(.section, .final-cta) h2,
    :where(.section, .final-cta) h3, :where(.section, .final-cta) h4 {
        font-family: "Rubik Medium", sans-serif;
        font-weight: 700;
        color: var(--ds-ink-deep);
        line-height: 1.15;
        letter-spacing: -.02em;
    }
    :where(.section, .final-cta) a { color: var(--ds-navy); text-decoration: none; }
    :where(.section, .final-cta) a:hover { color: var(--ds-red); }
    :where(.section, .final-cta) strong { font-family: "Rubik Medium", sans-serif; font-weight: 700; }

    .ds-hero--sub { padding-top: 40px; margin-bottom: 0; }
    @media (max-width:900px) { .ds-hero--sub { padding-top: 28px; } }

    .ds-hero__call--red { background: var(--ds-red); box-shadow: var(--shadow-cta); }
    .ds-hero__call--red:hover { background: var(--ds-red-deep); color: #fff; }
    @media (max-width:600px) {
        .ds-hero__call--red.ds-hero__call--mob { background: var(--ds-red); color: #fff; border-color: var(--ds-red); }
    }

    .ds-hero .hero-stats {
        display: grid;
        grid-template-columns: repeat(4,1fr);
        border: 1px solid var(--ds-line);
        border-radius: 6px;
        background: #fff;
        overflow: hidden;
        box-shadow: var(--shadow-xs);
        margin-top: 4px;
    }
    .ds-hero .hero-stats .stat { padding: 16px; text-align: center; border-left: 1px solid var(--ds-line); }
    .ds-hero .hero-stats .stat:first-child { border-left: none; }
    .ds-hero .hero-stats .stat-n { font-family: "Rubik Medium", sans-serif; font-weight: 700; font-size: 20px; color: var(--ds-navy); line-height: 1; }
    .ds-hero .hero-stats .stat-l { font-size: 11px; color: var(--ds-mute); line-height: 1.35; margin-top: 5px; }
    @media (max-width:760px) {
        .ds-hero .hero-stats { grid-template-columns: 1fr 1fr; }
        .ds-hero .hero-stats .stat:nth-child(3) { border-left: none; }
    }

    /* SECTION FURNITURE */
    .ic { width: 1em; height: 1em; flex-shrink: 0; display: inline-block; vertical-align: middle; }
    .section { padding: 88px 0; }
    .section--paper { background: var(--ds-paper); }
    .section--mist { background: var(--ds-mist); }
    .center { text-align: center; }
    .center .eyebrow, .center .section-sub { margin-left: auto; margin-right: auto; }
    .center .section-sub { display: block; }

    .eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-family: "Rubik Medium", sans-serif;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
        color: var(--ds-red);
        margin-bottom: 14px;
    }
    .eyebrow .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ds-red); flex-shrink: 0; }

    /* Scoped on purpose: .section-title is also the footer office list's heading and Related
       Topics' heading, both of which render on this page OUTSIDE .section. */
    .section .section-title {
        font-size: clamp(28px,3.4vw,40px);
        letter-spacing: -.025em;
        color: var(--ds-ink-deep);
        line-height: 1.12;
        margin-bottom: 14px;
        text-align: inherit;
    }
    .section-sub { font-size: 17px; color: var(--ds-mute); max-width: 640px; line-height: 1.6; }

    .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        padding: 13px 24px;
        border-radius: 4px;
        font-family: "Rubik Medium", sans-serif;
        font-weight: 700;
        font-size: 15px;
        cursor: pointer;
        border: none;
        text-decoration: none;
        transition: background .15s, transform .12s, box-shadow .2s;
        white-space: nowrap;
    }
    .btn .ic { font-size: 16px; }
    .btn--red { background: var(--ds-red); color: #fff; box-shadow: var(--shadow-cta); }
    .btn--red:hover { background: var(--ds-red-deep); color: #fff; }
    .btn--navy { background: var(--ds-navy); color: #fff; }
    .btn--navy:hover { background: var(--ds-navy-deep); color: #fff; }
    .btn--outline-navy { background: transparent; color: var(--ds-navy); border: 1.5px solid rgba(14,42,107,.3); }
    .btn--outline-navy:hover { color: var(--ds-navy); border-color: var(--ds-navy); }
    .btn--outline-white { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.5); }
    .btn--outline-white:hover { color: #fff; border-color: #fff; }
    .btn--lg { padding: 15px 30px; font-size: 16px; }
    .btn--block { width: 100%; }

    .chip {
        width: 44px;
        height: 44px;
        border-radius: 8px;
        background: var(--ds-navy-tint);
        display: grid;
        place-items: center;
        flex-shrink: 0;
        color: var(--ds-navy);
    }
    .chip .ic { font-size: 22px; }
    .chip--red { background: var(--ds-red-tint); color: var(--ds-red); }

    /* BENEFITS */
    .benefits-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; margin-top: 40px; }
    .benefit-card {
        background: #fff;
        border: 1px solid var(--ds-line);
        border-radius: 6px;
        padding: 24px;
        display: flex;
        gap: 16px;
        align-items: flex-start;
        box-shadow: var(--shadow-sm);
    }
    .benefit-card h3 { font-size: 19px; margin-bottom: 7px; letter-spacing: -.01em; }
    .benefit-card p { font-size: 14px; line-height: 1.6; }
    .note-strip {
        margin-top: 24px;
        font-size: 14px;
        background: var(--ds-navy-tint);
        padding: 16px 20px;
        border-radius: 6px;
        border-left: 3px solid var(--ds-navy);
    }

    /* SERVICES */
    .services-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 40px; }
    .service-card {
        background: #fff;
        border: 1px solid var(--ds-line);
        border-radius: 8px;
        padding: 30px;
        box-shadow: var(--shadow-sm);
    }
    .service-card h3 {
        font-size: 21px;
        margin-bottom: 14px;
        padding-bottom: 12px;
        border-bottom: 2px solid var(--ds-red);
        display: inline-block;
        letter-spacing: -.015em;
    }
    .service-card p { font-size: 14.5px; line-height: 1.65; }

    /* DEBTS */
    .debts-layout { display: grid; grid-template-columns: 1fr 340px; gap: 40px; align-items: start; margin-top: 40px; }
    .debt-list { list-style: none; }
    .debt-list li {
        display: flex;
        gap: 14px;
        align-items: flex-start;
        padding: 15px 0;
        border-bottom: 1px solid var(--ds-line);
    }
    .debt-list li:first-child { padding-top: 0; }
    .debt-list li:last-child { border-bottom: none; }
    .debt-num {
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: var(--ds-navy);
        color: #fff;
        font-family: "Rubik Medium", sans-serif;
        font-weight: 700;
        font-size: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        margin-top: 1px;
    }
    .debt-list strong { color: var(--ds-ink-deep); display: block; margin-bottom: 2px; font-size: 15px; }
    .debt-list span:not(.debt-num) { color: var(--ds-mute); font-size: 13px; line-height: 1.5; }

    .cannot-box { background: var(--ds-red-tint); border: 1px solid #F3B6B9; border-radius: 8px; padding: 22px; }
    .cannot-box h4 { font-size: 14px; color: var(--ds-red-deep); margin-bottom: 12px; display: flex; gap: 8px; align-items: center; }
    .cannot-box ul { list-style: none; display: flex; flex-direction: column; gap: 7px; }
    .cannot-box li { font-size: 13px; color: #7F1D1D; display: flex; gap: 9px; align-items: flex-start; line-height: 1.4; }
    .cannot-box li .ic { color: var(--ds-red); font-size: 15px; margin-top: 1px; }
    .cannot-box li a { color: #7F1D1D; text-decoration: underline; }

    .side-card {
        margin-top: 20px;
        background: #fff;
        border: 1px solid var(--ds-line);
        border-radius: 8px;
        padding: 24px;
        box-shadow: var(--shadow-sm);
    }
    .side-card .sc-h { font-size: 15px; font-weight: 700; color: var(--ds-ink-deep); margin-bottom: 8px; font-family: "Rubik Medium", sans-serif; }
    .side-card p { font-size: 13px; color: var(--ds-mute); margin-bottom: 14px; line-height: 1.55; }

    .side-navy { margin-top: 20px; background: var(--ds-navy); border-radius: 8px; padding: 24px; color: #fff; }
    .side-navy .sn-lbl { font-size: 13px; color: rgba(255,255,255,.7); margin-bottom: 4px; }
    .side-navy .sn-big {
        font-family: "Rubik Bold", sans-serif;
        font-size: 30px;
        font-weight: 800;
        color: #fff;
        letter-spacing: -.02em;
        margin-bottom: 6px;
    }
    .side-navy .sn-body { font-size: 12px; color: rgba(255,255,255,.62); line-height: 1.55; }

    /* PROCESS */
    .process-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; margin-top: 48px; position: relative; }
    .process-grid::before {
        content: '';
        position: absolute;
        top: 30px;
        left: 12.5%;
        right: 12.5%;
        height: 2px;
        background: linear-gradient(90deg, var(--ds-navy), var(--ds-red));
        z-index: 0;
    }
    .process-step { text-align: center; position: relative; z-index: 1; }
    .p-icon {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        background: #fff;
        border: 2px solid var(--ds-navy);
        display: grid;
        place-items: center;
        margin: 0 auto 16px;
        box-shadow: 0 4px 16px rgba(14,42,107,.16);
        color: var(--ds-navy);
    }
    .p-icon .ic { font-size: 24px; }
    .p-step-label {
        font-size: 10px;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
        color: var(--ds-red);
        margin-bottom: 6px;
        font-family: "Rubik Medium", sans-serif;
    }
    .process-step h3 { font-size: 16px; margin-bottom: 8px; letter-spacing: -.01em; }
    .process-step p { font-size: 13px; color: var(--ds-mute); line-height: 1.55; }

    /* QUALIFY */
    .qualify-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 40px; }
    .q-card { border-radius: 8px; padding: 26px; border: 1px solid var(--ds-line); background: #fff; box-shadow: var(--shadow-sm); }
    .q-card.q-yes { border-color: #B5E0C6; background: var(--ds-success-bg); }
    .q-card.q-no { border-color: #F3B6B9; background: var(--ds-red-tint); }
    .q-card h3 { font-size: 16px; margin-bottom: 16px; display: flex; gap: 9px; align-items: center; letter-spacing: -.01em; }
    .q-card.q-yes h3 { color: #0F5A33; }
    .q-card.q-no h3, .q-card.q-no h3 a { color: var(--ds-red-deep); }
    .q-list { list-style: none; display: flex; flex-direction: column; gap: 11px; }
    .q-list li { font-size: 13.5px; display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; }
    .q-list li .ic { font-size: 17px; margin-top: 1px; flex-shrink: 0; }
    .q-yes .q-list .ic { color: var(--ds-success); }
    .q-no .q-list .ic { color: var(--ds-red); }

    /* INCOME LIMITS */
    .limits-box {
        background: linear-gradient(135deg, var(--ds-navy) 0%, #1B3A6B 100%);
        border-radius: 10px;
        padding: 36px;
        color: #fff;
        margin-top: 32px;
        box-shadow: var(--shadow-md);
    }
    .limits-box h3 { color: #fff; font-size: 22px; margin-bottom: 10px; letter-spacing: -.015em; }
    .limits-box > p { color: rgba(255,255,255,.75); font-size: 14px; margin-bottom: 20px; }
    .income-tbl { width: 100%; border-collapse: collapse; }
    .income-tbl th, .income-tbl td { padding: 11px 14px; text-align: left; font-size: 14px; }
    .income-tbl th { background: rgba(255,255,255,.12); color: #fff; font-family: "Rubik Medium", sans-serif; font-weight: 600; }
    .income-tbl td { color: rgba(255,255,255,.82); border-bottom: 1px solid rgba(255,255,255,.09); }
    .income-tbl tr:last-child td { border-bottom: none; }
    .limits-foot { font-size: 12px; color: rgba(255,255,255,.48); margin-top: 14px; }

    .reviews-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 12px; }
    .shortcode-frame { margin-top: 40px; }
    .shortcode-frame .lawyers { margin-bottom: 0; }
    .after-grid-cta { text-align: center; margin-top: 28px; }

    /* AREAS */
    .areas-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 40px; }
    .area-card {
        background: #fff;
        border: 1px solid var(--ds-line);
        border-radius: 6px;
        padding: 18px;
        box-shadow: var(--shadow-xs);
        transition: border-color .15s, box-shadow .15s;
    }
    .area-card:hover { border-color: var(--ds-navy); box-shadow: var(--shadow-sm); }
    .area-card .ic { font-size: 20px; color: var(--ds-navy); margin-bottom: 8px; }
    .area-name { font-family: "Rubik Medium", sans-serif; font-weight: 700; font-size: 14px; color: var(--ds-ink-deep); margin-bottom: 2px; }
    .area-sub { font-size: 12px; color: var(--ds-mute); }
    .remote-strip {
        background: #fff;
        border: 1px solid var(--ds-line);
        border-radius: 8px;
        padding: 24px;
        margin-top: 20px;
        display: flex;
        gap: 20px;
        align-items: center;
        flex-wrap: wrap;
        box-shadow: var(--shadow-sm);
    }
    .remote-strip .rs-text { flex: 1; min-width: 240px; }
    .remote-strip strong { color: var(--ds-ink-deep); font-size: 16px; }
    .remote-strip p { font-size: 13.5px; color: var(--ds-mute); margin-top: 4px; }


    .faq-wrap { margin-top: 40px; }

    /* FINAL CTA */
    .final-cta { background: var(--ds-navy); padding: 88px 0; color: #fff; position: relative; overflow: hidden; }
    .final-cta::before {
        content: '';
        position: absolute;
        inset: 0;
        background: radial-gradient(1200px 400px at 50% -10%, rgba(255,255,255,.08), transparent 60%);
        pointer-events: none;
    }
    .final-cta > .container_center { position: relative; text-align: center; }
    .final-cta h2 { color: #fff; font-size: clamp(28px,3.4vw,40px); margin-bottom: 16px; letter-spacing: -.025em; }
    .final-cta .fc-sub { font-size: 17px; color: rgba(255,255,255,.8); margin: 0 auto 32px; max-width: 600px; line-height: 1.6; }
    .final-cta-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
    .fc-or { font-size: 13px; color: rgba(255,255,255,.6); margin: 26px 0 14px; }
    .fc-points { display: flex; gap: 28px; justify-content: center; flex-wrap: wrap; margin-top: 30px; }
    .fc-point { font-size: 13px; color: rgba(255,255,255,.72); display: flex; align-items: center; gap: 8px; }
    .fc-point .ic { color: #7FE3AE; font-size: 16px; }
    .fc-guarantee { margin-top: 26px; font-size: 13px; color: rgba(255,255,255,.5); }


    .fc-form-card {
        max-width: 560px;
        margin: 36px auto 0;
        background: #fff;
        border-radius: 8px;
        padding: 24px;
        box-shadow: var(--shadow-lg);
        text-align: left;
    }

    .fc-form-card .form-consent__checkbox {
        border-radius: 3px;
        padding: 0;
        width: 16px;
        height: 16px;
        flex: none;
        margin-top: 2px;
    }
    .fc-form-card .form-consent { display: flex; gap: 9px; align-items: flex-start; }
    .fc-form-card .form-consent__text { font-size: 11.5px; color: var(--ds-mute); line-height: 1.45; }
    .fc-form-card .form-consent__text a { color: var(--ds-navy); text-decoration: underline; }

    /* Links added from the content document */
    a.ds-content-link {
        font-weight: 700;
        text-decoration: underline;
        text-decoration-thickness: 2px;
        text-underline-offset: 3px;
    }

    a.ds-content-link:focus-visible {
        outline: 3px solid #ed1c24;
        outline-offset: 3px;
    }

    /* RESPONSIVE */
    @media (max-width:1000px) {
        .areas-grid { grid-template-columns: repeat(2,1fr); }
    }
    @media (max-width:760px) {
        .section { padding: 60px 0; }
        .benefits-grid, .services-grid, .qualify-grid { grid-template-columns: 1fr; }
        .process-grid { grid-template-columns: 1fr 1fr; }
        .process-grid::before { display: none; }
        .debts-layout { grid-template-columns: 1fr; }
        .limits-box { padding: 24px; }
        .income-tbl th, .income-tbl td { padding: 9px 8px; font-size: 13px; }
    }
    @media (max-width:480px) {
        .areas-grid { grid-template-columns: 1fr; }
        .final-cta { padding: 60px 0; }
    }

    /* ===== 2026-10 designs ===== */
    /* Everything above this line is page 46's kit, byte-identical. Nothing below changes a rule
       above: each piece is a new class or a modifier, and old classes are only ever combined.
       One exception, measured 2026-10-20: the content-box container under SECTION VARIANTS also
       reaches page 46's sections, which widen 30px a side above a 1600px viewport (190..1730 ->
       160..1760 at 1920, the line its hero and home already sit on). */

    :root {
        --ds-coral: #FF5A60;
        --ds-on-navy: #D3DCF0;
        --ds-navy-card: #1A3780;
        --ds-navy-line: #29489A;
        --ds-pill-line: #3A5AA8;
        --ds-panel-line: #D6DEEE;
        --ds-cell: #F7F9FD;
        --ds-hairline: #ECEFF5;
        --ds-warn-ink: #7A1217;
    }

    /* SECTION VARIANTS
       Every section sits in the site's .container_center (1600px), as home's sections do; the
       hero keeps the global .ds-hero__inner (1600px). The container goes back to content-box:
       the ".section *" border-box rule above would otherwise take its 30px padding out of the
       1600px, and the sections would stop 30px short of home's edges on wide screens. */
    .section > .container_center, .final-cta > .container_center { box-sizing: content-box; }
    .section--navy { background: var(--ds-navy); color: var(--ds-on-navy); }
    .section--navy .section-title, .section--navy h3 { color: #fff; }
    .section--navy .section-sub { color: var(--ds-on-navy); }
    .section--joined { padding-top: 0; }
    .section--ruled { padding-top: 0; }
    .section--ruled > :first-child::before {
        content: "";
        display: block;
        border-top: 1px solid var(--ds-line);
        margin-bottom: 88px;
    }

    /* HEADER PIECES */
    .eyebrow--line { gap: 12px; }
    .eyebrow--line::before { content: ""; width: 28px; height: 2px; background: currentColor; flex-shrink: 0; }
    .section--navy .eyebrow, .panel--navy .eyebrow, .final-cta--split .eyebrow { color: var(--ds-coral); }
    .section--navy .eyebrow .dot, .panel--navy .eyebrow .dot { background: var(--ds-coral); }
    .section-sub + .section-sub { margin-top: 14px; }
    .section-sub--strong { color: var(--ds-navy); font-family: "Rubik Medium", sans-serif; }

    .prose p { font-size: 17px; line-height: 1.7; color: var(--ds-ink); }
    .prose p + p { margin-top: 16px; }
    .section--navy .prose p, .panel--navy .prose p { color: var(--ds-on-navy); }

    /* BUTTONS */
    .btn--white { background: #fff; color: var(--ds-navy); }
    .btn--white:hover { background: var(--ds-navy-tint); color: var(--ds-navy); }
    .cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 36px; }
    .cta-row--center { justify-content: center; }
    .cta-row .btn { max-width: 100%; white-space: normal; text-align: center; }
    .link-arrow {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-family: "Rubik Medium", sans-serif;
        font-weight: 700;
        font-size: 16px;
    }
    .link-arrow .ic { font-size: 16px; transition: transform .15s; }
    .link-arrow:hover .ic { transform: translateX(2px); }

    /* ICON TILES, DISCS, TAGS, PILLS */
    .chip--lg { width: 54px; height: 54px; }
    .chip--lg .ic { font-size: 24px; }
    .chip--coral { background: rgba(255,90,96,.14); color: var(--ds-coral); }
    .chip--solid { background: var(--ds-navy); color: #fff; }

    .disc {
        width: 64px;
        height: 64px;
        border-radius: 50%;
        background: var(--ds-panel-line);
        color: var(--ds-navy);
        display: grid;
        place-items: center;
        flex-shrink: 0;
    }
    .disc .ic { font-size: 28px; }
    .disc--sm { width: 48px; height: 48px; }
    .disc--sm .ic { font-size: 22px; }
    .disc--lg { width: 124px; height: 124px; }
    .disc--lg .ic { font-size: 52px; }

    .tag {
        display: inline-flex;
        align-items: center;
        padding: 6px 10px;
        border-radius: 4px;
        background: var(--ds-navy);
        color: #fff;
        font-family: "Rubik Medium", sans-serif;
        font-weight: 700;
        font-size: 12px;
        line-height: 1.2;
        letter-spacing: .06em;
        text-transform: uppercase;
        white-space: nowrap;
        flex-shrink: 0;
    }
    .tag--red { background: var(--ds-red); }

    .pill-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
    .pill {
        display: inline-flex;
        align-items: center;
        padding: 8px 14px;
        border: 1px solid var(--ds-pill-line);
        border-radius: 999px;
        color: #fff;
        font-size: 14px;
        line-height: 1.3;
    }
    .pill--tint { background: var(--ds-navy-tint); border-color: var(--ds-navy-tint); color: var(--ds-navy); font-family: "Rubik Medium", sans-serif; }

    .accent-bar { display: block; width: 36px; height: 3px; background: var(--ds-red); margin-top: 18px; flex-shrink: 0; }
    .statement { font-family: "Rubik Medium", sans-serif; font-size: 20px; line-height: 1.5; color: var(--ds-navy); }
    .disc + .statement { margin-top: 22px; }
    .statement--row { display: flex; align-items: center; gap: 14px; margin: 12px 0 20px; }
    .accent-bar + .prose { margin-top: 20px; }

    /* GRIDS (page 46's .services-grid, more columns) */
    .services-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .services-grid--lead { grid-template-columns: minmax(0,1.3fr) repeat(2, minmax(0,1fr)); }
    .services-grid--start { align-items: start; }
    .card-stack { display: flex; flex-direction: column; gap: 18px; }

    /* ICON CARD - one card, five skins */
    .icon-card {
        background: #fff;
        border: 1px solid var(--ds-line);
        border-radius: 10px;
        padding: 32px;
        display: flex;
        flex-direction: column;
    }
    .icon-card h3 { font-size: 21px; line-height: 1.25; letter-spacing: -.01em; margin-top: 20px; }
    .icon-card > h3:first-child { margin-top: 0; }
    .icon-card p { font-size: 17px; line-height: 1.65; margin-top: 12px; }
    .icon-card .accent-bar + p { margin-top: 18px; }
    .icon-card .pill-row { margin-top: 20px; }
    .icon-card > .cta-row:last-child { margin-top: auto; padding-top: 24px; }
    .icon-card__head { display: flex; align-items: center; gap: 16px; }
    .icon-card__head h3, .icon-card__head .accent-bar { margin-top: 0; }
    .icon-card__head .eyebrow { margin-bottom: 0; }
    .icon-card__head + p { margin-top: 20px; }
    .icon-card__head > .tag, .icon-card__step { margin-left: auto; }
    .icon-card__step {
        font-family: "Rubik Medium", sans-serif;
        font-size: 13px;
        letter-spacing: .12em;
        text-transform: uppercase;
        color: var(--ds-mute);
    }
    .icon-card__title { font-size: 26px; color: var(--ds-navy); }
    .icon-card__num { display: block; font-size: 54px; line-height: 1; color: inherit; }
    .icon-card__num::after { content: ""; display: block; width: 36px; height: 3px; background: var(--ds-red); margin: 20px 0 22px; }
    .icon-card--dark { background: var(--ds-navy-card); border-color: var(--ds-navy-line); }
    .icon-card--dark h3 { color: #fff; }
    .icon-card--dark p { color: var(--ds-on-navy); }
    .icon-card--edge { border-left: 4px solid var(--ds-red); }
    .icon-card--edge p { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--ds-hairline); }
    .icon-card--row { flex-direction: row; align-items: flex-start; gap: 20px; padding: 28px; }
    .icon-card--row p { margin-top: 0; }
    .icon-card--row .statement { align-self: center; }
    .icon-card--mist { background: var(--ds-mist); }
    .icon-card .note-strip { margin-top: 20px; font-size: 15px; }

    /* BANDED CARD (Chapter 7 / Chapter 13 pairs) */
    .band-card {
        background: #fff;
        border: 1px solid var(--ds-line);
        border-radius: 10px;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        box-shadow: var(--shadow-sm);
    }
    .band-card__head { background: var(--ds-navy-tint); padding: 30px 34px; display: flow-root; }
    .band-card__head h3 { font-size: 21px; line-height: 1.25; letter-spacing: -.01em; }
    .band-card__head > .tag { float: right; margin: 8px 0 8px 16px; }
    .band-card__head .band-card__title, .band-card__label { font-size: clamp(30px,3vw,40px); line-height: 1.05; color: var(--ds-navy); letter-spacing: -.02em; }
    .band-card__label { display: block; margin-bottom: 12px; }
    .band-card__body { padding: 30px 34px; display: flex; flex-direction: column; flex: 1; }
    .band-card__body p { font-size: 17px; line-height: 1.7; }
    .band-card__body p + p { margin-top: 16px; }
    .band-card__body > .link-arrow { margin-top: auto; padding-top: 24px; align-self: flex-start; }

    /* SPLIT LAYOUTS */
    .split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 64px; align-items: start; }
    .split--even { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .split--lead { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); }
    .split--center { align-items: center; }
    .split--duo { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px; align-items: stretch; }
    .split__offset { padding-top: 32px; }
    .split__sticky { position: sticky; top: 100px; }

    /* PANELS */
    .panel {
        background: var(--ds-navy-tint);
        border: 1px solid var(--ds-panel-line);
        border-radius: 12px;
        padding: 48px;
        display: flex;
        flex-direction: column;
    }
    .panel .section-title { font-size: clamp(26px,3vw,36px); }
    .split .section-title, .panel .section-title { text-wrap: balance; }
    .panel > .cta-row:last-child { margin-top: auto; padding-top: 28px; }
    .panel--navy { background: var(--ds-navy); border-color: var(--ds-navy); color: var(--ds-on-navy); }
    .panel--navy .section-title, .panel--navy h3 { color: #fff; }
    .panel--split {
        display: grid;
        /* The copy stops at a readable measure on the 1600px grid; the emblem side takes the rest. */
        grid-template-columns: minmax(0,760px) minmax(280px,1fr);
        gap: 56px;
        align-items: center;
        padding: 64px;
    }
    .emblem { display: flex; flex-direction: column; align-items: center; text-align: center; }
    .emblem__label {
        margin-top: 22px;
        font-family: "Rubik Medium", sans-serif;
        font-weight: 700;
        font-size: clamp(24px,2.4vw,32px);
        line-height: 1.15;
        letter-spacing: -.01em;
        color: var(--ds-navy);
    }
    .emblem__sub { margin-top: 10px; font-family: "Rubik Medium", sans-serif; font-size: 15px; color: var(--ds-mute); }
    .big-stat { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin-top: 22px; }
    .big-stat__num {
        font-family: "Rubik Medium", sans-serif;
        font-weight: 700;
        font-size: clamp(44px,5vw,64px);
        line-height: 1;
        letter-spacing: -.02em;
        color: var(--ds-navy);
    }
    .big-stat__cap { font-size: 15px; color: var(--ds-mute); }
    .panel--navy .big-stat__num { color: #fff; }
    .panel--navy .big-stat__cap { color: var(--ds-on-navy); }

    /* NOTES (page 46's .note-strip, with an icon) */
    .note-strip--info, .note-strip--warn, .note-strip--outline, .note-strip--line {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        border-left: none;
        border-radius: 10px;
        padding: 20px 24px;
        font-size: 16px;
        line-height: 1.6;
        text-align: left;
        color: var(--ds-ink);
    }
    .note-strip--info { background: var(--ds-mist); }
    .note-strip--warn { background: var(--ds-red-tint); color: var(--ds-warn-ink); }
    .note-strip--outline { background: #fff; border: 1px solid var(--ds-line); }
    .note-strip--line { background: none; padding: 0; align-items: center; justify-content: center; text-align: center; color: var(--ds-mute); }
    .note-strip .ic { font-size: 20px; color: var(--ds-navy); margin-top: 2px; }
    /* The box stays on the grid with the table above it; only its line length is capped. */
    .note-strip > span { max-width: 75ch; }
    .note-strip--warn .ic { color: var(--ds-red); }
    .note-strip--line .ic { margin-top: 0; }
    .center > .note-strip { max-width: 860px; margin-left: auto; margin-right: auto; }

    /* TABLE - always visible; scrolls sideways inside .table-wrap when it does not fit */
    .table-wrap {
        margin-top: 40px;
        background: #fff;
        border: 1px solid var(--ds-line);
        border-radius: 10px;
        box-shadow: 0 10px 30px -18px rgba(15,42,107,.3);
        overflow-x: auto;
    }
    .data-table { width: 100%; min-width: 560px; border-collapse: separate; border-spacing: 0; font-size: 16px; line-height: 1.6; }
    .data-table th, .data-table td { padding: 20px 26px; text-align: left; vertical-align: top; }
    .data-table thead th {
        background: var(--ds-navy);
        color: #fff;
        font-family: "Rubik Medium", sans-serif;
        font-weight: 700;
        font-size: 18px;
        line-height: 1.3;
        vertical-align: middle;
    }
    .data-table thead th + th { border-left: 1px solid var(--ds-navy-line); }
    .data-table tbody tr + tr > * { border-top: 1px solid var(--ds-line); }
    .data-table tbody th {
        width: clamp(180px, 30%, 420px);
        background: var(--ds-cell);
        color: var(--ds-navy);
        font-family: "Rubik Medium", sans-serif;
        font-weight: 700;
    }
    .data-table td { color: var(--ds-ink); border-left: 1px solid var(--ds-line); }
    /* Fixed layout: the label column takes 28% and the two chapters being compared split the rest equally. */
    .data-table--compare { min-width: 720px; table-layout: fixed; }
    .data-table--compare thead th:first-child { width: 28%; }
    .data-table--compare thead th:first-child { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ds-on-navy); }
    .data-table--numbered { counter-reset: ds-row; }
    .data-table--numbered tbody th { vertical-align: middle; }
    .data-table--numbered tbody th::before {
        counter-increment: ds-row;
        content: counter(ds-row);
        display: inline-grid;
        place-items: center;
        width: 30px;
        height: 30px;
        margin-right: 14px;
        border-radius: 50%;
        background: var(--ds-navy);
        color: #fff;
        font-size: 14px;
        line-height: 1;
        vertical-align: middle;
    }
    .data-table--numbered tbody tr:last-child th::before { background: var(--ds-red); }

    /* NUMBERED STEPS (page 46's .process-grid with a filled numeral) */
    .process-grid--num::before { top: 28px; background: var(--ds-line); }
    .p-num {
        display: grid;
        place-items: center;
        width: 56px;
        height: 56px;
        margin: 0 auto 18px;
        border-radius: 50%;
        background: var(--ds-navy);
        color: #fff;
        font-size: 22px;
        line-height: 1;
        letter-spacing: 0;
        box-shadow: 0 0 0 8px var(--p-halo, #fff);
    }
    .section--mist .p-num { --p-halo: var(--ds-mist); }
    .section--paper .p-num { --p-halo: var(--ds-paper); }
    .process-step:last-child .p-num { background: var(--ds-red); }

    /* HERO (global .ds-hero + page 46's .ds-hero--sub; no bill, a button row, a 3-item strip) */
    .ds-hero--page .ds-hero__card { scroll-margin-top: 90px; }
    .ds-hero--page .cta-row { margin-top: 4px; }
    .ds-hero__quicklinks--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .ds-hero__quicklinks--3 .ds-hero__quicklink:hover { background: transparent; }
    .ds-hero__quicklinks--3 .ds-hero__quicklink-icon { color: var(--ds-navy); }
    .ds-hero__quicklinks--3 .ds-hero__quicklink-icon .ic { font-size: 20px; }

    /* FINAL CTA, split (page 46's .final-cta + .fc-form-card, copy left and form right) */
    .final-cta--split::before { display: none; }
    .final-cta--split > .container_center { text-align: left; }
    .final-cta--split .fc-sub { margin: 0; max-width: none; }
    .final-cta--split .fc-form-card { max-width: none; margin: 0; padding: 32px; border-radius: 10px; }
    .final-cta--split .fc-form-card .eyebrow { color: var(--ds-red); }
    .fc-card-title { font-size: 26px; line-height: 1.2; color: var(--ds-navy); letter-spacing: -.015em; }
    .fc-card-sub { margin: 10px 0 20px; font-size: 15px; line-height: 1.55; color: var(--ds-mute); }
    .fc-card-title + form { margin-top: 20px; }

    /* REMOTE CONSULTATION (page 46's .remote-strip, tinted with a disc) */
    .remote-strip--tint {
        margin-top: 40px;
        background: var(--ds-navy-tint);
        border-color: var(--ds-panel-line);
        border-radius: 12px;
        padding: 32px 36px;
        gap: 24px;
        box-shadow: none;
    }
    .remote-strip--tint h3 { font-size: 24px; color: var(--ds-navy); }
    .remote-strip--tint p { margin-top: 8px; font-size: 16px; line-height: 1.6; color: var(--ds-ink); max-width: 72ch; }
    .services-grid > .remote-strip { margin-top: 0; align-items: flex-start; }
    /* In a grid cell the button always sits under the text, whatever the cell's width. */
    .services-grid > .remote-strip .rs-text { flex-basis: 100%; }

    @media (max-width:1000px) {
        .services-grid--3, .services-grid--lead { grid-template-columns: repeat(2, minmax(0,1fr)); }
        .services-grid--3 > :last-child:nth-child(odd), .services-grid--lead > :last-child:nth-child(odd) { grid-column: 1 / -1; }
        .split { gap: 40px; }
        .split--duo { grid-template-columns: 1fr; gap: 24px; }
        .panel--split { gap: 32px; padding: 48px; }
        .final-cta--split .split { grid-template-columns: 1fr; }
        .final-cta--split .fc-form-card { max-width: 560px; }
    }
    @media (max-width:900px) {
        .ds-hero__quicklinks--3 .ds-hero__quicklink { border: 0; }
        .ds-hero__quicklinks--3 .ds-hero__quicklink + .ds-hero__quicklink { border-left: 1px solid var(--ds-line); }
    }
    @media (max-width:760px) {
        .section--ruled > :first-child::before { margin-bottom: 60px; }
        .services-grid--3, .services-grid--lead { grid-template-columns: 1fr; }
        .split, .split--even, .split--lead, .split--duo { grid-template-columns: 1fr; gap: 28px; }
        .split__offset { padding-top: 0; }
        .split__sticky { position: static; }
        .prose p, .icon-card p, .band-card__body p { font-size: 16px; }
        .icon-card { padding: 24px; }
        .band-card__head, .band-card__body { padding: 22px 20px; }
        .panel { padding: 28px 22px; }
        .panel--split { grid-template-columns: 1fr; gap: 28px; padding: 32px 22px; }
        .disc--lg { width: 96px; height: 96px; }
        .disc--lg .ic { font-size: 40px; }
        .note-strip--info, .note-strip--warn, .note-strip--outline { padding: 16px 18px; font-size: 15px; }
        .data-table th, .data-table td { padding: 14px 16px; font-size: 15px; }
        .data-table thead th { font-size: 16px; }
        .remote-strip--tint { padding: 24px 20px; align-items: flex-start; }
        .note-strip--line { justify-content: flex-start; align-items: flex-start; text-align: left; }
        .note-strip--line .ic { margin-top: 2px; }
        .ds-hero__quicklinks--3 { grid-template-columns: 1fr; }
        .ds-hero__quicklinks--3 .ds-hero__quicklink + .ds-hero__quicklink { border-left: 0; border-top: 1px solid var(--ds-line); }
    }
    @media (max-width:600px) {
        .cta-row .btn { flex: 1 1 100%; }
        .remote-strip--tint .rs-text { flex-basis: 100%; }
        .remote-strip--tint .btn { flex: 1 1 100%; white-space: normal; text-align: center; }
    }
