/* Consensus Economics — Continuous Consensus Forecasts + API */

#primary.cei-api-page-primary,
.site-content #primary.cei-api-page-primary {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    float: none;
}

.cei-api-page {
    --cei-navy: #153b5c;
    --cei-deep: #21496d;
    --cei-blue: #2d73b8;
    --cei-teal: #2f8f83;
    --cei-violet: #2874a6;
    --cei-text: #173a59;
    --cei-muted: #5d6f7d;
    --cei-line: #d7e2eb;
    --cei-pale: #f7f9fb;
    --cei-soft-blue: #edf5fb;
    color: var(--cei-text);
    font-family: inherit;
    overflow: hidden;
}

.cei-api-page *,
.cei-api-page *::before,
.cei-api-page *::after { box-sizing: border-box; }

.cei-api-shell {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}

.cei-api-eyebrow {
    display: inline-block;
    color: var(--cei-blue);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .11em;
    line-height: 1.25;
    text-transform: uppercase;
}

.cei-api-page h1,
.cei-api-page h2,
.cei-api-page h3 {
    word-spacing: normal;
    letter-spacing: normal;
    text-justify: auto;
}

.cei-api-hero {
    padding: 88px 0 72px;
    background: linear-gradient(180deg, #f7f9fb 0%, #fff 100%);
    border-bottom: 1px solid #e0e8ee;
}

.cei-api-hero__inner {
    max-width: 950px;
    text-align: center;
}

.cei-api-hero h1 {
    margin: 14px 0 0;
    color: var(--cei-navy);
    font-size: clamp(38px, 5vw, 58px);
    font-weight: 650;
    line-height: 1.08;
    letter-spacing: -.025em;
    text-align: center;
}

.cei-api-hero__intro {
    max-width: 790px;
    margin: 24px auto 0;
    color: var(--cei-muted);
    font-size: 19px;
    font-weight: 400;
    line-height: 1.7;
}

.cei-api-hero__actions,
.cei-api-dark__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.cei-api-hero__actions {
    justify-content: center;
    margin-top: 30px;
}

.cei-api-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 46px;
    padding: 0 20px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.2;
    text-decoration: none;
    transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}

.cei-api-button--primary {
    background: var(--cei-navy);
    border: 1px solid var(--cei-navy);
    color: #fff;
}

.cei-api-button--secondary {
    background: #fff;
    border: 1px solid #b9cad7;
    color: var(--cei-navy);
}

