/**
 * Intelligence724 v2.6.1 — commercial-insurance page.
 * Owns the local section rail, claims workflow diagrams, authority boundaries,
 * density, responsive reflow, text enlargement, forced colors, and print.
 */

:root {
    --i724-sticky-header-bottom: var(--i724-header-height);
    --i724-live-anchor-offset: calc(var(--i724-header-height) + 82px);
    --i724-claims-gap: clamp(12px, 1.4vw, 18px);
    --i724-claims-card-radius: 16px;
}

html {
    scroll-padding-top: var(--i724-live-anchor-offset);
}

body.i724-modernization-insurance_modernization .i724-modern-section[id],
body.i724-modernization-insurance_modernization .i724-insurance-jump {
    scroll-margin-top: var(--i724-live-anchor-offset);
}

body.i724-modernization-insurance_modernization .i724-modern-content > .i724-modern-section {
    padding-block: clamp(52px, 6vw, 86px);
}

body.i724-modernization-insurance_modernization .i724-modern-content > .i724-modern-section:first-child {
    padding-top: clamp(44px, 5vw, 72px);
}

body.i724-modernization-insurance_modernization .i724-modern-section:target {
    outline: 2px solid rgba(35, 136, 255, .24);
    outline-offset: -2px;
}

/* Compact section rail: one useful row with local horizontal scrolling rather
 * than a tall wrapped navigation block. It remains below the measured header. */
.i724-insurance-jump {
    position: sticky;
    z-index: 930;
    top: var(--i724-sticky-header-bottom, var(--i724-header-height));
    border-top: 1px solid rgba(17, 49, 86, .11);
    border-bottom: 1px solid rgba(17, 49, 86, .14);
    background: rgba(244, 249, 254, .96);
    box-shadow: 0 10px 28px rgba(5, 27, 57, .07);
    backdrop-filter: blur(14px) saturate(120%);
    -webkit-backdrop-filter: blur(14px) saturate(120%);
}

