/* Financial Stress page — every selector is scoped to prevent cross-page bleed. */
.financial-stress-page {
    --fs-blue: #2f6fff;
    --fs-red: #e5262d;
    --fs-green: #28d17c;
    --fs-ink: #030507;
    --fs-panel: #0b1119;
    --fs-panel-2: #0a1730;
    --fs-border: #293a52;
    --fs-text: #f7f9ff;
    --fs-muted: #b8c7dc;
    margin: 0;
    color: var(--fs-text);
    background:
        radial-gradient(circle at 5% 14%, rgba(47,111,255,.14), transparent 26rem),
        radial-gradient(circle at 96% 38%, rgba(229,38,45,.12), transparent 29rem),
        #000;
    overflow-x: hidden;
}

.financial-stress-page *,
.financial-stress-page *::before,
.financial-stress-page *::after { box-sizing: border-box; }

.financial-stress-page main {
    width: min(100% - 40px, 1500px);
    margin-inline: auto;
}

.financial-stress-page h1,
.financial-stress-page h2,
.financial-stress-page h3,
.financial-stress-page p { overflow-wrap: anywhere; }

.financial-stress-page h1,
.financial-stress-page h2,
.financial-stress-page h3 {
    margin-top: 0;
    color: #fff;
    line-height: 1.08;
}

.financial-stress-page .eyebrow {
    margin: 0 0 17px;
    color: #72a2ff;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .24em;
    line-height: 1.5;
}

.money-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(330px, .55fr);
    gap: clamp(30px, 5vw, 75px);
    align-items: center;
    margin: 34px 0 28px;
    padding: clamp(48px, 7vw, 105px);
    border: 1px solid #263b5e;
    border-radius: 32px;
    background:
        linear-gradient(110deg, rgba(6,25,63,.95), rgba(3,6,11,.97) 52%, rgba(56,3,8,.94)),
        #05070b;
    box-shadow: 0 28px 85px rgba(0,0,0,.45);
}

.money-hero h1 {
    margin-bottom: 28px;
    font-size: clamp(52px, 6.7vw, 104px);
    letter-spacing: -.045em;
}

.money-hero h1 span { color: var(--fs-red); }

