/* =============================================================================
   MAIN CSS — All non-critical styles
   Mobile-first: base styles target mobile, min-width queries add desktop styles.
   Breakpoints: 480px | 640px | 1024px | 1200px
   ============================================================================= */


/* ─── Notification Banner ─── */

.notif-banner {
    background: var(--color-green);
    padding: 0.875rem 0;
    display: none; /* shown via JS when needed */
}

.notif-banner .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.notif-banner p {
    font-size: var(--fs-md);
    font-weight: 700;
    color: var(--color-white);
    flex: 1;
    line-height: 1.15;
    text-align: center;
}

/* Notif banner uses plain white btn-outline variant — suppress gradient border/fill */
.notif-banner .btn-outline {
    background: var(--color-white);
    color: #33363D;
    flex-shrink: 0;
    font-size: var(--fs-md);
    padding: 0.4375rem 1.125rem;
}

.notif-banner .btn-outline::before,
.notif-banner .btn-outline::after { display: none; }

.notif-banner .btn-outline:hover {
    background: #33363D;
    color: var(--color-white);
}


/* ─── Section White (raised card sections) ─── */

.section-white {
    background: var(--color-white);
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.06);
    position: relative;
    z-index: 1;
}

.section-white.benefits-overlap { padding-bottom: 12rem; }

.benefits-overlap .container {
    display: flex;
    flex-direction: column-reverse;
}


/* ─── Info Grid (two-column image + text layout) ─── */

.info-grid { padding: 3rem 0; }

.benefits-next .info-grid { padding-bottom: 0; }

.info-grid .container {
    position: relative;
    gap: 2rem;
}

.info-grid .section p {
    font-size: var(--fs-md);
    line-height: 1.51;
    color: var(--color-text);
    margin-bottom: 1rem;
}

.info-grid .section p strong { font-weight: 600; }

.img-col img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 30px;
}


/* ─── Benefits ─── */

.benefits {
    padding: 3rem 0;
    text-align: center;
    position: relative;
    z-index: 2;
    margin-top: -13rem;
}

.benefits-grid {
    display: grid;
    grid-template-columns: 1fr;
    background: var(--color-white);
    border-radius: 30px;
    box-shadow: 0 0 14px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    margin-top: 2.5rem;
    margin-bottom: -3rem;
}

.benefits-grid .b-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
    padding: 1.75rem 1.25rem;
    background: var(--bg-soft-blue);
    border-radius: 30px;
    margin: 10px;
}

.benefits-grid .b-card img {
    width: 44px;
    height: 44px;
}

.benefits-grid .b-card h3 {
    font-size: var(--fs-lg);
    font-weight: 600;
    color: var(--color-blue);
    line-height: 1.29;
}

.benefits-grid .b-card h3 span { font-weight: 400; }

.benefits-note {
    font-size: var(--fs-xs);
    color: var(--color-text-muted);
    margin-top: 4rem;
    text-align: left;
}


/* ─── Conditions List ─── */

.conditions-cols {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 0.75rem;
}

.cond-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0;
    font-size: var(--fs-md);
    font-weight: 400;
    line-height: 1.2;
}

.cond-item svg {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    color: var(--color-green);
}

.cond-item svg path { fill: var(--color-green); }

.conditions-note {
    font-size: var(--fs-xs) !important;
    color: var(--color-text-muted) !important;
    margin-bottom: 1.5rem !important;
}


/* ─── Phone CTA (blue strip) ─── */

.phone-cta {
    background: var(--color-blue);
    padding: 1.75rem 0;
    text-align: center;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.06);
    position: relative;
    z-index: 1;
}

.phone-cta p {
    font-size: var(--fs-md);
    color: var(--color-white);
    font-weight: 600;
    margin-bottom: 0.5rem;
    line-height: 1.1;
}

.phone-cta .phone-block { align-items: center; }

.phone-cta .phone-block-number {
    font-size: var(--fs-3xl);
    font-weight: 700;
    justify-content: center;
    color: var(--color-white);
}

.phone-cta .phone-block-number svg {
    width: 28px;
    height: 28px;
}

