.ec-section {
    --ink:#f5f6ee;
    --muted:#c9d8cd;
    --line:#496457;
    --theme-surface:#1d4437;
    background:#143a2f;
    color:var(--ink,#f5f6ee);
}
.ec-heading { max-width:790px; margin-bottom:36px; }
.ec-section .ec-heading .eyebrow { color:#d7ef8d; margin-bottom:18px; }
.ec-section .ec-heading h2 { color:var(--ink,#f5f6ee); margin:0 0 18px; }
.ec-heading > p:last-child { max-width:680px; margin:0; color:var(--muted,#c9d8cd); line-height:1.8; }
.ec-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.ec-card { min-width:0; padding:26px 28px 30px; border:1px solid var(--line,#496457); border-radius:12px; background:var(--theme-surface,#1d4437); }
.ec-badge { display:flex; align-items:center; justify-content:center; height:190px; margin-bottom:24px; }
.ec-badge picture { display:flex; align-items:center; justify-content:center; width:min(100%,260px); height:100%; }
.ec-badge img { display:block; width:auto; height:auto; max-width:100%; max-height:170px; object-fit:contain; }
.ec-badge img.ec-badge-mono {
    max-width:min(100%,240px);
    max-height:150px;
    filter:invert(1);
    /* Match the optical centering of the original, top-heavy MCSD artwork. */
    transform:translateY(15%);
}
.ec-section .ec-card h3 { min-height:3.9em; margin:0; color:var(--ink,#f5f6ee); font-size:1.24rem; font-weight:500; line-height:1.35; letter-spacing:-.025em; }
.ec-card h3 span { display:block; }
.ec-card-copy > p { margin:18px 0 0; padding-top:18px; border-top:1px solid var(--line,#496457); color:var(--muted,#c9d8cd); font-size:.9rem; line-height:1.75; }

@media(max-width:1100px) {
    .ec-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
    .ec-grid { grid-template-columns:1fr; gap:16px; }
    .ec-card { display:grid; grid-template-columns:210px minmax(0,1fr); gap:28px; align-items:center; padding:22px 26px; }
    .ec-badge { height:180px; margin:0; }
    .ec-badge img { max-height:155px; }
    .ec-section .ec-card h3 { min-height:0; }
    .ec-card-copy > p { margin-top:16px; padding-top:16px; }
}
@media(max-width:600px) {
    .ec-heading { margin-bottom:26px; }
    .ec-grid { gap:16px; }
    .ec-card { display:block; padding:22px 24px 26px; }
    .ec-badge { height:170px; margin-bottom:22px; }
    .ec-badge img { max-height:155px; }
    .ec-badge img.ec-badge-mono { max-width:min(100%,225px); max-height:135px; }
    .ec-section .ec-card h3 { font-size:1.25rem; }
    .ec-card-copy > p { font-size:.9rem; }
}
@media print {
    .ec-section { --ink:#111; --muted:#333; --line:#aaa; --theme-surface:#fff; background:#fff; color:#111; }
    .ec-section .ec-heading .eyebrow { color:#333; }
    .ec-heading { margin-bottom:20px; break-after:avoid; }
    .ec-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .ec-card { display:block; padding:16px; break-inside:avoid; }
    .ec-badge { height:125px; margin-bottom:16px; }
    .ec-badge img { max-height:115px; }
    .ec-badge img.ec-badge-mono { filter:none; max-height:105px; }
    .ec-section .ec-card h3 { min-height:3.9em; font-size:11pt; }
    .ec-card-copy > p { margin-top:12px; padding-top:12px; font-size:9pt; }
}
