/* Shared CEI design tokens, content primitives, cards, grids and CTA components. Extracted intact from the former custom.css tail; keep before order-management-base.css. */
:root {
    --cei-section-gap: 44px;
    --cei-body-size: 16px;
    --cei-heading-navy: #153b5c;
    --cei-refine-soft: #f7f9fb;
    --cei-refine-line: #d9e3ea;
    --cei-refine-muted: #506679;
    --cei-refine-text: #3f4f5e;
    --cei-refine-blue: #2874a6;
    --cei-refine-strong: #173f5e;
    --cei-refine-navy: #153b5c;
    --cei-link: #246aa5;
    --cei-link-hover: #153b5c;
    --cei-text: #3f4f5e;
    --cei-muted: #3f4f5e;
    --cei-surface: #ffffff;
    --cei-surface-soft: #f7f9fb;
    --cei-surface-blue: #eaf4fb;
    --cei-border-soft: #e7edf2;
    --cei-radius-lg: 12px;
    --cei-section-gap-mobile: 32px;
    --cei-body-line: 1.6;
    --cei-space-section: clamp(64px, 6vw, 92px);
    --cei-space-section-compact: clamp(42px, 4vw, 64px);
    --cei-space-content: 24px;
    --cei-space-card: 28px;
    --cei-surface-navy-deep: #153b5c;
}
.site-content :where(.entry-content, .entry-summary, .page-content) {
    color: var(--cei-text);
    font-size: var(--cei-body-size);
    line-height: var(--cei-body-line);
}

.site-content :where(.entry-content, .entry-summary, .page-content) p {
    margin-top: 0;
    margin-bottom: 1.28em;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

.site-content :where(.entry-content, .entry-summary, .page-content) h1 {
    margin: 0 0 22px;
    color: var(--cei-navy);
    font-size: 38px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.site-content :where(.entry-content, .entry-summary, .page-content) h2 {
    margin: var(--cei-section-gap) 0 18px;
    color: var(--cei-blue);
    font-size: 30px;
    font-weight: 600;
    line-height: 1.25;
}

.site-content :where(.entry-content, .entry-summary, .page-content) h3 {
    margin: 30px 0 17px;
    color: var(--cei-navy);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.3;
}

.site-content :where(.entry-content, .entry-summary, .page-content) h4 {
    margin: 24px 0 10px;
    color: var(--cei-navy);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
}
.site-content :where(.entry-content, .entry-summary, .page-content) a:not(.button):not(.btn):not(.blue-button):not(.cei-button) {
    color: var(--cei-link);
    font-size: inherit;
    line-height: inherit;
    text-decoration: none;
    text-underline-offset: 2px;
}

.site-content :where(.entry-content, .entry-summary, .page-content) a:not(.button):not(.btn):not(.blue-button):not(.cei-button):hover,
.site-content :where(.entry-content, .entry-summary, .page-content) a:not(.button):not(.btn):not(.blue-button):not(.cei-button):focus {
    color: var(--cei-link-hover);
}
.site-content :where(.entry-content, .entry-summary, .page-content) p a:not(.button):not(.btn):not(.blue-button):not(.cei-button):hover,
.site-content :where(.entry-content, .entry-summary, .page-content) p a:not(.button):not(.btn):not(.blue-button):not(.cei-button):focus {
    text-decoration: underline;
}
.site-content :where(.entry-content, .entry-summary, .page-content) ul,
.site-content :where(.entry-content, .entry-summary, .page-content) ol {
    margin: 0 0 1.35em 1.25em;
    padding: 0;
}

.site-content :where(.entry-content, .entry-summary, .page-content) li {
    margin: 0 0 10px;
}
.cei-page {
    color: var(--cei-text);
    font-size: var(--cei-body-size);
    line-height: var(--cei-body-line);
}

.cei-section {
    margin-top: var(--cei-section-gap);
    margin-bottom: var(--cei-section-gap);
}

.cei-section:first-child {
    margin-top: 0;
}

.cei-section-heading {
    margin: 0 0 26px;
}

.cei-section-heading h2,
.cei-section-title {
    margin: 0 0 10px;
    color: var(--cei-heading-navy);
    font-family: var(--cei-font-editorial, Georgia, 'Times New Roman', serif);
    font-size: 28px;
    font-weight: 400;
    line-height: 1.18;
    letter-spacing: -.019em;
}
/* Use the homepage's understated title-link treatment on shared editorial headings. */
.cei-section-heading h2 a,
.cei-section-title a {
    color: inherit;
    text-decoration: none;
    text-underline-offset: 3px;
}
.cei-section-heading h2 a:hover,
.cei-section-heading h2 a:focus-visible,
.cei-section-title a:hover,
.cei-section-title a:focus-visible {
    text-decoration: none;
}
.cei-section-heading h2 a:focus-visible,
.cei-section-title a:focus-visible {
    outline: 2px solid var(--cei-link);
    outline-offset: 4px;
}

.cei-section-heading p,
.cei-section-intro {
    max-width: 820px;
    margin: 0;
    color: var(--cei-muted);
    font-size: 16px;
    line-height: 1.7;
}
.cei-panel {
    padding: 28px 30px;
    border: 1px solid var(--cei-border);
    border-radius: var(--cei-radius-lg);
    background: var(--cei-surface);
    box-sizing: border-box;
}

.cei-panel-soft {
    background: var(--cei-surface-soft);
}

.cei-panel-blue {
    border-color: #d4e2ec;
    background: var(--cei-surface-blue);
}
.cei-button,
a.cei-button,
button.cei-button,
input.cei-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 18px;
    border: 1px solid transparent;
    border-radius: var(--cei-radius-sm);
    box-sizing: border-box;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: transform .15s ease, background-color .15s ease, border-color .15s ease, color .15s ease;
}

.cei-button-primary,
a.cei-button-primary,
button.cei-button-primary,
input.cei-button-primary {
    border-color: var(--cei-navy);
    background: var(--cei-navy);
    color: #ffffff;
}

.cei-button-primary:hover,
.cei-button-primary:focus {
    border-color: #153b5c;
    background: #153b5c;
    color: #ffffff;
    transform: translateY(-1px);
}

.cei-button-secondary,
a.cei-button-secondary,
button.cei-button-secondary,
input.cei-button-secondary {
    border-color: #7fb3d5;
    background: var(--cei-surface-blue);
    color: var(--cei-navy);
}

.cei-button-secondary:hover,
.cei-button-secondary:focus {
    border-color: #5f9fc8;
    background: #dceef8;
    color: var(--cei-navy);
    transform: translateY(-1px);
}
.cei-check-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.cei-check-list > li {
    position: relative;
    margin: 0;
    padding: 10px 0 10px 34px;
    border-bottom: 1px solid var(--cei-border-soft);
    color: var(--cei-text);
    font-size: 15px;
    line-height: 1.64;
}

.cei-check-list > li:last-child {
    border-bottom: 0;
}

.cei-check-list > li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 10px;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--cei-surface-blue);
    color: var(--cei-blue);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.cei-check-list a,