.phone-cta .phone-block-number svg path { fill: var(--color-white); }

.phone-cta .phone-block-number .sep { color: rgba(255, 255, 255, 0.5); }

.phone-cta .phone-block-number .tty {
    color: var(--color-white);
    font-size: var(--fs-md);
    padding-left: 3px;
    display: block;
}


/* ─── CSNP Diagram Section ─── */

.csnp-section {
    padding: 48px 0;
    margin: 0 auto;
}

.csnp-right p { font-size: var(--fs-md); }

.csnp-title {
    text-align: center;
    font-size: var(--fs-2xl);
    font-weight: 500;
    color: #1a1a2e;
    margin-bottom: 36px;
    letter-spacing: -0.01em;
}

.csnp-title strong {
    font-weight: 700;
    color: var(--color-blue);
}

/* Outer card (C-SNP border) */
.csnp-card {
    border: 3px solid var(--color-blue);
    border-radius: 18px;
    box-shadow: 0 0 14px rgba(0, 0, 0, 0.05);
    position: relative;
    margin-bottom: -140px;
    padding: 38px 12px 24px;
    background: var(--color-white);
    z-index: 99;
}

.label-csnp {
    position: absolute;
    top: -16px;
    /* Mobile: centered */
    left: 50%;
    transform: translateX(-50%);
    background: var(--color-blue);
    color: var(--color-white);
    font-size: var(--fs-md);
    font-weight: 600;
    padding: 5px 14px;
    border-radius: 30px;
    white-space: nowrap;
}

.csnp-columns {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* MA box */
.ma-box {
    border: 3px solid var(--color-green);
    border-radius: 14px;
    padding: 20px 22px 22px;
    position: relative;
    background: var(--color-white);
    width: 100%;
    margin-top: 10px;
}

.label-ma {
    position: absolute;
    top: -16px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--color-green);
    color: var(--color-white);
    font-size: var(--fs-md);
    font-weight: 600;
    padding: 5px 16px;
    border-radius: 30px;
    white-space: nowrap;
}

.ma-list {
    list-style: none;
    margin-top: 8px;
}

.ma-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: var(--fs-md);
    color: var(--color-text);
    padding: 9px 0;
    border-bottom: 1px solid #e8f5e9;
    line-height: 1.4;
}

.ma-list li:last-child { border-bottom: none; }

.icon-check,
.icon-plus,
.icon-info {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 3px;
}

.ma-additional {
    background: #f4fbf4;
    border-radius: 10px;
    padding: 14px 16px;
    margin-top: 12px;
}

.ma-additional-title {
    color: var(--color-green);
    font-size: var(--fs-md);
    font-weight: 600;
    margin-bottom: 10px;
    line-height: 1.4;
}

.ma-additional-list { list-style: none; }

.ma-additional-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: var(--fs-md);
    color: #333;
    padding: 5px 0;
    line-height: 1.4;
}

/* C-SNP right column */
.csnp-right {
    margin-top: 24px;
    padding-top: 0;
}

.csnp-info-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: var(--fs-md);
    color: #333;
    line-height: 1.6;
    margin-bottom: 20px;
}

.icon-info { margin-top: 0; align-self: center; }

.blue-link {
    color: var(--color-blue);
    font-weight: 600;
}

.csnp-extras-wrap {
    background: #F7FDFF;
    border-radius: 10px;
    padding: 14px 16px;
}

.csnp-extras-title {
    color: var(--color-blue);
    font-size: var(--fs-md);
    font-weight: 600;
    margin-bottom: 12px;
    line-height: 1.2;
}

.csnp-extras-list { list-style: none; }

.csnp-extras-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: var(--fs-md);
    color: var(--color-text);
    padding: 5px 0;
    line-height: 1.4;
}


/* ─── Comparison Columns ─── */

.comparison {
    padding: 3rem 0 0;
    position: relative;
    z-index: 2;
}

.comp-cols {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 2rem;
    margin-bottom: -3rem;
    position: relative;
    z-index: 2;
}

.comp-next { padding-top: 4rem; }

