:root {
            --black: #07090c;
            --ink: #111111;
            --muted: #575757;
            --line: rgba(17, 17, 17, 0.18);
            --line-dark: rgba(255, 255, 255, 0.22);
            --paper: #ffffff;
            --paper-soft: #f7f7f4;
            --yellow: #fff200;
            --white: #ffffff;
            --header-h: 76px;
            --header-peek: 0px;
            --safe-x: clamp(24px, 6vw, 86px);
            --font: Aptos, "Aptos Display", "Segoe UI", Arial, sans-serif;
            --ease: cubic-bezier(0.2, 0.78, 0.2, 1);
        }

        * {
            box-sizing: border-box;
        }

        [hidden] {
            display: none !important;
        }

        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        html {
            height: 100%;
            background: var(--black);
        }

        body {
            min-height: 100%;
            margin: 0;
            color: var(--ink);
            background: var(--paper);
            font-family: var(--font);
            line-height: 1.35;
            overflow-x: hidden;
        }

            body::selection {
                color: var(--black);
                background: var(--yellow);
            }

        a {
            color: inherit;
            text-decoration: none;
        }

        img {
            display: block;
            max-width: 100%;
        }

        button,
        input,
        textarea {
            font: inherit;
        }

        button {
            color: inherit;
        }

        .skip-link {
            position: fixed;
            left: 18px;
            top: 14px;
            z-index: 300;
            padding: 8px 12px;
            color: var(--white);
            background: var(--black);
            transform: translateY(-150%);
            transition: transform 0.18s ease;
        }

            .skip-link:focus {
                transform: translateY(0);
            }

        .site-header {
            position: fixed;
            inset: 0 0 auto;
            z-index: 220;
            height: var(--header-h);
            color: var(--ink);
            background: transparent;
            border-bottom: 0;
            backdrop-filter: none;
            transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease, transform 0.32s ease;
        }

            .site-header.on-dark {
                color: var(--white);
                background: transparent;
                border-bottom-color: transparent;
            }

            .site-header.hide {
                transform: translateY(calc(-100% + var(--header-peek)));
            }

            .site-header.show {
                transform: translateY(0);
            }

            .site-header::after {
                content: "";
                position: absolute;
                left: 50%;
                bottom: 5px;
                width: 44px;
                height: 3px;
                border-radius: 999px;
                background: currentColor;
                opacity: 0;
                transform: translateX(-50%);
                transition: opacity 0.18s ease;
            }

            .site-header.hide::after {
                opacity: 0.56;
            }

        .header-trigger {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 110px;
            z-index: 210;
            background: transparent;
            pointer-events: auto;
        }

        .nav {
            width: min(1440px, calc(100% - 48px));
            height: 100%;
            margin-inline: auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 28px;
        }

        .brand {
            display: inline-flex;
            align-items: center;
            width: clamp(132px, 13vw, 192px);
            padding: 0;
            border: 0;
            background: transparent;
            line-height: 0;
            cursor: pointer;
            transition: transform 0.18s ease;
        }

            .brand:hover {
                transform: translateY(-1px);
            }

            .brand img {
                width: 100%;
                height: auto;
                filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.16));
            }

        .site-header.on-dark .brand img {
            content: url("media/ppt/image2.png");
            filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.38));
        }

        .contact-cta {
            flex: 0 0 auto;
            min-height: 34px;
            padding: 7px 13px;
            border: 1px solid currentColor;
            color: inherit;
            background: transparent;
            font-size: 0.95rem;
            line-height: 1;
            letter-spacing: 0;
            cursor: pointer;
            transition: color 0.18s ease, background 0.18s ease, transform 0.18s ease;
        }

            .contact-cta:hover {
                color: var(--white);
                background: var(--black);
                transform: translateY(-1px);
            }

        .site-header.on-dark .contact-cta:hover {
            color: var(--black);
            background: var(--white);
        }

        .page-shell {
            position: relative;
            width: 100%;
            height: 100svh;
            overflow: hidden;
            background: var(--paper);
            isolation: isolate;
        }

        .flow-section,
        .flow-panel {
            position: relative;
            min-height: 100svh;
            color: var(--ink);
            background: var(--paper);
            overflow: hidden;
            isolation: isolate;
        }

            .flow-section.dark,
            .flow-panel.dark {
                color: var(--white);
                background: var(--black);
            }

        .panel {
            position: absolute;
            inset: 0;
            z-index: 1;
            min-height: 100svh;
            color: var(--ink);
            background: transparent;
            opacity: 0;
            pointer-events: none;
            transform: translate3d(0, 16vh, 0);
            filter: blur(8px);
            transition: opacity 0.72s var(--ease), transform 0.72s var(--ease), filter 0.72s var(--ease);
            isolation: isolate;
            will-change: opacity, transform, filter;
        }

        .site-pages.is-moving-down .panel:not(.active):not(.leaving-up):not(.leaving-down) {
            transform: translate3d(0, -16vh, 0);
        }

        .panel.active {
            z-index: 10;
            opacity: 1;
            pointer-events: auto;
            transform: translate3d(0, 0, 0);
            filter: blur(0);
        }

        .panel.leaving-up {
            transform: translate3d(0, -16vh, 0);
            filter: blur(8px);
        }

        .panel.leaving-down {
            transform: translate3d(0, 16vh, 0);
            filter: blur(8px);
        }

        .panel.dark {
            color: var(--white);
            background: var(--black);
        }

        .panel-bg {
            position: absolute;
            inset: 0;
            z-index: -2;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .flow-section .panel-bg,
        .flow-panel .panel-bg {
            z-index: 0;
        }

        .seventeen-panel::before {
            display: none;
        }

        .panel-seventeen-mark {
            position: absolute;
            right: clamp(-30px, -1.5vw, -12px);
            bottom: clamp(-24px, -1.3vw, -10px);
            z-index: 8;
            width: clamp(154px, 18.2vw, 266px);
            max-width: 25vw;
            aspect-ratio: 305 / 243;
            pointer-events: none;
            object-fit: contain;
            opacity: 0;
            transform: translateZ(0);
            transition: opacity 0.18s ease;
        }

        .site-pages.show-seventeen .panel-seventeen-mark {
            opacity: 1;
        }

        .site-pages.footer-seventeen .panel-seventeen-mark {
            right: clamp(24px, 3vw, 42px);
            bottom: clamp(22px, 3vw, 38px);
            z-index: 18;
            width: clamp(69px, 7vw, 99px);
            max-width: 14vw;
        }

        .panel::after {
            content: "";
            position: absolute;
            inset: auto 0 0;
            z-index: 2;
            height: 1px;
            background: var(--line);
        }

        .panel.dark::after {
            background: var(--line-dark);
        }

        .panel-inner {
            position: relative;
            z-index: 3;
            width: min(1280px, 100%);
            height: 100%;
            min-height: 620px;
            margin-inline: auto;
            padding: calc(var(--header-h) + 46px) var(--safe-x) 72px;
        }

        .hero-inner {
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            padding-top: calc(var(--header-h) + 94px);
        }

        .hero-title {
            max-width: 780px;
            margin: clamp(20px, 4vh, 42px) 0 24px;
            color: var(--white);
            font-size: clamp(3rem, 6.2vw, 5.15rem);
            font-weight: 300;
            line-height: 1.05;
            letter-spacing: 0;
        }

        .hero-copy {
            max-width: 720px;
            margin: 0;
            color: rgba(255, 255, 255, 0.92);
            font-size: clamp(1rem, 1.35vw, 1.2rem);
            line-height: 1.45;
        }

            .hero-copy strong {
                font-weight: 800;
            }

        .hero-logos {
            position: relative;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: clamp(20px, 3vw, 30px);
            width: min(100%, 780px);
            max-width: 780px;
            margin-top: clamp(30px, 5vh, 54px);
        }

            .hero-logos img {
                width: auto;
                max-width: 220px;
                max-height: 58px;
                object-fit: contain;
                filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.26));
            }

                .hero-logos img:nth-child(1) {
                    max-width: 240px;
                    max-height: 112px;
                }

                .hero-logos img:nth-child(2) {
                    max-width: 120px;
                    max-height: 92px;
                }

                .hero-logos img:nth-child(3),
                .hero-logos img:nth-child(4) {
                    max-width: 130px;
                    max-height: 44px;
                }

        .belief-copy {
            max-width: 990px;
            margin: clamp(76px, 18vh, 150px) 0 0;
            color: var(--white);
            font-weight: 300;
            line-height: 1.32;
        }

            .belief-copy span {
                display: block;
                margin-bottom: 10px;
                font-size: clamp(1.9rem, 3.2vw, 2.6rem);
            }

            .belief-copy .large {
                font-size: clamp(2.2rem, 4.15vw, 3.35rem);
                line-height: 1.14;
            }

        .split-page {
            display: grid;
            grid-template-columns: minmax(240px, 0.42fr) minmax(360px, 0.58fr);
            gap: clamp(44px, 7vw, 96px);
            align-items: center;
            min-height: calc(100svh - var(--header-h) - 118px);
        }

            .split-page.top-aligned {
                align-items: start;
                padding-top: clamp(28px, 5vh, 58px);
            }

        .image-stack {
            display: grid;
            gap: 28px;
            align-content: start;
        }

        .media-window {
            width: min(318px, 100%);
            aspect-ratio: 318 / 199;
            object-fit: cover;
        }

        .page-title {
            width: fit-content;
            margin: 0 0 56px;
            border-bottom: 2px solid currentColor;
            color: var(--ink);
            font-size: clamp(3rem, 5.1vw, 4.35rem);
            font-weight: 300;
            line-height: 1.08;
            letter-spacing: 0;
        }

        .panel.dark .page-title {
            color: var(--white);
        }

        .placeholder {
            display: inline-flex;
            min-width: 31px;
            min-height: 30px;
            align-items: center;
            justify-content: center;
            color: var(--ink);
            background: var(--yellow);
            font-size: 1rem;
            line-height: 1;
        }

        .highlight-copy {
            max-width: 690px;
            margin: 0;
            color: var(--ink);
            font-size: clamp(1.25rem, 1.95vw, 1.7rem);
            line-height: 1.32;
        }

            .highlight-copy span {
                background: transparent;
                box-decoration-break: clone;
                -webkit-box-decoration-break: clone;
            }

        .plain-copy {
            max-width: 760px;
            color: var(--ink);
            font-size: clamp(1.2rem, 1.72vw, 1.55rem);
            line-height: 1.38;
        }

            .plain-copy p {
                margin: 0 0 28px;
            }

            .plain-copy strong {
                font-weight: 850;
            }

        .expertise-shell {
            display: grid;
            gap: 28px;
            align-content: start;
        }

        .expertise-visuals {
            display: grid;
            grid-template-columns: minmax(0, 1fr) clamp(240px, 22vw, 340px);
            gap: clamp(40px, 6vw, 110px);
            align-items: center;
        }

        .expertise-cards {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 18px;
            max-width: 980px;
        }

        .expertise-card {
            display: grid;
            gap: 16px;
            align-content: start;
            padding: 16px;
        }

        .expertise-thumb {
            aspect-ratio: 16 / 10;
            overflow: hidden;
            border: 1px solid rgba(17, 17, 17, 0.08);
            border-radius: 0;
            background: var(--paper-soft);
        }

            .expertise-thumb img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

        .expertise-card h3 {
            margin: 0;
            color: var(--ink);
            font-size: clamp(1.2rem, 1.8vw, 1.65rem);
            font-weight: 300;
            line-height: 1.28;
        }

        .expertise-globe {
            display: block;
            width: 100%;
            max-width: clamp(240px, 22vw, 340px);
            height: auto;
            justify-self: end;
            align-self: center;
            transform: translateX(clamp(28px, 4vw, 88px));
            pointer-events: none;
        }

        .partner-layout {
            display: grid;
            grid-template-columns: minmax(220px, 0.38fr) minmax(480px, 0.62fr);
            gap: 28px;
            align-items: center;
            min-height: calc(100svh - var(--header-h) - 118px);
        }

        .partner-content {
            display: grid;
            gap: 22px;
            align-content: start;
        }

        .partner-copy {
            display: grid;
            gap: 22px;
            max-width: 420px;
        }

        .partner-copy-text {
            margin: 0;
            color: var(--ink);
            font-size: clamp(1rem, 1.22vw, 1.12rem);
            line-height: 1.55;
        }

        .partner-logo-marquee {
            width: 100%;
            overflow: hidden;
            padding: 18px 0;
            border: 1px solid rgba(17, 17, 17, 0.12);
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(247, 247, 244, 0.92) 100%);
        }

        .partner-logo-track {
            display: flex;
            width: max-content;
            animation: partner-marquee 34s linear infinite;
            will-change: transform;
        }

        .partner-logo-set {
            display: flex;
            gap: 18px;
            padding-right: 18px;
        }

        .partner-logo-chip {
            display: inline-flex;
            align-items: center;
            min-width: 196px;
            padding: 16px 22px;
            border: 1px solid rgba(17, 17, 17, 0.12);
            background: var(--paper);
            color: var(--ink);
            font-size: 1rem;
            font-weight: 700;
            line-height: 1;
            white-space: nowrap;
            box-shadow: 0 14px 30px rgba(17, 17, 17, 0.06);
        }

            .partner-logo-chip::before {
                content: "";
                width: 20px;
                height: 20px;
                margin-right: 14px;
                background: var(--yellow);
                flex: 0 0 auto;
            }

        .partner-map {
            width: min(760px, 100%);
            justify-self: end;
            opacity: 0.38;
        }

        .contact-layout {
            display: grid;
            grid-template-columns: minmax(320px, 0.78fr) minmax(360px, 0.92fr);
            gap: clamp(42px, 6vw, 82px);
            align-items: center;
            min-height: calc(100svh - var(--header-h) - 118px);
        }

        .contact-photo {
            width: min(390px, 100%);
            aspect-ratio: 318 / 199;
            object-fit: cover;
            margin-bottom: 34px;
        }

        .contact-line {
            display: flex;
            flex-wrap: wrap;
            gap: 10px 18px;
            max-width: 620px;
            margin: 0;
            color: var(--ink);
            font-size: 1rem;
            line-height: 1.5;
        }

            .contact-line a {
                border-bottom: 1px solid rgba(17, 17, 17, 0.28);
            }

        .contact-form-panel {
            width: min(520px, 100%);
            margin-inline: auto;
        }

        .contact-form {
            display: grid;
            gap: 16px;
            padding: 0;
        }

        .contact-phone {
            margin: 12px 0 0;
            color: var(--ink);
            font-size: 0.95rem;
            line-height: 1.45;
            text-align: center;
        }

            .contact-phone a {
                border-bottom: 1px solid rgba(17, 17, 17, 0.28);
            }

        @keyframes partner-marquee {
            from {
                transform: translateX(0);
            }

            to {
                transform: translateX(-50%);
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .partner-logo-track {
                animation: none;
            }
        }

        @media (min-width: 1120px) {
            .hero-inner {
                padding-left: clamp(118px, 11.8vw, 152px);
            }

            .hero-title {
                max-width: 820px;
                margin-top: clamp(98px, 14.5vh, 118px);
                font-size: clamp(3.35rem, 4.65vw, 4.25rem);
                line-height: 1.35;
            }

            .hero-copy {
                max-width: 680px;
            }

            #mission .panel-inner {
                padding-left: clamp(104px, 10vw, 130px);
            }

            .hero-logos {
                justify-content: space-between;
            }

            .belief-copy {
                max-width: 980px;
                margin-top: clamp(92px, 14vh, 112px);
            }

            .panel-seventeen-mark {
                right: clamp(-36px, -1.8vw, -14px);
                bottom: -18px;
                width: clamp(210px, 19.6vw, 273px);
                max-width: 24vw;
            }

            .seventeen-panel .panel-inner {
                width: 100%;
                min-height: 100svh;
                padding: 0;
            }

            #strategy .services-page,
            #expertise .split-page,
            #partner .partner-layout,
            #contact .contact-layout {
                position: relative;
                display: block;
                width: 100%;
                min-height: 100svh;
            }

            #strategy .service-media-wrap {
                position: absolute;
                left: 86px;
                top: 172px;
                gap: 78px;
                width: 318px;
            }

            #strategy .service-media-stage {
                width: 318px;
                height: 237px;
                aspect-ratio: auto;
            }

            #strategy .service-media-wrap .placeholder,
            #partner .placeholder {
                justify-self: start;
                width: 31px;
                min-width: 31px;
                padding-inline: 0;
            }

            #strategy .service-content {
                position: absolute;
                inset: 0;
                display: block;
            }

            #strategy .service-section-title {
                position: absolute;
                left: 450px;
                top: 150px;
                margin: 0;
                font-size: clamp(3.3rem, 4.75vw, 4.1rem);
            }

            #strategy .service-tabs {
                position: absolute;
                left: 450px;
                top: 258px;
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 18px;
                width: min(880px, calc(100% - 520px));
                max-width: none;
            }

            #strategy .service-tab {
                font-size: clamp(1.85rem, 2.3vw, 2.7rem);
            }

            #strategy .service-panes {
                position: absolute;
                left: 162px;
                top: 500px;
                max-width: 820px;
            }

            #strategy .service-pane .highlight-copy,
            #strategy .service-pane .plain-copy {
                max-width: 820px;
                margin: 0;
            }

            #strategy .service-pane .plain-copy {
                font-size: clamp(1.35rem, 1.95vw, 1.55rem);
                line-height: 1.42;
            }

                #strategy .service-pane .plain-copy p {
                    margin-bottom: 36px;
                }

            #strategy .service-pane .highlight-copy {
                font-size: clamp(1.35rem, 2vw, 1.62rem);
                line-height: 1.38;
            }

            #expertise .page-title {
                position: static;
                margin: 0;
                font-size: clamp(3.3rem, 4.75vw, 4.1rem);
            }

            #expertise .expertise-grid {
                position: absolute;
                left: 116px;
                top: 250px;
                grid-template-columns: 160px minmax(0, 832px);
                gap: 16px 30px;
                max-width: 1040px;
            }

                #expertise .expertise-grid img {
                    width: 133px;
                    height: 84px;
                }

                #expertise .expertise-grid > :nth-child(3),
                #expertise .expertise-grid > :nth-child(7) {
                    transform: translateX(43px);
                }

                #expertise .expertise-grid span {
                    align-self: center;
                    font-size: clamp(1.55rem, 2.35vw, 2rem);
                }

            #partner .partner-content {
                position: absolute;
                left: 80px;
                top: 96px;
                bottom: 18px;
                width: calc(100% - 160px);
                box-sizing: border-box;
                padding-bottom: clamp(116px, 15vh, 160px);
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                gap: clamp(18px, 3vh, 26px);
                z-index: 6;
            }

                #partner .partner-content .page-title {
                    position: static;
                    margin: 0;
                    font-size: clamp(3.3rem, 4.7vw, 4.1rem);
                }

            #partner .partner-copy {
                align-self: start;
            }

            #partner .partner-logo-marquee {
                position: absolute;
                left: 0;
                right: 0;
                bottom: 0;
                z-index: 7;
                width: auto;
                margin-top: 0;
            }

            #partner .placeholder {
                position: absolute;
                left: 129px;
                top: 219px;
            }

            #partner .partner-map {
                position: absolute;
                right: clamp(-18px, 1.5vw, 26px);
                top: 14px;
                z-index: 2;
                width: clamp(510px, 47vw, 690px);
                height: auto;
                max-width: 54vw;
                object-fit: contain;
            }

            #contact .contact-layout {
                display: grid;
                place-items: center;
            }

            #contact .contact-photo {
                position: absolute;
                left: clamp(70px, 6.8vw, 87px);
                top: 246px;
                display: block;
                width: clamp(320px, 30.5vw, 390px);
                aspect-ratio: 318 / 199;
                height: auto;
                object-fit: cover;
            }

            #contact .contact-form-panel {
                position: absolute;
                left: clamp(650px, 61vw, 800px);
                top: 50%;
                z-index: 4;
                width: clamp(410px, 39vw, 520px);
                transform: translate(-50%, -45%);
            }

            #contact .page-title {
                position: static;
                margin: 0;
                text-align: center;
                font-size: clamp(3.25rem, 4.6vw, 4rem);
            }

            #contact .contact-line {
                position: static;
                justify-content: center;
                max-width: 100%;
                margin: 22px auto 0;
                flex-wrap: wrap;
                gap: 8px 14px;
                white-space: normal;
                text-align: center;
                font-size: 0.95rem;
            }

            #contact .contact-form {
                position: static;
                width: 100%;
                min-width: 0;
                margin-top: 26px;
                gap: 14px;
            }
        }

        .services-page {
            display: grid;
            grid-template-columns: 1fr;
            gap: 34px;
            min-height: calc(100svh - var(--header-h) - 118px);
        }

        .service-media-wrap {
            display: grid;
            gap: 18px;
            align-content: start;
        }

        .service-media-stage {
            position: relative;
            width: min(318px, 100%);
            aspect-ratio: 318 / 199;
        }

        .service-media {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: 0;
            transform: translateY(10px);
            transition: opacity 0.28s ease, transform 0.28s ease;
            pointer-events: none;
        }

            .service-media.is-active {
                opacity: 1;
                transform: translateY(0);
                pointer-events: auto;
            }

        .service-content {
            display: grid;
            gap: 26px;
            align-content: start;
        }

        .service-section-title {
            margin: 0;
        }

        .service-tabs {
            display: flex;
            flex-wrap: nowrap;
            gap: 12px 20px;
            align-items: flex-end;
            overflow-x: auto;
            overflow-y: hidden;
            scrollbar-width: none;
        }

            .service-tabs::-webkit-scrollbar {
                display: none;
            }

        .service-tab {
            flex: 1 1 0;
            min-width: 0;
            padding: 0;
            border: 0;
            border-bottom: 2px solid transparent;
            color: var(--ink);
            background: transparent;
            font-size: clamp(1.4rem, 3.2vw, 2.35rem);
            font-weight: 300;
            line-height: 1.08;
            letter-spacing: 0;
            text-align: left;
            white-space: nowrap;
            cursor: pointer;
            transition: border-color 0.18s ease, transform 0.18s ease, opacity 0.18s ease;
        }

            .service-tab:hover,
            .service-tab:focus-visible {
                transform: translateY(-1px);
            }

            .service-tab.is-active {
                border-bottom-color: currentColor;
            }

            .service-tab:not(.is-active) {
                opacity: 0.5;
            }

            .service-tab:focus-visible {
                outline: 2px solid rgba(17, 17, 17, 0.4);
                outline-offset: 6px;
            }

        .service-panes {
            position: relative;
            max-width: 760px;
        }

        .service-pane {
            opacity: 0;
            transform: translateY(8px);
            transition: opacity 0.24s ease, transform 0.24s ease;
        }

            .service-pane.is-active {
                opacity: 1;
                transform: translateY(0);
            }

        .form-row {
            display: grid;
            gap: 6px;
        }

        .form-row-hp {
            position: absolute;
            left: -9999px;
            width: 1px;
            height: 1px;
            overflow: hidden;
        }

        .form-row label {
            color: var(--muted);
            font-size: 0.82rem;
            font-weight: 700;
            text-transform: uppercase;
        }

        .form-row input,
        .form-row textarea {
            width: 100%;
            border: 0;
            border-bottom: 1.5px solid rgba(17, 17, 17, 0.44);
            border-radius: 0;
            padding: 11px 0;
            color: var(--ink);
            background: transparent;
            font-size: 1rem;
            outline: 0;
            transition: border-color 0.18s ease, background 0.18s ease;
        }

        .form-row textarea {
            min-height: 118px;
            resize: vertical;
        }

            .form-row input:focus,
            .form-row textarea:focus {
                border-bottom-color: var(--ink);
                background: rgba(255, 242, 0, 0.08);
            }

        .form-submit {
            justify-self: center;
            min-height: 42px;
            margin-top: 4px;
            padding: 8px 14px;
            border: 1.5px solid var(--ink);
            color: var(--ink);
            background: transparent;
            cursor: pointer;
            font-weight: 700;
            transition: color 0.18s ease, background 0.18s ease, transform 0.18s ease;
        }

            .form-submit:hover {
                color: var(--white);
                background: var(--ink);
                transform: translateY(-1px);
            }

        .form-note {
            margin: 0;
            color: var(--muted);
            font-size: 0.85rem;
            line-height: 1.45;
        }

        .site-footer {
            --footer-partner-logo-height: 58px;
            --footer-bmwk-logo-height: 96px;
            --footer-esf-logo-height: 50px;
            --footer-small-logo-height: 25px;
            --footer-top-row-h: 166px;
            --footer-note-row-start: 208px;
            padding: calc(var(--header-h) + 30px) 0 30px;
            color: var(--ink);
            background: var(--paper);
            border-top: 1px solid rgba(17, 17, 17, 0.08);
        }

            .site-footer.panel {
                overflow-y: auto;
            }

        .site-header.footer-hidden {
            pointer-events: none;
            transform: translateY(-100%);
        }

        .site-footer .container {
            width: min(1500px, calc(100% - 64px));
            margin-inline: auto;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: minmax(230px, 0.72fr) minmax(0, 1.6fr);
            gap: 84px;
            align-items: start;
        }

        .footer-brand-logo {
            display: inline-flex;
            align-items: center;
            width: fit-content;
            padding: 0;
            border: 0;
            margin-bottom: 30px;
            background: transparent;
            cursor: pointer;
            transition: transform 0.18s ease;
        }

            .footer-brand-logo:hover {
                transform: translateY(-1px);
            }

        .footer-logo-img {
            width: clamp(150px, 13vw, 210px);
            height: auto;
        }

        .footer-brand-meta {
            margin-top: 74px;
        }

        .footer-copy {
            max-width: 330px;
            margin: 20px 0 0;
            color: var(--ink);
            font-size: 0.96rem;
            line-height: 1.7;
        }

        .footer-contact {
            display: grid;
            align-content: start;
            grid-auto-rows: max-content;
            gap: 2px;
            margin: 0 0 22px;
            color: var(--ink);
            font-size: 0.96rem;
        }

            .footer-contact strong,
            .footer-block-title {
                color: var(--ink);
                font-size: 0.92rem;
                font-weight: 900;
            }

            .footer-contact a,
            .footer-link,
            .footer-action {
                display: inline-flex;
                align-items: center;
                min-height: 24px;
                width: fit-content;
                padding: 0;
                color: var(--ink);
                border: 0;
                border-bottom: 1px solid rgba(17, 17, 17, 0.34);
                background: transparent;
                cursor: pointer;
                appearance: none;
                font: inherit;
                font-weight: 750;
                line-height: 1.2;
                transition: border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
            }

            .footer-contact a {
                border-bottom: 0;
            }

                .footer-contact a:hover,
                .footer-link:hover,
                .footer-action:hover {
                    color: var(--black);
                    border-color: var(--black);
                    transform: translateY(-1px);
                }

                .footer-contact a:focus-visible,
                .footer-link:focus-visible,
                .footer-action:focus-visible,
                .partner-logo:focus-visible {
                    outline: 2px solid rgba(17, 17, 17, 0.42);
                    outline-offset: 4px;
                }

        .footer-beneficiary {
            display: grid;
            gap: 14px;
        }

        .footer-navigation {
            display: grid;
            justify-items: end;
            gap: 13px;
            text-align: right;
        }

        .footer-link-row {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
            align-items: center;
            gap: 8px 0;
            margin: 0;
            color: var(--ink);
            font-size: 0.96rem;
            line-height: 1.45;
        }

        .footer-current {
            font-weight: 850;
        }

        .footer-separator {
            display: inline-flex;
            margin: 0 12px;
            color: rgba(17, 17, 17, 0.42);
            user-select: none;
        }
