.erp-editorial {
    --ed-green: #00d0a2;
    font-family: DawapRoboto, Arial, sans-serif;
}

.erp-editorial [id] {
    scroll-margin-top: 100px;
}

.erp-acceptance {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}

.erp-acceptance article {
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid var(--sc-line);
    background: #fffef9;
}

.erp-acceptance article .ed-eyebrow {
    margin-bottom: 10px;
}

.erp-acceptance article h3 {
    margin-bottom: 10px;
    font-size: 22px;
}

.erp-opening .api-agency__projects {
    scroll-margin-top: 100px;
}

.erp-opening .api-agency__project .sc-link {
    align-self: flex-start;
    justify-self: start;
}

@media (max-width: 767px) {
    .erp-acceptance {
        grid-template-columns: 1fr;
    }

    .erp-opening .ed-hero h1 {
        font-size: clamp(32px, 9.25vw, 46px);
    }

    .erp-opening .ed-hero__copy {
        padding-bottom: 22px;
    }
}

.erp-opening .api-agency__toc a {
    gap: 8px;
    padding-inline: 9px;
    font-size: 13px;
}

.erp-platforms {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.erp-platforms li a,
.erp-guide-grid > a {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
    height: 100%;
    border: 1px solid var(--sc-line);
    background: #fffef9;
    color: var(--sc-ink);
    font-weight: 500;
    overflow-wrap: anywhere;
}

.erp-platforms a span,
.erp-project-links a > span:last-child {
    color: var(--sc-accent);
}

.erp-platforms a:hover,
.erp-guide-grid > a:hover {
    background: #edf3e8;
    border-color: var(--sc-accent);
}

.erp-adjacent {
    margin-top: 34px;
    padding-top: 22px;
    border-top: 1px solid var(--sc-line);
}

.erp-link-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 12px;
}

.erp-link-grid .sc-link { align-items: start; }

.erp-featured {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    background: #fffef9;
    border: 1px solid var(--sc-line);
}

.erp-featured img {
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: 360px;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.erp-featured > div {
    display: flex;
    flex-direction: column;
    align-items: start;
    padding: clamp(20px, 4vw, 42px);
}

.erp-featured p:not(.ed-eyebrow) {
    color: var(--sc-muted);
    margin: 12px 0 20px;
}

.erp-featured .sc-link { margin-top: auto; }
.erp-project-links { padding: 0; margin: 18px 0 36px; list-style: none; }

.erp-project-links a {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr) auto;
    gap: 6px 18px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid var(--sc-line);
}

.erp-project-links a:hover strong { color: var(--sc-accent); }
.erp-project-links a > span:nth-child(2) { color: var(--sc-muted); font-size: 14px; }
.erp-guide-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }

.erp-guide-grid > a {
    flex-direction: column;
    justify-content: start;
    padding: 20px;
    font-size: 14px;
}

.erp-guide-grid strong { font-size: 18px; line-height: 1.3; }
.erp-guide-grid .ed-eyebrow { margin: 0; }
.erp-guide-grid > a > span:nth-child(3) { color: var(--sc-muted); font-weight: 400; }
.erp-guide-grid .sc-link { margin-top: auto; }

#erp-faq .sc-section { background: #e8ede5; }

.erp-closing .dawap-team {
    color: var(--sc-ink);
    background: #f6f6ef;
    border-color: var(--sc-line);
}

.erp-closing .dawap-team__container { max-width: 1240px; width: calc(100% - 112px); }
.erp-closing .dawap-team .dawap-team__kicker,
.erp-closing .dawap-team .dawap-team__role,
.erp-closing .dawap-team__intro > a { color: var(--sc-accent); }

.erp-closing .dawap-team__person {
    color: var(--sc-ink);
    background: #fffef9;
    border-color: var(--sc-line);
    border-radius: 0;
}

.erp-closing .dawap-team__portrait > img { max-height: none; }
.erp-closing .dawap-team h3 { color: var(--sc-ink); }
.erp-closing .dawap-team__intro > p,
.erp-closing .dawap-team__content > p:not(.dawap-team__role),
.erp-closing .dawap-team__tags > li,
.erp-closing .dawap-team .dawap-team__footnote { color: var(--sc-muted); }
.erp-closing .dawap-team__tags > li { border-color: var(--sc-line); }