.comp-col {
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 0 19px rgba(0, 0, 0, 0.1);
    background: var(--color-white);
}

.comp-hdr {
    padding: 1rem 1.75rem;
    font-size: var(--fs-xl);
    font-weight: 700;
    line-height: 1.1;
    color: var(--color-white);
}

.col-ma   .comp-hdr { background: var(--color-green); border-radius: 30px 30px 0 0; }
.col-csnp .comp-hdr { background: var(--color-blue);  border-radius: 30px 30px 0 0; }

.comp-col ul { padding: 0; }

.comp-col ul p {
    padding: 10px 28px;
    font-weight: 600;
    font-size: var(--fs-md);
    line-height: 1.2;
}

.comp-col li {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 1.1rem 1.75rem;
    font-size: var(--fs-md);
    font-weight: 400;
    line-height: 1.2;
}

.comp-col li:nth-child(odd) { background: #fbfbfb; }

.col-csnp li:first-child { background: #eefdd7; }

.comp-col li svg {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.comp-col li svg path { fill: var(--color-green); }

.col-csnp .comp-bottom {
    padding: 1rem 1.75rem;
    background: #F7FDFF;
    margin-bottom: -1px;
}

.comp-bottom a {
    font-size: var(--fs-md);
    font-weight: 600;
    line-height: 1.2;
    color: var(--color-blue);
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    transition: 0.3s all;
}

.comp-bottom a:hover { opacity: 0.8; }

.comp-bottom .icon-two {
    width: 12px;
    position: relative;
    height: 12px;
    margin-left: 0;
    top: -4px;
    padding-left: 4px;
}

.comp-bottom .icon-two svg {
    width: 10px;
    height: 12px;
}


/* ─── Steps ─── */

.steps {
    padding: 3rem 0 1rem;
}

.steps .container { position: relative; }

.steps h2 { text-align: center; }

.steps .steps-grid {
    display: grid;
    gap: 2rem;
    margin-top: 2rem;
}

.steps .steps-grid .step {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.steps .steps-grid .step .step-number {
    width: 48px;
    height: 48px;
    min-width: 48px;
    font-size: var(--fs-xl);
    background: var(--color-green);
    color: var(--color-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.steps .steps-grid .step h3 {
    max-width: 280px;
    line-height: 1.1;
    margin: 0;
    text-align: left;
    font-size: var(--fs-xl);
    font-weight: 400;
}

.steps .steps-grid .step h3 strong { font-weight: 600; }

.steps .call-opt {
    text-align: center;
    padding-top: 1.5rem;
}

.steps .call-opt .phone-block { margin-top: 1.875rem; }


/* ─── FAQ ─── */

.faq {
    padding: 3rem 0 1rem;
    position: relative;
    z-index: 2;
}

.faq-card {
    margin: 2rem 0 0;
    margin-bottom: -5rem;
    background: var(--color-white);
    border-radius: 30px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.10);
    padding: 0.5rem 1.25rem;
    position: relative;
    z-index: 2;
}

.faq-item {
    border-bottom: 1.5px solid #eee;
    padding: 19px 0;
}

.faq-item:last-child { border-bottom: none; }

.faq-next { padding-top: 4rem; }

.faq-plus {
    flex-shrink: 0;
    font-size: var(--fs-3xl);
    font-weight: 600;
    color: var(--color-blue);
    line-height: 1;
}

.faq-q {
    width: 100%;
    text-align: left;
    padding: 1.25rem 0;
    font-size: var(--fs-lg);
    font-weight: 600;
    color: var(--color-blue);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    line-height: 1.2;
}

.faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
}

.faq-a-inner {
    padding: 0 0 1rem;
    font-size: var(--fs-md);
    line-height: 1.3;
}


/* ─── Help List ─── */

.help-list {
    margin-top: -15px;
}

.help-list li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0;
    font-size: var(--fs-md);
    font-weight: 400;
}

.help-list li svg {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.help-list li svg path { fill: var(--color-green); }


/* ─── Prefer / CTA Section ─── */

.prefer-section {
    padding: 3rem 0;
}

.prefer-section .container {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.prefer-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    margin-top: 1.5rem;
}

.prefer-actions .phone-block-sub { color: var(--color-text-mid) !important; }


/* ─── Footer ─── */

footer {
    background: var(--color-bg-footer);
    color: var(--color-white);
    padding: 2.5rem 0 2rem;
}

footer .btn-outline {
    color: var(--color-white);
    background: transparent;
}

footer .btn-outline:hover path { fill: var(--color-white); }

footer .btn-outline .icon path { fill: var(--color-white); }

.footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.footer-top .logo img {
    height: 24px;
    width: auto;
}

.footer-top .phone-block-number { color: var(--color-white); }

.footer-top .phone-block-number svg path { fill: #b8df79; }

.footer-top .phone-block-number .sep { color: rgba(255, 255, 255, 0.4); }

.footer-top .phone-block-number .tty { color: var(--color-text-light); }

.footer-bottom {
    background: var(--color-bg-footer-card);
    border-radius: 20px;
    padding: 1.25rem;
    font-size: var(--fs-xs);
    line-height: 1.2;
    color: var(--color-footer);
}

.footer-bottom p { margin-bottom: 0.75rem; }

.footer-bottom p:last-child { margin-bottom: 0; }

.footer-bottom strong { font-weight: 700; }

.footer-bottom a {
    color: var(--color-footer);
    text-decoration: underline;
}

.footer-copyright {
    margin-top: 1.75rem;
    font-size: var(--fs-xs);
    color: var(--color-footer);
}


/* =============================================================================
   RESPONSIVE — Mobile-first breakpoints (min-width)
   ============================================================================= */


/* ─── 480px: 2-col benefits grid ─── */

@media (min-width: 480px) {

    .benefits-grid {
        grid-template-columns: 1fr 1fr;
    }
}


/* ─── 640px: multi-col layouts unlock ─── */

@media (min-width: 640px) {

    /* Notification banner */
    .notif-banner .container {
        flex-direction: row;
        text-align: left;
        gap: 1rem;
    }

    .notif-banner p {
        font-size: var(--fs-xl);
        text-align: left;
    }

    /* Hero */
    .hero-content {
        text-align: left;
    }

    .hero-eyebrow {
        text-align: left;
        align-self: flex-start;
    }

    .hero-cta-row {
        flex-direction: row;
        align-items: center;
        gap: 1.5rem;
    }

    /* Benefits: 4 columns */
    .benefits-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .benefits-note {
        text-align: left;
        margin-top: 4rem;
    }

    /* Comparison columns side-by-side */
    .comp-cols {
        flex-direction: row;
    }

    .comp-col { flex: 1; }

    /* Conditions list: 2 columns */
    .conditions-cols {
        flex-direction: row;
        gap: 2rem;
    }

    .conditions-col { flex: 1; }

    /* FAQ card padding */
    .faq-card { padding: 0.5rem 2rem; }

    /* FAQ question size bump */
    .faq-q { font-size: var(--fs-xl); }

    /* Footer */
    .footer-bottom { padding: 2rem; }

    /* Header btn-outline slightly larger */
    .header-right .btn-outline {
        font-size: var(--fs-base);
        padding: 0.4375rem 1rem;
    }

    /* Prefer / CTA section */
    .prefer-section { padding: 5rem 0; }

    .prefer-section .section { flex: 0 0 50%; }

    .prefer-section .img-col { flex: 0 0 50%; }

    .prefer-section .img-col img {
        width: 100%;
        height: auto;
        border-radius: 30px;
    }

    .prefer-actions {
        flex-direction: row;
        align-items: center;
        gap: 1rem;
    }

    .prefer-actions .btn-outline { align-self: center; }

    .prefer-actions p { margin-bottom: 0 !important; }

    /* Steps: 3 columns */
    .steps .steps-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .steps .steps-grid .step {
        flex-direction: column;
        align-items: center;
        text-align: center;
        position: relative;
    }

    .steps .steps-grid .step h3 {
        text-align: center;
        margin: 0 auto;
        padding-top: 1rem;
    }

    .steps .steps-grid .step h3 strong { display: block; }

    /* Arrow connectors between steps */
    .steps .steps-grid .step:nth-child(2)::before,
    .steps .steps-grid .step:nth-child(3)::before {
        content: '';
        display: block;
        width: 80px;
        height: 23px;
        background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEwIiBoZWlnaHQ9IjIzIiB2aWV3Qm94PSIwIDAgMjEwIDIzIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMjA5LjA2MSAxMi41MDA0QzIwOS42NDYgMTEuOTE0NiAyMDkuNjQ2IDEwLjk2NDggMjA5LjA2MSAxMC4zNzlMMTk5LjUxNSAwLjgzMzA5NUMxOTguOTI5IDAuMjQ3MzA4IDE5Ny45NzkgMC4yNDczMDggMTk3LjM5MyAwLjgzMzA5NUMxOTYuODA4IDEuNDE4ODggMTk2LjgwOCAyLjM2ODYzIDE5Ny4zOTMgMi45NTQ0MkwyMDUuODc5IDExLjQzOTdMMTk3LjM5MyAxOS45MjVDMTk2LjgwOCAyMC41MTA4IDE5Ni44MDggMjEuNDYwNSAxOTcuMzkzIDIyLjA0NjNDMTk3Ljk3OSAyMi42MzIxIDE5OC45MjkgMjIuNjMyMSAxOTkuNTE1IDIyLjA0NjNMMjA5LjA2MSAxMi41MDA0Wk0yIDkuOTM5NjhDMS4xNzE1NyA5LjkzOTY4IDAuNSAxMC42MTEzIDAuNSAxMS40Mzk3QzAuNSAxMi4yNjgxIDEuMTcxNTcgMTIuOTM5NyAyIDEyLjkzOTdMMiA5LjkzOTY4Wk0yMDggMTEuNDM5N0wyMDggOS45Mzk3TDIgOS45Mzk2OEwyIDExLjQzOTdMMiAxMi45Mzk3TDIwOCAxMi45Mzk3TDIwOCAxMS40Mzk3WiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyXzZfNjEzKSIvPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzZfNjEzIiB4MT0iMjA4IiB5MT0iOS40Mzk3IiB4Mj0iMiIgeTI9IjkuNDM5NjgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzhFQjg0QSIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMDc2QjYiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K");
        background-repeat: no-repeat;
        background-size: contain;
        position: absolute;
        top: 24px;
        transform: translate(-50%, -50%);
        left: -1rem;
    }

    /* CSNP label: right-aligned on wider screens */
    .label-csnp {
        right: 32px;
        left: auto;
        transform: none;
        top: -18px;
        font-size: var(--fs-md) !important;
        padding: 6px 18px;
    }
}


/* ─── 1024px: desktop layout ─── */

@media (min-width: 1024px) {

    /* Container padding */
    .container { padding: 0 2rem; }

    /* h2 scales up */
    h2 {
        font-size: var(--fs-4xl);
        margin-bottom: 12px;
    }

    /* btn-outline desktop size */
    .btn-outline {
        font-size: var(--fs-lg);
        padding: 0.85rem 2.6rem;
    }

    /* Header: show agent phone block */
    .header-agent { display: flex; }

    .header-agent .phone-block-label { font-size: var(--fs-xs); }

    .header-agent .phone-block-number { font-size: var(--fs-sm); }

    /* Hero: side-by-side layout */
    .hero {
        padding: 1.5rem 0 0;
    }

    .hero .container {
        flex-direction: row;
        align-items: stretch;
        padding-right: 0;
        position: relative;
    }

    .hero-content {
        flex: 1;
        max-width: 620px;
        padding: 3rem 3rem 6.5rem 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .hero h1 { font-size: 2.125rem; text-align: left; }

    .hero h1 .hl { font-size: 1.7em; }

    .hero h1 .sub { font-size: 1em; }

    .hero-image {
        display: flex;
        align-items: flex-end;
        justify-content: center;
        flex: 0 0 440px;
        min-height: 500px;
        margin-top: 10px;
        width: auto;
        position: absolute;
        z-index: -1;
        right: -180px;
        top: -43px;
    }

    .hero-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* Info grid: side-by-side */
    .info-grid { padding: 4.5rem 0; }

    .info-grid .container {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 3.5rem;
    }

    .info-grid .section { flex: 1; }

    /* Paragraphs scale up to --fs-lg on desktop */
    .info-grid .section p { font-size: var(--fs-lg); }

    .info-grid .img-col { flex: 0 0 510px; }

    /* Prefer section */
    .prefer-section .container {
        flex-direction: row;
        align-items: center;
        gap: 3.5rem;
    }

    .prefer-section .img-col { flex: 0 0 468px; }

    .info-grid.prefer-section .img-col img {
        position: relative;
        right: -28px;
    }

    /* Benefits */
    .benefits { padding: 4.5rem 0; }

    /* Benefits next section */
    .benefits-next .section {
        max-width: 600px;
        padding-bottom: 70px;
    }

    .benefits-next h2 { width: 200%; }

    .benefits-next .img-col {
        position: absolute;
        right: -90px;
    }

    .benefits-next .img-col img {
        bottom: 0;
        position: relative;
    }

    .benefits-next .info-grid { padding-bottom: 0 !important; }

    /* Section white overlap */
    .benefits-overlap .img-col img { margin-left: -42px; }

    /* Comp section */
    .comparison { padding: 4.5rem 0 0; }

    .comp-next .img-col img { margin-left: -33px; }

    /* List items / conditions scale up */
    .help-list li    { font-size: var(--fs-lg); }
    .cond-item       { font-size: var(--fs-lg); }
    .faq-a-inner     { font-size: var(--fs-lg); }

    /* FAQ */
    .faq { padding: 4.5rem 0 2rem; }

    .faq-card { padding: 0.5rem 2rem; }

    .faq-q { font-size: var(--fs-xl); }

    /* Phone CTA */
    .phone-block {
        display: flex;
    }
    .phone-cta .phone-block-number {
        font-size: 2.75rem;
        display: inline-flex;
    }

    .phone-cta .phone-block-number svg {
        width: 36px;
        height: 36px;
    }

    .phone-cta p { font-size: var(--fs-lg); }

    .phone-cta .phone-block-number .tty {
        font-size: 2.75rem;
        display: inline-flex;
    }

    /* Steps */
    .steps { padding: 4.5rem 0; }

    .steps .steps-grid { margin: 3rem 2rem 1rem; }

    .steps .steps-grid .step { justify-content: center; }

    .steps .steps-grid .step h3 {
        font-size: var(--fs-2xl);
        padding-top: 1.25rem;
    }

    .steps .steps-grid .step .step-number {
        font-size: var(--fs-4xl);
        width: 70px;
        height: 70px;
        min-width: 70px;
    }

    .steps .steps-grid .step:nth-child(2)::before,
    .steps .steps-grid .step:nth-child(3)::before {
        width: 160px;
        top: 35px;
    }

    .steps .call-opt {
        text-align: center;
        padding-top: 2.5rem;
    }

    /* CSNP diagram */
    .csnp-card {
        padding: 48px 38px 38px;
    }

    .csnp-title { font-size: var(--fs-3xl); }

    .csnp-columns {
        flex-direction: row;
        gap: 32px;
        align-items: flex-start;
    }

    .ma-box {
        flex: 0 0 auto;
        width: 480px;
        margin-top: 0;
    }

    .icon-check, .icon-plus, .icon-info {
        margin-top: 5px;
    }

    .label-ma {
        left: 20px;
        transform: none;
    }

    .csnp-right {
        flex: 1;
        margin-top: 0;
        padding-top: 4px;
    }

    /* Scale up CSNP text */
    .ma-list li,
    .ma-additional-title,
    .ma-additional-list li,
    .csnp-extras-title,
    .csnp-extras-list li,
    .csnp-info-row,
    .csnp-right p { font-size: var(--fs-lg); }
}