.footer-main {
            display: grid;
            grid-template-columns: minmax(340px, 1fr) minmax(190px, 0.48fr) minmax(190px, 0.48fr);
            gap: 46px;
            align-items: start;
            margin-top: 74px;
        }

        .footer-funding {
            display: grid;
            gap: 22px;
        }

        .footer-funding-logos {
            display: flex;
            flex-wrap: wrap;
            gap: 28px;
            align-items: flex-start;
        }

        .partner-logo {
            display: inline-flex;
            align-items: flex-end;
            justify-content: flex-start;
            min-height: var(--footer-partner-logo-height);
            padding: 0;
            background: transparent;
            border: 0;
            transition: opacity 0.18s ease, transform 0.18s ease;
        }

            .partner-logo:hover {
                opacity: 0.82;
                transform: translateY(-2px);
            }

            .partner-logo img {
                height: var(--footer-partner-logo-height);
                width: auto;
                max-width: 100%;
                object-fit: contain;
            }

            .partner-logo.bmwk img {
                max-height: var(--footer-bmwk-logo-height);
            }

            .partner-logo.esf img {
                max-height: var(--footer-esf-logo-height);
            }

            .partner-logo.ibykus img,
            .partner-logo.tmk img {
                max-height: var(--footer-small-logo-height);
            }

        .footer-partner-block {
            display: grid;
            gap: 14px;
        }

        .footer-note {
            grid-column: 1 / -1;
            max-width: 1040px;
            margin: 8px 0 0;
            color: var(--ink);
            font-size: 0.95rem;
            line-height: 1.8;
        }

        @media (min-width: 1120px) {
            .footer-brand-col,
            .footer-right {
                display: grid;
                grid-template-rows: var(--footer-top-row-h) auto;
                align-items: start;
            }

            .footer-brand-logo {
                grid-row: 1;
                margin-bottom: 0;
            }

            .footer-brand-meta {
                grid-row: 2;
                display: grid;
                grid-template-rows: var(--footer-note-row-start) auto;
                margin-top: 0;
            }

            .footer-contact {
                grid-row: 1;
            }

            .footer-copy {
                grid-row: 2;
                margin-top: 0;
            }

            .footer-navigation {
                grid-row: 1;
            }

            .footer-main {
                grid-row: 2;
                margin-top: 0;
            }
        }

        @media (max-width: 1119px) {
            .footer-grid,
            .footer-main {
                grid-template-columns: 1fr;
                gap: 34px;
            }

            .footer-main {
                margin-top: 34px;
            }

            .footer-brand-meta {
                margin-top: 34px;
            }

            .footer-note {
                grid-column: auto;
            }

            .footer-navigation {
                justify-items: start;
                text-align: left;
            }

            .footer-link-row {
                justify-content: flex-start;
            }
        }

        .progress {
            position: fixed;
            right: clamp(18px, 2.4vw, 34px);
            top: 50%;
            z-index: 210;
            display: grid;
            gap: 12px;
            transform: translateY(-50%);
        }

            .progress button {
                width: 10px;
                height: 10px;
                padding: 0;
                border: 1px solid currentColor;
                border-radius: 999px;
                color: rgba(17, 17, 17, 0.5);
                background: transparent;
                cursor: pointer;
                transition: color 0.18s ease, background 0.18s ease, transform 0.18s ease;
            }

            .progress.on-dark button {
                color: rgba(255, 255, 255, 0.58);
            }

            .progress button.active {
                color: var(--ink);
                background: currentColor;
                transform: scale(1.12);
            }

            .progress.on-dark button.active {
                color: var(--white);
            }

        .consent-banner,
        .consent-modal,
        .consent-backdrop {
            font-family: var(--font);
        }

        .consent-banner {
            position: fixed;
            left: 18px;
            right: 18px;
            bottom: 18px;
            z-index: 260;
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 18px;
            align-items: center;
            padding: 18px;
            color: var(--white);
            background: rgba(7, 9, 12, 0.94);
            border: 1px solid rgba(255, 255, 255, 0.18);
            box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
        }

            .consent-banner[hidden],
            .consent-backdrop[hidden],
            .consent-modal[hidden] {
                display: none;
            }

            .consent-banner strong {
                display: block;
                margin-bottom: 5px;
                font-size: 0.98rem;
            }

            .consent-banner p {
                margin: 0;
                color: rgba(255, 255, 255, 0.78);
                font-size: 0.9rem;
                line-height: 1.4;
            }

        .consent-actions,
        .consent-modal-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: flex-end;
        }

        .consent-button,
        .consent-link {
            min-height: 38px;
            padding: 8px 12px;
            border: 1px solid rgba(255, 255, 255, 0.34);
            color: var(--white);
            background: transparent;
            cursor: pointer;
            font: inherit;
            font-size: 0.9rem;
        }

        .consent-link {
            display: inline-flex;
            align-items: center;
        }

        .consent-button.primary {
            border-color: var(--yellow);
            color: var(--black);
            background: var(--yellow);
        }

        .consent-backdrop {
            position: fixed;
            inset: 0;
            z-index: 270;
            background: rgba(7, 9, 12, 0.56);
        }

        .consent-modal {
            position: fixed;
            left: 50%;
            top: 50%;
            z-index: 280;
            width: min(640px, calc(100% - 32px));
            max-height: calc(100svh - 48px);
            overflow: auto;
            padding: 28px;
            color: var(--ink);
            background: var(--paper);
            border: 1px solid rgba(17, 17, 17, 0.12);
            box-shadow: 0 24px 90px rgba(0, 0, 0, 0.28);
            transform: translate(-50%, -50%);
        }

            .consent-modal h2 {
                margin: 0 0 10px;
                font-size: 1.5rem;
                font-weight: 400;
            }

            .consent-modal p {
                margin: 0;
                color: var(--muted);
                line-height: 1.5;
            }

        .consent-category {
            padding: 18px 0;
            border-top: 1px solid rgba(17, 17, 17, 0.12);
        }

        .consent-category-header {
            display: flex;
            gap: 18px;
            align-items: center;
            justify-content: space-between;
        }

        .consent-category-title {
            display: block;
            color: var(--ink);
            font-weight: 800;
        }

        .consent-category-desc {
            margin-top: 4px !important;
            font-size: 0.92rem;
        }

        .consent-toggle {
            position: relative;
            flex: 0 0 auto;
            width: 54px;
            height: 30px;
        }

            .consent-toggle input {
                position: absolute;
                opacity: 0;
                pointer-events: none;
            }

            .consent-toggle span {
                position: absolute;
                inset: 0;
                border: 1px solid rgba(17, 17, 17, 0.2);
                border-radius: 999px;
                background: #e5e5e5;
            }

                .consent-toggle span::after {
                    content: "";
                    position: absolute;
                    left: 4px;
                    top: 4px;
                    width: 20px;
                    height: 20px;
                    border-radius: 50%;
                    background: var(--white);
                    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.2);
                    transition: transform 0.18s ease;
                }

            .consent-toggle input:checked + span {
                background: var(--ink);
            }

                .consent-toggle input:checked + span::after {
                    transform: translateX(24px);
                }

        .consent-button.light {
            border-color: rgba(17, 17, 17, 0.22);
            color: var(--ink);
            background: var(--paper);
        }

            .consent-button.light.primary {
                color: var(--black);
                background: var(--yellow);
                border-color: var(--yellow);
            }

        @media (min-width: 821px) and (max-width: 1119px) {
            .nav {
                width: min(100% - 48px, 1040px);
            }

            .panel-inner {
                padding: calc(var(--header-h) + 44px) clamp(44px, 7vw, 76px) 82px;
            }

            .hero-inner {
                padding-top: calc(var(--header-h) + 70px);
            }

            .hero-title {
                max-width: 760px;
                font-size: clamp(3.1rem, 6.2vw, 4.35rem);
                line-height: 1.16;
            }

            .hero-logos {
                justify-content: space-between;
                gap: clamp(20px, 3vw, 30px);
                max-width: 760px;
            }

            .split-page,
            .partner-layout,
            .contact-layout {
                grid-template-columns: minmax(260px, 0.82fr) minmax(330px, 1fr);
                gap: clamp(42px, 6vw, 72px);
                min-height: calc(100svh - var(--header-h) - 126px);
            }

            .contact-layout {
                align-items: start;
            }

            .contact-photo {
                margin-top: 118px;
                width: min(390px, 100%);
            }

            .contact-form-panel {
                align-self: start;
                margin-top: 42px;
            }

            .expertise-cards {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 16px;
            }

            .partner-map {
                width: min(620px, 100%);
            }

            .partner-copy {
                max-width: 100%;
            }

            .panel-seventeen-mark {
                right: clamp(-44px, -5vw, -24px);
                bottom: -14px;
                width: clamp(154px, 18.9vw, 210px);
                max-width: 24vw;
            }
        }

        @media (max-width: 820px) {
            :root {
                --header-peek: 15px;
            }

            body {
                overflow-x: hidden;
            }

            .site-header {
                background: var(--paper);
                border-bottom: 1px solid rgba(17, 17, 17, 0.1);
                backdrop-filter: none;
            }

                .site-header.on-dark {
                    background: var(--black);
                    border-bottom-color: rgba(255, 255, 255, 0.12);
                }

                .site-header.hide {
                    transform: translateY(0);
                }

                    .site-header.hide .brand,
                    .site-header.hide .contact-cta {
                        opacity: 1;
                        pointer-events: auto;
                    }

            .nav {
                width: 100%;
                max-width: none;
                padding-inline: 14px;
                gap: 10px;
                overflow: hidden;
            }

            .brand {
                flex: 0 1 clamp(108px, 31vw, 146px);
                width: clamp(108px, 31vw, 146px);
                min-width: 0;
                max-width: 44vw;
            }

            .contact-cta {
                max-width: calc(100vw - 156px);
                margin-left: auto;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

            .page-shell {
                height: 100svh;
                overflow: hidden;
            }

            .panel {
                position: absolute;
                min-height: 100svh;
                opacity: 0;
                pointer-events: none;
                transform: none;
                transition: none;
            }

                .panel.active {
                    opacity: 1;
                    pointer-events: auto;
                    overflow-y: auto;
                }

            .panel-inner {
                min-height: 100svh;
                padding: calc(var(--header-h) + 38px) 24px 76px;
            }

            .panel-seventeen-mark {
                right: clamp(-44px, -10vw, -24px);
                bottom: -6px;
                width: clamp(91px, 23.8vw, 129px);
                max-width: 28vw;
                opacity: 1;
            }

            .site-pages:not(.show-seventeen) .panel-seventeen-mark {
                opacity: 0;
            }

            .site-pages.footer-seventeen .panel-seventeen-mark {
                right: 18px;
                bottom: 18px;
                width: 60px;
                max-width: 17vw;
            }

            .hero-inner {
                padding-top: calc(var(--header-h) + 26px);
            }

            .hero-title {
                margin-top: clamp(44px, 9vh, 82px);
                font-size: clamp(2.55rem, 12.5vw, 4.1rem);
                line-height: 1.1;
            }

            .hero-copy {
                max-width: 92vw;
                font-size: 1rem;
            }

            .hero-logos {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                align-items: center;
                justify-items: center;
                gap: 22px 34px;
                width: min(100%, 370px);
                margin-top: clamp(36px, 7vh, 54px);
            }

                .hero-logos img {
                    max-width: 136px;
                    max-height: 44px;
                }

                    .hero-logos img:nth-child(1) {
                        max-width: 168px;
                        max-height: 84px;
                    }

                    .hero-logos img:nth-child(2) {
                        max-width: 124px;
                        max-height: 70px;
                    }

            .split-page,
            .partner-layout,
            .contact-layout {
                grid-template-columns: 1fr;
                min-height: auto;
                gap: 34px;
            }

            .split-page {
                align-content: center;
            }

            .image-stack {
                gap: 18px;
            }

            .media-window,
            .contact-photo {
                width: 100%;
                max-width: 420px;
            }

            .contact-photo {
                margin-bottom: 6px;
            }

            .contact-form-panel {
                width: 100%;
            }

            .partner-content {
                align-content: start;
            }

            .partner-copy {
                max-width: none;
            }

            .contact-form {
                gap: 14px;
            }

            .contact-line {
                margin-top: 22px;
                gap: 8px 14px;
                font-size: 0.95rem;
            }

            .page-title {
                margin-bottom: 32px;
            }

            .expertise-cards {
                grid-template-columns: 1fr;
            }

            .partner-map {
                justify-self: center;
                width: min(100%, 560px);
                max-width: 100%;
                margin-left: 0;
            }

            .site-footer {
                --footer-partner-logo-height: 52px;
                --footer-bmwk-logo-height: 78px;
                --footer-esf-logo-height: 44px;
                --footer-small-logo-height: 24px;
            }

                .site-footer .container {
                    width: min(100% - 32px, 1500px);
                }

            .footer-grid,
            .footer-main {
                grid-template-columns: 1fr;
                gap: 28px;
            }

            .footer-note {
                grid-column: auto;
            }

            .footer-navigation {
                justify-items: start;
                text-align: left;
            }

            .footer-link-row {
                justify-content: flex-start;
            }

            .footer-main {
                margin-top: 26px;
            }

            .footer-brand-meta {
                margin-top: 26px;
            }

            .partner-logo {
                width: 100%;
            }

            .footer-funding-logos {
                gap: 22px;
            }

            .progress {
                display: none;
            }

            .consent-banner {
                grid-template-columns: 1fr;
                left: 12px;
                right: 12px;
            }

            .consent-actions,
            .consent-modal-actions {
                justify-content: flex-start;
            }
        }

        @media (max-width: 540px) {
            :root {
                --header-h: 68px;
                --header-peek: 14px;
            }

            .nav {
                width: 100%;
                padding-inline: 12px;
                gap: 8px;
            }

            .brand {
                flex-basis: clamp(96px, 33vw, 126px);
                width: clamp(96px, 33vw, 126px);
                max-width: 40vw;
            }

            .contact-cta {
                min-height: 32px;
                max-width: calc(100vw - 126px);
                padding: 7px 9px;
                font-size: 0.82rem;
            }

            .panel-inner {
                padding: calc(var(--header-h) + 30px) 18px 68px;
            }

            .panel-seventeen-mark {
                right: clamp(-34px, -8vw, -18px);
                bottom: -4px;
                width: clamp(83px, 22vw, 109px);
                max-width: 27vw;
            }

            .page-title {
                font-size: clamp(2.45rem, 13vw, 3.35rem);
            }

            .belief-copy {
                margin-top: clamp(58px, 12vh, 96px);
            }

                .belief-copy span {
                    margin-bottom: 10px;
                    font-size: clamp(1.45rem, 7vw, 2rem);
                }

                .belief-copy .large {
                    font-size: clamp(1.75rem, 8.2vw, 2.45rem);
                }

            .expertise-grid {
                grid-template-columns: 86px minmax(0, 1fr);
                gap: 14px 16px;
            }

                .expertise-grid img {
                    width: 82px;
                    height: 58px;
                }

                .expertise-grid span {
                    font-size: clamp(1rem, 5vw, 1.35rem);
                    line-height: 1.25;
                }

            .contact-photo {
                max-width: 100%;
                margin-bottom: 18px;
            }

            .contact-form-panel {
                max-width: 100%;
            }

            .form-row input,
            .form-row textarea {
                padding: 9px 0;
            }

            .form-row textarea {
                min-height: 96px;
            }

            .contact-line {
                font-size: 0.9rem;
            }

            .footer-funding-logos {
                flex-direction: column;
                align-items: start;
            }
        }


        /* v17: normale Scroll-Version zum Gegenüberstellen */
        body.normal-scroll-mode {
            overflow-x: hidden;
            overflow-y: auto;
        }

            body.normal-scroll-mode .page-shell,
            body.normal-scroll-mode .site-pages {
                height: auto;
                min-height: 100svh;
                overflow: visible;
            }

            body.normal-scroll-mode #site-pages > .panel {
                position: relative;
                inset: auto;
                min-height: 100svh;
                opacity: 1 !important;
                pointer-events: auto !important;
                transform: none !important;
                filter: none !important;
                transition: none !important;
                scroll-margin-top: calc(var(--header-h) + 18px);
            }

                body.normal-scroll-mode #site-pages > .panel::after {
                    display: block;
                }

            body.normal-scroll-mode .panel.active,
            body.normal-scroll-mode .panel.leaving-up,
            body.normal-scroll-mode .panel.leaving-down {
                transform: none !important;
                filter: none !important;
            }

            body.normal-scroll-mode .site-footer.panel {
                overflow-y: visible;
            }

            body.normal-scroll-mode .progress,
            body.normal-scroll-mode .header-trigger {
                display: none !important;
            }

            body.normal-scroll-mode .site-header {
                transform: translateY(0) !important;
            }

                body.normal-scroll-mode .site-header.footer-hidden {
                    pointer-events: none;
                    transform: translateY(-100%) !important;
                }

            body.normal-scroll-mode .panel-seventeen-mark {
                position: fixed;
                right: clamp(24px, 3vw, 42px);
                bottom: clamp(22px, 3vw, 38px);
                z-index: 215;
                width: clamp(69px, 7vw, 99px);
                max-width: 14vw;
                pointer-events: none;
                transition: opacity 0.2s ease;
            }

        @media (max-width: 820px) {
            body.normal-scroll-mode .site-header.footer-hidden {
                pointer-events: auto;
                transform: translateY(0) !important;
            }

            body.normal-scroll-mode .site-header.hide {
                transform: translateY(0) !important;
            }

                body.normal-scroll-mode .site-header.hide .brand,
                body.normal-scroll-mode .site-header.hide .contact-cta {
                    opacity: 1;
                    pointer-events: auto;
                }

            body.normal-scroll-mode .panel-seventeen-mark {
                right: 18px;
                bottom: 18px;
                width: 60px;
                max-width: 17vw;
            }
        }


        /* v18 reworked: back to v17 structure with targeted refinements */
        .services-page {
            gap: clamp(38px, 5vw, 64px);
        }

        .service-section-title {
            width: fit-content;
            margin-bottom: 2px;
        }

        .service-content {
            gap: 34px;
        }

        .service-tabs {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 20px;
            align-items: end;
            padding-bottom: 16px;
            border-bottom: 1px solid rgba(17, 17, 17, 0.16);
            overflow: visible;
        }

        .service-tab {
            min-width: 0;
            padding: 0 0 14px;
            border-bottom-width: 2px;
            font-size: clamp(1.35rem, 2vw, 2.05rem);
            line-height: 1.14;
            white-space: normal;
            text-wrap: balance;
        }

            .service-tab.is-active {
                opacity: 1;
            }

            .service-tab:not(.is-active) {
                opacity: 0.42;
            }

        .service-panes {
            max-width: 820px;
        }

        .service-pane .plain-copy,
        .service-pane .highlight-copy {
            max-width: 780px;
        }

            .service-pane .highlight-copy span {
                background: transparent;
                padding-inline: 0;
            }

        #expertise .expertise-shell {
            gap: 30px;
            padding-top: clamp(18px, 4vh, 44px);
            max-width: 1220px;
        }

        #expertise .page-title {
            position: static;
            margin: 0;
            max-width: none;
            line-height: 1.02;
        }

        #expertise .expertise-cards {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            align-items: start;
            gap: 20px 24px;
        }

        #expertise .expertise-card {
            padding: 0;
            gap: 14px;
        }

            #expertise .expertise-card h3 {
                width: fit-content;
                padding-bottom: 7px;
                border-bottom: 1.5px solid currentColor;
                font-size: clamp(1.3rem, 2vw, 1.9rem);
                line-height: 1.24;
            }

        #expertise .expertise-thumb {
            aspect-ratio: 16 / 10;
        }

        #contact .contact-layout {
            align-items: start;
            grid-template-columns: minmax(300px, 0.72fr) minmax(390px, 0.98fr);
            gap: clamp(42px, 6vw, 86px);
        }

        #contact .contact-photo {
            width: min(410px, 100%);
            margin-bottom: 0;
            aspect-ratio: 318 / 225;
            object-fit: cover;
        }

        #contact .contact-form-panel {
            width: min(560px, 100%);
            padding: 30px 32px 28px;
            border: 1px solid rgba(17, 17, 17, 0.14);
            border-radius: 0;
            background: var(--paper);
        }

        #contact .page-title {
            margin-bottom: 26px;
        }

        #contact .contact-form {
            gap: 18px;
        }

        #contact .contact-line {
            margin-top: 26px;
            gap: 8px 14px;
            justify-content: center;
            margin-inline: auto;
            text-align: center;
            font-size: 0.95rem;
        }

        #contact .contact-phone {
            text-align: center;
        }

        .form-row input,
        .form-row textarea,
        .form-submit,
        .contact-cta,
        .consent-button,
        .consent-link {
            border-radius: 0;
        }

        .form-row input,
        .form-row textarea {
            padding-top: 12px;
            padding-bottom: 12px;
        }

        .form-submit {
            justify-self: center;
            padding-inline: 16px;
        }

        .site-footer {
            padding-top: calc(var(--header-h) + 38px);
        }

        .footer-grid {
            grid-template-columns: minmax(230px, 0.72fr) minmax(0, 1.6fr);
            grid-template-areas:
                "brand navigation"
                "main main";
            gap: clamp(26px, 4vw, 34px) clamp(44px, 6vw, 84px);
        }

        .footer-brand-logo {
            grid-area: brand;
            align-self: start;
            margin-top: 26px;
            margin-bottom: 0;
        }

        .footer-navigation,
        .footer-main {
            border: 1px solid rgba(17, 17, 17, 0.1);
            border-radius: 0;
            background: var(--paper);
        }

        .footer-navigation {
            grid-area: navigation;
            justify-self: end;
            padding: 18px 22px;
        }

        .footer-main {
            grid-area: main;
            padding: 26px 28px;
            grid-template-columns: minmax(230px, 0.72fr) minmax(340px, 1fr) minmax(190px, 0.52fr) minmax(190px, 0.52fr);
            grid-template-areas:
                "contact funding partner beneficiary"
                "copy note note note";
            gap: 34px 46px;
            margin-top: 0;
        }
