/**
 * INGIUM relaunch solution page system.
 *
 * Loaded only for marked solution and solution-hub pages. Every selector is
 * scoped to the solution namespace so prototype, case and references layouts
 * remain unchanged.
 */

.ingium-solution-page,
.ingium-solution-section {
    color: var(--ingium-rp-color-text);
}

.ingium-solution-page *,
.ingium-solution-section * {
    box-sizing: border-box;
}

.ingium-solution-section {
    background: var(--ingium-rp-color-background) !important;
}

.ingium-solution-section--alternate,
.ingium-solution-hero,
.ingium-solution-cta {
    background: var(--ingium-rp-color-background-alternate) !important;
}

.ingium-solution-section > .l-section-h,
.ingium-solution-page > .l-section-h {
    width: 100%;
    max-width: var(--ingium-rp-layout-content-max);
    padding-top: var(--ingium-rp-section-standard);
    padding-right: var(--ingium-rp-page-padding);
    padding-bottom: var(--ingium-rp-section-standard);
    padding-left: var(--ingium-rp-page-padding);
}

.ingium-solution-section--large > .l-section-h,
.ingium-solution-hero > .l-section-h {
    padding-top: var(--ingium-rp-section-large);
    padding-bottom: var(--ingium-rp-section-large);
}

.ingium-solution-section--compact > .l-section-h {
    padding-top: var(--ingium-rp-section-small);
    padding-bottom: var(--ingium-rp-section-small);
}

.ingium-solution-eyebrow,
.ingium-solution-module__meta,
.ingium-solution-reference__meta,
.ingium-solution-hub-entry__meta {
    margin: 0;
    color: var(--ingium-rp-color-primary);
    font-size: clamp(13px, calc(12.5px + 0.13vw), 15px);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.ingium-solution-title,
.ingium-solution-heading,
.ingium-solution-subheading,
.ingium-solution-module__title,
.ingium-solution-reference__title,
.ingium-solution-hub-entry__title {
    color: var(--ingium-rp-color-heading);
}

.ingium-solution-title {
    max-width: 15ch;
    margin: 0.55rem 0 0;
    font-size: var(--ingium-rp-font-size-display);
    font-weight: var(--ingium-rp-font-weight-display);
    line-height: var(--ingium-rp-line-height-display);
    letter-spacing: -0.035em;
}

.ingium-solution-heading {
    width: 100%;
    min-width: 0;
    max-width: 20ch;
    margin: 0;
    font-size: var(--ingium-rp-font-size-h2);
    font-weight: var(--ingium-rp-font-weight-h2);
    line-height: var(--ingium-rp-line-height-h2);
    letter-spacing: -0.025em;
    hyphens: auto;
    overflow-wrap: break-word;
}

.ingium-solution-subheading,
.ingium-solution-module__title,
.ingium-solution-reference__title,
.ingium-solution-hub-entry__title {
    margin: 0;
    font-size: var(--ingium-rp-font-size-h3);
    font-weight: var(--ingium-rp-font-weight-h3);
    line-height: var(--ingium-rp-line-height-h3);
    letter-spacing: -0.02em;
}

.ingium-solution-lead,
.ingium-solution-copy,
.ingium-solution-module__text,
.ingium-solution-reference__description,
.ingium-solution-hub-entry__description {
    color: var(--ingium-rp-color-text);
    font-size: var(--ingium-rp-font-size-body);
    line-height: var(--ingium-rp-line-height-body);
}

.ingium-solution-lead {
    max-width: 46rem;
    margin: 1.4rem 0 0;
    font-size: clamp(17px, 1.25vw, 20px);
}

.ingium-solution-copy {
    max-width: var(--ingium-rp-layout-text-max);
}

.ingium-solution-copy p {
    margin: 0;
}

.ingium-solution-copy p + p {
    margin-top: 1rem;
}

.ingium-solution-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0.8rem 1.35rem;
    border: 1px solid var(--ingium-rp-color-primary);
    border-radius: var(--ingium-rp-radius);
    background: var(--ingium-rp-color-primary);
    color: #fff;
    font-size: var(--ingium-rp-font-size-button);
    font-weight: var(--ingium-rp-font-weight-button);
    line-height: var(--ingium-rp-line-height-button);
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.ingium-solution-button:hover {
    border-color: var(--ingium-rp-color-dark-red);
    background: var(--ingium-rp-color-dark-red);
    color: #fff;
}

.ingium-solution-button--secondary {
    background: transparent;
    color: var(--ingium-rp-color-primary);
}

.ingium-solution-button--secondary:hover {
    color: #fff;
}

.ingium-solution-button:focus-visible,
.ingium-solution-reference__media:focus-visible,
.ingium-solution-reference__title-link:focus-visible,
.ingium-solution-reference__action:focus-visible,
.ingium-solution-hub-entry__link:focus-visible {
    outline: 3px solid var(--ingium-rp-color-primary);
    outline-offset: 4px;
}

/* Hero */

/* Pilot visual modifier: opt-in only when the hero markup contains a visual. */
.ingium-solution-hero--with-visual > .l-section-h > .g-cols {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 42px;
    align-items: center;
}

.ingium-solution-hero--with-visual > .l-section-h > .g-cols > [class*="vc_col-"] {
    width: auto;
    min-width: 0;
}

.ingium-solution-hero--with-visual .ingium-solution-hero__copy {
    max-width: 38rem;
}

.ingium-solution-hero--with-visual .ingium-solution-hero__visual {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: clamp(280px, 28vw, 420px);
    place-items: center;
    isolation: isolate;
}

.ingium-solution-hero--with-visual .ingium-solution-hero__signet {
    position: absolute;
    z-index: -1;
    display: block;
    width: min(100%, 430px);
    height: auto;
    opacity: 0.62;
}

.ingium-solution-hero--with-visual .ingium-solution-hero__symbol {
    display: block;
    width: min(100%, 390px);
    height: auto;
}

/* VIS.2b: shared signet composition for every solution hero. */
.ingium-solution-hero--signet-composition .ingium-solution-hero__visual {
    min-height: 500px;
}

.ingium-solution-hero--signet-composition .ingium-solution-hero__signet {
    z-index: 0;
    top: 0;
    left: 50%;
    width: min(100%, 430px);
    opacity: 0.82;
    transform: translateX(-50%);
}

.ingium-solution-hero--signet-composition .ingium-solution-hero__symbol {
    --ingium-solution-symbol-shift-x: 9px;
    position: absolute;
    z-index: 1;
    top: 370px;
    left: 50%;
    width: min(100%, 430px);
    transform: translate(calc(-50% + var(--ingium-solution-symbol-shift-x)), -50%);
}

.ingium-solution-hero--signet-composition
.ingium-solution-hero__symbol[src*="illustration-it-wlan-hero.svg"] {
    --ingium-solution-symbol-shift-x: 6px;
}

.ingium-solution-hero--signet-composition
.ingium-solution-hero__symbol[src*="illustration-telefonie-hero.svg"] {
    --ingium-solution-symbol-shift-x: 4px;
}

.ingium-solution-hero--signet-composition
.ingium-solution-hero__symbol[src*="illustration-ki-hero.svg"] {
    --ingium-solution-symbol-shift-x: 8px;
}

.ingium-solution-hero--signet-composition
.ingium-solution-hero__symbol[src*="illustration-training-hero.svg"] {
    --ingium-solution-symbol-shift-x: 5px;
}

@media (min-width: 1180px) {
    .ingium-solution-hero--with-visual > .l-section-h > .g-cols {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
        gap: clamp(36px, 6vw, 110px);
    }
}

.ingium-solution-hero__inner {
    display: grid;
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
}

.ingium-solution-hero__copy {
    max-width: var(--ingium-rp-layout-intro-max);
}

.ingium-solution-hero__actions,
.ingium-solution-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.75rem;
}