.i724-insurance-jump .i724-shell {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 6px;
    overflow-x: auto;
    padding-block: 8px;
    overscroll-behavior-inline: contain;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

.i724-insurance-jump strong {
    flex: 0 0 auto;
    margin-right: 5px;
    color: var(--i724-blue-2);
    font: 850 .67rem/1.3 var(--i724-font-mono);
    letter-spacing: .11em;
    text-transform: uppercase;
    white-space: nowrap;
}

.i724-insurance-jump a {
    display: inline-grid;
    flex: 0 0 auto;
    grid-template-columns: auto auto;
    gap: 7px;
    align-items: center;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: var(--i724-ink-800);
    font-size: .77rem;
    font-weight: 820;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}

.i724-insurance-jump a > span {
    color: var(--i724-blue-2);
    font: 850 .62rem/1 var(--i724-font-mono);
}

.i724-insurance-jump a:hover,
.i724-insurance-jump a:focus-visible {
    border-color: rgba(17, 92, 202, .16);
    background: #fff;
    color: var(--i724-blue-2);
    box-shadow: 0 7px 22px rgba(5, 27, 57, .08);
}

/* Shared claims-page typography and containment. */
.i724-claims-section-intro {
    max-width: 880px;
}

.i724-claims-section-intro h2,
.i724-claims-heading-grid h2,
.i724-claims-authority-card h3,
.i724-claims-pipeline h3,
.i724-claims-flow-grid h3,
.i724-claims-signal-flow h3,
.i724-claims-control-note h3,
.i724-claims-scale-gate h3,
.i724-claims-engagement-grid h3,
.i724-claims-entry-grid h3 {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.i724-claims-section-intro p,
.i724-claims-pipeline p,
.i724-claims-flow-grid p,
.i724-claims-signal-flow p,
.i724-claims-control-note dd,
.i724-claims-scale-gate p,
.i724-claims-engagement-grid p,
.i724-claims-entry-grid p {
    overflow-wrap: break-word;
}

.i724-claims-decision-strip,
.i724-claims-flow-grid,
.i724-claims-engagement-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
    gap: var(--i724-claims-gap);
    min-width: 0;
}

.i724-claims-decision-strip {
    margin-bottom: clamp(18px, 2.5vw, 30px);
}

.i724-claims-decision-strip > article,
.i724-claims-flow-grid > article,
.i724-claims-engagement-grid > article,
.i724-claims-entry-grid > article {
    display: grid;
    min-width: 0;
    align-content: start;
    padding: clamp(20px, 2.4vw, 28px);
    border: 1px solid rgba(17, 49, 86, .14);
    border-radius: var(--i724-claims-card-radius);
    background: #fff;
    box-shadow: 0 12px 30px rgba(4, 25, 55, .055);
}

.i724-claims-decision-strip > article > span,
.i724-claims-flow-grid > article > span,
.i724-claims-engagement-grid > article > span {
    display: block;
    margin-bottom: 17px;
    color: var(--i724-blue-2);
    font: 850 .67rem/1 var(--i724-font-mono);
    letter-spacing: .1em;
}

.i724-claims-decision-strip h3,
.i724-claims-flow-grid h3,
.i724-claims-engagement-grid h3,
.i724-claims-entry-grid h3 {
    margin: 0;
    color: var(--i724-ink-950);
    font-size: clamp(1.04rem, 1.5vw, 1.28rem);
    line-height: 1.16;
}

.i724-claims-decision-strip p,
.i724-claims-flow-grid p,
.i724-claims-engagement-grid p,
.i724-claims-entry-grid p {
    margin: 10px 0 0;
    color: var(--i724-ink-700);
    font-size: .9rem;
    line-height: 1.55;
}

.i724-claims-engagement-grid > article strong {
    display: block;
    margin-top: 18px;
    padding-top: 15px;
    border-top: 1px solid rgba(17, 49, 86, .12);
    color: var(--i724-blue-2);
    font-size: .82rem;
    line-height: 1.4;
}

.i724-claims-before-after {
    margin-top: 0;
}

.i724-claims-before-after article {
    display: grid;
    min-width: 0;
    align-content: start;
}

.i724-claims-before-after ol {
    counter-reset: i724-claim-flow;
    padding: 0;
    list-style: none;
}

.i724-claims-before-after li {
    counter-increment: i724-claim-flow;
    display: grid;
    grid-template-columns: 1.9rem minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    min-width: 0;
    padding: 0;
    line-height: 1.48;
}

.i724-claims-before-after li::before {
    content: counter(i724-claim-flow, decimal-leading-zero);
    color: var(--i724-blue-2);
    font: 850 .66rem/1.6 var(--i724-font-mono);
}

/* Document intelligence: heading and authority first, then a five-stage flow
 * that owns the full section width. */
.i724-claims-heading-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr);
    gap: clamp(24px, 4vw, 52px);
    align-items: start;
    margin-bottom: clamp(28px, 4vw, 50px);
}

.i724-claims-heading-grid > * {
    min-width: 0;
}

.i724-claims-heading-grid .i724-modern-heading {
    margin-bottom: 0;
}

.i724-claims-authority-card {
    min-width: 0;
    padding: clamp(22px, 3vw, 32px);
    border: 1px solid rgba(105, 191, 255, .29);
    border-top: 4px solid var(--i724-cyan-2);
    border-radius: 0 0 16px 16px;
    background: linear-gradient(150deg, rgba(10, 38, 72, .96), rgba(2, 15, 34, .96));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}

.i724-claims-authority-card > p:first-child {
    margin: 0 0 9px;
    color: var(--i724-cyan-2);
    font: 850 .67rem/1.3 var(--i724-font-mono);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.i724-claims-authority-card h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.25rem, 2vw, 1.85rem);
    line-height: 1.08;
    text-wrap: balance;
}