.cei-check-list a * {
    color: var(--cei-link);
    font-size: inherit;
    line-height: inherit;
    font-family: inherit;
}
.cei-proof-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--cei-border);
    border-radius: var(--cei-radius-md);
    background: var(--cei-surface-soft);
}

.cei-proof-item {
    padding: 18px 14px;
    border-right: 1px solid var(--cei-border);
    text-align: center;
}

.cei-proof-item:last-child {
    border-right: 0;
}

.cei-proof-value {
    display: block;
    margin-bottom: 3px;
    color: var(--cei-navy);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.15;
}

.cei-proof-label {
    display: block;
    color: var(--cei-muted);
    font-size: 14px;
    line-height: 1.5;
}
.cei-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 22px 24px;
    border: 1px solid #d4e2ec;
    border-radius: var(--cei-radius-md);
    background: var(--cei-surface-blue);
    box-sizing: border-box;
}

.cei-cta-copy strong {
    display: block;
    margin-bottom: 4px;
    color: var(--cei-navy);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.35;
}

.cei-cta-copy span,
.cei-cta-copy p {
    margin: 0;
    color: var(--cei-muted);
    font-size: 14px;
    line-height: 1.58;
}

.cei-cta-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
}
.cei-grid {
    display: grid;
    gap: 18px;
}

.cei-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cei-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cei-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cei-card {
    padding: 20px;
    border: 1px solid var(--cei-border);
    border-radius: var(--cei-radius-md);
    background: var(--cei-surface);
    box-sizing: border-box;
}