.ingium-solution-hero__media,
.ingium-solution-editorial__media {
    min-width: 0;
    overflow: hidden;
    border-radius: var(--ingium-rp-radius);
    background: #ecece8;
    aspect-ratio: 1672 / 941;
}

.ingium-solution-hero__image,
.ingium-solution-editorial__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Problem and editorial split */

.ingium-solution-problem,
.ingium-solution-editorial,
.ingium-solution-operation {
    display: grid;
    gap: clamp(28px, 4vw, 64px);
    align-items: start;
}

.ingium-solution-problem__intro,
.ingium-solution-editorial__copy,
.ingium-solution-operation__intro {
    min-width: 0;
}

.ingium-solution-problem__body,
.ingium-solution-operation__body {
    min-width: 0;
    max-width: var(--ingium-rp-layout-text-max);
}

/* 8AG.0: only the explicitly simplified editorial blocks. */
body:is(.page-id-955, .page-id-956, .page-id-957, .page-id-171)
.ingium-solution-editorial.ingium-solution-editorial--single {
    grid-template-columns: minmax(0, 1fr);
    max-width: var(--ingium-rp-layout-intro-max);
}

body.page-id-976 .ingium-solution-hub-orientation-section .ingium-solution-hub__intro {
    margin-bottom: 0;
}

body.page-id-976 .ingium-solution-hub-orientation-section > .l-section-h {
    padding-bottom: 32px;
}

.ingium-solution-editorial--media-left .ingium-solution-editorial__media {
    order: -1;
}

/* Flexible module system */

.ingium-solution-modules__intro {
    max-width: var(--ingium-rp-layout-intro-max);
    margin-bottom: clamp(36px, 5vw, 64px);
}

.ingium-solution-modules__intro .ingium-solution-copy {
    margin-top: 1.2rem;
}

.ingium-solution-module-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(32px, 4vw, 56px) var(--ingium-rp-grid-gap);
}

.ingium-solution-module {
    min-width: 0;
    padding-top: 1.25rem;
    border-top: 2px solid var(--ingium-rp-color-primary);
}

.ingium-solution-module__title {
    max-width: 24ch;
    margin-top: 0.65rem;
}

.ingium-solution-module__text {
    max-width: 42rem;
    margin: 0.9rem 0 0;
}

/* Reference teasers */