.footer-contact {
            margin: 0;
        }

        .footer-funding {
            grid-area: funding;
        }

        .footer-partner-block {
            grid-area: partner;
        }

        .footer-beneficiary {
            grid-area: beneficiary;
        }

        .footer-copy {
            grid-area: copy;
            margin: 0;
        }

        .footer-note {
            grid-area: note;
            margin: 0;
            line-height: 1.7;
        }

        @media (min-width: 1120px) {
            #contact .contact-photo {
                left: clamp(70px, 6.2vw, 84px);
                top: 224px;
                width: clamp(330px, 31vw, 410px);
            }

            #contact .contact-form-panel {
                left: clamp(660px, 60vw, 815px);
                top: 50%;
                width: clamp(430px, 40vw, 560px);
                transform: translate(-50%, -47%);
            }

            #contact .contact-line {
                justify-content: center;
                margin-inline: auto;
                text-align: center;
            }
        }

        @media (max-width: 1119px) {
            .footer-grid {
                grid-template-columns: 1fr;
                grid-template-areas:
                    "brand"
                    "navigation"
                    "main";
            }

            .footer-navigation,
            .footer-main {
                padding: 22px 20px;
            }

            .footer-main {
                grid-template-columns: 1fr;
                grid-template-areas:
                    "contact"
                    "funding"
                    "partner"
                    "beneficiary"
                    "copy"
                    "note";
                gap: 28px;
            }

            .footer-navigation {
                justify-self: stretch;
            }

            .footer-brand-logo {
                margin-top: 12px;
            }
        }

        @media (max-width: 900px) {
            .service-tabs {
                grid-template-columns: 1fr;
                gap: 0;
                padding-bottom: 0;
                border-bottom: 0;
            }

            .service-tab {
                padding: 14px 0;
                border-bottom: 0;
                border-top: 1px solid rgba(17, 17, 17, 0.16);
            }

                .service-tab:last-child {
                    border-bottom: 1px solid rgba(17, 17, 17, 0.16);
                }

                .service-tab.is-active {
                    padding-left: 14px;
                    box-shadow: inset 3px 0 0 var(--ink);
                }

            #expertise .page-title {
                max-width: none;
            }

            #expertise .expertise-cards {
                grid-template-columns: 1fr;
            }

            #expertise .expertise-visuals {
                grid-template-columns: 1fr;
            }

            #expertise .expertise-globe {
                display: none;
            }

            #contact .contact-layout {
                grid-template-columns: 1fr;
            }

            #contact .contact-form-panel {
                padding: 24px 22px 22px;
            }
        }

        @media (max-width: 640px) {
            #expertise .expertise-thumb {
                aspect-ratio: 150 / 96;
            }

            .footer-navigation,
            .footer-main {
                padding: 18px 16px;
            }
        }

        /* v16: partner banner test switch + revised expertise section */
        body.normal-scroll-mode #site-pages > #partner.panel,
        #partner .panel-inner,
        #partner .partner-layout {
            min-height: clamp(700px, 92svh, 840px);
        }

        .partner-banner-zone {
            position: relative;
            display: grid;
            gap: 12px;
            width: 100vw;
            max-width: none;
            margin-left: calc(50% - 50vw);
            margin-top: auto;
        }

        .partner-style-switch {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            width: fit-content;
            padding: 5px;
            border: 1px solid rgba(17, 17, 17, 0.18);
            background: rgba(255, 255, 255, 0.9);
        }

        .partner-style-label {
            padding: 0 8px 0 5px;
            color: var(--muted);
            font-size: 0.78rem;
            line-height: 1;
        }

        .partner-style-button {
            min-width: 38px;
            min-height: 30px;
            padding: 6px 10px;
            border: 0;
            background: transparent;
            color: var(--ink);
            font-size: 0.85rem;
            line-height: 1;
            cursor: pointer;
        }

            .partner-style-button.is-active {
                color: var(--black);
                background: var(--yellow);
            }

        #partner .partner-logo-marquee {
            position: relative;
            left: auto;
            right: auto;
            bottom: auto;
            border-left: 0;
            border-right: 0;
        }

        #partner[data-banner-style="signal"] .partner-logo-marquee {
            padding: 14px 0;
            border-color: rgba(255, 255, 255, 0.2);
            background: var(--black);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), inset 0 -1px 0 rgba(255, 255, 255, 0.16);
        }

        #partner[data-banner-style="signal"] .partner-logo-track {
            animation-duration: 42s;
        }

        #partner[data-banner-style="signal"] .partner-logo-set {
            gap: 0;
            padding-right: 0;
        }

        #partner[data-banner-style="signal"] .partner-logo-chip {
            min-width: auto;
            padding: 15px 34px;
            border: 0;
            border-right: 1px solid rgba(255, 255, 255, 0.18);
            background: transparent;
            color: var(--white);
            box-shadow: none;
            font-weight: 500;
        }

            #partner[data-banner-style="signal"] .partner-logo-chip::before {
                width: 26px;
                height: 3px;
                margin-right: 14px;
                background: var(--yellow);
            }

        #expertise .expertise-shell {
            --expertise-heading-w: clamp(300px, 28vw, 380px);
            --expertise-list-h: 505px;
            position: relative;
            display: grid;
            grid-template-columns: var(--expertise-heading-w) minmax(0, 1fr);
            gap: clamp(34px, 5vw, 84px);
            width: min(1200px, calc(100% - var(--safe-x) - var(--safe-x)));
            min-height: calc(100svh - var(--header-h) - 96px);
            margin-inline: auto;
            padding-top: calc(var(--header-h) + clamp(42px, 8vh, 84px));
            align-items: start;
        }

        #expertise .expertise-heading {
            position: relative;
            z-index: 3;
            display: grid;
            gap: 22px;
            width: var(--expertise-heading-w);
            min-height: var(--expertise-list-h);
            align-self: start;
            justify-self: start;
        }

        #expertise .page-title {
            width: 100%;
            margin: 0;
            border-bottom: 0;
            max-width: none;
            line-height: 1.02;
        }

        .expertise-intro {
            max-width: 320px;
            margin: 0;
            color: var(--muted);
            font-size: clamp(1rem, 1.15vw, 1.12rem);
            line-height: 1.55;
        }

        #expertise .expertise-visuals {
            position: static;
            display: block;
            min-height: 520px;
        }

        #expertise .expertise-cards {
            position: relative;
            z-index: 2;
            display: grid;
            grid-template-columns: 1fr;
            gap: 0;
            max-width: 760px;
            margin-left: auto;
            border-top: 1px solid rgba(17, 17, 17, 0.16);
        }

        #expertise .expertise-card {
            position: relative;
            display: grid;
            grid-template-columns: clamp(120px, 15vw, 180px) minmax(0, 1fr);
            gap: clamp(20px, 3.5vw, 44px);
            align-items: center;
            min-height: 126px;
            padding: 18px 0;
            border-bottom: 1px solid rgba(17, 17, 17, 0.16);
        }

            #expertise .expertise-card::before {
                content: attr(data-index);
                position: absolute;
                right: 0;
                top: 18px;
                color: rgba(17, 17, 17, 0.34);
                font-size: 0.82rem;
                line-height: 1;
            }

        #expertise .expertise-thumb {
            width: 100%;
            aspect-ratio: 16 / 9;
            border: 0;
            background: var(--paper-soft);
            filter: saturate(0.88) contrast(1.04);
        }

        #expertise .expertise-card h3 {
            max-width: 470px;
            margin: 0;
            padding-right: 56px;
            padding-bottom: 0;
            border-bottom: 0;
            font-size: clamp(1.4rem, 2.2vw, 2.15rem);
            font-weight: 300;
            line-height: 1.16;
        }

        #expertise .expertise-globe {
            position: absolute;
            left: 50%;
            bottom: 0;
            z-index: 1;
            width: clamp(250px, 24vw, 340px);
            max-width: none;
            opacity: 0.38;
            transform: translateX(-50%);
        }

        #expertise .expertise-heading .page-title {
            position: relative;
            z-index: 2;
        }

        @media (min-width: 1120px) {
            #partner .partner-content {
                bottom: 34px;
                padding-bottom: clamp(118px, 15vh, 150px);
            }

            #partner .partner-banner-zone {
                position: absolute;
                left: calc(50% - 50vw);
                right: auto;
                bottom: 34px;
                width: 100vw;
                margin-left: 0;
                transform: none;
            }

            #partner .partner-style-switch {
                margin-left: calc(90px + 80px);
            }

            #partner .partner-logo-marquee {
                width: 100%;
                margin: 0;
            }
        }

        @media (min-width: 821px) and (max-width: 1119px) {
            #partner .partner-layout {
                position: relative;
                display: block;
                min-height: clamp(700px, 92svh, 820px);
                padding-bottom: 160px;
            }

            #partner .partner-content {
                position: static;
                width: min(420px, 44vw);
                max-width: 420px;
                padding-bottom: 0;
            }

            #partner .partner-map {
                position: absolute;
                right: clamp(10px, 3vw, 34px);
                top: clamp(18px, 4vh, 42px);
                z-index: 2;
                width: clamp(340px, 43vw, 470px);
                max-width: 47vw;
                height: auto;
            }

            #partner .partner-banner-zone {
                position: absolute;
                left: calc(50% - 50vw);
                right: auto;
                bottom: 30px;
                width: 100vw;
                margin-left: 0;
                transform: none;
                z-index: 7;
            }

            #partner .partner-style-switch {
                margin-left: clamp(44px, 7vw, 76px);
            }

            #expertise .expertise-shell {
                grid-template-columns: 1fr;
                width: min(100% - 88px, 960px);
                padding-top: calc(var(--header-h) + 44px);
            }

            #expertise .expertise-heading {
                position: relative;
                min-height: auto;
            }

            .expertise-intro {
                max-width: 620px;
            }
        }

        @media (max-width: 820px) {
            .partner-banner-zone {
                width: 100vw;
                margin-left: calc(50% - 50vw);
                transform: none;
            }

            .partner-style-switch {
                margin-left: 24px;
            }

            #partner .partner-logo-chip {
                min-width: 172px;
                padding: 14px 18px;
            }

            #expertise .expertise-shell {
                grid-template-columns: 1fr;
                width: 100%;
                min-height: auto;
                padding-top: 0;
            }

            #expertise .expertise-heading {
                position: relative;
                min-height: auto;
            }

            .expertise-intro {
                max-width: none;
            }

            #expertise .expertise-visuals {
                min-height: auto;
            }

            #expertise .expertise-card {
                grid-template-columns: 104px minmax(0, 1fr);
                gap: 18px;
                min-height: 110px;
            }

                #expertise .expertise-card h3 {
                    padding-right: 34px;
                    font-size: clamp(1.15rem, 5.2vw, 1.55rem);
                }

                #expertise .expertise-card::before {
                    top: 20px;
                }

            #expertise .expertise-globe {
                display: none;
            }
        }

        @media (max-width: 1119px), (max-height: 760px) {
            #expertise .expertise-heading {
                min-height: auto;
            }

            #expertise .expertise-globe {
                display: none;
            }
        }

        @media (max-width: 540px) {
            .partner-style-label {
                display: none;
            }

            #expertise .expertise-card {
                grid-template-columns: 88px minmax(0, 1fr);
            }
        }

        /* v22 responsive containment */
        .footer-navigation {
            justify-items: end;
            text-align: right;
        }

        .footer-link-row {
            justify-content: flex-end;
        }

        body.normal-scroll-mode .panel-seventeen-mark {
            display: block !important;
            opacity: 0 !important;
        }

        body.normal-scroll-mode .site-pages.mark-visible .panel-seventeen-mark {
            opacity: 1 !important;
        }

        @media (min-width: 821px) and (max-width: 1279px), (min-width: 1120px) and (max-height: 760px) {
            :root {
                --v22-section-x: clamp(44px, 7vw, 76px);
            }

            body.normal-scroll-mode #site-pages > .seventeen-panel.panel {
                min-height: auto;
            }

            body.normal-scroll-mode .panel-seventeen-mark {
                display: block !important;
            }

            #expertise .expertise-globe {
                display: none;
            }

            .seventeen-panel .panel-inner {
                height: auto;
                min-height: auto;
                padding: calc(var(--header-h) + 44px) var(--v22-section-x) 82px;
            }

            .page-title,
            .service-section-title,
            #expertise .page-title {
                width: fit-content;
                margin-left: auto;
                margin-right: auto;
                text-align: center;
            }

            .split-page,
            .partner-layout,
            .contact-layout,
            .services-page {
                min-height: auto;
            }

            #strategy .services-page,
            #contact .contact-layout {
                position: relative;
                display: grid;
                width: min(100%, 1040px);
                margin-inline: auto;
                align-items: center;
            }

            #strategy .services-page {
                grid-template-columns: minmax(280px, 0.42fr) minmax(0, 0.78fr);
                gap: clamp(38px, 6vw, 70px);
            }

            #strategy .service-media-wrap,
            #strategy .service-content,
            #strategy .service-section-title,
            #strategy .service-tabs,
            #strategy .service-panes,
            #contact .contact-photo,
            #contact .contact-form-panel {
                position: static;
                inset: auto;
                left: auto;
                top: auto;
                right: auto;
                bottom: auto;
                transform: none;
                max-width: 100%;
            }

            #strategy .service-media-wrap {
                width: 100%;
                justify-items: center;
            }

            #strategy .service-media-stage {
                width: min(360px, 100%);
                margin-inline: auto;
            }

            #strategy .service-content {
                display: grid;
                width: 100%;
                gap: 30px;
            }

            #strategy .service-section-title {
                margin-top: 0;
                margin-bottom: 0;
                font-size: clamp(3rem, 5.5vw, 4rem);
            }

            #strategy .service-tabs {
                width: 100%;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 18px;
            }

            #strategy .service-tab {
                font-size: clamp(1.4rem, 2.5vw, 2rem);
            }

            #strategy .service-panes {
                width: 100%;
                max-width: 820px;
                margin-inline: auto;
            }

            #partner .partner-layout {
                position: relative;
                display: grid;
                grid-template-columns: 1fr;
                width: min(100%, 900px);
                min-height: auto;
                margin-inline: auto;
                padding-bottom: 0;
                justify-items: center;
                gap: 34px;
            }

            #partner .partner-content {
                position: static;
                display: grid;
                width: min(100%, 620px);
                max-width: 620px;
                padding-bottom: 0;
                justify-items: center;
                text-align: center;
                gap: 22px;
            }

            #partner .partner-copy {
                max-width: 620px;
                justify-self: center;
                text-align: left;
            }

            #partner .partner-map {
                position: static;
                width: min(620px, 100%);
                max-width: 100%;
                justify-self: center;
            }

            #contact .contact-layout {
                grid-template-columns: minmax(280px, 0.75fr) minmax(380px, 1fr);
                gap: clamp(38px, 5.5vw, 70px);
            }

            #contact .contact-photo {
                width: min(410px, 100%);
                margin: 0;
                justify-self: center;
            }

            #contact .contact-form-panel {
                width: min(560px, 100%);
                justify-self: center;
            }

            #contact .contact-line {
                justify-content: center;
                text-align: center;
            }

            #expertise .expertise-shell {
                grid-template-columns: 1fr;
                width: min(100%, 960px);
                min-height: auto;
                padding-top: 0;
                justify-items: center;
            }

            #expertise .expertise-heading {
                width: min(100%, 640px);
                min-height: auto;
                justify-items: center;
                text-align: center;
            }

            .expertise-intro {
                max-width: 620px;
                text-align: center;
            }

            #expertise .expertise-visuals {
                width: 100%;
                min-height: auto;
            }

            #expertise .expertise-cards {
                width: 100%;
                max-width: 760px;
                margin-inline: auto;
            }

            .footer-grid {
                grid-template-columns: 1fr;
                grid-template-areas:
                    "brand"
                    "navigation"
                    "main";
            }

            .footer-navigation {
                justify-self: stretch;
            }

            .footer-main {
                grid-template-columns: 1fr;
                grid-template-areas:
                    "contact"
                    "funding"
                    "partner"
                    "beneficiary"
                    "copy"
                    "note";
                gap: 28px;
                margin-top: 0;
            }

            .footer-note {
                grid-column: auto;
            }
        }

        @media (min-width: 821px) and (max-width: 1023px) {
            #strategy .services-page,
            #contact .contact-layout {
                grid-template-columns: 1fr;
                justify-items: center;
            }

            #strategy .service-content,
            #contact .contact-form-panel {
                width: min(100%, 760px);
            }
        }

        @media (min-width: 821px) and (max-width: 1279px), (min-width: 1120px) and (max-height: 760px) {
            #strategy .services-page {
                grid-template-columns: 1fr;
                max-width: 900px;
                justify-items: center;
            }

            #strategy .service-content {
                max-width: 820px;
            }
        }

        @media (min-width: 821px) and (max-width: 1119px) {
            .hero-inner {
                align-items: flex-start;
                justify-content: flex-start;
                padding-top: calc(var(--header-h) + 94px);
                text-align: left;
            }

            .hero-title {
                max-width: 820px;
                margin-top: clamp(98px, 14.5vh, 118px);
                margin-right: 0;
                margin-left: 0;
                font-size: clamp(3.1rem, 6.2vw, 4.25rem);
                line-height: 1.35;
                text-align: left;
            }

            .hero-copy {
                max-width: 680px;
                margin: 0;
                text-align: left;
            }

            .hero-logos {
                margin-right: 0;
                margin-left: 0;
                justify-content: space-between;
            }
        }

        @media (max-width: 820px) {
            body.normal-scroll-mode .panel-seventeen-mark {
                display: block !important;
            }

            body.normal-scroll-mode #site-pages > .panel {
                min-height: auto;
            }

            .panel-inner {
                height: auto;
                min-height: auto;
                padding: calc(var(--header-h) + 34px) clamp(18px, 6vw, 26px) 70px;
            }

            .hero-inner {
                min-height: 100svh;
                align-items: center;
                justify-content: center;
                text-align: center;
                padding-top: calc(var(--header-h) + 20px);
            }

            .hero-title {
                max-width: 10ch;
                margin: 0 auto 24px;
                text-align: center;
                font-size: clamp(2.35rem, 10.5vw, 3.25rem);
            }

            .hero-copy {
                max-width: 34rem;
                margin-inline: auto;
                text-align: center;
            }

            .hero-logos {
                margin-inline: auto;
                justify-content: center;
            }

            .page-title,
            .service-section-title,
            #expertise .page-title {
                width: fit-content;
                margin-left: auto;
                margin-right: auto;
                text-align: center;
            }

            .split-page,
            .partner-layout,
            .contact-layout,
            .services-page {
                justify-items: center;
                align-content: start;
            }

            .image-stack,
            .service-media-wrap {
                width: 100%;
                justify-items: center;
            }

            .media-window,
            .contact-photo,
            .service-media-stage {
                margin-inline: auto;
            }

            #strategy .services-page {
                gap: 32px;
            }

            #strategy .service-content,
            #strategy .service-panes,
            #strategy .service-tabs {
                width: 100%;
            }

            #strategy .service-media-stage {
                width: min(100%, 420px);
            }

            #partner .partner-content {
                justify-items: center;
                text-align: center;
            }

            #partner .partner-copy {
                max-width: 34rem;
                text-align: left;
            }

            #partner .partner-map {
                width: min(100%, 520px);
                margin-inline: auto;
            }

            #contact .contact-layout {
                gap: 34px;
            }

            #contact .contact-photo {
                display: block;
                width: min(100%, 420px);
            }

            #contact .contact-form-panel {
                box-sizing: border-box;
                width: min(100%, 440px);
                margin-inline: auto;
                padding: 24px clamp(18px, 6vw, 24px);
                overflow: hidden;
            }

            #contact .contact-line {
                max-width: 100%;
                justify-content: center;
                text-align: center;
            }

            .form-submit {
                max-width: 100%;
                white-space: normal;
                text-align: center;
            }

            .footer-main {
                box-sizing: border-box;
                overflow: hidden;
                text-align: left;
            }

            .footer-navigation {
                box-sizing: border-box;
                overflow: hidden;
                justify-items: end;
                text-align: right;
            }

            .footer-link-row {
                justify-content: flex-end;
                align-items: center;
            }

            .footer-separator {
                margin: 0 10px;
            }

            .footer-funding-logos {
                flex-direction: column;
                align-items: flex-start;
                gap: 22px;
            }

            .partner-logo {
                width: fit-content;
                max-width: 100%;
                min-height: auto;
            }

            .partner-logo img {
                width: min(100%, 220px);
                height: auto;
            }

            .partner-logo.bmwk img {
                width: min(100%, 210px);
            }

            .partner-logo.esf img {
                width: min(100%, 280px);
            }

            .partner-logo.ibykus img,
            .partner-logo.tmk img {
                width: min(100%, 220px);
            }
        }

        /* HIER EINFÜGEN */
        /* Nur Mission: hervorgehobene Zeilen fett, aber nicht größer */
        #mission .belief-copy .large {
            font-weight: 700;
            font-size: clamp(1.9rem, 3.2vw, 2.6rem);
            line-height: 1.32;
        }

        @media (max-width: 540px) {
            #mission .belief-copy .large {
                font-size: clamp(1.45rem, 7vw, 2rem);
            }
        }

        /* v24: einheitliches Desktop-Layout ohne Sprünge zwischen großen und kleineren Browserfenstern */
        @media (min-width: 821px) {
            .hero-logos {
                width: min(100%, 680px);
                max-width: 680px;
                gap: clamp(14px, 2vw, 22px);
            }

                .hero-logos img {
                    max-width: 160px;
                    max-height: 42px;
                }

                    .hero-logos img:nth-child(1) {
                        max-width: 178px;
                        max-height: 76px;
                    }

                    .hero-logos img:nth-child(2) {
                        max-width: 98px;
                        max-height: 62px;
                    }

                    .hero-logos img:nth-child(3),
                    .hero-logos img:nth-child(4) {
                        max-width: 104px;
                        max-height: 32px;
                    }

            body.normal-scroll-mode #site-pages > .seventeen-panel.panel,
            body.normal-scroll-mode #site-pages > #partner.panel,
            #partner .panel-inner,
            #partner .partner-layout {
                min-height: auto;
            }

            .seventeen-panel .panel-inner {
                height: auto;
                min-height: auto;
                padding: calc(var(--header-h) + 44px) clamp(44px, 7vw, 86px) 82px;
            }

            .page-title,
            .service-section-title,
            #expertise .page-title {
                width: fit-content;
                margin-left: auto;
                margin-right: auto;
                text-align: center;
            }

            .split-page,
            .partner-layout,
            .contact-layout,
            .services-page {
                min-height: auto;
            }

            #strategy .services-page,
            #contact .contact-layout {
                position: relative;
                display: grid;
                width: min(100%, 1040px);
                margin-inline: auto;
                align-items: center;
            }

            #strategy .services-page {
                grid-template-columns: minmax(220px, 0.42fr) minmax(0, 0.78fr);
                gap: clamp(30px, 5vw, 70px);
            }

            #strategy .service-media-wrap,
            #strategy .service-content,
            #strategy .service-section-title,
            #strategy .service-tabs,
            #strategy .service-panes,
            #contact .contact-photo,
            #contact .contact-form-panel {
                position: static;
                inset: auto;
                left: auto;
                top: auto;
                right: auto;
                bottom: auto;
                transform: none;
                max-width: 100%;
            }

            #strategy .service-media-wrap {
                width: 100%;
                justify-items: center;
            }

            #strategy .service-media-stage {
                width: min(360px, 100%);
                margin-inline: auto;
            }

            #strategy .service-content {
                display: grid;
                width: 100%;
                gap: 30px;
            }

            #strategy .service-section-title {
                margin-top: 0;
                margin-bottom: 0;
                font-size: clamp(3rem, 5.5vw, 4rem);
            }

            #strategy .service-tabs {
                width: 100%;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 18px;
            }

            #strategy .service-tab {
                font-size: clamp(1.35rem, 2.25vw, 2rem);
            }

            #strategy .service-panes {
                width: 100%;
                max-width: 820px;
                margin-inline: auto;
            }

            #partner .partner-layout {
                position: relative;
                display: grid;
                grid-template-columns: 1fr;
                width: min(100%, 900px);
                margin-inline: auto;
                padding-bottom: 0;
                justify-items: center;
                gap: 34px;
            }

            #partner .partner-content {
                position: static;
                display: grid;
                width: min(100%, 620px);
                max-width: 620px;
                padding-bottom: 0;
                justify-items: center;
                text-align: center;
                gap: 22px;
            }

            #partner .partner-copy {
                max-width: 620px;
                justify-self: center;
                text-align: left;
            }

            #partner .partner-map {
                position: static;
                width: min(620px, 100%);
                max-width: 100%;
                justify-self: center;
            }

            #contact .contact-layout {
                grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1fr);
                gap: clamp(30px, 5vw, 70px);
            }

            #contact .contact-photo {
                width: min(410px, 100%);
                margin: 0;
                justify-self: center;
            }

            #contact .contact-form-panel {
                width: min(560px, 100%);
                justify-self: center;
            }

            #contact .contact-line {
                justify-content: center;
                text-align: center;
            }

            #expertise .expertise-shell {
                grid-template-columns: 1fr;
                width: min(100%, 960px);
                min-height: auto;
                padding-top: 0;
                justify-items: center;
            }

            #expertise .expertise-heading {
                width: min(100%, 640px);
                min-height: auto;
                justify-items: center;
                text-align: center;
            }

            #expertise .expertise-visuals {
                width: 100%;
                min-height: auto;
            }

            #expertise .expertise-cards {
                width: 100%;
                max-width: 760px;
                margin-inline: auto;
            }

            #expertise .expertise-globe {
                display: none !important;
            }

        }

        /* v24 Korrektur: Services und Expertise behalten eine echte Desktop-Anordnung */
        @media (min-width: 821px) {
            #strategy .services-page {
                display: grid;
                grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
                grid-template-areas:
                    "media title"
                    "media tabs"
                    "copy copy";
                width: min(100%, 1180px);
                margin-inline: auto;
                column-gap: clamp(38px, 6vw, 72px);
                row-gap: clamp(18px, 3vh, 30px);
                align-items: start;
            }

            #strategy .service-section-title {
                grid-area: title;
                justify-self: start;
                align-self: end;
                width: fit-content;
                margin: 0;
                text-align: left;
                font-size: clamp(3.3rem, 4.75vw, 4.1rem);
            }

            #strategy .service-media-wrap {
                grid-area: media;
                justify-items: start;
                width: 100%;
            }

            #strategy .service-media-stage {
                width: min(318px, 100%);
            }

            #strategy .service-content {
                display: contents;
            }

            #strategy .service-tabs {
                grid-area: tabs;
                width: 100%;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: clamp(18px, 4vw, 42px);
            }

            #strategy .service-tab {
                font-size: clamp(1.55rem, 2.2vw, 2.25rem);
            }

            #strategy .service-panes {
                grid-area: copy;
                width: min(820px, 100%);
                max-width: 820px;
                margin-inline: clamp(0px, 5vw, 76px) auto;
            }

            #strategy .service-pane .plain-copy,
            #strategy .service-pane .highlight-copy {
                max-width: 820px;
            }

            #expertise .expertise-shell {
                display: grid;
                grid-template-columns: 1fr;
                width: min(100%, 1060px);
                min-height: auto;
                margin-inline: auto;
                padding-top: 0;
                gap: clamp(34px, 5vh, 54px);
                justify-items: center;
            }

            #expertise .expertise-heading {
                width: 100%;
                min-height: auto;
                justify-items: center;
                text-align: center;
            }

            #expertise .page-title {
                width: fit-content;
                margin: 0 auto;
                text-align: center;
                font-size: clamp(3.1rem, 4.75vw, 4.1rem);
            }

            #expertise .expertise-visuals {
                width: 100%;
                min-height: auto;
            }

            #expertise .expertise-cards {
                width: min(100%, 960px);
                max-width: 960px;
                margin-inline: auto;
            }

            #expertise .expertise-card {
                grid-template-columns: clamp(130px, 16vw, 190px) minmax(0, 1fr);
                gap: clamp(22px, 4vw, 44px);
                min-height: 118px;
                padding: 16px 0;
            }

            #expertise .expertise-card h3 {
                max-width: none;
                font-size: clamp(1.35rem, 2vw, 2rem);
            }
        }

        @media (min-width: 821px) and (max-width: 1023px) {
            #strategy .services-page {
                grid-template-columns: minmax(190px, 0.4fr) minmax(0, 0.6fr);
                column-gap: clamp(28px, 5vw, 42px);
            }

            #strategy .service-section-title {
                font-size: clamp(2.85rem, 6vw, 3.55rem);
            }

            #strategy .service-tabs {
                gap: 12px;
            }

            #strategy .service-tab {
                font-size: clamp(1.18rem, 2.45vw, 1.55rem);
            }

            #strategy .service-panes {
                margin-inline: 0 auto;
            }
        }

        /* v24 final: Desktop bleibt Desktop ab 821px; keine einspaltigen Zwischenlayouts */
        @media (min-width: 821px) {
            #partner .partner-layout {
                position: relative;
                display: grid;
                grid-template-columns: minmax(260px, 0.42fr) minmax(300px, 0.58fr);
                width: min(100%, 1120px);
                min-height: auto;
                margin-inline: auto;
                padding-bottom: 0;
                align-items: center;
                justify-items: stretch;
                gap: clamp(34px, 6vw, 78px);
            }

            #partner .partner-content {
                position: static;
                display: grid;
                width: auto;
                max-width: 460px;
                padding-bottom: 0;
                justify-items: start;
                align-self: center;
                text-align: left;
                gap: 22px;
            }

            #partner .partner-content .page-title {
                margin: 0;
                text-align: left;
            }

            #partner .partner-copy {
                max-width: 460px;
                justify-self: start;
                text-align: left;
            }

            #partner .partner-map {
                position: static;
                width: min(100%, 620px);
                max-width: 100%;
                height: auto;
                justify-self: end;
            }

            #strategy .services-page {
                display: grid;
                grid-template-columns: minmax(190px, 320px) minmax(0, 1fr);
                grid-template-areas:
                    "media title"
                    "media tabs"
                    "copy copy";
                width: min(100%, 1180px);
                max-width: 1180px;
                margin-inline: auto;
                align-items: start;
                justify-items: stretch;
                column-gap: clamp(30px, 6vw, 72px);
                row-gap: clamp(18px, 3vh, 30px);
            }

            #strategy .service-section-title {
                grid-area: title;
                justify-self: start;
                align-self: end;
                width: fit-content;
                margin: 0;
                text-align: left;
            }

            #strategy .service-media-wrap {
                grid-area: media;
                justify-items: start;
                width: 100%;
            }

            #strategy .service-media-stage {
                width: min(318px, 100%);
            }

            #strategy .service-content {
                display: contents;
            }

            #strategy .service-tabs {
                grid-area: tabs;
                width: 100%;
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }

            #strategy .service-panes {
                grid-area: copy;
                width: min(820px, 100%);
                max-width: 820px;
                margin-inline: clamp(0px, 5vw, 76px) auto;
            }

            #expertise .expertise-shell {
                display: grid;
                grid-template-columns: 1fr;
                width: min(100%, 1060px);
                min-height: auto;
                margin-inline: auto;
                padding-top: 0;
                gap: clamp(34px, 5vh, 54px);
                justify-items: center;
            }

            #expertise .expertise-heading {
                width: 100%;
                min-height: auto;
                justify-items: center;
                text-align: center;
            }

            #expertise .expertise-visuals {
                width: 100%;
                min-height: auto;
            }

            #expertise .expertise-cards {
                width: min(100%, 960px);
                max-width: 960px;
                margin-inline: auto;
            }

            #expertise .expertise-globe {
                display: none !important;
            }
        }

        @media (min-width: 821px) and (max-width: 900px) {
            #strategy .service-tabs {
                gap: 10px;
            }

            #strategy .service-tab {
                font-size: 1.05rem;
                white-space: nowrap;
            }
        }

        /* v25: Desktop-Abstände bleiben stabil und kompakt */
        @media (min-width: 821px) {
            body.normal-scroll-mode #site-pages > #mission.panel {
                min-height: auto;
            }

            #mission .panel-inner {
                height: auto;
                min-height: auto;
                padding: clamp(148px, 18vh, 204px) clamp(104px, 10vw, 130px);
            }

            #mission .belief-copy {
                max-width: 980px;
                margin: 0;
            }

            #mission .belief-copy span,
            #mission .belief-copy .large {
                font-size: clamp(2.2rem, 3.2vw, 2.6rem);
                line-height: 1.32;
            }

            #mission .belief-copy span:last-child {
                margin-bottom: 0;
            }

            #strategy .panel-inner {
                padding-bottom: 64px;
            }

            #strategy .services-page {
                min-height: auto;
                align-content: start;
                row-gap: clamp(26px, 3.6vh, 42px);
            }

            #expertise .panel-inner {
                padding-top: calc(var(--header-h) + 28px);
            }

            #expertise .expertise-shell {
                gap: clamp(54px, 7vh, 82px);
            }

            body.normal-scroll-mode #site-pages > #footer.site-footer.panel {
                min-height: auto;
            }

            .site-footer {
                --footer-partner-logo-height: clamp(44px, 4vw, 58px);
                --footer-bmwk-logo-height: clamp(64px, 6vw, 96px);
                --footer-esf-logo-height: clamp(38px, 4vw, 50px);
                --footer-small-logo-height: clamp(20px, 2.4vw, 25px);
                padding: 30px 0 16px;
            }

            .site-footer .container {
                width: min(1500px, calc(100% - 64px));
            }

            .footer-grid {
                display: grid;
                grid-template-columns: minmax(180px, 0.42fr) minmax(0, 1fr);
                grid-template-areas:
                    "brand navigation"
                    "main main";
                gap: clamp(16px, 2.4vw, 24px) clamp(36px, 6vw, 84px);
                align-items: start;
            }

            .footer-brand-logo {
                grid-area: brand;
                align-self: start;
                margin-top: 8px;
                margin-bottom: 0;
                cursor: default;
            }

            .footer-brand-logo:hover {
                transform: none;
            }

            .footer-navigation {
                grid-area: navigation;
                justify-self: end;
                justify-items: end;
                border: 0;
                padding: 8px 22px;
                background: transparent;
                text-align: right;
            }

            .footer-link-row {
                justify-content: flex-end;
            }

            .footer-main {
                grid-area: main;
                display: grid;
                grid-template-columns: minmax(130px, 0.72fr) minmax(190px, 1fr) minmax(100px, 0.52fr) minmax(100px, 0.52fr);
                grid-template-areas:
                    "contact funding partner beneficiary"
                    "copy note note note";
                gap: clamp(16px, 2vw, 24px) clamp(18px, 3vw, 46px);
                margin-top: 0;
                border: 0;
                padding: clamp(12px, 1.5vw, 18px) clamp(18px, 2.2vw, 28px);
                background: transparent;
            }