.hero-intro {
    max-width: 900px;
    color: var(--fs-muted);
    font-size: clamp(19px, 1.8vw, 26px);
    line-height: 1.65;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.hero-actions a,
.crisis-section > a {
    display: inline-flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    padding: 15px 26px;
    border-radius: 13px;
    color: #fff;
    font-size: 17px;
    font-weight: 900;
    text-decoration: none;
    transition: transform .2s ease;
}

.hero-actions a:hover,
.crisis-section > a:hover { transform: translateY(-2px); }

.red-button {
    border: 1px solid #ff464c;
    background: linear-gradient(135deg, #f02e35, #a10913);
    box-shadow: 0 12px 30px rgba(229,38,45,.23);
}

.blue-button {
    border: 1px solid #5688ed;
    background: linear-gradient(135deg, #2f6fff, #143f9d);
    box-shadow: 0 12px 30px rgba(47,111,255,.2);
}

.pressure-meter {
    padding: 28px;
    border: 1px solid #365584;
    border-radius: 22px;
    background: rgba(8,18,34,.9);
}

.meter-label {
    margin: 0 0 13px;
    color: #86aefb;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .2em;
}

.meter {
    height: 13px;
    border-radius: 20px;
    overflow: hidden;
    background: #182235;
}

.meter span {
    display: block;
    width: 86%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--fs-green), #ffbd38 55%, var(--fs-red));
}

.pressure-meter ul {
    margin: 24px 0;
    padding: 0;
    list-style: none;
}

.pressure-meter li {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 0;
    color: #dae5f6;
    border-bottom: 1px solid #283751;
}

.pressure-meter li b { color: #ff7379; }
.meter-message { margin: 0; color: #fff; font-weight: 900; }

.feature-image {
    padding: clamp(8px, 1.3vw, 18px);
    border: 2px solid var(--fs-blue);
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(47,111,255,.12), rgba(229,38,45,.1));
    box-shadow: 0 0 38px rgba(47,111,255,.18);
}

.feature-image img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    object-fit: contain;
    border-radius: 18px;
    background: #050505;
}

.truth-banner,
.evidence-section,
.pressure-chain,
.signs-section,
.research-section,
.plan-section,
.resource-section,
.closing-cta,
.sources { margin-top: clamp(55px, 7vw, 105px); }

.truth-banner {
    padding: clamp(38px, 5vw, 72px);
    text-align: center;
    border-top: 3px solid var(--fs-blue);
    border-bottom: 3px solid var(--fs-red);
    background: linear-gradient(100deg, rgba(47,111,255,.08), rgba(229,38,45,.08));
}

.truth-banner h2,
.section-heading h2,
.closing-cta h2 {
    margin-bottom: 20px;
    font-size: clamp(38px, 5vw, 68px);
}

.truth-banner > p:not(.eyebrow),
.section-heading > p:not(.eyebrow),
.closing-cta > p:not(.eyebrow) {
    max-width: 1000px;
    margin: 0 auto;
    color: var(--fs-muted);
    font-size: clamp(18px, 1.7vw, 24px);
    line-height: 1.7;
}

.truth-banner blockquote {
    max-width: 820px;
    margin: 32px auto 0;
    padding: 22px;
    color: #fff;
    font-size: clamp(23px, 2.5vw, 35px);
    font-weight: 900;
    border-left: 5px solid var(--fs-blue);
    border-right: 5px solid var(--fs-red);
}

.section-heading {
    max-width: 1050px;
    margin: 0 auto 38px;
    text-align: center;
}

.stats-grid,
.chain-grid,
.plan-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 19px;
}

.stats-grid article,
.chain-grid article,
.plan-grid article {
    padding: 30px;
    border: 1px solid #2c456f;
    border-radius: 21px;
    background: linear-gradient(150deg, #0d192c, #090d14);
    box-shadow: inset 0 3px 0 var(--fs-blue);
}

.stats-grid strong {
    display: block;
    color: #69a0ff;
    font-size: clamp(37px, 3.7vw, 59px);
    line-height: 1;
}

.stats-grid h3,
.chain-grid h3,
.plan-grid h3,
.resource-grid h3 {
    margin: 21px 0 12px;
    font-size: 23px;
}

.stats-grid p,
.chain-grid p,
.plan-grid p,
.resource-grid p {
    margin: 0;
    color: var(--fs-muted);
    font-size: 17px;
    line-height: 1.65;
}

.stats-grid a,
.accordion a,
.sources a {
    display: inline-block;
    margin-top: 18px;
    color: #80abff;
    font-weight: 800;
}

.stats-grid .warning-stat {
    border-color: #76323a;
    box-shadow: inset 0 3px 0 var(--fs-red);
}

.warning-stat strong { color: #ff5960; font-size: clamp(31px, 3vw, 46px); }

.chain-grid article { position: relative; min-height: 260px; }
.chain-grid article > span,
.plan-grid article > span {
    color: #6095fd;
    font-size: 36px;
    font-weight: 900;
}

.signs-layout {
    display: grid;
    grid-template-columns: 1.3fr .7fr;
    gap: 22px;
}

.sign-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.sign-list article {
    display: flex;
    gap: 17px;
    padding: 23px;
    border: 1px solid #273b5d;
    border-radius: 17px;
    background: #0a111a;
}

.sign-list b { color: #6197ff; }
.sign-list p { margin: 0; color: #d8e2f1; font-size: 17px; line-height: 1.55; }

.provider-pressure {
    padding: 36px;
    border: 1px solid #80323a;
    border-radius: 22px;
    background: linear-gradient(145deg, #23070a, #0a0d12 64%);
    box-shadow: inset 0 3px 0 var(--fs-red);
}

.provider-pressure h3 { font-size: clamp(33px, 3vw, 47px); }
.provider-pressure p { color: #d5ddea; font-size: 18px; line-height: 1.7; }
.provider-pressure strong { display: block; margin-top: 27px; color: #fff; font-size: 24px; }

.accordion { max-width: 1160px; margin-inline: auto; }
.accordion details,
.sources details {
    margin: 14px 0;
    overflow: hidden;
    border: 1px solid #2d4772;
    border-radius: 18px;
    background: rgba(10,19,34,.94);
}

.accordion summary,
.sources summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 28px;
    color: #fff;
    font-size: 21px;
    font-weight: 900;
    cursor: pointer;
    list-style: none;
}

.accordion summary::-webkit-details-marker,
.sources summary::-webkit-details-marker { display: none; }

.accordion summary b,
.sources summary span {
    color: #6f9dff;
    font-size: 30px;
    transition: transform .2s ease;
}

.accordion details[open] summary b,
.sources details[open] summary span { transform: rotate(45deg); }

.accordion details > div,
.sources details > div {
    padding: 0 28px 28px;
    border-top: 1px solid #253650;
}

.accordion p,
.sources p,
.sources li { color: var(--fs-muted); font-size: 18px; line-height: 1.7; }

.plan-grid article { min-height: 270px; }

.control-board {
    margin-top: 24px;
    padding: 32px;
    border: 1px solid #2b4d82;
    border-radius: 22px;
    background: #09111f;
}

.control-board h3 { margin-bottom: 0; font-size: 32px; }
.board-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 25px;
}

.board-columns article {
    padding: 22px;
    border-radius: 15px;
    background: #101a29;
}

.board-columns span { color: #6ea0ff; font-weight: 900; letter-spacing: .16em; }
.board-columns p { margin-bottom: 0; color: #d0dbeb; line-height: 1.5; }

.resource-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.resource-grid > a {
    display: block;
    padding: 29px;
    color: #fff;
    text-decoration: none;
    border: 1px solid #315488;
    border-radius: 20px;
    background: linear-gradient(150deg, #10203d, #0a0f17);
}

.resource-grid > a > span {
    color: #68a0ff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .18em;
}

.crisis-section {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 27px;
    align-items: center;
    margin-top: clamp(55px, 7vw, 100px);
    padding: 34px 38px;
    border: 2px solid #ff3d44;
    border-radius: 24px;
    background: linear-gradient(100deg, #30070b, #0b111a 70%);
}

.crisis-mark {
    display: grid;
    width: 72px;
    height: 72px;
    place-items: center;
    border-radius: 50%;
    background: var(--fs-red);
    font-size: 43px;
    font-weight: 900;
}

.crisis-section h2 { margin-bottom: 10px; font-size: clamp(28px, 3vw, 43px); }
.crisis-section p { margin: 0; color: #dbe3ef; font-size: 18px; line-height: 1.55; }
.crisis-section > a { min-width: 130px; background: var(--fs-red); }

.closing-cta {
    padding: clamp(50px, 7vw, 95px) clamp(25px, 6vw, 90px);
    text-align: center;
    border: 1px solid #35558a;
    border-radius: 30px;
    background:
        radial-gradient(circle at left, rgba(47,111,255,.2), transparent 40%),
        radial-gradient(circle at right, rgba(229,38,45,.18), transparent 40%),
        #090d14;
}

.closing-cta .hero-actions { justify-content: center; }
.sources { margin-bottom: 75px; }
.sources ul { padding-left: 22px; }

@media (max-width: 1080px) {
    .money-hero { grid-template-columns: 1fr; }
    .pressure-meter { max-width: 650px; }
    .stats-grid,
    .plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .chain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .signs-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .financial-stress-page main { width: min(100% - 24px, 1500px); }
    .money-hero {
        margin-top: 18px;
        padding: 42px 20px;
        border-radius: 22px;
    }
    .money-hero h1 { font-size: clamp(41px, 11.5vw, 62px); }
    .hero-intro { font-size: 18px; line-height: 1.55; }
    .hero-actions { flex-direction: column; }
    .hero-actions a { width: 100%; }
    .pressure-meter { padding: 22px; }
    .feature-image { padding: 7px; border-radius: 18px; }
    .feature-image img { border-radius: 11px; }
    .truth-banner,
    .evidence-section,
    .pressure-chain,
    .signs-section,
    .research-section,
    .plan-section,
    .resource-section,
    .closing-cta,
    .sources { margin-top: 48px; }
    .truth-banner { padding: 34px 18px; }
    .truth-banner h2,
    .section-heading h2,
    .closing-cta h2 { font-size: clamp(33px, 9vw, 48px); }
    .truth-banner blockquote { padding: 18px 14px; font-size: 21px; }
    .stats-grid,
    .chain-grid,
    .plan-grid,
    .sign-list,
    .board-columns,
    .resource-grid { grid-template-columns: 1fr; }
    .stats-grid article,
    .chain-grid article,
    .plan-grid article { min-height: 0; padding: 23px; }
    .accordion summary,
    .sources summary { padding: 20px; font-size: 18px; }
    .accordion details > div,
    .sources details > div { padding: 0 20px 22px; }
    .accordion p,
    .sources p,
    .sources li { font-size: 16px; }
    .provider-pressure { padding: 28px 23px; }
    .control-board { padding: 25px 20px; }
    .crisis-section {
        grid-template-columns: 1fr;
        gap: 17px;
        padding: 28px 22px;
        text-align: center;
    }
    .crisis-mark { margin-inline: auto; }
    .crisis-section > a { width: 100%; }
    .closing-cta { padding: 44px 20px; }
}

@media (max-width: 430px) {
    .financial-stress-page .eyebrow { font-size: 12px; letter-spacing: .17em; }
    .money-hero h1 { font-size: 38px; }
    .truth-banner h2,
    .section-heading h2,
    .closing-cta h2 { font-size: 31px; }
    .pressure-meter li { flex-direction: column; gap: 4px; }
}

@media (prefers-reduced-motion: reduce) {
    .financial-stress-page *,
    .financial-stress-page *::before,
    .financial-stress-page *::after { transition: none !important; }
}

/* FINAL RESEARCH HEADING FIX */
.financial-stress-page .evidence-section .section-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    width: calc(100% - 40px) !important;
    max-width: 1200px !important;

    margin: 70px auto 45px !important;
    padding: 60px 50px !important;

    text-align: center !important;

    grid-template-columns: none !important;
    grid-template-rows: none !important;
    gap: 0 !important;

    border: 1px solid #29466f !important;
    border-top: 4px solid #2f6fff !important;
    border-bottom: 4px solid #e5262d !important;
    border-radius: 28px !important;

    background:
        radial-gradient(
            circle at left,
            rgba(47, 111, 255, 0.22),
            transparent 38%
        ),
        radial-gradient(
            circle at right,
            rgba(229, 38, 45, 0.20),
            transparent 38%
        ),
        linear-gradient(
            135deg,
            #081327,
            #07090e 50%,
            #1c070a
        ) !important;

    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.45) !important;
}

.financial-stress-page .evidence-section .section-heading .eyebrow {
    display: inline-block !important;

    width: auto !important;
    max-width: none !important;

    margin: 0 auto 24px !important;
    padding: 10px 18px !important;

    color: #8eb5ff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: 0.18em !important;

    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;

    border: 1px solid #477eea !important;
    border-radius: 999px !important;
    background: rgba(26, 67, 145, 0.32) !important;
}

.financial-stress-page .evidence-section .section-heading h2 {
    display: block !important;

    width: 100% !important;
    max-width: 950px !important;

    margin: 0 auto 24px !important;
    padding: 0 !important;

    color: white !important;
    font-size: clamp(44px, 5vw, 70px) !important;
    line-height: 1.08 !important;
    text-align: center !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
}

.financial-stress-page .evidence-section .section-heading > p:not(.eyebrow) {
    display: block !important;

    width: 100% !important;
    max-width: 800px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    color: #bdcbe0 !important;
    font-size: 21px !important;
    line-height: 1.65 !important;
    text-align: center !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
}

@media (max-width: 760px) {
    .financial-stress-page .evidence-section .section-heading {
        width: 100% !important;
        margin: 45px auto 30px !important;
        padding: 35px 20px !important;
        border-radius: 20px !important;
    }

    .financial-stress-page .evidence-section .section-heading .eyebrow {
        white-space: normal !important;
        font-size: 11px !important;
        letter-spacing: 0.13em !important;
    }

    .financial-stress-page .evidence-section .section-heading h2 {
        font-size: clamp(34px, 9vw, 48px) !important;
    }

    .financial-stress-page .evidence-section .section-heading > p:not(.eyebrow) {
        font-size: 17px !important;
    }
}