.ingium-solution-references__intro {
    max-width: var(--ingium-rp-layout-intro-max);
    margin-bottom: clamp(36px, 5vw, 64px);
}

.ingium-solution-reference-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(48px, 6vw, 80px) clamp(28px, 3.5vw, 48px);
}

.ingium-solution-reference-list[data-reference-count="1"] {
    max-width: var(--ingium-rp-layout-intro-max);
}

.ingium-solution-reference {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ingium-solution-reference__media {
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: var(--ingium-rp-radius);
    background: #ecece8;
    color: inherit;
    aspect-ratio: 1672 / 941;
}

.ingium-solution-reference__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ingium-solution-reference__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    padding-top: 1.4rem;
}

.ingium-solution-reference__title {
    max-width: 24ch;
    margin-top: 0.65rem;
}

.ingium-solution-reference__title-link {
    color: inherit;
    text-decoration: none;
}

.ingium-solution-reference__description {
    margin: 1rem 0 0;
}

.ingium-solution-reference__action {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 0.55rem;
    margin-top: auto;
    padding-top: 1.35rem;
    color: var(--ingium-rp-color-primary);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

.ingium-solution-reference__arrow {
    transition: transform 160ms ease;
}

.ingium-solution-reference__action:hover .ingium-solution-reference__arrow {
    transform: translateX(0.2rem);
}

/* Ongoing-operation section and closing CTA */

.ingium-solution-operation__steps {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.5rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}

.ingium-solution-operation__steps li {
    position: relative;
    color: var(--ingium-rp-color-heading);
    font-weight: 700;
}

.ingium-solution-operation__steps li + li::before {
    position: absolute;
    left: -0.9rem;
    color: var(--ingium-rp-color-primary);
    content: '\00b7';
}

.ingium-solution-cta__inner {
    max-width: var(--ingium-rp-layout-intro-max);
}

.ingium-solution-cta__text {
    max-width: 50rem;
    margin: 1.2rem 0 0;
    color: var(--ingium-rp-color-text);
    font-size: var(--ingium-rp-font-size-body);
    line-height: var(--ingium-rp-line-height-body);
}

/* Solutions hub: six entries in a calm 2 x 3 editorial grid. */

.ingium-solution-hub__intro {
    max-width: var(--ingium-rp-layout-intro-max);
    margin-bottom: clamp(36px, 5vw, 64px);
}

.ingium-solution-page--hub.ingium-solution-hub-section
.ingium-solution-hub-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(40px, 5vw, 64px) var(--ingium-rp-grid-gap);
}

.ingium-solution-hub-entry {
    min-width: 0;
    padding-top: 1.25rem;
    border-top: 2px solid var(--ingium-rp-color-primary);
}

.ingium-solution-hub-entry__title {
    max-width: 24ch;
    margin-top: 0.65rem;
}

.ingium-solution-hub-entry__description {
    max-width: 42rem;
    margin: 0.9rem 0 0;
}