.erp-final {
    background-color: #173328;
    background-image: linear-gradient(#ddebd00d 1px, transparent 1px), linear-gradient(90deg, #ddebd00d 1px, transparent 1px);
    background-size: 36px 36px;
}

.erp-final .ed-eyebrow { color: #c5ed8a; }
.erp-final h2 + p { color: #d2e1d6; max-width: 55ch; margin: 18px auto 0; }
.erp-final .api-agency__contact-actions { align-items: center; }
.erp-final .ed-text-link:hover { color: #c5ed8a; }
.erp-final a:focus-visible { outline-color: #c5ed8a; }

@media (max-width: 1199px) {
    .erp-closing .dawap-team__container { width: calc(100% - 64px); }
    .erp-platforms { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 991px) {
    .erp-link-grid, .erp-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .erp-closing .dawap-team__container { width: calc(100% - 40px); }
    .erp-platforms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .erp-platforms li a { padding: 12px; font-size: 14px; }
    .erp-featured, .erp-link-grid, .erp-guide-grid { grid-template-columns: 1fr; }
    .erp-featured img { height: auto; }
    .erp-project-links a { grid-template-columns: 1fr auto; }
    .erp-project-links a > span:nth-child(2) { grid-column: 1; grid-row: 2; }
    .erp-project-links a > span:last-child { grid-column: 2; grid-row: 1; }
}

.erp-platforms--featured {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 12px;
}

.erp-platforms--featured li a {
    padding: clamp(14px, 2vw, 24px);
    border-top: 3px solid #5e876d;
    font-size: 14px;
}

.erp-platforms--featured li:nth-child(2) a { border-top-color: #9985b7; }
.erp-platforms--featured li:nth-child(3) a { border-top-color: #8f713b; }
.erp-platforms--featured a span:first-child { color: var(--sc-muted); }
.erp-platforms--featured strong { display: block; color: var(--sc-ink); font-size: 20px; margin-bottom: 5px; }
.erp-parent-link { margin-top: 24px; }

@media (max-width: 575px) {
    .erp-platforms--featured { grid-template-columns: 1fr; }
}

#suivi-erp .api-agency__run-actions article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 12px;
    align-items: start;
}

#suivi-erp .api-agency__run-actions article p { grid-column: 2; }

.erp-run-step {
    padding: 4px 6px;
    background: #385445;
    color: #c5ed8a;
    font: 11px/1.5 ui-monospace, monospace;
}

@media (max-width: 767px) {
    #erp-faq .api-agency__faq-nav ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        border-top: 0;
    }

    #erp-faq .api-agency__faq-nav a {
        height: 100%;
        min-height: 44px;
        gap: 6px;
        padding: 8px;
        border: 1px solid var(--sc-line);
        background: #fffef9;
        font-size: 13px;
    }
}

.erp-oneup-map,
.erp-scope-sheet {
    margin-top: 40px;
    padding: clamp(20px, 3vw, 36px);
    border: 1px solid var(--sc-line);
}

.erp-oneup-map {
    --sc-line: #4b6858;
    --sc-muted: #d1e0d6;
    --sc-accent: #c5ed8a;
    background: #203c30;
    color: #f4f8ed;
}

.erp-inset-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    align-items: end;
    gap: 12px 36px;
    margin-bottom: 24px;
}

.erp-inset-heading .ed-eyebrow {
    margin-bottom: 8px;
}

.erp-inset-heading > p {
    max-width: 54ch;
    color: var(--sc-muted);
    font-size: 15px;
}

.erp-oneup-map__stages {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--sc-line);
}

.erp-oneup-map__stage {
    display: grid;
    grid-template-columns: auto minmax(0, 1.1fr) minmax(0, 1fr);
    align-items: start;
    gap: 6px 18px;
    padding: 14px 0;
    border-bottom: 1px solid var(--sc-line);
}

.erp-oneup-map__step,
.erp-oneup-map__route strong {
    padding: 4px 8px;
    background: #345243;
    font-size: 13px;
    font-weight: 500;
}

.erp-oneup-map__step {
    color: var(--sc-accent);
    font-family: ui-monospace, monospace;
}

.erp-oneup-map__route {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
}

.erp-oneup-map__route > span { color: var(--sc-accent); }

.erp-oneup-map__stage b {
    font-size: 14px;
    font-weight: 600;
}

.erp-oneup-map__stage p,
.erp-oneup-map__returns article p {
    color: var(--sc-muted);
    font-size: 14px;
}

.erp-oneup-map__returns {
    margin: 20px 0 16px;
}

.erp-oneup-map__returns > .ed-eyebrow { margin-bottom: 8px; }

.erp-oneup-map__returns > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.erp-oneup-map__returns article {
    padding: 14px;
    background: #284538;
    border-inline-start: 2px solid var(--sc-accent);
}

.erp-oneup-map__returns h4,
.erp-scope-sheet h4 {
    margin: 0 0 4px;
    color: inherit;
    font-family: inherit;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 500;
}

.erp-scope-sheet { background: #fffef9; }

.erp-scope-sheet__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.erp-scope-sheet__grid > div {
    padding: clamp(14px, 2vw, 24px);
    border: 1px solid var(--sc-line);
}

.erp-scope-sheet__facts { background: #f5f6ef; }
.erp-scope-sheet__facts .ed-eyebrow { margin-bottom: 6px; }
.erp-scope-sheet__grid dl { margin: 12px 0 0; }

.erp-scope-sheet__grid dl > div {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr);
    gap: 4px 14px;
    padding: 9px 0;
    border-top: 1px solid var(--sc-line);
    font-size: 14px;
}

.erp-scope-sheet__grid dl > div:last-child { padding-bottom: 0; }
.erp-scope-sheet__grid dt { font-weight: 600; }
.erp-scope-sheet__grid dd { margin: 0; color: var(--sc-muted); }

.erp-scope-sheet .erp-scope-sheet__decision {
    margin-top: 14px;
    padding: 10px 14px;
    border-inline-start: 2px solid var(--sc-accent);
    background: #eaf0e5;
    font-size: 14px;
}

.erp-scope-sheet__decision strong { margin-inline-end: 6px; }

@media (max-width: 991px) {
    .erp-oneup-map__stage { grid-template-columns: auto minmax(0, 1fr); }
    .erp-oneup-map__stage > div:last-child { grid-column: 2; }
    .erp-scope-sheet__grid dl > div { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .erp-inset-heading,
    .erp-oneup-map__returns > div,
    .erp-scope-sheet__grid { grid-template-columns: 1fr; }

    .erp-oneup-map__stage { column-gap: 8px; }
    .erp-oneup-map__route { gap: 4px; }
    .erp-oneup-map__route strong { padding-inline: 5px; }
}

.erp-hosting .api-agency__hosting-flow strong span {
    display: block;
    color: #d1e0d6;
    font-weight: 400;
}

.erp-hosting h4 {
    margin: 20px 0 8px;
    color: var(--sc-ink);
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
}

.erp-hosting__checks {
    margin: 0;
}

.erp-hosting__checks > div {
    padding: 12px 0;
    border-top: 1px solid var(--sc-line);
    font-size: 14px;
}

.erp-hosting__checks > div:last-child { padding-bottom: 0; }
.erp-hosting__checks dt { font-weight: 600; }
.erp-hosting__checks dd { margin: 4px 0 0; color: var(--sc-muted); }

.erp-hosting__handoff {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px 24px;
    margin-top: 20px;
    padding: 18px clamp(20px, 3vw, 30px);
    border: 1px solid var(--sc-line);
    background: #edf2e8;
}

.erp-hosting__handoff h3 { font-size: 18px; margin-bottom: 4px; }
.erp-hosting__handoff p { max-width: 68ch; font-size: 14px; color: var(--sc-muted); }

@supports (grid-template-rows: subgrid) {
    @media (min-width: 768px) {
        .erp-hosting article { grid-row: span 9; }
        .erp-hosting .api-agency__hosting-copy { grid-row: span 8; }
        .erp-hosting__checks {
            display: grid;
            grid-row: span 4;
            grid-template-rows: subgrid;
        }
    }
}

.erp-release {
    margin-top: 40px;
}

.erp-release__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 16px;
}

.erp-release__grid > section {
    padding: clamp(18px, 2.4vw, 30px);
    border: 1px solid var(--sc-line);
    border-top: 3px solid #62886d;
    background: #fffef9;
}

.erp-release__grid > .erp-release__rollback {
    border-top-color: #9a773c;
}

.erp-release__grid .ed-eyebrow { margin-bottom: 8px; }

.erp-release__grid h4 {
    margin: 0 0 14px;
    color: var(--sc-ink);
    font: 500 20px/1.3 DawapRoboto, Arial, sans-serif;
}

.erp-release__grid dl { margin: 0; }

.erp-release__grid dl > div {
    padding: 10px 0;
    border-top: 1px solid var(--sc-line);
    font-size: 14px;
}

.erp-release__grid dl > div:last-child { padding-bottom: 0; }
.erp-release__grid dt { font-weight: 600; }
.erp-release__grid dd { margin: 4px 0 0; color: var(--sc-muted); }

.erp-run-alert__signal {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
    margin: 0 0 16px;
    background: #29483a;
    border: 1px solid var(--sc-line);
}

.erp-run-alert__signal dt {
    margin-bottom: 4px;
    color: var(--sc-accent);
    font: 11px/1.4 ui-monospace, monospace;
    text-transform: uppercase;
}

.erp-run-alert__signal dd {
    margin: 0;
    color: #f0f5e8;
    font-size: 13px;
}

.erp-run-alert .erp-run-alert__hold {
    margin: 0 0 16px;
    padding: 10px 12px;
    border-inline-start: 2px solid #f1dfa8;
    background: #594a2b;
    color: #fff0c7;
    font-size: 14px;
}

@supports (grid-template-rows: subgrid) {
    @media (min-width: 768px) {
        .erp-release__grid > section,
        .erp-release__grid dl {
            display: grid;
            grid-template-rows: subgrid;
            row-gap: 0;
        }

        .erp-release__grid > section { grid-row: span 5; }
        .erp-release__grid dl { grid-row: span 3; }
    }
}

@media (max-width: 991px) {
    .erp-run-alert__signal { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .erp-release__grid { grid-template-columns: 1fr; }
}