.i724-claims-authority-card p:not(:first-child) {
    margin: 14px 0 0;
    color: #bcd0e8;
    font-size: .9rem;
    line-height: 1.55;
}

.i724-claims-authority-card strong {
    color: #fff;
}

.i724-claims-pipeline,
.i724-claims-signal-flow {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
    gap: var(--i724-claims-gap);
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.i724-claims-pipeline > li,
.i724-claims-signal-flow > li {
    position: relative;
    display: grid;
    min-width: 0;
    align-content: start;
    padding: clamp(18px, 2.2vw, 25px);
    border: 1px solid rgba(105, 191, 255, .26);
    border-radius: var(--i724-claims-card-radius);
    background: rgba(3, 17, 37, .82);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

.i724-claims-stage-number {
    display: block;
    margin-bottom: 16px;
    color: var(--i724-cyan-2);
    font: 850 .67rem/1 var(--i724-font-mono);
    letter-spacing: .11em;
}

.i724-claims-stage-role {
    margin: 0 0 8px !important;
    color: #8db4d7 !important;
    font-size: .67rem !important;
    font-weight: 850;
    line-height: 1.25 !important;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.i724-claims-pipeline h3,
.i724-claims-signal-flow h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.02rem, 1.4vw, 1.23rem);
    line-height: 1.16;
}

.i724-claims-pipeline > li > p:last-child,
.i724-claims-signal-flow > li > p:last-child {
    margin: 11px 0 0;
    color: #b8cce6;
    font-size: .84rem;
    line-height: 1.52;
}

.i724-claims-pipeline > li:nth-child(4) {
    border-color: rgba(55, 217, 170, .42);
    background: linear-gradient(145deg, rgba(5, 31, 50, .96), rgba(4, 39, 45, .9));
}

.i724-claims-pipeline > li:nth-child(5) {
    border-color: rgba(240, 26, 47, .44);
    background: linear-gradient(145deg, rgba(49, 8, 21, .9), rgba(19, 15, 35, .95));
}

.i724-claims-pipeline-boundary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
    gap: 12px;
    min-width: 0;
    margin-top: 16px;
}

.i724-claims-pipeline-boundary > div {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(8.5rem, .34fr) minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 17px 19px;
    border: 1px solid rgba(105, 191, 255, .2);
    border-radius: 12px;
    background: rgba(2, 15, 34, .76);
}

.i724-claims-pipeline-boundary strong {
    color: var(--i724-cyan-2);
    font-size: .73rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.i724-claims-pipeline-boundary span {
    color: #c2d5ec;
    font-size: .84rem;
    line-height: 1.48;
}

/* Authorized knowledge and anomaly flows use the same readable rhythm while
 * retaining different visual contexts. */
.i724-claims-flow-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
}

.i724-claims-signal-flow > li {
    border-color: rgba(17, 49, 86, .14);
    background: #fff;
    box-shadow: 0 10px 28px rgba(4, 25, 55, .05);
}

.i724-claims-signal-flow .i724-claims-stage-number,
.i724-claims-signal-flow .i724-claims-stage-role {
    color: var(--i724-blue-2) !important;
}

.i724-claims-signal-flow h3 {
    color: var(--i724-ink-950);
}

.i724-claims-signal-flow > li > p:last-child {
    color: var(--i724-ink-700);
}

.i724-claims-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: clamp(20px, 3vw, 30px) 0 0;
    padding: 0;
    list-style: none;
}

.i724-claims-metrics li {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    min-height: 38px;
    padding: 7px 11px;
    border: 1px solid rgba(17, 49, 86, .14);
    border-radius: 999px;
    background: #fff;
    color: var(--i724-ink-800);
    font-size: .75rem;
    font-weight: 800;
    line-height: 1.25;
}

/* Control and decision ownership. */
.i724-claims-control-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
    gap: clamp(24px, 4vw, 52px);
    align-items: start;
}

