/* Dedicated document palette: theme heading rules and native dark cards must
 * not leave this English shell with mismatched foregrounds/backgrounds. */
body.ism-en-body {
    --ism-en-canvas:#f4f7f8;
    --ism-en-surface:#ffffff;
    --ism-en-text:#22282c;
    --ism-en-muted:#5d6a72;
    --ism-en-border:#dde3e7;
    --ism-en-link:#146a75;
    --ism-en-link-hover:#0f5560;
    --ism-en-button:#146a75;
    --ism-en-button-text:#ffffff;
    --ism-en-shadow:0 1px 2px rgba(16,32,40,.06),0 6px 18px rgba(16,32,40,.06);
    margin:0;
    min-height:100vh;
    background:var(--ism-en-canvas) !important;
    color:var(--ism-en-text) !important;
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color-scheme:light;
}
body.ism-en-body .ism-en-shell {
    --ism-text:var(--ism-en-text);
    --ism-muted:var(--ism-en-muted);
    --ism-border:var(--ism-en-border);
    --ism-bg:var(--ism-en-surface);
    --ism-bg-soft:var(--ism-en-canvas);
    --ism-link:var(--ism-en-link);
    --ism-shadow:var(--ism-en-shadow);
    color:var(--ism-en-text);
    max-width:58rem;
    padding:clamp(1rem,4vw,2.5rem);
}
.ism-en-body .ism-en-header { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem 1.4rem; border-bottom:1px solid var(--ism-border); padding:0 0 1.3rem; margin-bottom:1.7rem; }
body.ism-en-body .ism-en-brand { color:var(--ism-en-link); text-decoration:none; font-size:1.1rem; font-weight:700; overflow-wrap:anywhere; }
.ism-en-body .ism-en-kicker { flex-basis:100%; color:var(--ism-muted); font-size:.85rem; }
.ism-en-body .ism-en-nav { display:flex; flex-wrap:wrap; gap:.65rem 1.4rem; font-size:.92rem; }
body.ism-en-body .ism-en-nav a,body.ism-en-body .ism-en-content a { color:var(--ism-en-link); text-underline-offset:.18em; }
body.ism-en-body .ism-en-brand:hover,body.ism-en-body .ism-en-nav a:hover,body.ism-en-body .ism-en-content a:hover { color:var(--ism-en-link-hover); }
body.ism-en-body .ism-en-main { background:var(--ism-en-surface); color:var(--ism-en-text); border:1px solid var(--ism-en-border); border-radius:var(--ism-radius); padding:clamp(1.1rem,4vw,2.4rem); box-shadow:var(--ism-en-shadow); }
body.ism-en-body .ism-en-main h1,body.ism-en-body .ism-en-main h2,body.ism-en-body .ism-en-main h3,body.ism-en-body .ism-en-main h4,body.ism-en-body .ism-en-main h5,body.ism-en-body .ism-en-main h6 { color:var(--ism-en-text); font-family:inherit; font-weight:700; }
body.ism-en-body .ism-en-main p,body.ism-en-body .ism-en-main li { color:inherit; }
.ism-en-body .ism-en-main h1 { margin:0 0 1.4rem; font-size:clamp(1.65rem,4vw,2.3rem); line-height:1.2; letter-spacing:-.02em; overflow-wrap:anywhere; }
.ism-en-body .ism-en-content h2 { font-size:1.2rem; line-height:1.35; margin:1.65rem 0 .8rem; }
.ism-en-body .ism-en-content p { margin:.8rem 0; }
.ism-en-body .ism-en-content ul,.ism-en-body .ism-en-content ol { padding-left:1.3rem; }
.ism-en-body .ism-en-content li { padding-left:.15rem; margin:.7rem 0; overflow-wrap:anywhere; }
body.ism-en-body .ism-en-main .ism-en-language-note { color:var(--ism-en-muted); border-top:1px solid var(--ism-en-border); padding-top:1.2rem; margin-top:1.5rem; font-size:.92rem; }
body.ism-en-body .ism-en-kicker,body.ism-en-body .ism-en-footer { color:var(--ism-en-muted); }
.ism-en-body .ism-en-footer { padding:1.4rem .3rem .4rem; font-size:.82rem; }
.ism-en-body .ism-en-skip { position:absolute; left:-10000px; top:0; }
body.ism-en-body .ism-en-skip:focus { position:fixed; z-index:100000; left:1rem; top:1rem; padding:.7rem 1rem; background:var(--ism-en-surface); color:var(--ism-en-link); border:2px solid currentColor; }
body.ism-en-body a:focus-visible { outline:3px solid var(--ism-en-link); outline-offset:4px; }
body.ism-en-body .ism-button,body.ism-en-body .ism-button:hover,body.ism-en-body .ism-button:focus { background:var(--ism-en-button); border-color:var(--ism-en-button); color:var(--ism-en-button-text); white-space:normal; text-align:center; max-width:100%; }
@media (prefers-color-scheme:dark) {
    body.ism-en-body {
        --ism-en-canvas:#10171b;
        --ism-en-surface:#161d21;
        --ism-en-text:#e6edf1;
        --ism-en-muted:#a7b4bc;
        --ism-en-border:#31404a;
        --ism-en-link:#6fd0da;
        --ism-en-link-hover:#a4e7ed;
        --ism-en-button:#6fd0da;
        --ism-en-button-text:#0d1317;
        --ism-en-shadow:0 1px 2px rgba(0,0,0,.5),0 6px 18px rgba(0,0,0,.35);
        color-scheme:dark;
    }
}
@media print {
    body.ism-en-body {
        --ism-en-canvas:#ffffff;
        --ism-en-surface:#ffffff;
        --ism-en-text:#22282c;
        --ism-en-muted:#5d6a72;
        --ism-en-border:#dde3e7;
        --ism-en-link:#146a75;
        --ism-en-button:#ffffff;
        --ism-en-button-text:#22282c;
        --ism-en-shadow:none;
        color-scheme:light;
    }
}
.ism-en-body .ism-en-alphabet { display:flex; flex-wrap:wrap; gap:.4rem; margin:1.4rem 0; }
.ism-en-body .ism-en-directory-intro { margin:.7rem 0 1rem; }
.ism-en-body .ism-en-methodology { margin:1rem 0; padding:.7rem .9rem; border:1px solid var(--ism-en-border); border-radius:.4rem; background:var(--ism-en-canvas); }
.ism-en-body .ism-en-methodology summary { color:var(--ism-en-link); cursor:pointer; font-weight:600; line-height:1.4; }
.ism-en-body .ism-en-methodology summary:focus-visible { outline:3px solid var(--ism-en-link); outline-offset:4px; }
.ism-en-body .ism-en-methodology[open] summary { margin-bottom:1rem; }
.ism-en-body .ism-en-alphabet a { display:inline-flex; justify-content:center; align-items:center; min-width:2.75rem; min-height:2.75rem; border:1px solid var(--ism-en-border); border-radius:.35rem; color:var(--ism-en-link); font-weight:700; text-decoration:none; }
.ism-en-body .ism-en-alphabet a:hover { background:var(--ism-en-canvas); }
.ism-en-body .ism-en-directory h2 { padding-top:1rem; border-bottom:1px solid var(--ism-en-border); scroll-margin-top:1rem; }
.ism-en-body .ism-en-directory-list { list-style:none; padding:0; margin:0; }
.ism-en-body .ism-en-directory-list li { padding:1rem 0; border-bottom:1px solid var(--ism-en-border); }
.ism-en-body .ism-en-directory-list h3 { margin:0 0 .4rem; font-size:1.05rem; line-height:1.4; }
.ism-en-body .ism-en-directory-list h3 a,.ism-en-body .ism-en-related a { color:var(--ism-en-link); text-underline-offset:.18em; }
.ism-en-body .ism-en-directory-list p { margin:0; font-size:.95rem; }
.ism-en-body .ism-en-related { border-top:1px solid var(--ism-en-border); margin-top:1.8rem; padding-top:1rem; }
.ism-en-body .ism-en-related h2 { font-size:1.2rem; line-height:1.35; }
.ism-en-body .ism-en-related p { font-size:.92rem; }
.ism-en-body .ism-en-related ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); gap:.6rem 1.8rem; padding-left:1.3rem; }