.cei-api-proof { background: #fff; }
.cei-api-proof__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid var(--cei-line);
    border-top: 0;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
}
.cei-api-proof__grid > div { padding: 24px; border-right: 1px solid var(--cei-line); }
.cei-api-proof__grid > div:last-child { border-right: 0; }
.cei-api-proof strong,
.cei-api-proof span { display: block; }
.cei-api-proof strong { color: var(--cei-blue); font-size: 28px; font-weight: 700; line-height: 1.1; }
.cei-api-proof span { margin-top: 6px; color: #68798a; font-size: 12px; font-weight: 500; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.cei-api-proof__note { margin-top: 8px; color: #81909c; font-size: 14px; line-height: 1.45; text-align: right; }

.cei-api-section { padding: 86px 0; }
.cei-api-section--overview,
.cei-api-section--compare { background: #fff; }
.cei-api-section--workflow { background: #f7f9fb; }
.cei-api-section--technical { background: #f1f6fa; }

.cei-api-section-heading {
    max-width: 760px;
    margin: 0 auto 38px;
    text-align: center;
}
.cei-api-section-heading h2,
.cei-api-copy h2,
.cei-api-technical__intro h2,
.cei-api-dark h2 {
    margin: 12px 0 0;
    color: var(--cei-navy);
    font-size: clamp(30px, 3.5vw, 42px);
    font-weight: 650;
    line-height: 1.16;
    letter-spacing: -.02em;
}
.cei-api-copy h2,
.cei-api-technical__intro h2 { text-align: left; }
.cei-api-section-heading h2 { text-align: center; }
.cei-api-section-heading p,
.cei-api-copy > p,
.cei-api-technical__intro > p,
.cei-api-dark p {
    color: var(--cei-muted);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
}
.cei-api-section-heading p { margin: 15px auto 0; }
.cei-api-copy > p,
.cei-api-technical__intro > p { margin: 16px 0 0; }

.cei-api-benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.cei-api-benefit {
    --card-accent: var(--cei-blue);
    min-width: 0;
    padding: 28px 26px;
    border: 1px solid var(--cei-line);
    border-top: 4px solid var(--card-accent);
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 9px 28px rgba(17,58,91,.035);
}
.cei-api-benefit--teal { --card-accent: var(--cei-teal); }
.cei-api-benefit--violet { --card-accent: var(--cei-violet); }
.cei-api-benefit__number { color: var(--card-accent); font-size: 14px; font-weight: 800; letter-spacing: .08em; }
.cei-api-benefit h3 { margin: 13px 0 10px; color: var(--cei-navy); font-size: 20px; font-weight: 700; line-height: 1.3; text-align: left; }
.cei-api-benefit p { margin: 0; color: var(--cei-muted); font-size: 14px; line-height: 1.6; }

.cei-api-split {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: 56px;
    align-items: center;
}
.cei-api-checklist { margin: 25px 0 0; padding: 0; list-style: none; }
.cei-api-checklist li { position: relative; margin: 0 0 12px; padding-left: 26px; color: #40576a; font-size: 15px; line-height: 1.55; }
.cei-api-checklist li::before { content: "✓"; position: absolute; left: 0; color: var(--cei-teal); font-weight: 800; }

.cei-api-figure {
    margin: 0;
    padding: 14px;
    border: 1px solid var(--cei-line);
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(13,46,73,.06);
}
.cei-api-figure img { display: block; width: 100%; height: auto; border-radius: 5px; }
.cei-api-figure figcaption { margin-top: 12px; color: #6b7c8a; font-size: 14px; line-height: 1.55; }

.cei-api-technical {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 48px;
    align-items: start;
}
.cei-api-technical__cards { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.cei-api-tech-card {
    padding: 26px;
    border: 1px solid #cfe0e9;
    border-radius: 9px;
    background: #fff;
}
.cei-api-tech-card--limits { background: #f7f9fb; }
.cei-api-tech-card__label { display: block; color: var(--cei-blue); font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cei-api-tech-card ul { margin: 18px 0 0; padding: 0; list-style: none; }
.cei-api-tech-card li { position: relative; margin: 0 0 11px; padding-left: 22px; color: #40576a; font-size: 15px; line-height: 1.5; }
.cei-api-tech-card li::before { content: "✓"; position: absolute; left: 0; color: var(--cei-teal); font-weight: 800; }
.cei-api-tech-card--limits li::before { content: "—"; color: #8d98a1; }

.cei-api-compare-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.cei-api-compare-card {
    display: flex;
    flex-direction: column;
    min-height: 360px;
    padding: 30px;
    border: 1px solid var(--cei-line);
    border-radius: 10px;
    background: #fff;
}
.cei-api-compare-card--primary { background: #f2f7fb; border-color: #bfd5e5; }
.cei-api-compare-card__eyebrow { color: var(--cei-blue); font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cei-api-compare-card h3 { margin: 13px 0 18px; color: var(--cei-navy); font-size: 22px; font-weight: 700; line-height: 1.3; text-align: left; }
.cei-api-compare-card ul { margin: 0; padding: 0; list-style: none; }
.cei-api-compare-card li { position: relative; margin: 0 0 11px; padding-left: 24px; color: #536b7d; font-size: 15px; line-height: 1.5; }
.cei-api-compare-card li::before { content: "✓"; position: absolute; left: 0; color: var(--cei-teal); font-weight: 800; }
.cei-api-compare-card a { margin-top: auto; padding-top: 26px; color: var(--cei-blue); font-size: 14px; font-weight: 700; text-decoration: none; }

.cei-api-dark {
    padding: 76px 0;
    background: var(--cei-deep);
}
.cei-api-dark__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 36px; align-items: center; }
.cei-api-dark .cei-api-eyebrow { color: #8dd6ff; }
.cei-api-dark h2 { max-width: 600px; color: #fff; text-align: left; }
.cei-api-dark p { max-width: 570px; margin: 16px 0 0; color: #edf5fb; text-align: left; }
.cei-api-dark__actions { justify-content: flex-end; }
.cei-api-button--light { background: #fff; border: 1px solid #fff; color: var(--cei-navy); }
.cei-api-button--ghost { background: transparent; border: 1px solid rgba(255,255,255,.45); color: #fff; }

@media (hover:hover) and (pointer:fine) {
    .cei-api-button--primary:hover { background: #1a567e; border-color: #1a567e; transform: translateY(-1px); }
    .cei-api-button--secondary:hover { background: #f7f9fb; border-color: #8eacbf; }
    .cei-api-button--light:hover { background: #f0f6fa; transform: translateY(-1px); }
    .cei-api-button--ghost:hover { background: rgba(255,255,255,.08); border-color: #fff; }
    .cei-api-compare-card a:hover { color: #2874a6; text-decoration: none; text-underline-offset: 3px; }
}

@media (max-width: 991px) {
    .cei-api-benefits { grid-template-columns: 1fr; }
    .cei-api-split,
    .cei-api-technical,
    .cei-api-dark__inner { grid-template-columns: 1fr; }
    .cei-api-split { gap: 34px; }
    .cei-api-technical { gap: 30px; }
    .cei-api-dark__actions { justify-content: flex-start; }
}

@media (max-width: 767px) {
    .cei-api-shell { width: min(100% - 32px, 1180px); }
    .cei-api-hero { padding: 60px 0 50px; }
    .cei-api-hero h1 { font-size: 36px; }
    .cei-api-hero__intro { font-size: 16px; line-height: 1.65; }
    .cei-api-hero__actions { flex-direction: column; align-items: stretch; }
    .cei-api-button { width: 100%; min-height: 48px; }
    .cei-api-proof__grid { grid-template-columns: repeat(2, 1fr); }
    .cei-api-proof__grid > div { padding: 20px 18px; border-bottom: 1px solid var(--cei-line); }
    .cei-api-proof__grid > div:nth-child(2) { border-right: 0; }
    .cei-api-proof__grid > div:nth-last-child(-n+2) { border-bottom: 0; }
    .cei-api-proof strong { font-size: 24px; }
    .cei-api-proof__note { text-align: left; }
    .cei-api-section { padding: 62px 0; }
    .cei-api-section-heading { margin-bottom: 28px; }
    .cei-api-section-heading h2,
    .cei-api-copy h2,
    .cei-api-technical__intro h2,
    .cei-api-dark h2 { font-size: 30px; }
    .cei-api-technical__cards,
    .cei-api-compare-grid { grid-template-columns: 1fr; }
    .cei-api-compare-card { min-height: 0; }
    .cei-api-dark { padding: 58px 0; }
    .cei-api-dark__actions { flex-direction: column; align-items: stretch; }
}

@media (max-width: 420px) {
    .cei-api-proof__grid { grid-template-columns: 1fr; }
    .cei-api-proof__grid > div,
    .cei-api-proof__grid > div:nth-child(2),
    .cei-api-proof__grid > div:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--cei-line); }
    .cei-api-proof__grid > div:last-child { border-bottom: 0; }
    .cei-api-benefit,
    .cei-api-tech-card,
    .cei-api-compare-card { padding: 22px 20px; }
}

/* Keep API inclusion/exclusion lists naturally left-aligned. */
.api-page .api-includes li,
.api-page .api-excludes li,
.api-page .api-includes li span,
.api-page .api-excludes li span {
    text-align: left;
    text-justify: auto;
    word-spacing: normal;
    letter-spacing: normal;
}


/* ==========================================================================
   CEI — API + Continuous Consensus premium refinement
   Technical, restrained and research-led rather than card-heavy.
   ========================================================================== */
.cei-api-page .cei-api-hero {
    padding-top: 66px;
    padding-bottom: 50px;
}
.cei-api-page .cei-api-hero h1 {
    max-width: 780px;
    font-size: clamp(42px, 4.8vw, 56px);
    line-height: 1.04;
    letter-spacing: -.035em;
}
.cei-api-page .cei-api-hero__intro {
    max-width: 800px;
    color: #3f4f5e;
    font-size: 17px;
    line-height: 1.7;
}
.cei-api-page .cei-api-hero__actions {
    margin-top: 22px;
}

/* Continuous evidence strip rather than four independent cards. */
.cei-api-page .cei-api-proof__grid {
    gap: 0;
    border-top: 1px solid #d9e3ea;
    border-bottom: 1px solid #d9e3ea;
}
.cei-api-page .cei-api-proof__grid > div {
    padding: 18px 24px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.cei-api-page .cei-api-proof__grid > div + div {
    border-left: 1px solid #d9e3ea;
}
.cei-api-page .cei-api-proof__grid strong {
    color: #153b5c;
}
.cei-api-page .cei-api-proof__grid span {
    color: #5d6f7d;
    font-size: 12px;
}
.cei-api-page .cei-api-proof__note {
    color: #5d6f7d;
    font-size: 14px;
}

/* Consistent section rhythm and quieter supporting copy. */
.cei-api-page .cei-api-section {
    padding-top: 64px;
    padding-bottom: 64px;
}
.cei-api-page .cei-api-section-heading {
    margin-bottom: 32px;
}
.cei-api-page .cei-api-section-heading h2,
.cei-api-page .cei-api-copy h2,
.cei-api-page .cei-api-technical__intro h2 {
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: -.025em;
}
.cei-api-page .cei-api-section-heading p {
    color: #5d6f7d;
    font-size: 16px;
    line-height: 1.68;
    text-align: center;
}
.cei-api-page .cei-api-copy > p,
.cei-api-page .cei-api-technical__intro p {
    color: #5d6f7d;
    font-size: 16px;
    line-height: 1.68;
}

/* Benefits become one editorial row. */
.cei-api-page .cei-api-benefits {
    gap: 0;
    border-top: 1px solid #d9e3ea;
    border-bottom: 1px solid #d9e3ea;
}
.cei-api-page .cei-api-benefit {
    padding: 26px 30px 28px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.cei-api-page .cei-api-benefit + .cei-api-benefit {
    border-left: 1px solid #d9e3ea;
}
.cei-api-page .cei-api-benefit::before {
    display: none;
}
.cei-api-page .cei-api-benefit__number {
    color: #2874a6;
    font-size: 14px;
    letter-spacing: .12em;
}
.cei-api-page .cei-api-benefit h3 {
    color: #153b5c;
    font-size: 19px;
}
.cei-api-page .cei-api-benefit p {
    color: #5d6f7d;
    font-size: 15px;
    line-height: 1.65;
}

/* Screenshot/diagram gets visual authority; surrounding chrome disappears. */
.cei-api-page .cei-api-split {
    gap: clamp(44px, 6vw, 76px);
}
.cei-api-page .cei-api-figure {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.cei-api-page .cei-api-figure img {
    border: 1px solid #d9e3ea;
    border-radius: 2px;
    box-shadow: none;
}
.cei-api-page .cei-api-figure figcaption {
    color: #5d6f7d;
    font-size: 14px;
}

/* Technical access: two columns separated by a rule, not two floating cards. */
.cei-api-page .cei-api-technical__cards {
    gap: 0;
    border-top: 1px solid #d9e3ea;
    border-bottom: 1px solid #d9e3ea;
}
.cei-api-page .cei-api-tech-card {
    padding: 25px 30px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.cei-api-page .cei-api-tech-card + .cei-api-tech-card {
    border-left: 1px solid #d9e3ea;
}

/* Comparison: same underlying data, two workflows. */
.cei-api-page .cei-api-compare-grid {
    gap: 0;
    border-top: 1px solid #d9e3ea;
    border-bottom: 1px solid #d9e3ea;
}
.cei-api-page .cei-api-compare-card,
.cei-api-page .cei-api-compare-card--primary {
    padding: 27px 30px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.cei-api-page .cei-api-compare-card + .cei-api-compare-card {
    border-left: 1px solid #d9e3ea;
}
.cei-api-page .cei-api-compare-card h3 {
    font-size: 19px;
}
.cei-api-page .cei-api-compare-card li {
    color: #5d6f7d;
    font-size: 15px;
    line-height: 1.6;
}

/* FAQ calibration: preserve content, reduce landing-page scale. */
.cei-api-page .cei-common-faq {
    padding: 60px 0;
}
.cei-api-page .cei-common-faq h2 {
    font-size: 30px;
}
.cei-api-page .cei-common-faq summary {
    min-height: 64px;
    font-size: 15px;
}

/* Dark closing CTA must retain explicit contrast. */
.cei-api-page .cei-api-dark h2 {
    color: #fff;
}
.cei-api-page .cei-api-dark p {
    color: rgba(255,255,255,.84);
}

@media (max-width: 767px) {
    .cei-api-page .cei-api-hero {
        padding-top: 44px;
        padding-bottom: 38px;
    }
    .cei-api-page .cei-api-hero h1 {
        font-size: 36px;
    }
    .cei-api-page .cei-api-section {
        padding-top: 48px;
        padding-bottom: 48px;
    }
    .cei-api-page .cei-api-benefits {
        display: block;
    }
    .cei-api-page .cei-api-benefit + .cei-api-benefit,
    .cei-api-page .cei-api-tech-card + .cei-api-tech-card,
    .cei-api-page .cei-api-compare-card + .cei-api-compare-card {
        border-left: 0;
        border-top: 1px solid #d9e3ea;
    }
}


/* ==========================================================================
   CEI — API text-alignment refinement
   Avoid justified text in compact panels; keep copy editorial and readable.
   ========================================================================== */
.cei-api-page .cei-api-benefit p,
.cei-api-page .cei-api-tech-card p,
.cei-api-page .cei-api-tech-card li,
.cei-api-page .cei-api-compare-card p,
.cei-api-page .cei-api-compare-card li,
.cei-api-page .cei-api-copy p,
.cei-api-page .cei-common-faq p,
.cei-api-page .cei-common-faq li {
    text-align: left;
    text-justify: auto;
}

.cei-api-page .cei-api-benefit p,
.cei-api-page .cei-api-tech-card p,
.cei-api-page .cei-api-compare-card p {
    max-width: 42em;
}

.cei-api-page .cei-api-tech-card li,
.cei-api-page .cei-api-compare-card li {
    margin-bottom: 7px;
}

.cei-api-page .cei-api-benefit,
.cei-api-page .cei-api-tech-card,
.cei-api-page .cei-api-compare-card {
    align-content: start;
}


/* ==========================================================================
   CEI — definitive API hero centring
   Targets the actual API template structure and overrides earlier left alignment.
   ========================================================================== */
.cei-api-page .cei-api-hero,
.cei-api-page .cei-api-hero .cei-api-shell {
    text-align: center;
}

.cei-api-page .cei-api-hero .cei-api-shell > h1,
.cei-api-page .cei-api-hero h1 {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.cei-api-page .cei-api-hero .cei-api-hero__intro,
.cei-api-page .cei-api-hero .cei-api-shell > p,
.cei-api-page .cei-api-hero__intro {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.cei-api-page .cei-api-hero .cei-api-hero__actions,
.cei-api-page .cei-api-hero__actions {
    justify-content: center;
    text-align: center;
}

/* API hero CTA alignment: opt out of the shared inline-grid action layout.
   Only the hero actions are affected; phone stacking remains unchanged. */
@media (min-width: 768px) {
    .cei-api-page .cei-api-hero .cei-api-hero__actions {
        display: flex;
        width: 100%;
        max-width: none;
        margin-left: auto;
        margin-right: auto;
        justify-content: center;
        align-items: center;
        gap: 12px;
    }

    .cei-api-page .cei-api-hero .cei-api-hero__actions > .cei-api-button {
        flex: 0 1 auto;
        width: auto;
        min-width: 0;
        max-width: 100%;
        padding-inline: 22px;
    }
}

/* Prevent older page-level rules from re-left-aligning hero copy. */
.cei-api-page .cei-api-hero p,
.cei-api-page .cei-api-hero a {
    text-align: center;
}


/* CEI — external separation after Common Questions */
.cei-common-faq ~ .cei-api-dark {
    margin-top: 32px;
}
@media (max-width: 767px) {
    .cei-common-faq ~ .cei-api-dark {
        margin-top: 24px;
    }
}


/* CEI — calmer editorial hero weight */
@media (min-width: 768px) {
    .cei-api-page .cei-api-hero h1, .cei-api-hero h1 {
        font-weight: 550;
        line-height: 1.08;
    }
}
@media (max-width: 767px) {
    .cei-api-page .cei-api-hero h1, .cei-api-hero h1 {
        font-weight: 600;
    }
}

/* Dark data-access CTA: protect contrast and button geometry from global theme rules. */
.cei-api-page .cei-api-dark,
.cei-api-page section.cei-api-dark {
    color: #fff;
}

.cei-api-page .cei-api-dark h2,
.cei-api-page .cei-api-dark p,
.cei-api-page .cei-api-dark .cei-api-eyebrow {
    color: #fff;
    -webkit-text-fill-color: #fff;
}

.cei-api-page .cei-api-dark .cei-api-eyebrow {
    color: #8dd6ff;
    -webkit-text-fill-color: #8dd6ff;
}

.cei-api-page .cei-api-dark__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 190px));
    gap: 12px;
    align-items: center;
    justify-content: end;
}

.cei-api-page .cei-api-dark__actions .cei-api-button {
    width: 100%;
    height: 46px;
    min-height: 46px;
    margin: 0;
    padding: 0 18px;
    box-sizing: border-box;
    position: static;
    transform: none;
    white-space: nowrap;
}

.cei-api-page .cei-api-dark__actions .cei-api-button--light {
    background: #fff;
    border: 1px solid #fff;
    color: var(--cei-navy);
    -webkit-text-fill-color: var(--cei-navy);
}

.cei-api-page .cei-api-dark__actions .cei-api-button--light * {
    color: var(--cei-navy);
    -webkit-text-fill-color: var(--cei-navy);
}

.cei-api-page .cei-api-dark__actions .cei-api-button--ghost {
    background: transparent;
    border: 1px solid rgba(255,255,255,.7);
    color: #fff;
    -webkit-text-fill-color: #fff;
}

.cei-api-page .cei-api-dark__actions .cei-api-button--ghost * {
    color: #fff;
    -webkit-text-fill-color: #fff;
}

@media (max-width: 991px) {
    .cei-api-page .cei-api-dark__actions {
        justify-content: start;
    }
}

@media (max-width: 767px) {
    .cei-api-page .cei-api-dark__actions {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .cei-api-page .cei-api-dark__actions .cei-api-button {
        width: 100%;
    }
}

/* Closing data-access CTA: contained card rather than a full-width navy band. */
.cei-api-page .cei-api-dark,
.cei-api-page section.cei-api-dark {
    background: #fff;
    padding: 32px 0 64px;
}

.cei-api-page .cei-api-dark__inner {
    width: min(100% - 48px, 1180px);
    margin: 0 auto;
    padding: 44px 48px;
    background: var(--cei-deep);
    border-radius: 12px;
    box-sizing: border-box;
}

@media (max-width: 767px) {
    .cei-api-page .cei-api-dark,
    .cei-api-page section.cei-api-dark {
        padding: 24px 0 48px;
    }

    .cei-api-page .cei-api-dark__inner {
        width: min(100% - 30px, 1180px);
        padding: 34px 24px;
        border-radius: 10px;
    }
}

/* ==========================================================================
   CEI 2026-10-01 — About-style hero typography
   Keep API hero geometry intact; standardise the editorial display face.
   ========================================================================== */
.cei-api-page .cei-api-hero h1 {
    font-family: var(--cei-font-editorial, Georgia, "Times New Roman", serif);
    font-size: clamp(40px, 4.5vw, 54px);
    font-weight: 400;
    font-style: normal;
    line-height: 1.05;
    letter-spacing: -.03em;
    text-wrap: balance;
}

@media (max-width: 980px) and (min-width: 768px) {
    .cei-api-page .cei-api-hero h1 {
        font-size: 44px;
    }
}

@media (max-width: 767px) {
    .cei-api-page .cei-api-hero h1 {
        font-size: 35px;
        font-weight: 400;
        line-height: 1.08;
        letter-spacing: -.025em;
    }
}



/* CEI 2026-10-13 — Data Delivery family: restrained editorial alignment.
   Scoped to this template; preserve the page-specific hero typography/layout. */

.cei-api-page .cei-api-section-heading h2,
.cei-api-page .cei-api-copy h2 { letter-spacing: -.025em; line-height: 1.17; text-wrap: balance; }
.cei-api-page .cei-api-hero__intro { line-height: 1.6; }
.cei-api-page .cei-api-copy p,
.cei-api-page .cei-api-benefit p,
.cei-api-page .cei-api-technical__intro p,
.cei-api-page .cei-api-tech-card p { line-height: 1.65; }
.cei-api-page .cei-api-checklist li { line-height: 1.55; margin-bottom: 8px; }
.cei-api-page .cei-api-tech-card__label { line-height: 1.4; letter-spacing: .035em; }
.cei-api-page .cei-api-button { font-size: 14.5px; line-height: 1.3; }
.cei-api-page .cei-api-button:focus-visible,
.cei-api-page .cei-api-compare-card a:focus-visible { outline: 3px solid #8bbce0; outline-offset: 3px; }
@media (max-width: 767px) {
  .cei-api-page .cei-api-section-heading { text-align: left; }
  .cei-api-page .cei-api-section-heading p { text-align: left; margin-left: 0; margin-right: 0; }
  .cei-api-page .cei-api-section-heading h2,
  .cei-api-page .cei-api-copy h2 { font-size: clamp(24px, 6.3vw, 27px); line-height: 1.2; }
  .cei-api-page .cei-api-hero__intro { font-size: 16px; line-height: 1.55; }
  .cei-api-page .cei-api-copy p,
  .cei-api-page .cei-api-benefit p,
  .cei-api-page .cei-api-tech-card p { font-size: 15.5px; }
}


/* Closing API enquiry CTA: comfortably spaced, content-sized actions.
   Keep the existing colours, link targets and responsive card layout. */
@media (min-width: 768px) {
  .cei-api-page .cei-api-dark__actions {
    grid-template-columns: max-content max-content;
    column-gap: 16px;
    row-gap: 16px;
    justify-content: end;
    padding-block: 8px;
  }
  .cei-api-page .cei-api-dark__actions .cei-api-button {
    width: auto;
    min-width: max-content;
    height: 48px;
    min-height: 48px;
    padding-inline: 22px;
    white-space: nowrap;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .cei-api-page .cei-api-dark__actions { justify-content: start; }
}
@media (max-width: 767px) {
  .cei-api-page .cei-api-dark__actions {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding-block: 6px;
  }
  .cei-api-page .cei-api-dark__actions .cei-api-button {
    height: auto;
    min-height: 48px;
    padding: 12px 20px;
    white-space: normal;
    text-align: center;
  }
}

/* The technical cards are expanded editorial columns on desktop and tablet.
   Only narrow-screen visitors are offered disclosure controls. */
.cei-api-page .cei-api-mobile-detail > summary {
    list-style: none;
}
.cei-api-page .cei-api-mobile-detail > summary::-webkit-details-marker {
    display: none;
}
@media (min-width: 768px) {
    .cei-api-page .cei-api-mobile-detail > summary {
        pointer-events: none;
    }
}
@media (max-width: 767px) {
    .cei-api-page .cei-api-mobile-detail > summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        min-height: 44px;
        cursor: pointer;
    }
    .cei-api-page .cei-api-mobile-detail > summary::after {
        content: "+";
        font-size: 23px;
        font-weight: 400;
        line-height: 1;
        color: #244668;
    }
    .cei-api-page .cei-api-mobile-detail[open] > summary::after {
        content: "−";
    }
    .cei-api-page .cei-api-mobile-detail > summary:focus-visible {
        outline: 2px solid #2874a6;
        outline-offset: 3px;
        border-radius: 2px;
    }
    .cei-api-page .cei-api-mobile-detail > ul {
        margin-top: 12px;
    }
}