.i724-claims-control-layout > * {
    min-width: 0;
}

.i724-claims-control-layout .i724-modern-checklist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.i724-claims-control-note {
    min-width: 0;
    padding: clamp(22px, 3vw, 32px);
    border: 1px solid rgba(17, 49, 86, .15);
    border-radius: var(--i724-claims-card-radius);
    background: linear-gradient(135deg, #f3f8fd, #edf5fc);
}

.i724-claims-control-note h3 {
    margin: 0 0 20px;
    color: var(--i724-ink-950);
    font-size: clamp(1.3rem, 2vw, 1.8rem);
    line-height: 1.1;
}

.i724-claims-control-note dl {
    display: grid;
    gap: 0;
    margin: 0;
}

.i724-claims-control-note dl > div {
    display: grid;
    grid-template-columns: minmax(7.5rem, .4fr) minmax(0, 1fr);
    gap: 15px;
    padding: 13px 0;
    border-top: 1px solid rgba(17, 49, 86, .12);
}

.i724-claims-control-note dt {
    color: var(--i724-blue-2);
    font-size: .77rem;
    font-weight: 860;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.i724-claims-control-note dd {
    margin: 0;
    color: var(--i724-ink-700);
    font-size: .86rem;
    line-height: 1.48;
}

.i724-claims-scale-gate {
    display: grid;
    min-width: 0;
    gap: 14px;
    margin-top: clamp(24px, 4vw, 44px);
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid rgba(17, 49, 86, .15);
    border-left: 4px solid var(--i724-blue-2);
    border-radius: 0 16px 16px 0;
    background: linear-gradient(135deg, #f4f8fd, #edf5fc);
}

.i724-claims-scale-gate h3,
.i724-claims-scale-gate p {
    margin: 0;
}

.i724-claims-scale-gate h3 {
    max-width: 29ch;
    color: var(--i724-ink-950);
    font-size: clamp(1.45rem, 2.4vw, 2.25rem);
    line-height: 1.08;
    text-wrap: balance;
}

.i724-claims-scale-gate > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.i724-claims-scale-gate > div > span {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    min-height: 38px;
    padding: 7px 11px;
    border: 1px solid rgba(17, 49, 86, .14);
    border-radius: 999px;
    background: #fff;
    color: var(--i724-ink-800);
    font-size: .77rem;
    font-weight: 800;
    line-height: 1.25;
}

.i724-claims-entry-grid {
    align-items: stretch;
}

.i724-claims-entry-grid > article {
    min-height: 0;
}

.i724-claims-engagement-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
}

/* Connect the five document stages only when the component is genuinely wide
 * enough for one row. The arrows never consume their own rows. */
@container (min-width: 1180px) {
    .i724-claims-pipeline {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .i724-claims-pipeline > li:not(:last-child)::after {
        content: "→";
        position: absolute;
        z-index: 2;
        top: 50%;
        right: calc(var(--i724-claims-gap) * -.72);
        color: var(--i724-cyan-2);
        font-size: 1rem;
        font-weight: 900;
        line-height: 1;
        transform: translate(50%, -50%);
    }

    .i724-claims-signal-flow {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@container (max-width: 1079px) {
    .i724-claims-heading-grid,
    .i724-claims-control-layout {
        grid-template-columns: 1fr;
    }

    .i724-claims-control-layout .i724-modern-checklist {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
    }
}

@container (max-width: 620px) {
    .i724-claims-pipeline-boundary > div,
    .i724-claims-control-note dl > div {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .i724-claims-scale-gate > div > span {
        flex: 1 1 calc(50% - 8px);
        border-radius: 10px;
    }
}

@media (max-width: 680px) {
    body.i724-modernization-insurance_modernization .i724-modern-content > .i724-modern-section,
    body.i724-modernization-insurance_modernization .i724-modern-content > .i724-modern-section:first-child {
        padding-block: 48px;
    }

    .i724-insurance-jump .i724-shell {
        gap: 5px;
        padding-block: 7px;
    }

    .i724-insurance-jump strong {
        margin-right: 2px;
    }

    .i724-insurance-jump a {
        min-height: 40px;
        padding: 7px 9px;
        font-size: .73rem;
    }

    .i724-claims-decision-strip,
    .i724-claims-flow-grid,
    .i724-claims-engagement-grid,
    .i724-claims-pipeline,
    .i724-claims-signal-flow {
        gap: 10px;
    }

    /* At root-level 200% text enlargement, long domain words may become
     * wider than a phone content column. Prefer normal wrapping, then allow
     * a last-resort break rather than clipping or widening the document. */
    .i724-claims-section-intro h2,
    .i724-claims-heading-grid h2,
    .i724-claims-authority-card h3,
    .i724-claims-pipeline h3,
    .i724-claims-flow-grid h3,
    .i724-claims-signal-flow h3,
    .i724-claims-control-note h3,
    .i724-claims-scale-gate h3,
    .i724-claims-engagement-grid h3,
    .i724-claims-entry-grid h3 {
        overflow-wrap: break-word;
        hyphens: auto;
    }

    .i724-claims-pipeline > li,
    .i724-claims-signal-flow > li,
    .i724-claims-decision-strip > article,
    .i724-claims-flow-grid > article,
    .i724-claims-engagement-grid > article,
    .i724-claims-entry-grid > article {
        padding: 18px;
    }

    .i724-claims-before-after li {
        grid-template-columns: 1.55rem minmax(0, 1fr);
        gap: 7px;
    }

    .i724-claims-scale-gate {
        padding: 19px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    .i724-insurance-jump,
    .i724-insurance-jump * {
        transition: none !important;
    }
}

@media (forced-colors: active) {
    .i724-insurance-jump,
    .i724-claims-decision-strip > article,
    .i724-claims-before-after article,
    .i724-claims-authority-card,
    .i724-claims-pipeline > li,
    .i724-claims-pipeline-boundary > div,
    .i724-claims-flow-grid > article,
    .i724-claims-signal-flow > li,
    .i724-claims-control-note,
    .i724-claims-scale-gate,
    .i724-claims-entry-grid > article,
    .i724-claims-engagement-grid > article {
        border: 1px solid CanvasText;
    }

    .i724-claims-pipeline > li:nth-child(4),
    .i724-claims-pipeline > li:nth-child(5) {
        border: 2px solid Highlight;
    }
}

@media print {
    .i724-insurance-jump {
        display: none;
    }

    body.i724-modernization-insurance_modernization .i724-modern-content > .i724-modern-section {
        padding-block: 28px;
    }

    .i724-claims-heading-grid,
    .i724-claims-control-layout,
    .i724-claims-pipeline,
    .i724-claims-signal-flow,
    .i724-claims-flow-grid,
    .i724-claims-decision-strip,
    .i724-claims-engagement-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .i724-claims-authority-card,
    .i724-claims-pipeline > li,
    .i724-claims-pipeline-boundary > div,
    .i724-claims-signal-flow > li {
        break-inside: avoid;
        border: 1px solid #555 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .i724-claims-authority-card *,
    .i724-claims-pipeline *,
    .i724-claims-pipeline-boundary *,
    .i724-claims-signal-flow * {
        color: #000 !important;
    }
}

/* Final v2.6.1 acceptance refinements. Numbered stages are sufficient at
 * desktop; decorative arrows must not enlarge card scroll geometry. */
@container (min-width: 1180px) {
    .i724-claims-pipeline > li:not(:last-child)::after {
        content: none;
    }
}

@media (max-width: 420px) {
    .i724-claims-scale-gate > div > span {
        flex-basis: 100%;
    }

    .i724-claims-entry-grid h3 {
        font-size: .92rem;
    }
}
