.expenses-intro {
    padding:32px;
    border:1px solid #d8e7f5;
    border-radius:8px;
    background:linear-gradient(125deg, #fff, #e9f4ff);
}

.expenses-intro h1 {
    max-width:940px;
    margin:12px 0 20px;
    color:#102246;
    font-size:clamp(28px, 2.7vw, 43px);
    line-height:1.12;
    letter-spacing:-.04em;
}

.expenses-page .expenses-intro p { max-width:940px;font-size:16px;line-height:1.7 }
.expenses-page .expenses-intro .eyebrow { color:#1973e9;font-size:11px;letter-spacing:.12em }
.expenses-page .expenses-intro p:last-child { margin-bottom:0 }
.expenses-page .expenses-story { align-items:stretch;isolation:isolate }
.expenses-page .expenses-story .finance-copy { position:relative;z-index:1 }

.expenses-page .expenses-story .expenses-photo-art {
    position:relative;
    display:block;
    align-self:stretch;
    min-height:460px;
    margin:0 0 0 -48px;
    padding:0;
    overflow:hidden;
    background:#edf5ff;
    -webkit-mask-image:linear-gradient(to right, transparent, #000 24%);
    mask-image:linear-gradient(to right, transparent, #000 24%);
}

.expenses-page .expenses-story:nth-of-type(even) .expenses-photo-art {
    margin:0 -48px 0 0;
    -webkit-mask-image:linear-gradient(to left, transparent, #000 24%);
    mask-image:linear-gradient(to left, transparent, #000 24%);
}

.expenses-page .expenses-photo-art > img {
    position:absolute;
    z-index:0;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.expenses-page .expenses-photo-art::before { content:none }

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .expenses-page .expenses-photo-art > img {
        transition:scale 900ms cubic-bezier(.2, .65, .3, 1);
    }

    .expenses-page .expenses-story:hover .expenses-photo-art > img {
        scale:1.035;
    }
}

@media (max-width:860px) {
    .expenses-page .expenses-story:nth-of-type(n) .expenses-photo-art {
        min-height:0;
        aspect-ratio:4 / 3;
        margin:0;
        -webkit-mask-image:none;
        mask-image:none;
    }
}
.expenses-visual { gap:18px;min-height:460px;padding:32px 26px 48px;overflow:hidden;background:radial-gradient(ellipse at 80% 15%, #fff 0, #e5f2ff 45%, #c9e2ff 100%) }
.expenses-visual::before { content:none }
.expenses-visual figcaption { color:#58749a;background:transparent }
.expenses-visual-heading > span { display:block;color:#1973e9;font-size:10px;font-weight:750;letter-spacing:.12em }
.expenses-visual-heading h3 { margin:12px 0 8px;color:#15345e;font-size:clamp(24px, 2.3vw, 34px);line-height:1.12;letter-spacing:-.035em }
.expenses-panel { min-width:0;padding:22px;border:1px solid #c5ddfb;border-radius:9px;background:#fffffff5;box-shadow:0 10px 28px #386ca917;color:#233f65 }
.expenses-panel > b { display:block;margin-bottom:16px;font-size:15px }
.expenses-panel small { display:block;color:#6882a1;font-size:11px;line-height:1.5 }
.expenses-row { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #e6eef8;font-size:12px;line-height:1.5 }
.expenses-row:last-child { border-bottom:0 }
.expenses-row > span { color:#6882a1 }
.expenses-row strong { text-align:right }
.expenses-row-total,.expenses-row-result { margin:0 -10px;padding-inline:10px;border-bottom:0;border-radius:5px;background:#edf5ff }
.expenses-row-total > span,.expenses-row-total > strong { color:#22578f }
.expenses-row-result { background:#edf9f3 }
.expenses-row-result > span,.expenses-row-result > strong { color:#15815b }
.expenses-note { padding:14px 16px;border:1px solid #afd2fa;border-radius:7px;background:#f4f9ff;color:#22578f;font-size:13px;line-height:1.5;text-align:center }
.expenses-note-positive { border-color:#a6d9c6;background:#effbf5;color:#15815b }
.expenses-photo { justify-content:flex-end;min-height:540px }
.expenses-photo > img { object-position:50% center }
.expenses-photo::before { content:'';background:linear-gradient(180deg, transparent 45%, #18375c70) }
.expenses-photo figcaption { color:#fff;background:#142f56b3 }
.expenses-photo-card { width:100%;max-width:350px;margin:0 auto 12px }
.expenses-tags { display:flex;flex-wrap:wrap;gap:8px }
.expenses-tags > span,.expenses-tag { display:inline-block;padding:8px 10px;border:1px solid #cbe1fc;border-radius:5px;background:#edf5ff;color:#376fae;font-size:11px;line-height:1.5 }
.expenses-photo-card .expenses-tags { margin-bottom:16px }
.expenses-tags .expenses-tag-selected { border-color:#1973e9;background:#1973e9;color:#fff }
.expenses-branch { display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));color:#79a9e5;font-size:28px;text-align:center;line-height:1 }
.expenses-dual { display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px }
.expenses-dual > div { min-width:0;padding:20px 16px;border:1px solid #c5ddfb;border-radius:8px;background:#ffffffef;box-shadow:0 10px 25px #386ca912 }
.expenses-card-index { display:grid;place-items:center;width:30px;height:30px;margin-bottom:14px;border-radius:6px;background:#edf5ff;color:#1973e9;font-size:11px;font-weight:750 }
.expenses-dual b { display:block;color:#233f65;font-size:14px }
.expenses-dual strong { display:block;margin:12px 0 8px;color:#233f65;font-size:clamp(20px, 2vw, 28px);white-space:nowrap }
.expenses-dual small { display:block;color:#6882a1;font-size:11px;line-height:1.5 }
.expenses-page .expenses-panel > p { margin:16px 0;color:#536e8e;font-size:13px;line-height:1.65 }
.expenses-comment { display:grid;gap:8px;margin-top:14px;padding:14px;border:1px solid #d5e4f7;border-radius:6px;background:#f8fbff;color:#506b8b;font-size:13px;line-height:1.6 }
.expenses-chart { display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));align-items:end;gap:16px;height:220px;padding:15px 0 0 }
.expenses-chart > div { display:grid;grid-template-rows:20px 140px 24px;min-width:0;align-items:end;text-align:center }
.expenses-chart small { align-self:start;color:#6882a1;font-size:11px }
.expenses-chart i { display:block;width:100%;height:var(--bar);border-radius:5px 5px 0 0;background:linear-gradient(#7dbbff, #1973e9) }
.expenses-chart > div:nth-child(even) i { background:linear-gradient(#bfdfff, #68a6ef) }
.expenses-chart span { align-self:end;color:#6882a1;font-size:10px }
.expenses-chemistry { background:radial-gradient(ellipse at 80% 15%, #f4fff9 0, #e5f2ff 55%, #c9e2ff 100%) }
.expenses-chemistry .expenses-panel > small { margin-top:16px }
.expenses-accounting-label { display:block;margin-top:16px;padding:10px;border:1px solid #bce1d2;border-radius:5px;background:#edf9f3;color:#15815b;font-size:11px;text-align:center }
.expenses-arrow { color:#4f91e2;font-size:28px;text-align:center;line-height:1 }
.expenses-payment .expenses-panel > b { line-height:1.5 }

@media (min-width:1201px) {
    .expenses-page .toc { max-height:calc(100svh - 135px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin }
}

@media (max-width:1000px) and (min-width:861px) {
    .expenses-visual { padding-inline:18px }
    .expenses-panel { padding:18px }
    .expenses-dual { gap:8px }
    .expenses-dual > div { padding:18px 12px }
}

@media (max-width:860px) {
    .expenses-visual { min-height:420px;padding:30px 24px 44px }
    .expenses-photo { min-height:540px }
}

@media (max-width:600px) {
    .expenses-intro { padding:24px 18px }
    .expenses-intro h1 { font-size:29px }
    .expenses-visual { padding:28px 16px 44px }
    .expenses-panel { padding:18px 14px }
    .expenses-visual-heading h3 { font-size:28px }
    .expenses-photo { min-height:470px }
    .expenses-dual { gap:8px }
    .expenses-dual > div { padding:18px 12px }
    .expenses-dual strong { font-size:22px }
    .expenses-row { font-size:11px }
    .expenses-chart { gap:12px }
}
