/* Hero */
.hero { background: #1a2e4a; color: #fff; padding: 4rem 0 3rem; border-radius:16px; }
.hero-tag {display: inline-block; background: rgba(255,255,255,0.15); border-radius: 20px; padding: 4px 14px; font-size: 13px; margin-bottom: 1.25rem; letter-spacing: 0.03em; }
.hero p { font-size: 1.05rem; color: rgba(255,255,255,0.78); max-width: 560px; }

/* KPI band */
.kpi-band { background: #fff; border-bottom: 1px solid #e5e3db; }

.kpi-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.kpi-item {
    padding: 1.5rem 1rem;
    border-right: 1px solid #e5e3db;
    text-align: center;
}
.kpi-item:last-child { border-right: none; }

.kpi-value { font-size: 1.9rem; font-weight: 700; color: #185FA5; display: block; }
.kpi-label { font-size: 12px; color: #888; margin-top: 2px; }
/* Sections */
section { padding: 3rem 0; }
section + section { border-top: 1px solid #e5e3db; }
.section-tag { display: inline-block; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #185FA5; background: #e6f1fb; border-radius: 4px; padding: 3px 10px; margin-bottom: 0.75rem; }
p:last-child { margin-bottom: 0; }
h2{color:var(--primary-color)}
/* Chart card */
.chart-card { background: #fff; border: 1px solid #e5e3db; border-radius: 12px; padding: 1.5rem; margin-top: 1.5rem; }
.chart-title { font-size: 14px; font-weight: 600; color: #444; margin-bottom: 0.25rem; }
.chart-sub { font-size: 12px; color: #888; margin-bottom: 1rem; }

.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-top: 1.5rem; }

/* note box */
.note { background: #e6f1fb; border-left: 3px solid #185FA5; border-radius: 0 8px 8px 0; padding: 1rem 1.25rem; margin-top: 1.5rem; }
.note strong { color: #185FA5; }
.note-green { background: #ECEAFE; border-color: #7B55D4; }
.note-green strong { color: #7B55D4; }

/* Steps */
.steps { margin-top: 1.25rem; display: flex; flex-direction: column; gap: 0.75rem; }
.step { display: flex; gap: 1rem; align-items: flex-start; }
.step-num { min-width: 28px; height: 28px; background: #185FA5; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; margin-top: 2px; }
.step-text { font-size: 14px; color: #444; }

/* Table */
.data-table { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 1rem; }
.data-table th { background: #f0f4f8; color: #444; font-weight: 600; padding: 8px 12px; text-align: left; border-bottom: 1px solid #dde4ec; }
.data-table td { padding: 8px 12px; border-bottom: 1px solid #eee; color: #333; }
.data-table tr:last-child td { border-bottom: none; }
.badge { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 600; }
.badge-blue { background: #e6f1fb; color: #185FA5; }
.badge-green { background: #eaf3de; color: #7B55D4; }

/* Result cards */
.result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-top: 1rem; }
.result-card { background: #fff; border: 1px solid #e5e3db; border-radius: 12px; padding: 1.25rem; }
.result-card h3 { margin-bottom: 0.4rem; }
.result-card p { font-size: 14px; color: #555; margin: 0; }

/* CTA */
.cta-section { background: #1a2e4a; color: #fff; padding: 3.5rem 0; text-align: center; }
.cta-section h2 { color: #fff; margin-bottom: 0.75rem; }
.cta-section p { color: rgba(255,255,255,0.72); margin-bottom: 1.5rem; }

.cases-container { margin-top: 32px; }
.filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; text-align: left }
.filter-btn { background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.3); color: #fff; padding: 8px 14px; border-radius: 8px; cursor: pointer; font-size: 14px; transition: all .2s; }
.filter-btn.active, .filter-btn:hover { background: #fff; color: #1a2a5e; border-color: #fff; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.card { background: #fff; border-radius: 12px; padding: 16px; box-shadow: 0 6px 18px rgba(15,23,42,0.1); display: flex; flex-direction: column; gap: 12px; }
.card img { display: block; margin: 0 auto; }
.card .kicker { color:#6b7280; font-weight: 600; text-transform: uppercase; }
.tags { display: flex; gap: 8px; flex-wrap: wrap; }
.tag { font-size: 12px; color: #6b7280; border: 1px solid #eef2ff; padding: 4px 10px; border-radius: 999px; background: #fbfdff; }
.cta { background: var(--primary-color)!important; color: #fff; padding: 8px 14px; border-radius: 8px; border: none; cursor: pointer; font-size: 15px; font-weight: 600; transition: opacity .2s; }
.cta:hover { opacity: .85; }
.right-item span { font-size: 12px; color: #555; line-height: 1.5; }
.diagram { display: flex; align-items: stretch; max-width: 820px; }
.fan { width: 120px; flex-shrink: 0; position: relative; display: flex; align-items: stretch; }
.h-left { position: absolute; left: 0; top: 50%; width: 40px; height: 2px; background: #1a2a5e; transform: translateY(-50%); }
.left { display: flex; align-items: center; }
.v-spine { position: absolute; left: 40px; width: 2px; background: #1a2a5e; top: calc(100% / 6); bottom: calc(100% / 6); }
.branches { position: absolute; left: 40px; right: 0; top: 0; bottom: 0; display: flex; flex-direction: column; justify-content: space-around; }
.branch { display: flex; align-items: center; height: 2px; position: relative; }
.branch-line { flex: 1; height: 2px; background: #1a2a5e; position: relative; }
.branch-line::after { content: ''; position: absolute; right: -1px; top: 50%; transform: translateY(-50%); border-left: 8px solid #1a2a5e; border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.right { flex: 1; display: flex; flex-direction: column; justify-content: space-around; }
.right-item { padding: 8px 0 8px 16px; }
.right-item span { font-size: 12px; color: #555; line-height: 1.5; }
.card-footer .btn.secondary {
    background-color: var(--primary-color) !important;
    color: #fff !important;
    border-color: var(--primary-color) !important;
}

.caso-img {
    width: 35%;
    border-radius: 10px;
    flex-shrink: 0;
}
.caso-flex {
    display: flex;
    gap: 32px;
    align-items: center;
}
.as-is-to-be {
    display: flex;
    gap: 32px;
    justify-content: center;
    align-items: flex-start;
}
.casi-wrapper {
    padding-left: 5%;
    padding-right: 5%;
    padding-bottom: 5%;
}
.as-is-to-be img {
    width: 40%;
    border-radius: 10px;
}
/*-- MOBILE --*/
@media (max-width: 768px) {
    .fan { display: none; }
    .grid { grid-template-columns: 1fr; }
    .kfw-modal [class*="w-"] {
        width: 95% !important;
        max-width: 95% !important;
    }

    .chart-card .w-100.pl-5,
    .chart-card .w-100.pr-5,
    .card-body .w-100.pl-5,
    .card-body .w-100.pr-5 {
        padding-left: 0.1rem !important;
        padding-right: 0.1rem !important;
    }
    .chart-card {
        padding: 0.15rem !important;
        margin-top: 0.15rem !important;
        margin-bottom: 0.15rem !important;
    }

    .chart-card[style*="margin-top:1.25rem"],
    .chart-card[style*="margin-top: 1.25rem"] {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
}
@media (max-width: 480px) {
    .kpi-grid {
        grid-template-columns: 1fr 1fr;
    }

    .kpi-item:nth-child(2) {
        border-right: none;
    }
    .kpi-item:nth-child(3) {
        grid-column: 1 / -1;
        border-right: none;
        border-top: 1px solid #e5e3db;
    }

    .kpi-value { font-size: 1rem; }
    .kpi-item { padding: 1.2rem 0.5rem; }
}