.footer-funding {
                grid-area: funding;
            }

            .footer-partner-block {
                grid-area: partner;
            }

            .footer-beneficiary {
                grid-area: beneficiary;
            }

            .footer-copy {
                grid-area: copy;
                margin: 0;
            }

            .footer-note {
                grid-area: note;
                grid-column: note-start / note-end;
                width: 100%;
                max-width: none;
                margin: 0;
            }

            .footer-funding-logos {
                gap: clamp(14px, 2vw, 28px);
            }

            .site-footer .partner-logo,
            .site-footer .footer-brand-logo {
                pointer-events: none;
            }

            .site-footer .partner-logo:hover {
                opacity: 1;
                transform: none;
            }
        }

        @media (max-width: 820px) {
            body.normal-scroll-mode #site-pages > #mission.panel {
                min-height: auto;
            }

            #mission .panel-inner {
                height: auto;
                min-height: auto;
                padding: clamp(100px, 14vh, 148px) var(--safe-x);
            }

            #mission .belief-copy {
                margin: 0;
            }

            #mission .belief-copy span:last-child {
                margin-bottom: 0;
            }

            #expertise .expertise-shell {
                justify-items: center;
            }

            #expertise .expertise-heading {
                width: 100%;
                max-width: 640px;
                justify-self: center;
                justify-items: center;
                text-align: center;
            }

            #expertise .page-title {
                width: 100%;
                margin-inline: auto;
                text-align: center;
            }
        }

        .site-footer .footer-contact strong,
        .site-footer .footer-block-title,
        .site-footer .footer-current,
        .site-footer .footer-contact a,
        .site-footer .footer-link,
        .site-footer .footer-action,
