/**
 * INGIUM relaunch case foundation.
 *
 * Loaded only for pages marked with the _ingium_relaunch_case post meta.
 */

.ingium-case-page {
    background: #fff !important;
}

.ingium-case-page > .l-section-h {
    padding-top: 0;
    padding-bottom: 0;
}

.ingium-case-page .w-html {
    width: 100%;
}

.ingium-case {
    color: #343434;
}

.ingium-case * {
    box-sizing: border-box;
}

.ingium-case__eyebrow {
    margin: 0;
    color: #990000;
    font-size: clamp(13px, calc(12.5px + .13vw), 15px);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ingium-case__hero {
    display: grid;
    grid-template-columns: minmax(22rem, 5.5fr) minmax(0, 6.5fr);
    gap: clamp(2.5rem, 4vw, 4rem);
    align-items: center;
    padding: clamp(4rem, 7vw, 7rem) 0 clamp(3.5rem, 6vw, 6rem);
}

.ingium-case__hero-title {
    max-width: 34rem;
    margin: .75rem 0 0;
    color: #222;
    font-size: clamp(52px, 3.2vw, 60px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -.035em;
    overflow-wrap: normal;
    word-break: normal;
}

.ingium-case__hero-lead {
    max-width: 38rem;
    margin: 1.4rem 0 0;
    color: #555;
    font-size: clamp(18px, 1.4vw, 21px);
    line-height: 1.55;
}

.ingium-case__hero-media {
    margin: 0;
}

.ingium-case__hero-media img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 1rem;
}

.ingium-case__caption {
    display: block;
    margin: .65rem 0 0;
    color: #777;
    font-size: 12px;
    line-height: 1.4;
}

.ingium-case__section {
    padding: clamp(4.5rem, 7vw, 7.5rem) 0;
    border-top: 1px solid #deded9;
}

.ingium-case__section-title {
    margin: .75rem 0 0;
    color: #222;
    font-size: clamp(38px, 3.2vw, 52px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.03em;
}

.ingium-case__situation {
    display: grid;
    grid-template-columns: minmax(16rem, 5fr) minmax(0, 7fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: start;
}

.ingium-case__situation-head {
    position: relative;
    padding-left: 1.6rem;
}

.ingium-case__situation-head::before {
    content: "";
    position: absolute;
    left: 0;
    top: .2rem;
    width: 3px;
    height: clamp(4rem, 8vw, 7rem);
    background: #990000;
}

.ingium-case__situation .ingium-case__section-title {
    max-width: 32rem;
}

.ingium-case__prose {
    max-width: 43rem;
    color: #4d4d4d;
    font-size: clamp(18px, 1.35vw, 20px);
    line-height: 1.7;
}

.ingium-case__prose p {
    margin: 0;
}

.ingium-case__prose p + p {
    margin-top: 1.35rem;
}

.ingium-case__system {
    padding: clamp(4.5rem, 7vw, 7.5rem) 0;
    background: #f7f7f5;
    box-shadow: 0 0 0 100vmax #f7f7f5;
    clip-path: inset(0 -100vmax);
}

.ingium-case__system-intro {
    max-width: 58rem;
    margin: 0 auto;
    text-align: center;
}

.ingium-case__system-intro .ingium-case__section-title {
    max-width: 46rem;
    margin-right: auto;
    margin-left: auto;
}

.ingium-case__system-lead {
    max-width: 46rem;
    margin: 1.25rem auto 0;
    color: #555;
    font-size: clamp(18px, 1.35vw, 20px);
    line-height: 1.65;
}

.ingium-case__system-map {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    margin-top: clamp(3rem, 5vw, 5rem);
    overflow: hidden;
    isolation: isolate;
    border: 1px solid #cfcfca;
    border-radius: 1.5rem;
    background: rgba(255, 255, 255, .84);
}

.ingium-case__system-map::before,
.ingium-case__system-map::after {
    content: "";
    position: absolute;
    z-index: 1;
    background: #d1d1cc;
    pointer-events: none;
}

.ingium-case__system-map::before {
    left: 50%;
    top: 2.75rem;
    bottom: 2.75rem;
    width: 1px;
}

.ingium-case__system-map::after {
    left: 2.75rem;
    right: 2.75rem;
    top: 50%;
    height: 1px;
}

.ingium-case__system-hub {
    position: absolute;
    z-index: 4;
    left: 50%;
    top: 50%;
    display: flex;
    width: 6.25rem;
    height: 6.25rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #d1d1cc;
    border-radius: 50%;
    background: #fff;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 0 14px rgba(255, 255, 255, .94);
}

.ingium-case__system-hub img {
    display: block;
    width: 4.75rem;
    max-width: 76%;
    height: auto;
    filter: contrast(1.16) brightness(1.02);
}

.ingium-case__system-module {
    position: relative;
    z-index: 2;
    min-height: 18rem;
    padding: clamp(3.25rem, 4vw, 4.75rem);
    background: transparent;
}

.ingium-case__system-module:nth-of-type(1),
.ingium-case__system-module:nth-of-type(2) {
    padding-bottom: clamp(5rem, 7vw, 6.5rem);
}

.ingium-case__system-module:nth-of-type(3),
.ingium-case__system-module:nth-of-type(4) {
    padding-top: clamp(5rem, 7vw, 6.5rem);
}

.ingium-case__system-label {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin: 0 0 .8rem;
    color: #990000;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ingium-case__system-label::before {
    content: "";
    width: .65rem;
    height: .65rem;
    border: 2px solid #990000;
    border-radius: 50%;
    background: #fff;
}

.ingium-case__system-module h3 {
    max-width: 28rem;
    margin: 0;
    color: #242424;
    font-size: clamp(24px, 2.2vw, 32px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.02em;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.ingium-case__system-module p {
    max-width: 29rem;
    margin: 1rem 0 0;
    color: #565656;
    font-size: 16px;
    line-height: 1.65;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

/* Keep the existing four-module composition pixel-identical. */
.ingium-case__system-map[data-module-count="3"],
.ingium-case__system-map[data-module-count="5"] {
    grid-auto-rows: 1fr;
}

.ingium-case__system-map[data-module-count="3"]
    .ingium-case__system-module:nth-of-type(3),
.ingium-case__system-map[data-module-count="5"]
    .ingium-case__system-module:nth-of-type(5) {
    grid-column: 1 / -1;
    text-align: center;
}

.ingium-case__system-map[data-module-count="3"]
    .ingium-case__system-module:nth-of-type(3) > *,
.ingium-case__system-map[data-module-count="5"]
    .ingium-case__system-module:nth-of-type(5) > * {
    margin-right: auto;
    margin-left: auto;
}

.ingium-case__system-map[data-module-count="5"]::before {
    bottom: calc(33.333% + 2.75rem);
}

.ingium-case__system-map[data-module-count="5"]::after,
.ingium-case__system-map[data-module-count="5"] .ingium-case__system-hub {
    top: 33.333%;
}

.ingium-case__system-map[data-module-count="5"]
    .ingium-case__system-module:nth-of-type(5) {
    border-top: 1px solid #e2e2de;
}

.ingium-case__ongoing {
    display: grid;
    grid-template-columns: minmax(16rem, 5fr) minmax(0, 7fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: start;
}

.ingium-case__ongoing .ingium-case__section-title {
    max-width: 35rem;
}

.ingium-case__ongoing-copy {
    max-width: 44rem;
}

.ingium-case__continuum {
    display: flex;
    align-items: stretch;
    margin: 0 0 2rem;
    padding: 0;
    list-style: none;
    color: #343434;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: normal;
    line-height: 1.4;
    isolation: isolate;
}

.ingium-case__continuum li {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    min-width: 0;
    min-height: 64px;
    padding: 14px 18px;
    border: 1px solid #d0d0ca;
    background: #fff;
    text-align: center;
    white-space: normal;
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
}

.ingium-case__continuum li + li::before {
    content: none;
}

/* Cancel the theme's list-item bottom margin so adjacent contours touch. */
body .ingium-case .ingium-case__continuum li { margin-bottom: 0; }
.ingium-case__continuum li + li { margin-left: -1px; }
.ingium-case__continuum li:first-child { border-radius: 6px 0 0 6px; }
.ingium-case__continuum li:last-child { border-radius: 0 6px 6px 0; }
.ingium-case__continuum li:not(:last-child)::after {
    position: absolute;
    z-index: 2;
    top: calc(50% - 15px);
    right: -12px;
    width: 13px;
    height: 30px;
    background: url('../svg/relaunch/case-connector-horizontal.svg') center / 100% 100% no-repeat;
    content: '';
    pointer-events: none;
}
/* 8AK.19: reusable white technical puzzle, with native list text retained. */
@media (max-width: 1050px) {
    .ingium-case__continuum {
        flex-direction: column;
        width: min(100%, 340px);
        margin-inline: auto;
    }
    .ingium-case__continuum li { min-height: 64px; padding: 18px; }
    .ingium-case__continuum li + li { margin-left: 0; margin-top: -1px; }
    .ingium-case__continuum li:first-child { border-radius: 6px 6px 0 0; }
    .ingium-case__continuum li:last-child { border-radius: 0 0 6px 6px; }
    .ingium-case__continuum li:not(:last-child)::after {
        top: auto;
        right: calc(50% - 15px);
        bottom: -12px;
        width: 30px;
        height: 13px;
        background-image: url('../svg/relaunch/case-connector-vertical.svg');
    }
}

.ingium-case__cta {
    display: grid;
    grid-template-columns: minmax(16rem, 5fr) minmax(0, 7fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: center;
    padding: clamp(4rem, 6vw, 6.5rem) 0;
    border-top: 1px solid #deded9;
}

.ingium-case__cta-title {
    margin: 0;
    color: #222;
    font-size: clamp(38px, 3.2vw, 52px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.03em;
}

.ingium-case__cta-copy {
    max-width: 42rem;
}

.ingium-case__cta-copy p {
    margin: 0;
    color: #555;
    font-size: 18px;
    line-height: 1.65;
}

.ingium-case__cta-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1.6rem;
    padding: .9rem 1.25rem;
    border: 2px solid #990000;
    border-radius: .35rem;
    background: #990000;
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color 160ms ease, color 160ms ease;
}

.ingium-case__cta-link:hover {
    background: #fff;
    color: #990000 !important;
}

.ingium-case__cta-link:focus-visible {
    outline: 3px solid #990000;
    outline-offset: 4px;
}

/* Retained for Draft 901 only; not part of the reusable case content. */
.ingium-case__customer-profile {
    display: none;
}

@media (max-width: 900px) {
    .ingium-case__hero {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .ingium-case__hero-copy {
        max-width: 47rem;
    }

    .ingium-case__situation,
    .ingium-case__ongoing,
    .ingium-case__cta {
        grid-template-columns: 1fr;
        gap: 2.25rem;
    }

    .ingium-case__situation-head {
        max-width: 38rem;
    }

    .ingium-case__ongoing-copy,
    .ingium-case__cta-copy {
        max-width: 46rem;
    }
}

@media (max-width: 767px) {
    .ingium-case__hero {
        padding: 3.25rem 0 3.75rem;
    }

    .ingium-case__hero-title {
        font-size: clamp(34px, 9.5vw, 42px);
        line-height: 1.08;
        overflow-wrap: normal;
        word-break: normal;
    }

    .ingium-case__hero-lead {
        font-size: 17px;
    }

    .ingium-case__section,
    .ingium-case__system {
        padding: 4rem 0;
    }

    .ingium-case__section-title,
    .ingium-case__cta-title {
        font-size: clamp(32px, 9vw, 40px);
    }

    .ingium-case__situation-head {
        padding-left: 1.25rem;
    }

    .ingium-case__situation-head::before {
        height: 4.5rem;
    }

    .ingium-case__prose,
    .ingium-case__system-lead {
        font-size: 17px;
    }

    .ingium-case__system-intro {
        text-align: left;
    }

    .ingium-case__system-intro .ingium-case__section-title,
    .ingium-case__system-lead {
        margin-right: 0;
        margin-left: 0;
    }

    .ingium-case__system-map,
    .ingium-case__system-map[data-module-count="3"],
    .ingium-case__system-map[data-module-count="5"] {
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
        margin-top: 2.5rem;
    }

    .ingium-case__system-map::before,
    .ingium-case__system-map[data-module-count="5"]::before {
        left: 2.05rem;
        top: 2.4rem;
        bottom: 2.4rem;
        width: 1px;
        height: auto;
        background: #c9c9c4;
    }

    .ingium-case__system-map::after,
    .ingium-case__system-map[data-module-count="5"]::after {
        display: none;
    }

    .ingium-case__system-hub,
    .ingium-case__system-map[data-module-count="5"] .ingium-case__system-hub {
        left: 2.05rem;
        top: 50%;
        width: 4rem;
        height: 4rem;
        box-shadow: 0 0 0 9px rgba(255, 255, 255, .94);
    }

    .ingium-case__system-hub img {
        width: 3rem;
        max-width: 76%;
    }

    .ingium-case__system-module,
    .ingium-case__system-module:nth-of-type(1),
    .ingium-case__system-module:nth-of-type(2),
    .ingium-case__system-module:nth-of-type(3),
    .ingium-case__system-module:nth-of-type(4),
    .ingium-case__system-module:nth-of-type(5) {
        min-height: 0;
        padding: 1.75rem 1.3rem 1.75rem 4.5rem;
    }

    .ingium-case__system-map[data-module-count="3"]
        .ingium-case__system-module:nth-of-type(3),
    .ingium-case__system-map[data-module-count="5"]
        .ingium-case__system-module:nth-of-type(5) {
        grid-column: auto;
        text-align: left;
    }

    .ingium-case__system-map[data-module-count="3"]
        .ingium-case__system-module:nth-of-type(3) > *,
    .ingium-case__system-map[data-module-count="5"]
        .ingium-case__system-module:nth-of-type(5) > * {
        margin-right: 0;
        margin-left: 0;
    }

    .ingium-case__system-module + .ingium-case__system-module {
        border-top: 1px solid #e2e2de;
    }

    .ingium-case__system-label::before {
        position: absolute;
        left: 1.69rem;
        width: .7rem;
        height: .7rem;
        background: #fff;
    }

    .ingium-case__system-module h3 {
        font-size: 25px;
    }

    .ingium-case__system-module p {
        margin-top: .75rem;
    }

    .ingium-case__continuum { display: flex; }

    .ingium-case__continuum li + li::before {
        width: 1.25rem;
        margin: 0 .55rem;
    }

    .ingium-case__cta {
        padding: 4rem 0;
    }

    .ingium-case__cta-link {
        width: 100%;
        min-height: 3.25rem;
    }
}

@media (max-width: 340px) {
    .ingium-case__hero-title {
        font-size: 29px;
    }

    .ingium-case__section-title,
    .ingium-case__cta-title {
        font-size: 31px;
    }

    .ingium-case__system-map::before,
    .ingium-case__system-hub {
        left: 1.85rem;
    }

    .ingium-case__system-hub,
    .ingium-case__system-map[data-module-count="5"] .ingium-case__system-hub {
        width: 3.25rem;
        height: 3.25rem;
        box-shadow: 0 0 0 6px rgba(255, 255, 255, .94);
    }

    .ingium-case__system-hub img {
        width: 2.4rem;
    }

    .ingium-case__system-module,
    .ingium-case__system-module:nth-of-type(1),
    .ingium-case__system-module:nth-of-type(2),
    .ingium-case__system-module:nth-of-type(3),
    .ingium-case__system-module:nth-of-type(4),
    .ingium-case__system-module:nth-of-type(5) {
        padding: 1.55rem 1rem 1.55rem 4.15rem;
    }

    .ingium-case__system-label::before {
        left: 1.49rem;
    }

    .ingium-case__system-module h3 {
        font-size: 23px;
    }

    .ingium-case__system-module p {
        font-size: 15px;
        line-height: 1.58;
    }

    .ingium-case__continuum { display: flex; }

    .ingium-case__continuum li + li::before {
        width: 1px;
        height: 1rem;
        margin: 0 0 .65rem .35rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ingium-case__cta-link {
        transition: none;
    }
}

/* 8W.2: shared editorial case-study system. */
body .ingium-case .ingium-case__hero-title,
body .ingium-case .ingium-case__section-title,
body .ingium-case .ingium-case__cta-title,
body .ingium-case .ingium-case__system-module h3 {
    -webkit-hyphens: none;
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
}

body .ingium-case .ingium-case__section,
body .ingium-case .ingium-case__system {
    padding-top: clamp(72px, 6vw, 96px);
    padding-bottom: clamp(72px, 6vw, 96px);
}

body .ingium-case .ingium-case__system-intro {
    max-width: 54rem;
    margin-right: 0;
    margin-left: 0;
    text-align: left;
}

body .ingium-case .ingium-case__hero-copy {
    min-width: 0;
}

body .ingium-case .ingium-case__hero-title {
    max-width: none;
}

body .ingium-case .ingium-case__system-intro .ingium-case__section-title,
body .ingium-case .ingium-case__system-intro .ingium-case__section-lead {
    margin-right: 0;
    margin-left: 0;
}

body .ingium-case .ingium-case__system-map {
    grid-auto-rows: 1fr;
    overflow: visible;
    border: 0;
    border-top: 1px solid #d8d8d3;
    border-bottom: 1px solid #d8d8d3;
    border-radius: 0;
    background: transparent;
}

body .ingium-case .ingium-case__system-map::before,
body .ingium-case .ingium-case__system-map::after {
    background: #deded9;
}

body .ingium-case .ingium-case__system-hub,
body .ingium-case .ingium-case__system-map[data-module-count="5"] .ingium-case__system-hub {
    width: 5rem;
    height: 5rem;
    border-color: #d8d8d3;
    background: #f7f7f5;
    box-shadow: 0 0 0 10px #f7f7f5;
}

body .ingium-case .ingium-case__system-hub img {
    width: 3.65rem;
}

body .ingium-case .ingium-case__system-module,
body .ingium-case .ingium-case__system-module:nth-of-type(1),
body .ingium-case .ingium-case__system-module:nth-of-type(2),
body .ingium-case .ingium-case__system-module:nth-of-type(3),
body .ingium-case .ingium-case__system-module:nth-of-type(4),
body .ingium-case .ingium-case__system-module:nth-of-type(5) {
    min-height: 0;
    padding: 2.75rem 3rem;
}

body .ingium-case .ingium-case__system-module h3 {
    font-size: clamp(30px, 2.2vw, 36px);
    line-height: 1.14;
}

body .ingium-case .ingium-case__system-module p:not(.ingium-case__system-label) {
    font-size: 17px;
    line-height: 1.56;
}

@media (min-width: 768px) and (max-width: 900px) {
    body .ingium-case .ingium-case__hero-title {
        font-size: 48px;
        line-height: 1.08;
    }

    body .ingium-case .ingium-case__section-title,
    body .ingium-case .ingium-case__cta-title {
        font-size: 42px;
        line-height: 1.12;
    }

    body .ingium-case .ingium-case__system-module h3 {
        font-size: 32px;
        line-height: 1.14;
    }
}

@media (min-width: 901px) and (max-width: 1100px) {
    body .ingium-case .ingium-case__hero {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    }
}

@media (min-width: 901px) {
    body .ingium-case .ingium-case__system {
        padding-bottom: clamp(32px, 3vw, 48px);
    }

    body .ingium-case .ingium-case__system-map {
        grid-auto-rows: auto;
    }
}

@media (max-width: 767px) {
    body .ingium-case .ingium-case__section,
    body .ingium-case .ingium-case__system {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    body .ingium-case .ingium-case__hero-title {
        width: calc(100% + 24px);
        max-width: none;
        margin-left: -12px;
        font-size: clamp(33px, calc(23.9vw - 53.04px), 39.5px);
        letter-spacing: -.015em;
        line-height: 1.08;
    }

    body .ingium-case .ingium-case__section-title,
    body .ingium-case .ingium-case__cta-title {
        font-size: clamp(30px, calc(17vw - 31.2px), 35.1px);
        line-height: 1.2;
    }

    body .ingium-case .ingium-case__system-intro {
        max-width: none;
    }

    body .ingium-case .ingium-case__system-map,
    body .ingium-case .ingium-case__system-map[data-module-count="5"] {
        display: block;
        grid-auto-rows: auto;
        width: calc(100% + 16px);
        margin-top: 2rem;
        margin-right: -8px;
        margin-left: -8px;
        border-top-color: #d8d8d3;
        border-bottom-color: #d8d8d3;
    }

    body .ingium-case .ingium-case__system-map::before,
    body .ingium-case .ingium-case__system-map::after {
        content: none;
    }

    body .ingium-case .ingium-case__system-hub,
    body .ingium-case .ingium-case__system-map[data-module-count="5"] .ingium-case__system-hub {
        display: none;
        top: 0;
        right: 0;
        left: auto;
        width: 40px;
        height: 40px;
        margin: 0;
        transform: translateY(-50%);
        box-shadow: none;
    }

    body .ingium-case .ingium-case__system-hub img {
        width: 29px;
    }

    body .ingium-case .ingium-case__system-module,
    body .ingium-case .ingium-case__system-module:nth-of-type(1),
    body .ingium-case .ingium-case__system-module:nth-of-type(2),
    body .ingium-case .ingium-case__system-module:nth-of-type(3),
    body .ingium-case .ingium-case__system-module:nth-of-type(4),
    body .ingium-case .ingium-case__system-module:nth-of-type(5) {
        min-height: 0;
        padding: 16px 0 20px;
        border-top: 1px solid #deded9;
        text-align: left;
    }

    body .ingium-case .ingium-case__system-label {
        display: flex;
        align-items: center;
        gap: .65rem;
        margin: 0 0 6px;
        font-size: 13px;
        line-height: 1.4;
    }

    body .ingium-case .ingium-case__system-label::before {
        position: static;
        flex: 0 0 auto;
        width: .5rem;
        height: .5rem;
        transform: none;
    }

    body .ingium-case .ingium-case__system-module h3 {
        font-size: clamp(25.5px, calc(12.5vw - 19.5px), 29.25px);
        line-height: 1.14;
    }

    body .ingium-case .ingium-case__system-module p:not(.ingium-case__system-label) {
        font-size: 17px;
        line-height: 1.56;
    }
}

@media (max-width: 360px) {
    body .ingium-case .ingium-case__section,
    body .ingium-case .ingium-case__system {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    body .ingium-case .ingium-case__hero-title {
        font-size: 31.75px;
        line-height: 1.08;
    }

    body .ingium-case .ingium-case__section-title,
    body .ingium-case .ingium-case__cta-title {
        font-size: 30px;
        line-height: 1.17;
    }

    body .ingium-case .ingium-case__system-module h3 {
        font-size: 25.5px;
        line-height: 1.15;
    }
}

/* 8AI B.2b: supplied original logos as quiet customer signatures. */
.ingium-case__references {border-bottom:1px solid #d8d8d3;padding:24px 0;}
.ingium-case__reference {min-width:0;display:flex;align-items:center;gap:24px;}
.ingium-case__logo {flex:none;max-width:100%;background:transparent;padding:0;}
.ingium-case__logo img {display:block;width:200px;max-width:100%;height:auto;object-fit:contain;}
.ingium-case__logo--fk img {width:156px;}
.ingium-case__signature {display:block;width:auto;height:56px;max-width:180px;object-fit:contain;margin:0 0 20px;}
.ingium-case__reference strong {display:block;color:#222;font-size:18px;line-height:1.45;}
.ingium-case__reference span {display:block;font-size:14px;line-height:1.6;color:#555;}
.ingium-case__profiles {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;}
.ingium-case__profiles article {min-width:0;}
.ingium-case__profiles h3 {font-size:24px;line-height:1.25;letter-spacing:-.015em;margin:0 0 4px;}
.ingium-case__profiles p {font-size:17px;line-height:1.6;margin:0;}
.ingium-case__profiles .ingium-case__profile-role {font-size:14px;line-height:1.6;color:#555;margin:0 0 20px;}
.ingium-case__customer > .ingium-case__profiles,.ingium-case__customer > .ingium-case__prose {margin-top:32px;}
.ingium-case__testimonials {padding:64px 0;border-top:1px solid #d8d8d3;}
.ingium-case__testimonials > h2 {font-size:clamp(30px,2.5vw,40px);line-height:1.15;margin:0 0 32px;}
.ingium-case__quotes {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;}
.ingium-case__quotes.is-single {grid-template-columns:1fr;max-width:900px;}
.ingium-case__quotes blockquote {position:relative;border:0;padding:0 0 0 38px;margin:0;min-width:0;}
.ingium-case__quotes blockquote::before {content:'“';position:absolute;left:0;top:-12px;color:#990000;font-size:72px;line-height:1;opacity:.8;}
.ingium-case__quotes blockquote p {font-size:clamp(20px,1.55vw,24px);line-height:1.55;color:#343434;font-style:normal;margin:0;}
.ingium-case__quotes blockquote footer {margin-top:20px;font-size:15px;font-weight:700;line-height:1.5;color:#222;}
@media(max-width:1100px) { .ingium-case__profiles,.ingium-case__quotes {grid-template-columns:1fr;gap:32px;} }
@media(max-width:1100px) { .ingium-case__signature {height:48px;} .ingium-case__logo--zt img {width:180px;} }

@media(max-width:767px) { .ingium-case__testimonials {padding:48px 0;} .ingium-case__quotes blockquote p{font-size:20px;} .ingium-case__reference {align-items:flex-start;flex-direction:column;gap:14px;} .ingium-case__signature {height:44px;margin-bottom:16px;} .ingium-case__logo--zt img {width:160px;} .ingium-case__logo--fk img {width:144px;} }

.ingium-case__quotes footer strong,.ingium-case__quotes footer span {display:block;}
.ingium-case__quotes footer span {font-weight:400;}

/* 8AI B.2c: editorial intros and closing module, only on the three approved cases. */
body .ingium-case--editorial .ingium-case__editorial-intro {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 24px clamp(32px, 4vw, 56px);
    align-items: start;
    max-width: none;
    margin: 0;
    text-align: left;
}
body .ingium-case--editorial .ingium-case__editorial-intro > .ingium-case__eyebrow {
    grid-column: 1 / -1;
    margin: 0;
}
body .ingium-case--editorial .ingium-case__editorial-intro > .ingium-case__section-title {
    max-width: none;
    margin: 0;
    padding: 0;
    font-size: clamp(32px, 2.5vw, 40px);
    line-height: 1.15;
}
body .ingium-case--editorial .ingium-case__editorial-intro > .ingium-case__prose,
body .ingium-case--editorial .ingium-case__editorial-intro > .ingium-case__system-lead {
    min-width: 0;
    max-width: 70ch;
    margin: 0;
}
body .ingium-case--editorial .ingium-case__system-closing {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(32px, 4vw, 56px);
    align-items: start;
    padding: 32px 0 0;
    text-align: left;
}
body .ingium-case--editorial .ingium-case__system-closing-head,
body .ingium-case--editorial .ingium-case__system-closing-copy {
    min-width: 0;
}
body .ingium-case--editorial .ingium-case__system-closing h3 {
    margin: 0;
    padding: 0;
    font-size: clamp(30px, 2.2vw, 36px);
    color: #242424;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.14;
    -webkit-hyphens: none;
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
}
body .ingium-case--editorial .ingium-case__system-closing .ingium-case__system-label {
    font-size: clamp(13px, calc(12.5px + .13vw), 15px);
    line-height: 1.35;
}
body .ingium-case--editorial .ingium-case__system-closing-copy {
    max-width: 70ch;
    margin: 0;
    color: #565656;
    font-size: 17px;
    line-height: 1.56;
}
body .ingium-case--editorial .ingium-case__logo-link {
    display: block;
    width: fit-content;
    max-width: 100%;
}
body .ingium-case--editorial .ingium-case__website-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-top: 8px;
    color: #990000;
    font-size: 14px;
    line-height: 1.5;
    text-decoration: underline;
    text-underline-offset: 3px;
}
body .ingium-case--editorial .ingium-case__logo-link:focus-visible,
body .ingium-case--editorial .ingium-case__website-link:focus-visible {
    outline: 2px solid #990000;
    outline-offset: 4px;
}
@media (max-width: 1100px) {
    body .ingium-case--editorial .ingium-case__editorial-intro {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }
}
@media (max-width: 900px) {
    body .ingium-case--editorial .ingium-case__system-closing {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }
}
@media (max-width: 767px) {
    body .ingium-case--editorial .ingium-case__editorial-intro,
    body .ingium-case--editorial .ingium-case__system-closing {
        width: calc(100% + 16px);
        margin-right: -8px;
        margin-left: -8px;
    }
    body .ingium-case--editorial .ingium-case__editorial-intro > .ingium-case__section-title {
        font-size: clamp(28px, 7.5vw, 32px);
        line-height: 1.2;
    }
    body .ingium-case--editorial .ingium-case__system-closing h3 {
        font-size: clamp(25.5px, 7.5vw, 29.25px);
    }
}

/* 8AK.19: Brandl is confirmed as zt:pae; match the editorial 40px H2 scale. */
@media (min-width: 901px) {
    body.page-id-942 .ingium-case__situation #ingium-case-situation {
        font-size: clamp(30px, 2.8vw, 40px);
        line-height: 1.2;
        text-wrap: balance;
    }
}

/* 8AK.4b: natural, readable headings only on the Vienna legal case. */
@media (min-width: 901px) {
    body.page-id-901 .ingium-case__hero-title {
        font-size: clamp(44px, 3.4vw, 48px);
        line-height: 1.08;
    }
}
@media (max-width: 400px) {
    body.page-id-901 #ingium-case-customer {
        font-size: clamp(27.4px, calc(10.286vw - 5.515px), 34.6px);
    }
}

/* Balance only the two revised section headings; normal wrap also fits. */
body.page-id-901 #ingium-case-customer,
body.page-id-901 #ingium-case-situation {
    text-wrap: balance;
}