.ingium-solution-hub-entry__link {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: 1.2rem;
    color: var(--ingium-rp-color-primary);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

@media (min-width: 901px) {
    .ingium-solution-module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ingium-solution-module-grid[data-module-count="3"]
    .ingium-solution-module:last-child,
    .ingium-solution-module-grid[data-module-count="5"]
    .ingium-solution-module:last-child {
        grid-column: 1 / -1;
    }

    .ingium-solution-reference-list[data-reference-count="2"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1180px) {
    .ingium-solution-hero--split .ingium-solution-hero__inner,
    .ingium-solution-problem,
    .ingium-solution-editorial,
    .ingium-solution-operation {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .ingium-solution-hero--split .ingium-solution-hero__copy {
        max-width: 38rem;
    }

    .ingium-solution-editorial--media-right .ingium-solution-editorial__media {
        order: 2;
    }

    .ingium-solution-module-grid[data-module-count="3"] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ingium-solution-module-grid[data-module-count="3"]
    .ingium-solution-module:last-child {
        grid-column: auto;
    }
}

@media (max-width: 900px) {
    .ingium-solution-hero--with-visual > .l-section-h > .g-cols {
        grid-template-columns: minmax(0, 1fr);
        gap: 42px;
    }

    .ingium-solution-hero--with-visual .ingium-solution-hero__visual {
        min-height: 300px;
    }

    .ingium-solution-hero--with-visual .ingium-solution-hero__signet {
        width: min(100%, 330px);
    }

    .ingium-solution-hero--with-visual .ingium-solution-hero__symbol {
        width: min(100%, 300px);
    }

    .ingium-solution-hero--signet-composition .ingium-solution-hero__visual {
        min-height: 390px;
    }

    .ingium-solution-hero--signet-composition .ingium-solution-hero__signet {
        width: min(100%, 330px);
    }

    .ingium-solution-hero--signet-composition .ingium-solution-hero__symbol {
        top: 286px;
        width: min(100%, 330px);
    }

    .ingium-solution-page--hub.ingium-solution-hub-section
    .ingium-solution-hub-grid {
        grid-template-columns: minmax(0, 1fr);
        max-width: 760px;
        margin-right: auto;
        margin-left: auto;
    }

    .ingium-solution-editorial__media {
        order: -1;
    }
}

@media (max-width: 767px) {
    .ingium-solution-hero--with-visual > .l-section-h > .g-cols {
        gap: 32px;
    }

    .ingium-solution-hero--with-visual .ingium-solution-hero__visual {
        min-height: 240px;
    }

    .ingium-solution-hero--with-visual .ingium-solution-hero__signet {
        width: min(100%, 250px);
    }

    .ingium-solution-hero--with-visual .ingium-solution-hero__symbol {
        width: min(100%, 220px);
    }

    .ingium-solution-hero--signet-composition .ingium-solution-hero__visual {
        min-height: 300px;
    }

    .ingium-solution-hero--signet-composition .ingium-solution-hero__signet {
        width: min(100%, 250px);
    }

    .ingium-solution-hero--signet-composition .ingium-solution-hero__symbol {
        top: 220px;
        width: min(100%, 250px);
    }

    .ingium-solution-section > .l-section-h,
    .ingium-solution-page > .l-section-h {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .ingium-solution-section--large > .l-section-h,
    .ingium-solution-hero > .l-section-h {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .ingium-solution-hero > .l-section-h {
        padding-right: 22px;
        padding-left: 22px;
    }

    .header_hor .l-header.pos_fixed ~ .l-main
    > .ingium-solution-hero:first-of-type
    > .l-section-h {
        padding-top: calc(var(--header-height) + 8px);
    }

    .ingium-solution-section--compact > .l-section-h {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .ingium-solution-title {
        max-width: none;
        font-size: clamp(33px, 10.3vw, 41px);
        word-break: normal;
        overflow-wrap: normal;
        hyphens: none;
        text-wrap: balance;
    }

    .ingium-solution-heading {
        max-width: none;
        font-size: clamp(32px, 9vw, 40px);
    }

    .ingium-solution-subheading,
    .ingium-solution-module__title,
    .ingium-solution-reference__title,
    .ingium-solution-hub-entry__title {
        max-width: none;
        font-size: clamp(26px, 8vw, 32px);
    }

    .ingium-solution-lead {
        margin-top: 1.15rem;
        font-size: 17px;
    }

    .ingium-solution-hero__actions,
    .ingium-solution-cta__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ingium-solution-button {
        width: 100%;
    }

    .ingium-solution-reference__content {
        padding-top: 1.2rem;
    }
}

@media (max-width: 360px) {
    .ingium-solution-hero--with-visual .ingium-solution-hero__visual {
        min-height: 210px;
    }

    .ingium-solution-hero--with-visual .ingium-solution-hero__signet {
        width: min(100%, 220px);
    }

    .ingium-solution-hero--with-visual .ingium-solution-hero__symbol {
        width: min(100%, 190px);
    }

    .ingium-solution-hero--signet-composition .ingium-solution-hero__visual {
        min-height: 270px;
    }

    .ingium-solution-hero--signet-composition .ingium-solution-hero__signet {
        width: min(100%, 220px);
    }

    .ingium-solution-hero--signet-composition .ingium-solution-hero__symbol {
        top: 194px;
        width: min(100%, 220px);
    }

    .ingium-solution-subheading,
    .ingium-solution-module__title,
    .ingium-solution-reference__title,
    .ingium-solution-hub-entry__title {
        font-size: 26px;
    }

    .ingium-solution-eyebrow,
    .ingium-solution-module__meta,
    .ingium-solution-reference__meta,
    .ingium-solution-hub-entry__meta {
        font-size: 12px;
        letter-spacing: 0.075em;
    }
}

/* VIS.M2: smartphone solution heroes use the symbol without the decorative signet. */
@media (max-width: 767px) {
    .ingium-solution-hero--signet-composition .ingium-solution-hero__visual {
        min-height: 0;
    }

    .ingium-solution-hero--signet-composition .ingium-solution-hero__signet {
        display: none;
    }

    .ingium-solution-hero--signet-composition .ingium-solution-hero__symbol {
        position: static;
        top: auto;
        left: auto;
        width: min(100%, 250px);
        height: auto;
        margin-right: auto;
        margin-left: auto;
        transform: translateX(var(--ingium-solution-symbol-shift-x));
    }
}

@media (max-width: 360px) {
    .ingium-solution-hero--signet-composition .ingium-solution-hero__symbol {
        width: min(100%, 220px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ingium-solution-button,
    .ingium-solution-reference__arrow {
        transition: none;
    }
}

/* VIS.I2: the architecture anchor and its reused Cloud motif. */
.ingium-solution-section#cloud-hybrid {
    scroll-margin-top: 6rem;
}

.ingium-solution-architecture__visual {
    width: min(100%, 420px);
    margin: 0 0 1.25rem;
}

.ingium-solution-architecture__visual svg {
    display: block;
    width: 100%;
    max-width: 420px;
    height: auto;
}

@media (max-width: 767px) {
    .ingium-solution-section#cloud-hybrid {
        scroll-margin-top: 5rem;
    }

    .ingium-solution-architecture__visual {
        width: 100%;
        max-width: 420px;
        margin-right: auto;
        margin-left: auto;
    }

    .ingium-solution-architecture__visual svg {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }
}

/*
 * 8R.32: shared detail-page typography and module rhythm. Page-specific
 * exceptions stay below so the approved reference details remain intact.
 */
.ingium-solution-copy,
.ingium-solution-copy > p,
.ingium-solution-module__text,
.ingium-solution-reference__description,
.ingium-solution-cta__text,
.ingium-solution-examples-element article > p {
    font-size: 17px;
    line-height: 1.56;
}

.ingium-solution-module {
    padding-top: 0.75rem;
    border-top-width: 1px;
    border-top-color: var(--color-content-border);
}

.ingium-solution-module__title {
    margin-top: 0.75rem;
}

.ingium-solution-module__text {
    margin-top: 1.15rem;
}

.ingium-solution-modules__intro {
    margin-bottom: 2rem;
}

.ingium-solution-title,
.ingium-solution-heading,
.ingium-solution-module__title,
.ingium-solution-reference__title,
.ingium-solution-examples-element article h3 {
    -webkit-hyphens: none;
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
}

.ingium-solution-module__title,
.ingium-solution-reference__title,
.ingium-solution-examples-element article h3 {
    font-size: clamp(32px, 2.3vw, 38px);
    line-height: 1.14;
}

.ingium-solution-heading {
    font-size: clamp(46px, 3.4vw, 52px);
    line-height: 1.12;
}

/* Page 961: scenario, process and measured transition rules remain specific. */
body.page-id-961 .ingium-solution-scenarios-element h3 {
    -webkit-hyphens: none;
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
}

body.page-id-961 .ingium-solution-scenarios-element article > p {
    font-size: 17px;
    line-height: 1.56;
    margin-top: 1.15rem;
}

body.page-id-961 .ingium-solution-scenarios-element article h3 {
    font-size: clamp(32px, 2.3vw, 38px);
    line-height: 1.14;
}

body.page-id-961 .ingium-solution-operation__steps {
    margin-top: 1rem;
    gap: 0.5rem 1.35rem;
    font-size: 17px;
    line-height: 1.45;
}

@media (max-width: 767px) {
    .ingium-solution-module-grid {
        gap: 2rem var(--ingium-rp-grid-gap);
    }

    .ingium-solution-module {
        padding-top: 0.65rem;
    }

    .ingium-solution-module__title {
        margin-top: 0.65rem;
    }

    .ingium-solution-module__text {
        margin-top: 1rem;
    }

    .ingium-solution-heading {
        font-size: clamp(34px, 9vw, 37px);
        line-height: 1.2;
    }

    .ingium-solution-module__title,
    .ingium-solution-reference__title,
    .ingium-solution-examples-element article h3 {
        font-size: clamp(27px, 7.5vw, 30px);
        line-height: 1.14;
    }

    body.page-id-961 .ingium-solution-scenarios-element article h3 {
        font-size: clamp(27px, 7.5vw, 30px);
        line-height: 1.14;
    }

    body.page-id-961 .ingium-solution-scenarios-element article > p {
        margin-top: 1rem;
    }

    body.page-id-961 .ingium-solution-operation__steps {
        margin-top: 0.85rem;
        gap: 0.35rem 1.2rem;
    }

    /* Keep the three measured mobile transitions in the approved rhythm. */
    body.page-id-961 .ingium-solution-section:has(.ingium-solution-operation-element) > .l-section-h {
        padding-bottom: 24px;
    }

    body.page-id-961 .ingium-solution-section:has(.ingium-solution-modules-element) > .l-section-h {
        padding-top: 32px;
    }

    body.page-id-961 .l-main > .ingium-solution-communication-section > .l-section-h {
        padding-bottom: 24px;
    }

    body.page-id-961 .l-main > .ingium-solution-consultation-section > .l-section-h {
        padding-top: 32px;
        padding-bottom: 24px;
    }

    body.page-id-961 .l-main > .ingium-solution-cta > .l-section-h {
        padding-top: 32px;
    }

}

@media (max-width: 360px) {
    .ingium-solution-title {
        font-size: 33px;
        line-height: 1.08;
    }

    .ingium-solution-heading {
        font-size: 30px;
        line-height: 1.17;
    }

    .ingium-solution-module__title,
    .ingium-solution-reference__title,
    .ingium-solution-examples-element article h3 {
        font-size: 25.5px;
        line-height: 1.15;
    }

    body.page-id-961 .ingium-solution-scenarios-element article h3 {
        font-size: 22px;
        line-height: 1.2;
    }

}

/* 8AG.0b: tighten only the editorial transitions left by removed process blocks. */
body.page-id-976 .ingium-solution-hub-orientation-section > .l-section-h {
    padding-top: 48px;
    padding-bottom: 32px;
}

body.page-id-976 .ingium-solution-hub-orientation-section + #loesungen-im-ueberblick > .l-section-h {
    padding-top: 48px;
}

body:is(.page-id-955, .page-id-171) .ingium-solution-section:has(.ingium-solution-editorial--single) > .l-section-h,
body.page-id-959 .ingium-solution-section:has(.ingium-solution-editorial__copy) > .l-section-h {
    padding-top: 64px;
    padding-bottom: 48px;
}

body:is(.page-id-955, .page-id-171) .ingium-solution-section:has(.ingium-solution-editorial--single) + .ingium-solution-section > .l-section-h,
body.page-id-959 .ingium-solution-section:has(.ingium-solution-editorial__copy) + .ingium-solution-section > .l-section-h {
    padding-top: 64px;
}

body.page-id-955 .ingium-solution-editorial--single .ingium-solution-heading {
    max-width: var(--ingium-rp-layout-intro-max);
}

body.page-id-955 .ingium-solution-editorial--single .ingium-solution-lead {
    max-width: var(--ingium-rp-layout-text-max);
}

@media (max-width: 767px) {
    body.page-id-976 .ingium-solution-hub-orientation-section > .l-section-h {
        padding-top: 32px;
        padding-bottom: 24px;
    }

    body.page-id-976 .ingium-solution-hub-orientation-section + #loesungen-im-ueberblick > .l-section-h {
        padding-top: 32px;
    }

    body:is(.page-id-955, .page-id-171) .ingium-solution-section:has(.ingium-solution-editorial--single) > .l-section-h,
    body.page-id-959 .ingium-solution-section:has(.ingium-solution-editorial__copy) > .l-section-h {
        padding-top: 48px;
        padding-bottom: 40px;
    }

    body:is(.page-id-955, .page-id-171) .ingium-solution-section:has(.ingium-solution-editorial--single) + .ingium-solution-section > .l-section-h,
    body.page-id-959 .ingium-solution-section:has(.ingium-solution-editorial__copy) + .ingium-solution-section > .l-section-h {
        padding-top: 48px;
    }
}

/* 8R.29: restore a clear H1 > H2 > H3 hierarchy across the tablet range. */
@media (min-width: 768px) and (max-width: 1179px) {
    .ingium-solution-title {
        font-size: 48px;
        line-height: 1.08;
    }

    .ingium-solution-heading {
        font-size: 42px;
        line-height: 1.12;
    }

    .ingium-solution-module__title,
    .ingium-solution-reference__title,
    body.page-id-959 .ingium-solution-examples-element article h3,
    body.page-id-961 .ingium-solution-scenarios-element article h3 {
        font-size: 32px;
        line-height: 1.14;
    }

    body:is(.page-id-961, .page-id-952, .page-id-955) .ingium-solution-subheading {
        font-size: 32px;
        line-height: 1.14;
    }
}

/* 8AJ.1a: only the measured responsive defects; existing content is unchanged. */
@media (max-width: 1279px) {
    /* This is the existing three-column project row on 976, not the hub 951. */
    body.page-id-976 .g-cols:has(> .wpb_column .ingium-solution-reference-element) {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: var(--ingium-rp-grid-gap);
    }

    body.page-id-976 .g-cols:has(> .wpb_column .ingium-solution-reference-element) > .wpb_column {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 767px) {
    body.page-id-976 .g-cols:has(> .wpb_column .ingium-solution-reference-element) {
        grid-template-columns: minmax(0, 1fr);
    }

    /* Remove the additional Builder inset only in the affected hub blocks. */
    body.page-id-976 .g-cols.via_flex.type_default > .wpb_column > .vc_column-inner:has(.ingium-solution-hub-element),
    body.page-id-976 .g-cols.via_flex.type_default > .wpb_column > .vc_column-inner:has(.ingium-solution-references__intro),
    body.page-id-976 .g-cols.via_flex.type_default > .wpb_column > .vc_column-inner:has(.ingium-solution-reference-element) {
        padding-inline: 0;
    }

    body.page-id-976 .ingium-solution-references__intro .ingium-solution-heading {
        font-size: clamp(29.5px, calc(8.4vw + 2.6px), 38px);
    }

    /* The existing mobile type scale alone cannot fit this compound word. */
    body.page-id-952 .ingium-solution-module:first-child .ingium-solution-module__title {
        -webkit-hyphens: auto;
        hyphens: auto;
        overflow-wrap: break-word;
    }

    body.page-id-952 #ingium-solution-modules-title,
    body.page-id-952 .l-main > .ingium-solution-section:nth-of-type(5) .ingium-solution-heading,
    body.page-id-952 #ingium-solution-references-title,
    body.page-id-952 .ingium-solution-cta .ingium-solution-heading,
    /* Row 7 is the existing Stundenerfassung section; other rows retain type. */
    body.page-id-960 .l-main > .ingium-solution-section:nth-of-type(7) .ingium-solution-heading {
        font-size: clamp(25px, calc(11vw - 10px), 37px);
    }

    body.page-id-952 .ingium-solution-reference:has(a[href*="/kanzlei-wien/"]) .ingium-solution-reference__title {
        font-size: clamp(25px, 7.5vw, 30px);
    }

    body.page-id-961 #ingium-automatisierung-modules-title,
    body.page-id-961 #ingium-automatisierung-scenarios-title,
    body.page-id-961 .ingium-solution-communication-section .ingium-solution-heading,
    body.page-id-961 .ingium-solution-cta .ingium-solution-heading {
        font-size: clamp(27px, calc(10vw - 5px), 37px);
    }

    body.page-id-961 .ingium-solution-scenarios-element article:nth-child(3) h3 {
        font-size: clamp(21.8px, 7.3vw, 30px);
    }
}

@media (max-width: 360px) {
    /* Only the measured Unternehmenswissen scenario, not all scenario titles. */
    body.page-id-961 .ingium-solution-scenarios-element article:nth-child(3) h3 {
        font-size: 21.8px;
    }

    /* QA: the existing compound Unternehmensinformationen exceeds this box. */
    body.page-id-961 .ingium-solution-module:nth-child(3) .ingium-solution-module__text {
        -webkit-hyphens: auto;
        hyphens: auto;
        overflow-wrap: break-word;
    }
}

/* 8AJ.1c: desktop width and rhythm only on the solutions hub 976. */
@media (min-width: 768px) {
    body.page-id-976 .ingium-solution-hero .ingium-solution-title {
        max-width: 840px;
    }

    body.page-id-976 .ingium-solution-hero .ingium-solution-lead {
        max-width: 740px;
    }

    body.page-id-976 .ingium-solution-hero > .l-section-h {
        padding-bottom: 80px;
    }

    body.page-id-976 #loesungen-im-ueberblick .ingium-solution-hub__intro {
        max-width: 840px;
        margin-bottom: 36px;
    }

    body.page-id-976 #loesungen-im-ueberblick .ingium-solution-heading,
    body.page-id-976 .ingium-solution-references__intro .ingium-solution-heading,
    body.page-id-976 .ingium-solution-cta .ingium-solution-heading {
        max-width: 840px;
    }

    body.page-id-976 .ingium-solution-page--hub.ingium-solution-hub-section .ingium-solution-hub-grid {
        row-gap: 44px;
    }

    body.page-id-976 #loesungen-im-ueberblick .ingium-solution-hub-group-eyebrow:not(:first-child) {
        margin-top: 28px;
    }

    body.page-id-976 .ingium-solution-references__intro {
        max-width: 840px;
        margin-bottom: 0;
    }

    body.page-id-976 .ingium-solution-section--large:has(.ingium-solution-references__intro) > .l-section-h {
        padding-bottom: 36px;
    }

    body.page-id-976 .ingium-solution-section--compact:has(.ingium-solution-reference-element) > .l-section-h {
        padding-top: 28px;
    }

    body.page-id-976 .ingium-solution-cta > .l-section-h {
        padding-block: 80px;
    }
}

/* 8AJ.1d: padding only on the nine solution details, from tablet upwards.
 * :where() keeps the existing compact intros and 64px module starts stronger.
 * Heroes have no .ingium-solution-section class and remain outside this rule.
 */
@media (min-width: 768px) {
    body:is(.page-id-171, .page-id-952, .page-id-955, .page-id-956, .page-id-957, .page-id-958, .page-id-959, .page-id-960, .page-id-961)
    :where(.l-main > .ingium-solution-section.ingium-solution-section--large) > .l-section-h {
        padding-block: 80px;
    }

    /* Training follow-ups start after its module section; the CTA is separate. */
    body.page-id-171 :where(.l-main > .ingium-solution-section:has(.ingium-solution-modules-element) ~ .ingium-solution-section:not(.ingium-solution-cta)) > .l-section-h,
    /* Fax follows the telephone modules; manufacturer choice precedes references. */
    body.page-id-957 :where(.l-main > .ingium-solution-section:has(.ingium-solution-modules-element) + .ingium-solution-section) > .l-section-h,
    body.page-id-957 :where(.l-main > .ingium-solution-section:has(+ .ingium-solution-section .ingium-solution-references-element)) > .l-section-h,
    /* Design and visibility are the two checked sections before web references. */
    body.page-id-958 :where(.l-main > .ingium-solution-section:has(+ .ingium-solution-section + .ingium-solution-section .ingium-solution-references-element)) > .l-section-h,
    body.page-id-958 :where(.l-main > .ingium-solution-section:has(+ .ingium-solution-section .ingium-solution-references-element)) > .l-section-h,
    body.page-id-961 :where(.l-main > .ingium-solution-communication-section, .l-main > .ingium-solution-consultation-section) > .l-section-h {
        padding-block: 72px;
    }

    /* The webshop note is the checked section immediately after web references. */
    body.page-id-958 :where(.l-main > .ingium-solution-section:has(.ingium-solution-references-element) + .ingium-solution-section) > .l-section-h {
        padding-block: 64px;
    }

    body.page-id-960 :where(.l-main > .ingium-solution-section--compact) > .l-section-h {
        padding-top: 32px;
        padding-bottom: 24px;
    }
}

/* 8AK.19: approved hub rhythm, only on the nine solution details. */
body:is(.page-id-171, .page-id-952, .page-id-955, .page-id-956, .page-id-957, .page-id-958, .page-id-959, .page-id-960, .page-id-961)
#page-content.l-main > .ingium-solution-hero:first-of-type > .l-section-h {
    padding-top: calc(var(--header-height) + clamp(24px, 2.5vw, 36px));
}
body:is(.page-id-171, .page-id-952, .page-id-955, .page-id-956, .page-id-957, .page-id-958, .page-id-959, .page-id-960, .page-id-961)
.ingium-solution-hero--with-visual > .l-section-h > .g-cols {
    align-items: start;
}
body:is(.page-id-171, .page-id-952, .page-id-955, .page-id-956, .page-id-957, .page-id-958, .page-id-959, .page-id-960, .page-id-961)
.ingium-solution-title {
    max-width: none;
    font-size: clamp(42px, 4.4vw, 64px);
    line-height: 1.07;
}
body:is(.page-id-171, .page-id-952, .page-id-955, .page-id-956, .page-id-957, .page-id-958, .page-id-959, .page-id-960, .page-id-961)
.ingium-solution-heading {
    font-size: clamp(32px, 3vw, 42px);
    line-height: 1.2;
}
body:is(.page-id-171, .page-id-952, .page-id-955, .page-id-956, .page-id-957, .page-id-958, .page-id-959, .page-id-960, .page-id-961)
.ingium-solution-module__title {
    font-size: clamp(24px, 2vw, 30px);
    line-height: 1.25;
    max-width: none;
}
body:is(.page-id-171, .page-id-952, .page-id-955, .page-id-956, .page-id-957, .page-id-958, .page-id-959, .page-id-960, .page-id-961)
.ingium-solution-module {
    border-top-color: var(--ingium-rp-color-primary);
}
body:is(.page-id-171, .page-id-952, .page-id-955, .page-id-956, .page-id-957, .page-id-958, .page-id-959, .page-id-960, .page-id-961)
.ingium-solution-problem__intro > .ingium-solution-heading,
body:is(.page-id-171, .page-id-952, .page-id-955, .page-id-956, .page-id-957, .page-id-958, .page-id-959, .page-id-960, .page-id-961)
.ingium-solution-modules__intro > .ingium-solution-heading {
    margin-top: 14px;
}
@media (max-width: 767px) {
    body:is(.page-id-171, .page-id-952, .page-id-955, .page-id-956, .page-id-957, .page-id-958, .page-id-959, .page-id-960, .page-id-961)
    #page-content.l-main > .ingium-solution-hero:first-of-type > .l-section-h {
        padding-top: calc(var(--header-height) + 18px);
    }
    body:is(.page-id-171, .page-id-952, .page-id-955, .page-id-956, .page-id-957, .page-id-958, .page-id-959, .page-id-960, .page-id-961)
    .ingium-solution-title {
        font-size: clamp(34px, 8.8vw, 42px);
    }
    body:is(.page-id-171, .page-id-952, .page-id-955, .page-id-956, .page-id-957, .page-id-958, .page-id-959, .page-id-960, .page-id-961)
    .ingium-solution-heading {
        font-size: clamp(30px, 8vw, 37px);
    }
    body:is(.page-id-171, .page-id-952, .page-id-955, .page-id-956, .page-id-957, .page-id-958, .page-id-959, .page-id-960, .page-id-961)
    .ingium-solution-module__title {
        font-size: clamp(24px, 6.9vw, 27px);
    }
}

@media (min-width: 768px) and (max-width: 1179px) {
    body:is(.page-id-171, .page-id-952, .page-id-955, .page-id-956, .page-id-957, .page-id-958, .page-id-959, .page-id-960, .page-id-961)
    :where(.l-main > .ingium-solution-section.ingium-solution-section--large) > .l-section-h {
        padding-block: 68px;
    }

    body.page-id-171 :where(.l-main > .ingium-solution-section:has(.ingium-solution-modules-element) ~ .ingium-solution-section:not(.ingium-solution-cta)) > .l-section-h,
    body.page-id-957 :where(.l-main > .ingium-solution-section:has(.ingium-solution-modules-element) + .ingium-solution-section) > .l-section-h,
    body.page-id-957 :where(.l-main > .ingium-solution-section:has(+ .ingium-solution-section .ingium-solution-references-element)) > .l-section-h,
    body.page-id-958 :where(.l-main > .ingium-solution-section:has(+ .ingium-solution-section + .ingium-solution-section .ingium-solution-references-element)) > .l-section-h,
    body.page-id-958 :where(.l-main > .ingium-solution-section:has(+ .ingium-solution-section .ingium-solution-references-element)) > .l-section-h,
    body.page-id-958 :where(.l-main > .ingium-solution-section:has(.ingium-solution-references-element) + .ingium-solution-section) > .l-section-h,
    body.page-id-961 :where(.l-main > .ingium-solution-communication-section, .l-main > .ingium-solution-consultation-section) > .l-section-h,
    body:is(.page-id-171, .page-id-952, .page-id-955, .page-id-956, .page-id-957, .page-id-958, .page-id-959, .page-id-960, .page-id-961)
    :where(.l-main > .ingium-solution-cta) > .l-section-h {
        padding-block: 64px;
    }
}