.site-footer {
            border-top: 0;
        }

        .site-footer .footer-navigation,
        .site-footer .footer-main {
            border: 0;
            background: transparent;
        }

        .site-footer .footer-link-row {
            gap: 8px 20px;
        }

        .site-footer .footer-link,
        .site-footer .footer-action {
            border-bottom: 0;
        }

        .site-footer .footer-separator {
            display: none;
        }
.site-footer .partner-logo,
        .site-footer .footer-brand-logo {
            cursor: default;
        }

        .site-footer .partner-logo:hover,
        .site-footer .footer-brand-logo:hover {
            opacity: 1;
            transform: none;
        }


        /* v28: Services fixed grid, tabs always above copy */
        #strategy .panel-inner {
            padding: clamp(86px, 12vh, 116px) clamp(22px, 5vw, 72px) clamp(54px, 8vh, 86px);
        }

        #strategy .services-page {
            display: grid;
            grid-template-columns: clamp(220px, 28vw, 320px) minmax(0, 1fr);
            grid-template-areas: "media content";
            width: min(100%, 1180px);
            max-width: 1180px;
            min-height: auto;
            margin-inline: auto;
            align-items: start;
            column-gap: clamp(24px, 3.5vw, 48px);
            row-gap: 28px;
        }

        #strategy .service-section-title {
            position: absolute;
            width: 1px;
            height: 1px;
            margin: -1px;
            overflow: hidden;
            clip: rect(0 0 0 0);
            white-space: nowrap;
        }

        #strategy .service-media-wrap,
        #strategy .service-content,
        #strategy .service-tabs,
        #strategy .service-panes {
            inset: auto;
            left: auto;
            top: auto;
            right: auto;
            bottom: auto;
            transform: none;
        }

        #strategy .service-media-wrap {
            grid-area: media;
            position: static;
            width: 100%;
            justify-items: start;
            align-self: start;
        }

        #strategy .service-media-stage {
            width: 100%;
            aspect-ratio: 264 / 344;
            overflow: hidden;
            background: #e8e8e4;
        }

        #strategy .service-media {
            object-fit: cover;
            object-position: center;
            filter: grayscale(1);
            transform: none;
            transition: opacity 0.22s ease;
        }

        #strategy .service-content {
            grid-area: content;
            position: static;
            display: grid;
            grid-template-areas:
                "tabs"
                "copy";
            grid-template-rows: auto auto;
            width: 100%;
            max-width: none;
            align-content: start;
            row-gap: clamp(20px, 2.8vw, 34px);
        }

        #strategy .service-tabs {
            grid-area: tabs;
            position: static;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, max-content));
            justify-content: start;
            align-items: end;
            width: 100%;
            max-width: none;
            gap: clamp(16px, 2.4vw, 32px);
            margin: 0;
            overflow: visible;
            z-index: 2;
        }

        #strategy .service-tab {
            flex: 0 0 auto;
            min-width: 0;
            border-bottom: 2px solid transparent;
            color: var(--ink);
            opacity: 0.34;
            font-size: clamp(1.8rem, 2.6vw, 2.5rem);
            font-weight: 300;
            line-height: 0.98;
            white-space: nowrap;
        }

        #strategy .service-tab.is-active {
            opacity: 1;
            border-bottom-color: currentColor;
        }

        #strategy .service-tab:not(.is-active) {
            opacity: 0.34;
        }

        #strategy .service-panes {
            grid-area: copy;
            position: static;
            width: 100%;
            max-width: none;
            margin: 0;
            z-index: 1;
        }

        #strategy .service-pane {
            position: static;
        }

        #strategy .service-pane .plain-copy,
        #strategy .service-pane .highlight-copy {
            max-width: 76ch;
            margin: 0;
        }

        #strategy .service-pane .plain-copy {
            color: var(--ink);
            font-size: clamp(0.92rem, 1.05vw, 1.02rem);
            line-height: 1.36;
            overflow-wrap: break-word;
            hyphens: auto;
        }

        #strategy .service-pane .plain-copy p {
            margin: 0 0 18px;
        }

        #strategy .service-pane .plain-copy p:last-child {
            margin-bottom: 0;
        }

        @media (max-width: 1040px) {
            #strategy .services-page {
                grid-template-columns: clamp(180px, 28vw, 260px) minmax(0, 1fr);
                column-gap: clamp(20px, 3vw, 34px);
            }

            #strategy .service-tab {
                font-size: clamp(1.15rem, 2.2vw, 1.6rem);
            }

            #strategy .service-tabs {
                gap: clamp(10px, 2vw, 18px);
            }
        }

        @media (max-width: 820px) {
            #strategy .panel-inner {
                padding: clamp(86px, 12vh, 118px) var(--safe-x) clamp(48px, 8vh, 72px);
            }

            #strategy .services-page {
                grid-template-columns: minmax(104px, 34vw) minmax(0, 1fr);
                grid-template-areas: "media content";
                width: min(100%, 640px);
                column-gap: clamp(14px, 4vw, 24px);
                row-gap: 0;
            }

            #strategy .service-media-stage {
                width: 100%;
            }

            #strategy .service-content {
                row-gap: 16px;
            }

            #strategy .service-tabs {
                grid-template-columns: 1fr;
                gap: 8px;
            }

            #strategy .service-tab {
                width: max-content;
                max-width: 100%;
                font-size: clamp(1rem, 4.8vw, 1.35rem);
                line-height: 1.05;
                white-space: normal;
            }

            #strategy .service-pane .plain-copy {
                font-size: clamp(0.86rem, 3.5vw, 0.98rem);
                line-height: 1.42;
            }
        }

        @media (max-width: 480px) {
            #strategy .services-page {
                grid-template-columns: minmax(88px, 31vw) minmax(0, 1fr);
                column-gap: 14px;
            }

            #strategy .service-content {
                row-gap: 14px;
            }
        }

        /* v30: mobile services tabs span above image and copy */
        @media (max-width: 820px) {
            #strategy .services-page {
                grid-template-columns: minmax(104px, 32vw) minmax(0, 1fr);
                grid-template-areas:
                    "tabs tabs"
                    "media content";
                align-items: start;
                row-gap: clamp(14px, 4vw, 22px);
            }

            #strategy .service-content {
                display: contents;
            }

            #strategy .service-tabs {
                grid-area: tabs;
                grid-template-columns: repeat(3, max-content);
                justify-content: start;
                align-items: end;
                gap: clamp(10px, 3vw, 18px);
                width: 100%;
            }

            #strategy .service-tab {
                width: auto;
                max-width: none;
                font-size: clamp(0.95rem, 4vw, 1.35rem);
                white-space: nowrap;
            }

            #strategy .service-media-wrap {
                grid-area: media;
                align-self: start;
            }

            #strategy .service-panes {
                grid-area: content;
                align-self: start;
            }
        }

        @media (max-width: 480px) {
            #strategy .services-page {
                grid-template-columns: minmax(88px, 30vw) minmax(0, 1fr);
                row-gap: 12px;
            }

            #strategy .service-tabs {
                gap: 8px;
            }

            #strategy .service-tab {
                font-size: clamp(0.82rem, 3.7vw, 1.05rem);
            }
        }
        /* v29: Footer keeps desktop structure at all viewport sizes */
        .site-footer {
            --footer-partner-logo-height: clamp(18px, 3.6vw, 58px);
            --footer-bmwk-logo-height: clamp(28px, 5.8vw, 96px);
            --footer-esf-logo-height: clamp(18px, 3.4vw, 50px);
            --footer-small-logo-height: clamp(11px, 2.2vw, 25px);
            --footer-logo-gap: clamp(5px, 1.8vw, 28px);
            padding: clamp(18px, 4vw, 30px) 0 clamp(12px, 3vw, 16px);
        }

        .site-footer .container {
            width: min(1500px, calc(100% - clamp(18px, 5vw, 64px)));
        }

        .footer-grid {
            display: grid;
            grid-template-columns: minmax(72px, 0.42fr) minmax(0, 1fr);
            grid-template-areas:
                "brand navigation"
                "main main";
            gap: clamp(10px, 2.4vw, 24px) clamp(14px, 6vw, 84px);
            align-items: start;
        }

        .footer-brand-logo {
            grid-area: brand;
            align-self: start;
            width: fit-content;
            margin: 0;
            cursor: default;
        }

        .footer-logo-img {
            width: clamp(72px, 16vw, 210px);
            height: auto;
        }

        .footer-navigation {
            grid-area: navigation;
            justify-self: end;
            justify-items: end;
            width: auto;
            max-width: 100%;
            padding: clamp(4px, 1.4vw, 8px) clamp(4px, 2vw, 22px);
            text-align: right;
        }

        .footer-link-row {
            justify-content: flex-end;
            align-items: center;
            gap: 0;
            font-size: clamp(0.46rem, 1.65vw, 0.96rem);
            line-height: 1.25;
        }

        .footer-main {
            grid-area: main;
            display: grid;
            grid-template-columns: minmax(92px, 1fr) minmax(58px, 0.52fr) minmax(58px, 0.52fr);
            grid-template-areas:
                "funding partner beneficiary"
                "copy note note";
            gap: clamp(8px, 2vw, 24px) clamp(8px, 3vw, 46px);
            width: 100%;
            margin-top: 0;
            padding: clamp(8px, 1.5vw, 18px) clamp(8px, 2.2vw, 28px);
            overflow: visible;
            text-align: left;
        }

        .footer-funding {
            grid-area: funding;
            min-width: 0;
        }

        .footer-partner-block {
            grid-area: partner;
            min-width: 0;
        }

        .footer-beneficiary {
            grid-area: beneficiary;
            min-width: 0;
        }

        .footer-copy {
            grid-area: copy;
            max-width: none;
            margin: 0;
        }

        .footer-note {
            grid-area: note;
            grid-column: note-start / note-end;
            width: 100%;
            max-width: none;
            margin: 0;
        }

        .footer-contact,
        .footer-copy,
        .footer-note,
        .footer-block-title {
            font-size: clamp(0.46rem, 1.55vw, 0.96rem);
            line-height: 1.35;
        }

        .footer-contact a,
        .footer-link,
        .footer-action {
            min-height: 0;
            overflow-wrap: anywhere;
        }

        .footer-separator {
            display: inline-flex;
            margin: 0 clamp(3px, 1vw, 10px);
        }

        .footer-funding,
        .footer-partner-block,
        .footer-beneficiary {
            gap: clamp(5px, 1.4vw, 14px);
        }

        .footer-funding-logos {
            display: flex;
            flex-wrap: nowrap;
            align-items: flex-end;
            gap: var(--footer-logo-gap);
            min-width: 0;
        }

        .partner-logo {
            width: auto;
            max-width: 100%;
            min-height: 0;
            flex: 0 1 auto;
        }

        .footer-funding-logos .partner-logo {
            flex: 0 1 calc((100% - var(--footer-logo-gap)) / 2);
            max-width: calc((100% - var(--footer-logo-gap)) / 2);
        }

        .partner-logo img {
            width: auto;
            max-width: 100%;
            height: auto;
            max-height: var(--footer-partner-logo-height);
            object-fit: contain;
        }

        .partner-logo.bmwk img {
            max-height: var(--footer-bmwk-logo-height);
        }

        .partner-logo.esf img {
            max-height: var(--footer-esf-logo-height);
        }

        .partner-logo.ibykus img,
        .partner-logo.tmk img {
            max-height: var(--footer-small-logo-height);
        }

        @media (max-width: 540px) {
            .footer-grid {
                grid-template-columns: minmax(58px, 0.38fr) minmax(0, 1fr);
                gap: 8px 10px;
            }

            .footer-main {
                grid-template-columns: minmax(76px, 1fr) minmax(44px, 0.5fr) minmax(44px, 0.5fr);
                gap: 8px 7px;
                padding-inline: 6px;
            }

            .footer-funding-logos {
                gap: 4px;
            }
        }
        /* v31: Hero logos align with copy */
        .hero-logos {
            justify-content: flex-start;
            justify-self: flex-start;
            width: min(100%, 560px);
            max-width: 560px;
            margin-right: auto;
            margin-left: 0;
            gap: clamp(8px, 1.05vw, 14px);
        }

        @media (min-width: 821px) {
            .hero-logos {
                width: min(100%, 560px);
                max-width: 560px;
                gap: clamp(8px, 1vw, 14px);
            }
        }

        @media (max-width: 820px) {
            .hero-inner {
                align-items: flex-start;
                text-align: left;
            }

            .hero-title,
            .hero-copy {
                margin-left: 0;
                margin-right: auto;
                text-align: left;
            }

            .hero-logos {
                justify-content: flex-start;
                justify-items: start;
                width: min(100%, 430px);
                max-width: 430px;
                margin-left: 0;
                margin-right: auto;
                gap: clamp(8px, 2.4vw, 12px);
            }
        }
        /* v32: Footer logo alignment and mobile funding stack */
        .site-footer {
            --footer-partner-logo-height: clamp(34px, 3.8vw, 58px);
            --footer-bmwk-logo-height: clamp(58px, 5.6vw, 96px);
            --footer-esf-logo-height: clamp(34px, 3.8vw, 50px);
            --footer-small-logo-height: clamp(18px, 2.3vw, 25px);
            --footer-logo-gap: clamp(10px, 1.8vw, 24px);
        }

        .site-footer .footer-main {
            align-items: start;
        }

        .site-footer .footer-funding,
        .site-footer .footer-partner-block,
        .site-footer .footer-beneficiary {
            display: grid;
            grid-template-rows: minmax(1.5em, auto) auto;
            align-content: start;
            align-self: start;
            justify-items: start;
            gap: clamp(3px, 1vw, 10px);
        }

        .site-footer .footer-block-title {
            min-height: 2.7em;
            margin: 0;
        }

        .site-footer .footer-funding-logos {
            align-items: flex-start;
            justify-content: flex-start;
            gap: var(--footer-logo-gap);
        }

        .site-footer .partner-logo {
            display: flex;
            align-items: flex-start;
            justify-content: flex-start;
            width: auto;
            max-width: 100%;
            min-height: 0;
        }

        .site-footer .footer-funding-logos .partner-logo {
            flex: 0 1 auto;
            max-width: 100%;
        }

        .site-footer .partner-logo img {
            display: block;
            width: auto;
            max-width: 100%;
            height: auto;
            object-fit: contain;
            object-position: top left;
        }

        @media (max-width: 820px) {
            .site-footer {
                --footer-bmwk-logo-height: clamp(54px, 10vw, 78px);
                --footer-esf-logo-height: clamp(30px, 6vw, 44px);
                --footer-small-logo-height: clamp(17px, 3.7vw, 24px);
                --footer-logo-gap: clamp(8px, 1.6vw, 12px);
            }

            .site-footer .footer-main {
                grid-template-columns: minmax(112px, 1.35fr) minmax(64px, 0.75fr) minmax(64px, 0.75fr);
                align-items: start;
            }

            .site-footer .footer-funding-logos {
                flex-direction: column;
                flex-wrap: nowrap;
                align-items: flex-start;
                gap: clamp(7px, 1.8vw, 10px);
            }
        }

        @media (max-width: 540px) {
            .site-footer {
                --footer-bmwk-logo-height: clamp(50px, 15vw, 64px);
                --footer-esf-logo-height: clamp(28px, 8.8vw, 38px);
                --footer-small-logo-height: clamp(16px, 5vw, 22px);
                --footer-logo-gap: 7px;
            }

            .site-footer .footer-main {
                grid-template-columns: minmax(112px, 1.45fr) minmax(58px, 0.7fr) minmax(58px, 0.7fr);
                gap: 8px 7px;
            }

            .site-footer .footer-funding,
            .site-footer .footer-partner-block,
            .site-footer .footer-beneficiary {
                grid-template-rows: minmax(1.5em, auto) auto;
            }

            .site-footer .footer-block-title {
                min-height: 2.7em;
            }
        }

        /* v33: shared cleanup for expertise numbering */
        #expertise .expertise-card::before {
            content: none !important;
            display: none !important;
        }

        #expertise .expertise-card h3 {
            padding-right: 0 !important;
        }