.cei-card h3,
.cei-card h4 {
    margin-top: 0;
}
@media (max-width: 991px) {
    .cei-grid-4,
    .cei-grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cei-proof-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cei-proof-item:nth-child(2) {
        border-right: 0;
    }

    .cei-proof-item:nth-child(-n+2) {
        border-bottom: 1px solid var(--cei-border);
    }
}

@media (max-width: 767px) {
    :root {
        --cei-section-gap: var(--cei-section-gap-mobile);
        --cei-body-size: 15.5px;
    }

    .site-content :where(.entry-content, .entry-summary, .page-content) h1 {
        font-size: 30px;
        margin-bottom: 18px;
    }

    .site-content :where(.entry-content, .entry-summary, .page-content) h2 {
        margin-top: var(--cei-section-gap-mobile);
        font-size: 25px;
    }

    .site-content :where(.entry-content, .entry-summary, .page-content) h3 {
        font-size: 20px;
    }

    .cei-section-title,
    .cei-section-heading h2 {
        font-size: 25px;
    }

    .cei-panel {
        padding: 22px 18px;
        border-radius: var(--cei-radius-md);
    }

    .cei-grid-4,
    .cei-grid-3,
    .cei-grid-2 {
        grid-template-columns: 1fr;
    }

    .cei-cta {
        align-items: stretch;
        flex-direction: column;
        padding: 20px 18px;
    }

    .cei-cta-actions {
        width: 100%;
        flex-wrap: wrap;
    }

    .cei-cta-actions .cei-button {
        flex: 1 1 auto;
    }
}

@media (max-width: 420px) {
    .cei-proof-strip {
        grid-template-columns: 1fr;
    }

    .cei-proof-item {
        border-right: 0;
        border-bottom: 1px solid var(--cei-border);
    }

    .cei-proof-item:last-child {
        border-bottom: 0;
    }
}

/* Publication interior evidence — shared across editorial directory pages. */
.cei-interior-evidence-wrap{max-width:1180px;margin:28px auto 42px;padding:0 24px}
.cei-interior-evidence{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.6fr);gap:36px;align-items:center;padding:28px 0}
.cei-interior-evidence__intro>span{display:block;color:#28619b;font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.cei-interior-evidence__intro h2{margin:0 0 12px;color:#14385b;font-family:Georgia,serif;font-size:clamp(23px,2.3vw,32px);line-height:1.2}
.cei-interior-evidence__intro p{color:#4f6377;line-height:1.65;margin:0;max-width:37ch}
.cei-interior-evidence__grid{display:flex;gap:14px;align-items:flex-start;justify-content:flex-start;min-width:0}
.cei-interior-evidence__item{flex:1 1 0;min-width:0;margin:0}
.cei-interior-evidence__item img{display:block;width:100%;height:auto;aspect-ratio:460/620;object-fit:contain;background:#fff;border:1px solid #e1e8ef;box-shadow:0 7px 20px rgba(22,48,76,.09)}
.cei-interior-evidence__item figcaption{font-size:11px;line-height:1.4;color:#3e5871;margin-top:8px}
.cei-interior-evidence__item figcaption span{color:#778697}
@media(max-width:760px){.cei-interior-evidence-wrap{margin:15px auto 30px;padding:0 18px}.cei-interior-evidence{grid-template-columns:1fr;gap:20px;padding:20px 0}.cei-interior-evidence__grid{gap:9px}.cei-interior-evidence__item figcaption{font-size:10px}}
@media(max-width:480px){.cei-interior-evidence__grid{overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px}.cei-interior-evidence__item{flex:0 0 44%;scroll-snap-align:start}.cei-interior-evidence__item figcaption{font-size:11px}}

/* Contextual report evidence shared by informational page families. */

/* Interior report excerpts are placed within the host section, not between sections. */
.cei-report-detail{display:flex;align-items:center;gap:20px;min-width:0;margin:0}
.cei-report-detail>a{display:block;flex:0 0 145px;min-width:0}
.cei-report-detail img{display:block;width:100%;height:auto;background:#fff;border:1px solid #dbe5ee;box-shadow:0 8px 24px rgba(24,49,76,.12)}
.cei-report-detail figcaption{color:inherit;font-size:13px;line-height:1.5}
.cei-report-detail figcaption small{display:block;margin-top:6px;opacity:.7;font-size:11px}
@media(max-width:620px){.cei-report-detail{gap:14px}.cei-report-detail>a{flex-basis:105px}}