/* v34: deploy header normalization */
.site-header,
.site-header.show,
.site-header.on-dark,
body.normal-scroll-mode .site-header,
body.normal-scroll-mode .site-header.show,
body.normal-scroll-mode .site-header.on-dark {
    background: transparent !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

.site-header .nav,
.site-header .container.nav {
    width: min(1440px, calc(100% - 48px));
    height: var(--header-h);
    min-height: var(--header-h);
    margin-inline: auto;
    padding-inline: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(20px, 2.5vw, 34px);
}

.site-header .brand,
.site-header .header-brand-logo {
    width: clamp(132px, 13vw, 192px);
    min-width: clamp(132px, 13vw, 192px);
    margin: 0;
    padding: 0;
    background: transparent !important;
    border: 0;
    line-height: 0;
}

.site-header .brand img,
.site-header .header-logo-img {
    width: 100%;
    height: auto;
}

.site-header .contact-cta,
.site-header .nav-cta {
    flex: 0 0 auto;
    margin: 0;
}

@media (max-width: 640px) {
    .site-header .nav,
    .site-header .container.nav {
        width: min(100% - 28px, 1440px);
        gap: 16px;
    }

    .site-header .brand,
    .site-header .header-brand-logo {
        width: clamp(112px, 36vw, 150px);
        min-width: clamp(112px, 36vw, 150px);
    }
}


/* v37: Hero stabil halten und nur bei sehr kleinem Browserfenster zentrieren
   Ziel: Bis 640px bleibt der Hero im Desktop-Zustand: links/versetzt, gleiche Grundtypografie,
   keine Zwischen-Breakpoints bei 1120px, 820px oder 540px. Erst ab 640px wird zentriert.
   Auslöser ist ausschließlich die Fensterbreite. */
#home .hero-inner {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    padding-top: calc(var(--header-h) + 94px) !important;
    padding-left: clamp(118px, 11.8vw, 152px) !important;
}

#home .hero-title {
    max-width: 820px !important;
    margin: clamp(98px, 14.5vh, 118px) 0 24px !important;
    color: var(--white);
    font-size: clamp(3.35rem, 4.65vw, 4.25rem) !important;
    font-weight: 300;
    line-height: 1.35 !important;
    letter-spacing: 0;
    text-align: left !important;
}

#home .hero-copy {
    max-width: 680px !important;
    margin: 0 !important;
    text-align: left !important;
}

#home .hero-logos {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    justify-items: start !important;
    justify-self: flex-start !important;
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    gap: clamp(8px, 1vw, 14px) !important;
}

/* Nur ganz kleines Browserfenster: Hero zentrieren */
@media (max-width: 640px) {
    #home .hero-inner {
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        padding-top: calc(var(--header-h) + 26px) !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    #home .hero-title {
        max-width: 10ch !important;
        margin: clamp(44px, 9vh, 82px) auto 24px !important;
        font-size: clamp(2.55rem, 12.5vw, 4.1rem) !important;
        line-height: 1.1 !important;
        text-align: center !important;
    }

    #home .hero-copy {
        max-width: 34rem !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    #home .hero-logos {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-items: center !important;
        justify-content: center !important;
        justify-items: center !important;
        justify-self: center !important;
        width: min(100%, 370px) !important;
        max-width: 370px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        gap: 22px 34px !important;
    }
}

/* Footer komplett ohne fettgedruckte Schrift */
.site-footer,
.site-footer * {
    font-weight: 400 !important;
}

/* v38: Services-Überschrift wieder sichtbar machen
   Grund: Der v28-Block versteckte .service-section-title technisch mit 1px/clip.
   Diese Regeln setzen "Our Services" sichtbar über die Tabs zurück. */
#strategy .services-page {
    grid-template-columns: clamp(220px, 28vw, 320px) minmax(0, 1fr) !important;
    grid-template-areas:
        "media title"
        "media content" !important;
    align-items: start !important;
}

#strategy .service-section-title {
    grid-area: title !important;
    position: static !important;
    display: block !important;
    width: fit-content !important;
    height: auto !important;
    margin: 0 0 clamp(16px, 2.5vw, 28px) !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
    color: var(--ink) !important;
    font-size: clamp(3.3rem, 4.75vw, 4.1rem) !important;
    font-weight: 300 !important;
    line-height: 1.08 !important;
    text-align: left !important;
    justify-self: start !important;
    align-self: end !important;
}

#strategy .service-content {
    grid-area: content !important;
}

@media (max-width: 820px) {
    #strategy .services-page {
        grid-template-columns: minmax(104px, 32vw) minmax(0, 1fr) !important;
        grid-template-areas:
            "title title"
            "tabs tabs"
            "media content" !important;
        row-gap: clamp(14px, 4vw, 22px) !important;
    }

    #strategy .service-section-title {
        width: fit-content !important;
        margin: 0 0 clamp(10px, 3vw, 18px) !important;
        font-size: clamp(2.45rem, 13vw, 3.35rem) !important;
        text-align: left !important;
        justify-self: start !important;
    }
}

@media (max-width: 480px) {
    #strategy .services-page {
        grid-template-columns: minmax(88px, 30vw) minmax(0, 1fr) !important;
        grid-template-areas:
            "title title"
            "tabs tabs"
            "media content" !important;
    }
}

/* v39: Footer-Textblöcke unter allen Logos
   Beibehaltung des bestehenden Footer-Logo-/Navigationslayouts.
   Nur die beiden Textabsätze werden neu platziert:
   1) Förderhinweis über die gesamte Footer-Main-Breite
   2) Rechtehinweis darunter über die gesamte Footer-Main-Breite. */
.site-footer .footer-main {
    grid-template-areas:
        "funding partner beneficiary"
        "note note note"
        "copy copy copy" !important;
}

.site-footer .footer-note {
    grid-area: note !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.site-footer .footer-copy {
    grid-area: copy !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: clamp(6px, 1vw, 10px) 0 0 !important;
}

/* v40: Our-Services-Texte ohne Wort-/Silbentrennung
   Beibehaltung der bestehenden Hero-, Services-Überschrift- und Footer-Anpassungen.
   Die Absätze dürfen weiterhin normal am Leerzeichen umbrechen, aber Wörter werden nicht mehr
   automatisch getrennt oder hart gebrochen. Die Tab-Beschriftungen bleiben einzeilig. */
#strategy .service-tab,
#strategy .service-pane .plain-copy,
#strategy .service-pane .plain-copy p,
#strategy .service-pane .highlight-copy,
#strategy .service-pane .highlight-copy p {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    -ms-hyphens: none !important;
}

#strategy .service-tab {
    white-space: nowrap !important;
    text-wrap: nowrap !important;
}

@media (max-width: 820px) {
    #strategy .service-tab {
        white-space: nowrap !important;
        text-wrap: nowrap !important;
        max-width: none !important;
    }
}
