/* =========================================================
   REASCENTEC
   DESIGN SYSTEM 2.0
   ========================================================= */
/* =========================================================
   LOCAL FONTS
   ========================================================= */

@font-face {
    font-family: "Space Grotesk";
    src: url("../fonts/space-grotesk/SpaceGrotesk-Variable.woff2")
        format("woff2");
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
}


@font-face {
    font-family: "Inter";
    src: url("../fonts/inter/Inter-Variable.woff2")
        format("woff2");
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
}


@font-face {
    font-family: "IBM Plex Mono";
    src: url("../fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2")
        format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

:root {
    --rs-midnight: #00052d;
    --rs-graphite: #666666;
    --rs-offwhite: #f5f6f7;
    --rs-white: #ffffff;
    --rs-lime: #c6ff3d;

    --rs-wide: 1440px;
    --rs-content: 1240px;
    --rs-gutter: 32px;

    --rs-section: 160px;
    --rs-radius: 2px;

    --rs-font-display: "Space Grotesk", sans-serif;
    --rs-font-body: "Inter", sans-serif;
    --rs-font-mono: "IBM Plex Mono", monospace;
}


/* RESET
   ========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    background: var(--rs-offwhite);
    color: var(--rs-midnight);
    font-family: var(--rs-font-body);
    -webkit-font-smoothing: antialiased;
}

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

a {
    color: inherit;
}


/* LAYOUT
   ========================================================= */

.rs-container {
    width: min(
        calc(100% - (var(--rs-gutter) * 2)),
        var(--rs-content)
    );
    margin-inline: auto;
}


/* =========================================================
   HEADER / CONTROL BAR
   ========================================================= */

.site-header {
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;

    width: 100%;

    color: var(--rs-white);

    transition:
        background-color .35s ease,
        backdrop-filter .35s ease,
        box-shadow .35s ease;
}


/* =========================================================
   INNER
   ========================================================= */

.site-header__inner {
    position: relative;

    display: grid;
    grid-template-columns:
        minmax(190px, 1fr)
        auto
        minmax(260px, 1fr);

    align-items: center;

    min-height: 104px;

    border-bottom: 1px solid rgba(255, 255, 255, .14);

    transition:
        min-height .35s ease,
        border-color .35s ease;
}


/* =========================================================
   SCROLLED STATE
   ========================================================= */

.site-header.is-scrolled {
    background: rgba(0, 5, 45, .91);

    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);

    box-shadow:
        0 10px 40px rgba(0, 0, 0, .08);
}

.site-header.is-scrolled .site-header__inner {
    min-height: 72px;
    border-bottom-color: rgba(255, 255, 255, .09);
}


/* =========================================================
   BRAND
   ========================================================= */

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 13px;

    width: fit-content;

    color: var(--rs-white);
    text-decoration: none;
}

.site-brand__mark {
    display: block;

    width: 31px;
    height: 31px;

    object-fit: contain;

    transition:
        width .35s ease,
        height .35s ease,
        transform .35s ease;
}

.site-brand__name {
    font-family: var(--rs-font-display);
    font-size: 16px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: -.02em;
}

.site-brand:hover .site-brand__mark {
    transform: rotate(4deg);
}

.site-header.is-scrolled .site-brand__mark {
    width: 26px;
    height: 26px;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.site-nav {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: clamp(18px, 2vw, 32px);
}

.site-nav a {
    position: relative;

    padding: 12px 0;

    color: rgba(255, 255, 255, .52);
    text-decoration: none;

    font-family: var(--rs-font-mono);
    font-size: 9px;
    line-height: 1;
    letter-spacing: .09em;

    transition:
        color .25s ease;
}

.site-nav a::before {
    content: "";

    position: absolute;

    left: 0;
    bottom: 4px;

    width: 0;
    height: 1px;

    background: var(--rs-lime);

    transition:
        width .3s cubic-bezier(.2, .7, .2, 1);
}

.site-nav a:hover {
    color: var(--rs-white);
}

.site-nav a:hover::before {
    width: 100%;
}


/* ACTIVE NAV */

.site-nav a.is-active {
    color: var(--rs-white);
}

.site-nav a.is-active::before {
    width: 100%;
}


/* ACTIVE MICRO MARKER */

.site-nav a.is-active::after {
    content: "";

    position: absolute;

    top: 3px;
    right: -7px;

    width: 4px;
    height: 4px;

    background: var(--rs-lime);
}


/* =========================================================
   RIGHT SIDE
   ========================================================= */

.site-header__right {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 22px;
}


/* =========================================================
   LANGUAGE
   ========================================================= */

.language-switch {
    display: flex;
    align-items: center;
    gap: 6px;

    font-family: var(--rs-font-mono);
    font-size: 9px;
    line-height: 1;
    letter-spacing: .09em;

    color: rgba(255, 255, 255, .32);
}

.language-switch i {
    font-style: normal;
    color: rgba(255, 255, 255, .18);
}

.language-switch .is-active {
    color: var(--rs-lime);
}


/* =========================================================
   SECTION STATUS
   ========================================================= */

.site-header__status {
    display: grid;
    grid-template-columns: auto auto 1fr;
    align-items: center;

    gap: 7px;

    min-width: 145px;

    padding: 12px 14px;

    border: 1px solid rgba(198, 255, 61, .42);

    font-family: var(--rs-font-mono);
    font-size: 9px;
    line-height: 1;
    letter-spacing: .08em;

    color: var(--rs-lime);

    transition:
        background-color .25s ease,
        color .25s ease,
        border-color .25s ease;
}

.site-header__status-number {
    color: var(--rs-lime);
}

.site-header__status-divider {
    color: rgba(198, 255, 61, .38);
}

.site-header__status-name {
    overflow: hidden;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.site-header.is-scrolled .site-header__status {
    background: var(--rs-lime);
    border-color: var(--rs-lime);

    color: var(--rs-midnight);
}

.site-header.is-scrolled .site-header__status-number,
.site-header.is-scrolled .site-header__status-divider {
    color: var(--rs-midnight);
}


/* =========================================================
   SCROLL PROGRESS
   ========================================================= */

.site-header__progress {
    position: absolute;

    right: 0;
    bottom: 0;
    left: 0;

    height: 2px;

    overflow: hidden;

    pointer-events: none;
}

.site-header__progress span {
    display: block;

    width: 0;
    height: 100%;

    background: var(--rs-lime);

    transform-origin: left center;
}


/* =========================================================
   MOBILE TOGGLE
   ========================================================= */

.menu-toggle {
    display: none;

    position: relative;

    width: 42px;
    height: 42px;

    padding: 0;

    border: 1px solid rgba(255, 255, 255, .18);
    background: transparent;

    cursor: pointer;
}

.menu-toggle span {
    position: absolute;

    left: 11px;

    width: 18px;
    height: 1px;

    background: var(--rs-white);

    transition:
        top .3s ease,
        transform .3s ease;
}

.menu-toggle span:first-child {
    top: 16px;
}

.menu-toggle span:last-child {
    top: 24px;
}


/* OPEN */

body.menu-open .menu-toggle span:first-child {
    top: 20px;
    transform: rotate(45deg);
}

body.menu-open .menu-toggle span:last-child {
    top: 20px;
    transform: rotate(-45deg);
}


/* =========================================================
   FULL SCREEN MOBILE MENU
   ========================================================= */

.mobile-menu {
    position: fixed;

    z-index: 900;

    inset: 0;

    visibility: hidden;
    opacity: 0;

    background: var(--rs-midnight);
    color: var(--rs-white);

    transition:
        opacity .35s ease,
        visibility .35s ease;
}

body.menu-open {
    overflow: hidden;
}

body.menu-open .mobile-menu {
    visibility: visible;
    opacity: 1;
}


/* =========================================================
   MOBILE INNER
   ========================================================= */

.mobile-menu__inner {
    display: flex;
    flex-direction: column;

    min-height: 100svh;

    padding-top: 105px;
    padding-bottom: 35px;
}


/* =========================================================
   MOBILE TOP
   ========================================================= */

.mobile-menu__top {
    display: flex;
    justify-content: space-between;

    padding: 20px 0;

    border-top: 1px solid rgba(255, 255, 255, .15);
    border-bottom: 1px solid rgba(255, 255, 255, .15);

    font-family: var(--rs-font-mono);
    font-size: 8px;
    letter-spacing: .1em;

    color: rgba(255, 255, 255, .36);
}


/* =========================================================
   MOBILE NAVIGATION
   ========================================================= */

.mobile-menu__nav {
    border-top: 1px solid rgba(255, 255, 255, .13);
}

.mobile-menu__nav a {
    display: grid;

    grid-template-columns: 45px 1fr auto;

    gap: 15px;
    align-items: center;

    min-height: 74px;

    border-bottom: 1px solid rgba(255, 255, 255, .13);

    color: var(--rs-white);
    text-decoration: none;
}

.mobile-menu__nav a > span {
    font-family: var(--rs-font-mono);
    font-size: 9px;

    color: rgba(255, 255, 255, .3);
}

.mobile-menu__nav strong {
    font-family: var(--rs-font-display);
    font-size: clamp(27px, 7vw, 38px);
    line-height: 1;
    letter-spacing: -.04em;
    font-weight: 500;

    transition:
        color .2s ease,
        transform .25s ease;
}

.mobile-menu__nav i {
    font-family: var(--rs-font-display);
    font-size: 22px;
    font-style: normal;

    color: var(--rs-lime);

    transition: transform .25s ease;
}


/* MOBILE HOVER */

.mobile-menu__nav a:hover strong {
    color: var(--rs-lime);
    transform: translateX(6px);
}

.mobile-menu__nav a:hover i {
    transform: translateX(6px);
}


/* =========================================================
   MOBILE BOTTOM
   ========================================================= */

.mobile-menu__bottom {
    display: flex;
    justify-content: space-between;

    gap: 25px;

    margin-top: auto;
    padding-top: 25px;

    border-top: 1px solid rgba(255, 255, 255, .14);

    font-family: var(--rs-font-mono);
    font-size: 8px;
    line-height: 1.5;
    letter-spacing: .08em;

    color: rgba(255, 255, 255, .3);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .site-header__inner {
        grid-template-columns: auto 1fr auto;
    }

    .site-nav {
        display: none;
    }

    .menu-toggle {
        display: block;
    }

    .site-header__status {
        min-width: 130px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .site-header__inner {
        min-height: 82px;

        grid-template-columns: 1fr auto;

        gap: 20px;
    }

    .site-header.is-scrolled .site-header__inner {
        min-height: 68px;
    }

    .site-brand__mark {
        width: 28px;
        height: 28px;
    }

    .site-brand__name {
        font-size: 14px;
    }

    .language-switch {
        display: none;
    }

    .site-header__status {
        display: none;
    }

    .site-header__right {
        gap: 12px;
    }

    .mobile-menu__inner {
        padding-top: 88px;
    }

    .mobile-menu__bottom {
        flex-direction: column;
        gap: 6px;
    }

}


/* =========================================================
   VERY SMALL
   ========================================================= */

@media (max-width: 420px) {

    .site-brand__name {
        font-size: 13px;
    }

    .mobile-menu__nav a {
        min-height: 68px;
    }

    .mobile-menu__nav strong {
        font-size: 28px;
    }

}


/* =========================================================
   ADMIN BAR
   ========================================================= */

.admin-bar .site-header {
    top: 32px;
}

.admin-bar .mobile-menu {
    top: 32px;
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .site-header,
    .site-header *,
    .mobile-menu,
    .mobile-menu * {
        transition: none !important;
    }

}

/* HERO
   ========================================================= */

.hero {
    position: relative;
    min-height: 100svh;
    overflow: hidden;
    background: var(--rs-midnight);
    color: var(--rs-white);
}

.hero__inner {
    min-height: 100svh;
    display: grid;
    grid-template-columns: 7fr 5fr;
    align-items: center;
    gap: 80px;

    box-sizing: border-box;

    /*
     * Der neue feste Header braucht oben einen eigenen Bereich.
     * Dadurch beginnt der eigentliche Hero nicht mehr hinter
     * Navigation und Statusanzeige.
     */
    padding-top: 190px;
    padding-bottom: 100px;
}

.hero__content {
    position: relative;
    z-index: 2;
}

.rs-label {
    margin-bottom: 38px;
    color: var(--rs-lime);
    font-family: var(--rs-font-mono);
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.hero__title {
    margin: 0;
    font-family: var(--rs-font-display);
    font-size: clamp(62px, 5.9vw, 96px);
    font-weight: 500;
    line-height: .9;
    letter-spacing: -.055em;
}

.hero__title span {
    color: var(--rs-lime);
}

.hero__intro {
    max-width: 510px;
    margin: 42px 0 0;
    color: rgba(255,255,255,.76);
    font-size: 18px;
    line-height: 1.55;
}

.rs-link {
    display: flex;
    width: min(100%, 360px);
    align-items: center;
    justify-content: space-between;
    padding: 18px 0;
    border-bottom: 1px solid rgba(255,255,255,.45);
    font-family: var(--rs-font-mono);
    font-size: 11px;
    letter-spacing: .06em;
    text-decoration: none;
    transition:
        color .25s ease,
        border-color .25s ease;
}

.hero__cta {
    margin-top: 42px;
}

.rs-link:hover {
    color: var(--rs-lime);
    border-color: var(--rs-lime);
}


/* HERO GRID
   ========================================================= */

.hero__visual {
    position: relative;
    display: flex;
    min-height: 500px;
    align-items: center;
    justify-content: center;
}

.hero-grid {
    position: relative;
    display: grid;
    width: min(27vw, 360px);
    aspect-ratio: 1;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.hero-grid::before,
.hero-grid::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.hero-grid::before {
    top: -70px;
    bottom: -70px;
    left: 33.333%;
    border-left: 1px solid rgba(255,255,255,.08);
}

.hero-grid::after {
    top: 66.666%;
    right: -70px;
    left: -70px;
    border-top: 1px solid rgba(255,255,255,.08);
}

.hero-grid__cell {
    position: relative;
    z-index: 1;
    border: 1px solid rgba(255,255,255,.30);
    background: rgba(255,255,255,.04);
    transition:
        border-color .4s ease,
        background .4s ease,
        transform .4s ease;
}

.hero-grid__cell--progress {
    border-color: var(--rs-lime);
    background: var(--rs-lime);
}

.hero-grid:hover .hero-grid__cell {
    transform: translateY(-2px);
    border-color: rgba(255,255,255,.5);
}

.hero-grid:hover .hero-grid__cell--progress {
    border-color: var(--rs-lime);
}

.hero__visual-caption {
    position: absolute;
    right: 0;
    bottom: 20px;
    left: 0;
    display: flex;
    justify-content: space-between;
    color: rgba(255,255,255,.38);
    font-family: var(--rs-font-mono);
    font-size: 9px;
    letter-spacing: .08em;
}

.hero__progress {
    color: var(--rs-lime);
}

/* HERO GRID ANIMATION
   ========================================================= */

.hero-grid__cell {
    opacity: 0;
    transform: translateY(18px) scale(.96);
    animation: rs-grid-in .7s cubic-bezier(.2,.7,.2,1) forwards;
}

.hero-grid__cell:nth-child(1) { animation-delay: .85s; }
.hero-grid__cell:nth-child(2) { animation-delay: .20s; }
.hero-grid__cell:nth-child(3) { animation-delay: .35s; }
.hero-grid__cell:nth-child(4) { animation-delay: .10s; }
.hero-grid__cell:nth-child(5) { animation-delay: .50s; }
.hero-grid__cell:nth-child(6) { animation-delay: .28s; }
.hero-grid__cell:nth-child(7) { animation-delay: .42s; }
.hero-grid__cell:nth-child(8) { animation-delay: .16s; }
.hero-grid__cell:nth-child(9) { animation-delay: .62s; }

.hero-grid__cell--progress {
    animation-delay: 1.15s !important;
}

@keyframes rs-grid-in {
    from {
        opacity: 0;
        transform: translateY(18px) scale(.96);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}


/* Lime-Feld als finaler "Progress"-Impuls */

.hero-grid__cell--progress::after {
    content: "";
    position: absolute;
    inset: -1px;
    border: 1px solid var(--rs-lime);
    opacity: 0;
    animation: rs-progress-pulse 1.2s ease 1.8s 1 forwards;
}

@keyframes rs-progress-pulse {
    0% {
        opacity: 0;
        transform: scale(1);
    }

    30% {
        opacity: .9;
    }

    100% {
        opacity: 0;
        transform: scale(1.16);
    }
}


/* Technische Hilfslinien fahren ein */

.hero-grid::before {
    transform: scaleY(0);
    transform-origin: top;
    animation: rs-line-y .8s ease 1.35s forwards;
}

.hero-grid::after {
    transform: scaleX(0);
    transform-origin: left;
    animation: rs-line-x .8s ease 1.5s forwards;
}

@keyframes rs-line-y {
    to {
        transform: scaleY(1);
    }
}

@keyframes rs-line-x {
    to {
        transform: scaleX(1);
    }
}


/* Dezente Reaktion beim Hover */

.hero-grid__cell {
    transition:
        transform .35s ease,
        border-color .35s ease,
        background-color .35s ease;
}

.hero-grid:hover .hero-grid__cell {
    transform: translateY(-3px);
}

.hero-grid:hover .hero-grid__cell:nth-child(2),
.hero-grid:hover .hero-grid__cell:nth-child(6),
.hero-grid:hover .hero-grid__cell:nth-child(8) {
    transform: translateY(2px);
}

.hero-grid:hover .hero-grid__cell--progress {
    transform: translateY(-3px) scale(1.025);
}


/* Accessibility */

@media (prefers-reduced-motion: reduce) {

    .hero-grid__cell,
    .hero-grid__cell--progress::after,
    .hero-grid::before,
    .hero-grid::after {
        animation: none !important;
        opacity: 1;
        transform: none;
    }
}

/* HERO BOTTOM
   ========================================================= */

.hero__bottom {
    position: absolute;
    right: 0;
    bottom: 32px;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.hero__explore {
    display: flex;
    align-items: center;
    gap: 14px;
    color: rgba(255,255,255,.6);
    font-family: var(--rs-font-mono);
    font-size: 9px;
    letter-spacing: .1em;
    text-decoration: none;
}

.hero__explore:hover {
    color: var(--rs-lime);
}

.hero__index {
    color: rgba(255,255,255,.35);
    font-family: var(--rs-font-mono);
    font-size: 10px;
}


.site-footer {
    background: var(--rs-midnight);
    color: rgba(255,255,255,.38);
}

.site-footer__inner {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    padding-top: 28px;
    padding-bottom: 28px;
    border-top: 1px solid rgba(255,255,255,.12);
    font-family: var(--rs-font-mono);
    font-size: 9px;
    letter-spacing: .08em;
}

.site-footer__links {
    display: flex;
    gap: 25px;
}

.site-footer a {
    color: inherit;
    text-decoration: none;
}

.site-footer a:hover {
    color: var(--rs-white);
}

@media (max-width: 767px) {

    .site-footer__inner {
        flex-direction: column;
    }

}
/* =========================================================
   02 / THE CHALLENGE
   ========================================================= */

.challenge {
    padding: 170px 0 150px;
    background: var(--rs-offwhite);
    color: var(--rs-midnight);
}

.rs-label--dark {
    color: var(--rs-midnight);
}

.challenge__head {
    padding-bottom: 90px;
    border-bottom: 1px solid rgba(0,5,45,.16);
}

.challenge__title {
    max-width: 1050px;
    margin: 0;
    font-family: var(--rs-font-display);
    font-size: clamp(50px, 5.2vw, 82px);
    line-height: .94;
    letter-spacing: -.05em;
    font-weight: 500;
}

.challenge__grid {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 100px;
    padding-top: 70px;
}

.challenge__intro p {
    max-width: 440px;
    margin: 0;
    color: rgba(0,5,45,.72);
    font-size: 20px;
    line-height: 1.65;
}

.challenge__items {
    border-top: 1px solid rgba(0,5,45,.18);
}

.challenge-item {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 28px;
    align-items: center;
    min-height: 92px;
    border-bottom: 1px solid rgba(0,5,45,.18);
}

.challenge-item__number {
    font-family: var(--rs-font-mono);
    font-size: 10px;
    letter-spacing: .08em;
    color: var(--rs-graphite);
}

.challenge-item p {
    margin: 0;
    font-family: var(--rs-font-display);
    font-size: 25px;
    line-height: 1.2;
    letter-spacing: -.02em;
}

.challenge__statement {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 100px;
    margin-top: 90px;
    padding-top: 28px;
    border-top: 1px solid var(--rs-midnight);
}

.challenge__statement span {
    font-family: var(--rs-font-mono);
    font-size: 10px;
    letter-spacing: .08em;
}

.challenge__statement strong {
    font-family: var(--rs-font-display);
    font-size: clamp(32px, 3.3vw, 50px);
    line-height: 1.05;
    letter-spacing: -.04em;
    font-weight: 500;
}

.challenge__statement strong::after {
    content: "";
    display: inline-block;
    width: .28em;
    height: .28em;
    margin-left: .12em;
    background: var(--rs-lime);
}


/* TABLET */

@media (max-width: 1050px) {

    .challenge__grid,
    .challenge__statement {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .challenge__intro p {
        max-width: 620px;
    }
}


/* MOBILE */

@media (max-width: 767px) {

    .challenge {
        padding: 100px 0 90px;
    }

    .challenge__head {
        padding-bottom: 55px;
    }

    .challenge__title {
        font-size: clamp(44px, 12vw, 62px);
    }

    .challenge__grid {
        gap: 45px;
        padding-top: 45px;
    }

    .challenge__intro p {
        font-size: 17px;
    }

    .challenge-item {
        grid-template-columns: 42px 1fr;
        min-height: 82px;
        gap: 16px;
    }

    .challenge-item p {
        font-size: 20px;
    }

    .challenge__statement {
        gap: 24px;
        margin-top: 80px;
    }
}
/* =========================================================
   03 / APPROACH
   ========================================================= */

.approach {
    padding: 170px 0 150px;
    background: var(--rs-midnight);
    color: var(--rs-white);
}

.approach__head {
    padding-bottom: 90px;
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.approach__title {
    max-width: 1000px;
    margin: 0;
    font-family: var(--rs-font-display);
    font-size: clamp(50px, 5.2vw, 82px);
    line-height: .94;
    letter-spacing: -.05em;
    font-weight: 500;
}

.approach__title span {
    color: var(--rs-lime);
}


/* STEPS */

.approach__steps {
    margin-top: 70px;
    border-top: 1px solid rgba(255,255,255,.14);
}

.approach-step {
    display: grid;
    grid-template-columns: 70px 4fr 5fr;
    gap: 28px;
    align-items: center;
    min-height: 116px;
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.approach-step__number {
    font-family: var(--rs-font-mono);
    font-size: 10px;
    letter-spacing: .08em;
    color: rgba(255,255,255,.38);
}

.approach-step h3 {
    margin: 0;
    font-family: var(--rs-font-display);
    font-size: clamp(30px, 3vw, 46px);
    line-height: 1;
    letter-spacing: -.04em;
    font-weight: 500;
    transition: color .25s ease;
}

.approach-step p {
    max-width: 500px;
    margin: 0;
    color: rgba(255,255,255,.58);
    font-size: 15px;
    line-height: 1.6;
}

.approach-step:hover h3 {
    color: var(--rs-lime);
}

.approach-step--final h3 {
    color: var(--rs-lime);
}


/* BELIEF */

.approach-belief {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 100px;
    margin-top: 150px;
    padding-top: 30px;
    border-top: 1px solid rgba(255,255,255,.3);
}

.approach-belief__label {
    font-family: var(--rs-font-mono);
    font-size: 10px;
    letter-spacing: .08em;
    color: var(--rs-lime);
}

.approach-belief__content h3 {
    margin: 0;
    font-family: var(--rs-font-display);
    font-size: clamp(42px, 4.6vw, 70px);
    line-height: .94;
    letter-spacing: -.05em;
    font-weight: 500;
}

.approach-belief__sources {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin-top: 48px;
    font-family: var(--rs-font-mono);
    font-size: 9px;
    line-height: 1.4;
    letter-spacing: .08em;
    color: rgba(255,255,255,.45);
}

.approach-belief__content strong {
    display: block;
    margin-top: 60px;
    font-family: var(--rs-font-display);
    font-size: clamp(25px, 2.5vw, 38px);
    line-height: 1.1;
    letter-spacing: -.035em;
    font-weight: 500;
}

.approach-belief__content strong i {
    display: inline-block;
    width: .32em;
    height: .32em;
    margin-left: .18em;
    background: var(--rs-lime);
}


/* TABLET */

@media (max-width: 1050px) {

    .approach-step {
        grid-template-columns: 50px 1fr 1fr;
    }

    .approach-belief {
        grid-template-columns: 1fr;
        gap: 45px;
    }
}


/* MOBILE */

@media (max-width: 767px) {

    .approach {
        padding: 100px 0 90px;
    }

    .approach__head {
        padding-bottom: 55px;
    }

    .approach__title {
        font-size: clamp(44px, 12vw, 62px);
    }

    .approach__steps {
        margin-top: 45px;
    }

    .approach-step {
        grid-template-columns: 38px 1fr;
        gap: 10px 14px;
        padding: 24px 0;
    }

    .approach-step__number {
        grid-row: 1 / 3;
        align-self: start;
        padding-top: 6px;
    }

    .approach-step h3 {
        font-size: 30px;
    }

    .approach-step p {
        grid-column: 2;
        font-size: 14px;
    }

    .approach-belief {
        margin-top: 100px;
        gap: 35px;
    }

    .approach-belief__content h3 {
        font-size: clamp(40px, 11vw, 56px);
    }

    .approach-belief__sources {
        flex-direction: column;
        gap: 8px;
        margin-top: 35px;
    }

    .approach-belief__content strong {
        margin-top: 45px;
        font-size: 25px;
    }
}
/* =========================================================
   04 / CAPABILITIES
   ========================================================= */

.capabilities {
    padding: 170px 0 150px;
    background: var(--rs-offwhite);
    color: var(--rs-midnight);
}

.capabilities__head {
    display: grid;
    grid-template-columns: 1fr 2fr;
    column-gap: 100px;
    padding-bottom: 100px;
}

.capabilities__head .rs-label {
    grid-column: 1 / -1;
}

.capabilities__title {
    margin: 0;
    font-family: var(--rs-font-display);
    font-size: clamp(50px, 5.2vw, 82px);
    line-height: .94;
    letter-spacing: -.05em;
    font-weight: 500;
}

.capabilities__intro {
    align-self: end;
    max-width: 540px;
    margin: 0 0 5px auto;
    color: rgba(0,5,45,.68);
    font-size: 18px;
    line-height: 1.65;
}


/* CAPABILITY ROW */

.capabilities__list {
    border-top: 1px solid rgba(0,5,45,.22);
}

.capability {
    display: grid;
    grid-template-columns: 70px 5fr 5fr;
    gap: 28px;
    padding: 55px 0;
    border-bottom: 1px solid rgba(0,5,45,.22);
}

.capability__number {
    padding-top: 5px;
    font-family: var(--rs-font-mono);
    font-size: 10px;
    letter-spacing: .08em;
    color: var(--rs-graphite);
}

.capability h3 {
    margin: 0;
    font-family: var(--rs-font-display);
    font-size: clamp(30px, 3vw, 44px);
    line-height: .98;
    letter-spacing: -.04em;
    font-weight: 500;
    transition: color .25s ease;
}

.capability:hover h3 {
    color: #769800;
}

.capability__content p {
    max-width: 520px;
    margin: 0;
    color: rgba(0,5,45,.68);
    font-size: 16px;
    line-height: 1.65;
}

.capability__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-top: 32px;
}

.capability__tags span {
    font-family: var(--rs-font-mono);
    font-size: 9px;
    line-height: 1.4;
    letter-spacing: .07em;
    color: var(--rs-graphite);
}

.capability__tags span::before {
    content: "■";
    margin-right: 7px;
    color: var(--rs-lime);
    font-size: 7px;
}


/* TABLET */

@media (max-width: 1050px) {

    .capabilities__head {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .capabilities__intro {
        margin-left: 0;
    }

    .capability {
        grid-template-columns: 50px 1fr 1fr;
    }
}


/* MOBILE */

@media (max-width: 767px) {

    .capabilities {
        padding: 100px 0 90px;
    }

    .capabilities__head {
        gap: 35px;
        padding-bottom: 65px;
    }

    .capabilities__title {
        font-size: clamp(44px, 12vw, 62px);
    }

    .capabilities__intro {
        font-size: 17px;
    }

    .capability {
        grid-template-columns: 38px 1fr;
        gap: 12px 14px;
        padding: 38px 0;
    }

    .capability__number {
        grid-row: 1 / 3;
    }

    .capability h3 {
        font-size: 29px;
    }

    .capability__content {
        grid-column: 2;
    }

    .capability__content p {
        font-size: 15px;
    }

    .capability__tags {
        margin-top: 24px;
    }
}
/* =========================================================
   05 / WHEN TO CALL REASCENTEC
   ========================================================= */

.when-to-call {
    padding: 160px 0 120px;
    background: var(--rs-lime);
    color: var(--rs-midnight);
}


/* =========================================================
   HEAD
   ========================================================= */

.when-to-call__head {
    padding-bottom: 90px;
    border-bottom: 1px solid rgba(0, 5, 45, .35);
}

.when-to-call__title {
    max-width: 1100px;
    margin: 0;

    font-family: var(--rs-font-display);
    font-size: clamp(58px, 6.5vw, 104px);
    line-height: .9;
    letter-spacing: -.06em;
    font-weight: 500;
    color: var(--rs-midnight);
}

.when-to-call__title i {
    display: inline-block;
    width: .28em;
    height: .28em;
    margin-left: .12em;
    background: var(--rs-midnight);
}


/* =========================================================
   2 × 2 TRIGGER GRID
   ========================================================= */

.when-to-call__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* ITEM */

.when-item {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 330px;
    padding: 42px 55px 45px 0;

    border-bottom: 1px solid rgba(0, 5, 45, .35);
}


/* RIGHT COLUMN */

.when-item:nth-child(even) {
    padding-left: 55px;
    padding-right: 0;
    border-left: 1px solid rgba(0, 5, 45, .35);
}


/* NUMBER */

.when-item__number {
    display: block;

    font-family: var(--rs-font-mono);
    font-size: 10px;
    line-height: 1;
    letter-spacing: .1em;

    color: rgba(0, 5, 45, .5);
}


/* TITLE */

.when-item h3 {
    max-width: 560px;
    margin: 50px 0 0;

    font-family: var(--rs-font-display);
    font-size: clamp(30px, 3vw, 46px);
    line-height: .98;
    letter-spacing: -.045em;
    font-weight: 500;

    color: var(--rs-midnight);
}


/* TEXT */

.when-item p {
    max-width: 500px;
    margin: auto 0 0;

    font-family: var(--rs-font-body);
    font-size: 15px;
    line-height: 1.65;

    color: rgba(0, 5, 45, .68);
}


/* =========================================================
   CTA
   ========================================================= */

.when-to-call__cta {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 80px;
    align-items: center;

    margin-top: 100px;
    padding-top: 30px;

    border-top: 1px solid rgba(0, 5, 45, .5);
}


/* CTA LABEL */

.when-to-call__cta > span {
    font-family: var(--rs-font-mono);
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: .1em;

    color: rgba(0, 5, 45, .62);
}


/* CTA LINK */

.when-to-call__cta a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;

    padding-bottom: 18px;

    border-bottom: 1px solid var(--rs-midnight);

    font-family: var(--rs-font-display);
    font-size: clamp(27px, 3vw, 46px);
    line-height: 1;
    letter-spacing: -.04em;
    font-weight: 500;

    color: var(--rs-midnight);
    text-decoration: none;

    transition:
        opacity .25s ease,
        padding-left .25s ease;
}


/* ARROW */

.when-to-call__cta a span {
    display: inline-block;
    flex: 0 0 auto;

    font-family: var(--rs-font-display);

    transition: transform .25s ease;
}


/* CTA HOVER */

.when-to-call__cta a:hover {
    opacity: .68;
    padding-left: 10px;
}

.when-to-call__cta a:hover span {
    transform: translateX(8px);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

    .when-to-call {
        padding: 130px 0 100px;
    }

    .when-to-call__head {
        padding-bottom: 75px;
    }

    .when-item {
        min-height: 310px;
        padding-right: 35px;
    }

    .when-item:nth-child(even) {
        padding-left: 35px;
    }

    .when-item h3 {
        margin-top: 40px;
    }

    .when-to-call__cta {
        grid-template-columns: 1fr;
        gap: 40px;
        margin-top: 80px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .when-to-call {
        padding: 100px 0 80px;
    }


    /* HEAD */

    .when-to-call__head {
        padding-bottom: 55px;
    }

    .when-to-call__title {
        font-size: clamp(48px, 13vw, 68px);
    }


    /* GRID */

    .when-to-call__grid {
        grid-template-columns: 1fr;
    }


    /* ITEMS */

    .when-item,
    .when-item:nth-child(even) {
        min-height: 0;

        padding:
            30px
            0
            34px;

        border-left: 0;
        border-bottom: 1px solid rgba(0, 5, 45, .35);
    }

    .when-item h3 {
        margin-top: 26px;
        font-size: clamp(28px, 8vw, 38px);
    }

    .when-item p {
        max-width: 520px;
        margin-top: 35px;
        font-size: 14px;
    }


    /* CTA */

    .when-to-call__cta {
        grid-template-columns: 1fr;

        gap: 30px;

        margin-top: 65px;
        padding-top: 25px;
    }

    .when-to-call__cta a {
        gap: 20px;

        font-size: clamp(24px, 7vw, 34px);
    }

}


/* =========================================================
   VERY SMALL SCREENS
   ========================================================= */

@media (max-width: 420px) {

    .when-to-call__title {
        font-size: 46px;
    }

    .when-item h3 {
        font-size: 28px;
    }

    .when-to-call__cta a {
        font-size: 23px;
    }

}
/* =========================================================
   06 / PROVEN IMPACT
   ========================================================= */

.experience {
    padding: 170px 0 150px;
    background: var(--rs-midnight);
    color: var(--rs-white);
}


/* =========================================================
   HEAD
   ========================================================= */

.experience__head {
    display: grid;
    grid-template-columns: 7fr 5fr;
    column-gap: 100px;
    padding-bottom: 100px;
    border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.experience__head .rs-label {
    grid-column: 1 / -1;
}

.experience__title {
    margin: 0;
    font-family: var(--rs-font-display);
    font-size: clamp(54px, 5.8vw, 92px);
    line-height: .91;
    letter-spacing: -.055em;
    font-weight: 500;
}

.experience__title span {
    color: var(--rs-lime);
}

.experience__intro {
    align-self: end;
    max-width: 480px;
    margin: 0 0 5px;
    color: rgba(255, 255, 255, .64);
    font-size: 18px;
    line-height: 1.65;
}


/* =========================================================
   KPI GRID
   ========================================================= */

.experience__kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-left: 1px solid rgba(255, 255, 255, .16);
}

.experience-kpi {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 300px;
    padding: 42px;
    border-right: 1px solid rgba(255, 255, 255, .16);
    border-bottom: 1px solid rgba(255, 255, 255, .16);
    transition:
        background-color .25s ease,
        color .25s ease;
}

.experience-kpi:hover {
    background: rgba(255, 255, 255, .04);
}

.experience-kpi__value {
    display: block;
    font-family: var(--rs-font-display);
    font-size: clamp(62px, 6vw, 92px);
    line-height: .85;
    letter-spacing: -.065em;
    font-weight: 500;
    white-space: nowrap;
}

.experience-kpi__label {
    display: block;
    margin-top: auto;
    padding-top: 45px;
    font-family: var(--rs-font-mono);
    font-size: 10px;
    line-height: 1.55;
    letter-spacing: .08em;
    color: rgba(255, 255, 255, .48);
}


/* SIGNAL KPI */

.experience-kpi--signal {
    background: var(--rs-lime);
    color: var(--rs-midnight);
}

.experience-kpi--signal:hover {
    background: var(--rs-lime);
}

.experience-kpi--signal .experience-kpi__label {
    color: rgba(0, 5, 45, .68);
}


/* =========================================================
   KPI CONTEXT
   ========================================================= */

.experience__context {
    margin-top: 18px;
    font-family: var(--rs-font-mono);
    font-size: 8px;
    line-height: 1.5;
    letter-spacing: .08em;
    color: rgba(255, 255, 255, .3);
}


/* =========================================================
   INDUSTRIAL EXPERIENCE
   ========================================================= */

.experience__industries {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 100px;
    margin-top: 110px;
    padding-top: 28px;
    border-top: 1px solid rgba(255, 255, 255, .3);
}

.experience__industries-head {
    font-family: var(--rs-font-mono);
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: .08em;
    color: var(--rs-lime);
}

.experience__tags {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 12px 28px;
}

.experience__tags span {
    font-family: var(--rs-font-mono);
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .07em;
    color: rgba(255, 255, 255, .55);
}

.experience__tags span::before {
    content: "■";
    margin-right: 9px;
    color: var(--rs-lime);
    font-size: 7px;
}


/* =========================================================
   CLOSING STATEMENT
   ========================================================= */

.experience__statement {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 100px;
    margin-top: 110px;
    padding-top: 28px;
    border-top: 1px solid rgba(255, 255, 255, .3);
}

.experience__statement > span {
    font-family: var(--rs-font-mono);
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: .08em;
    color: rgba(255, 255, 255, .45);
}

.experience__statement strong {
    font-family: var(--rs-font-display);
    font-size: clamp(30px, 3.3vw, 50px);
    line-height: 1.04;
    letter-spacing: -.04em;
    font-weight: 500;
}

.experience__statement strong i {
    display: inline-block;
    width: .3em;
    height: .3em;
    margin-left: .14em;
    background: var(--rs-lime);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

    .experience__head {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .experience__intro {
        max-width: 620px;
    }

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

    .experience__industries,
    .experience__statement {
        grid-template-columns: 1fr;
        gap: 40px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .experience {
        padding: 100px 0 90px;
    }

    .experience__head {
        gap: 35px;
        padding-bottom: 60px;
    }

    .experience__title {
        font-size: clamp(46px, 12vw, 64px);
    }

    .experience__intro {
        font-size: 17px;
    }

    .experience__kpis {
        grid-template-columns: 1fr;
    }

    .experience-kpi {
        min-height: 220px;
        padding: 32px 28px;
    }

    .experience-kpi__value {
        font-size: 72px;
    }

    .experience-kpi__label {
        padding-top: 35px;
    }

    .experience__context {
        margin-top: 15px;
        font-size: 7px;
    }

    .experience__industries {
        margin-top: 80px;
    }

    .experience__tags {
        flex-direction: column;
        gap: 10px;
    }

    .experience__statement {
        margin-top: 80px;
    }

}
/* =========================================================
   07 / SELECTED PROJECTS
   ========================================================= */

.projects {
    padding: 170px 0 150px;
    background: var(--rs-offwhite);
    color: var(--rs-midnight);
}


/* =========================================================
   HEAD
   ========================================================= */

.projects__head {
    display: grid;
    grid-template-columns: 7fr 5fr;
    column-gap: 100px;
    padding-bottom: 110px;
}

.projects__head .rs-label {
    grid-column: 1 / -1;
}

.projects__title {
    margin: 0;
    font-family: var(--rs-font-display);
    font-size: clamp(52px, 5.5vw, 88px);
    line-height: .92;
    letter-spacing: -.055em;
    font-weight: 500;
}

.projects__title span {
    position: relative;
}

.projects__title span::after {
    content: "";
    display: inline-block;
    width: .25em;
    height: .25em;
    margin-left: .13em;
    background: var(--rs-lime);
}

.projects__intro {
    align-self: end;
    max-width: 500px;
    margin: 0 0 6px;
    color: rgba(0, 5, 45, .68);
    font-size: 18px;
    line-height: 1.65;
}


/* =========================================================
   PROJECT CASE
   ========================================================= */

.project-case {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    margin-bottom: 45px;
    border: 1px solid rgba(0, 5, 45, .2);
    background: var(--rs-white);
}


/* =========================================================
   META COLUMN
   ========================================================= */

.project-case__meta {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 38px 32px;
    border-right: 1px solid rgba(0, 5, 45, .16);
}

.project-case__number {
    display: block;
    font-family: var(--rs-font-display);
    font-size: 64px;
    line-height: 1;
    letter-spacing: -.05em;
    font-weight: 500;
}

.project-case__category,
.project-case__industry {
    display: block;
    font-family: var(--rs-font-mono);
    font-size: 9px;
    line-height: 1.5;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--rs-graphite);
}

.project-case__category {
    margin-top: auto;
}

.project-case__industry {
    margin-top: 8px;
}


/* =========================================================
   CONTENT
   ========================================================= */

.project-case__content {
    min-width: 0;
    padding: 60px 64px 0;
}


/* =========================================================
   CASE HEADER
   ========================================================= */

.project-case__header {
    padding-bottom: 65px;
}

.project-case__header h3 {
    margin: 0;
    font-family: var(--rs-font-display);
    font-size: clamp(42px, 4.3vw, 68px);
    line-height: .94;
    letter-spacing: -.05em;
    font-weight: 500;
}

.project-case__header h3 span {
    color: #769800;
}

.project-case__header p {
    max-width: 750px;
    margin: 40px 0 0;
    color: rgba(0, 5, 45, .68);
    font-size: 18px;
    line-height: 1.65;
}


/* =========================================================
   CHALLENGE / ACTION / IMPACT
   ========================================================= */

.project-case__story {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(0, 5, 45, .18);
}

.project-case__story-item {
    min-width: 0;
    padding: 32px 32px 45px 0;
}

.project-case__story-item + .project-case__story-item {
    padding-left: 32px;
    border-left: 1px solid rgba(0, 5, 45, .18);
}

.project-case__story-item > span {
    display: block;
    margin-bottom: 20px;
    font-family: var(--rs-font-mono);
    font-size: 9px;
    line-height: 1.4;
    letter-spacing: .1em;
    color: var(--rs-graphite);
}

.project-case__story-item p {
    margin: 0;
    color: rgba(0, 5, 45, .68);
    font-size: 14px;
    line-height: 1.65;
}


/* =========================================================
   KPI STRIP
   ========================================================= */

.project-case__kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 15px -64px 0;
    background: var(--rs-midnight);
    color: var(--rs-white);
}

.project-kpi {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 190px;
    padding: 28px 30px;
    border-right: 1px solid rgba(255, 255, 255, .15);
}

.project-kpi:last-child {
    border-right: 0;
}

.project-kpi strong {
    font-family: var(--rs-font-display);
    font-size: clamp(42px, 4vw, 62px);
    line-height: 1;
    letter-spacing: -.055em;
    font-weight: 500;
    white-space: nowrap;
}

.project-kpi span {
    margin-top: auto;
    padding-top: 28px;
    font-family: var(--rs-font-mono);
    font-size: 9px;
    line-height: 1.45;
    letter-spacing: .08em;
    color: rgba(255, 255, 255, .52);
}


/* =========================================================
   DARK CASE
   ========================================================= */

.project-case--dark {
    background: var(--rs-midnight);
    color: var(--rs-white);
    border-color: var(--rs-midnight);
}

.project-case--dark .project-case__meta {
    border-color: rgba(255, 255, 255, .15);
}

.project-case--dark .project-case__category,
.project-case--dark .project-case__industry {
    color: rgba(255, 255, 255, .45);
}

.project-case--dark .project-case__header h3 span {
    color: var(--rs-lime);
}

.project-case--dark .project-case__header p,
.project-case--dark .project-case__story-item p {
    color: rgba(255, 255, 255, .62);
}

.project-case--dark .project-case__story {
    border-color: rgba(255, 255, 255, .16);
}

.project-case--dark .project-case__story-item + .project-case__story-item {
    border-color: rgba(255, 255, 255, .16);
}

.project-case--dark .project-case__story-item > span {
    color: var(--rs-lime);
}

.project-case--dark .project-case__kpis {
    background: var(--rs-lime);
    color: var(--rs-midnight);
}

.project-case--dark .project-kpi {
    border-color: rgba(0, 5, 45, .2);
}

.project-case--dark .project-kpi span {
    color: rgba(0, 5, 45, .62);
}


/* =========================================================
   ADDITIONAL PROJECT ENVIRONMENTS
   ========================================================= */

.projects__environments {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 100px;
    margin-top: 120px;
    padding-top: 28px;
    border-top: 1px solid rgba(0, 5, 45, .3);
}

.projects__environments-label {
    font-family: var(--rs-font-mono);
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: .08em;
}

.projects__environments-list {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 12px 26px;
}

.projects__environments-list span {
    font-family: var(--rs-font-mono);
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .07em;
    color: var(--rs-graphite);
}

.projects__environments-list span::before {
    content: "■";
    margin-right: 8px;
    color: var(--rs-lime);
    font-size: 7px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

    .projects__head {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .projects__intro {
        max-width: 620px;
    }

    .project-case {
        grid-template-columns: 150px minmax(0, 1fr);
    }

    .project-case__meta {
        padding: 32px 24px;
    }

    .project-case__number {
        font-size: 52px;
    }

    .project-case__content {
        padding: 50px 40px 0;
    }

    .project-case__story {
        grid-template-columns: 1fr;
    }

    .project-case__story-item {
        padding: 28px 0;
    }

    .project-case__story-item + .project-case__story-item {
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid rgba(0, 5, 45, .18);
    }

    .project-case--dark .project-case__story-item + .project-case__story-item {
        border-top-color: rgba(255, 255, 255, .16);
    }

    .project-case__kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-left: -40px;
        margin-right: -40px;
    }

    .projects__environments {
        grid-template-columns: 1fr;
        gap: 40px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .projects {
        padding: 100px 0 90px;
    }

    .projects__head {
        gap: 35px;
        padding-bottom: 65px;
    }

    .projects__title {
        font-size: clamp(44px, 12vw, 62px);
    }

    .projects__intro {
        font-size: 17px;
    }

    .project-case {
        grid-template-columns: 1fr;
        margin-bottom: 28px;
    }

    .project-case__meta {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 6px 25px;
        align-items: end;
        padding: 24px;
        border-right: 0;
        border-bottom: 1px solid rgba(0, 5, 45, .16);
    }

    .project-case__number {
        grid-row: 1 / 3;
        font-size: 42px;
    }

    .project-case__category {
        margin-top: 0;
    }

    .project-case__industry {
        margin-top: 0;
    }

    .project-case__content {
        padding: 36px 24px 0;
    }

    .project-case__header {
        padding-bottom: 45px;
    }

    .project-case__header h3 {
        font-size: clamp(38px, 10vw, 50px);
    }

    .project-case__header p {
        margin-top: 30px;
        font-size: 16px;
    }

    .project-case__kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 10px -24px 0;
    }

    .project-kpi {
        min-height: 155px;
        padding: 22px;
        border-bottom: 1px solid rgba(255, 255, 255, .15);
    }

    .project-case--dark .project-kpi {
        border-bottom-color: rgba(0, 5, 45, .2);
    }

    .project-kpi strong {
        font-size: 44px;
    }

    .project-kpi span {
        padding-top: 22px;
    }

    .projects__environments {
        margin-top: 80px;
    }

    .projects__environments-list {
        flex-direction: column;
        gap: 10px;
    }

}
/* =========================================================
   08 / ABOUT
   ========================================================= */

.about {
    padding: 170px 0 150px;
    background: var(--rs-midnight);
    color: var(--rs-white);
}


/* =========================================================
   HEAD
   ========================================================= */

.about__head {
    padding-bottom: 100px;
    border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.about__title {
    max-width: 1050px;
    margin: 0;
    font-family: var(--rs-font-display);
    font-size: clamp(54px, 5.8vw, 92px);
    line-height: .91;
    letter-spacing: -.055em;
    font-weight: 500;
}

.about__title span {
    color: var(--rs-lime);
}


/* =========================================================
   PROFILE
   ========================================================= */

.about__profile {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 100px;
    padding-top: 90px;
}


/* =========================================================
   IMAGE
   ========================================================= */

.about__image-wrap {
    position: relative;
    min-width: 0;
}

.about__image {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center 30%;
}

.about__image-caption {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, .2);

    font-family: var(--rs-font-mono);
    font-size: 9px;
    line-height: 1.4;
    letter-spacing: .08em;
    color: rgba(255, 255, 255, .45);
}

.about__image-caption span:first-child {
    color: var(--rs-white);
}


/* =========================================================
   CONTENT
   ========================================================= */

.about__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.about__eyebrow {
    display: block;
    margin-bottom: 32px;

    font-family: var(--rs-font-mono);
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .08em;

    color: var(--rs-lime);
}

.about__copy {
    max-width: 620px;
    margin-top: 45px;
}

.about__copy p {
    margin: 0;

    color: rgba(255, 255, 255, .56);

    font-size: 16px;
    line-height: 1.7;
}

.about__copy p + p {
    margin-top: 26px;
}

.about__copy .about__lead {
    color: rgba(255, 255, 255, .84);
    font-size: 20px;
    line-height: 1.6;
}


/* =========================================================
   CAREER PATH
   ========================================================= */

.about__path {
    margin-top: 120px;
    border-top: 1px solid rgba(255, 255, 255, .18);
}

.about-path-item {
    display: grid;
    grid-template-columns: 70px 1fr auto;
    gap: 28px;
    align-items: center;

    min-height: 94px;

    border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.about-path-item > span {
    font-family: var(--rs-font-mono);
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: .08em;

    color: rgba(255, 255, 255, .34);
}

.about-path-item strong {
    font-family: var(--rs-font-display);
    font-size: 23px;
    line-height: 1.1;
    letter-spacing: -.025em;
    font-weight: 500;
}

.about-path-item small {
    text-align: right;

    font-family: var(--rs-font-mono);
    font-size: 9px;
    line-height: 1.4;
    letter-spacing: .07em;

    color: rgba(255, 255, 255, .4);
}

.about-path-item--final strong {
    color: var(--rs-lime);
}


/* =========================================================
   CLOSING STATEMENT
   ========================================================= */

.about__statement {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 100px;

    margin-top: 120px;
    padding-top: 28px;

    border-top: 1px solid rgba(255, 255, 255, .3);
}

.about__statement > span {
    font-family: var(--rs-font-mono);
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: .08em;

    color: var(--rs-lime);
}

.about__statement strong {
    font-family: var(--rs-font-display);
    font-size: clamp(29px, 3.2vw, 48px);
    line-height: 1.06;
    letter-spacing: -.04em;
    font-weight: 500;
}

.about__statement strong i {
    display: inline-block;
    width: .3em;
    height: .3em;
    margin-left: .14em;

    background: var(--rs-lime);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

    .about__profile {
        grid-template-columns: 1fr 1fr;
        gap: 55px;
    }

    .about__copy {
        margin-top: 35px;
    }

    .about__statement {
        grid-template-columns: 1fr;
        gap: 45px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .about {
        padding: 100px 0 90px;
    }

    .about__head {
        padding-bottom: 60px;
    }

    .about__title {
        font-size: clamp(46px, 12vw, 64px);
    }

    .about__profile {
        grid-template-columns: 1fr;
        gap: 55px;
        padding-top: 55px;
    }

    .about__image {
        aspect-ratio: 4 / 5;
    }

    .about__image-caption {
        flex-direction: column;
        gap: 5px;
    }

    .about__content {
        justify-content: flex-start;
    }

    .about__eyebrow {
        margin-bottom: 24px;
    }

    .about__copy {
        margin-top: 30px;
    }

    .about__copy .about__lead {
        font-size: 17px;
    }

    .about__copy p {
        font-size: 15px;
    }

    .about__path {
        margin-top: 80px;
    }

    .about-path-item {
        grid-template-columns: 38px 1fr;
        gap: 10px 14px;
        min-height: 0;
        padding: 22px 0;
    }

    .about-path-item strong {
        font-size: 19px;
    }

    .about-path-item small {
        grid-column: 2;
        text-align: left;
    }

    .about__statement {
        margin-top: 80px;
    }

}


/* =========================================================
   VERY SMALL SCREENS
   ========================================================= */

@media (max-width: 420px) {

    .about__title {
        font-size: 44px;
    }

    .about-path-item strong {
        font-size: 18px;
    }

    .about__statement strong {
        font-size: 27px;
    }

}
/* =========================================================
   09 / CONTACT
   ========================================================= */

.contact {
    padding: 170px 0 60px;
    background: var(--rs-midnight);
    color: var(--rs-white);
}


/* HEAD */

.contact__head {
    padding-bottom: 100px;
    border-bottom: 1px solid rgba(255,255,255,.16);
}

.contact__title {
    max-width: 1100px;
    margin: 0;
    font-family: var(--rs-font-display);
    font-size: clamp(64px, 7vw, 112px);
    line-height: .88;
    letter-spacing: -.06em;
    font-weight: 500;
}

.contact__title span {
    color: var(--rs-lime);
}


/* TYPES */

.contact__types {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-bottom: 1px solid rgba(255,255,255,.16);
}

.contact-type {
    display: flex;
    flex-direction: column;
    min-height: 260px;
    padding: 38px 38px 42px 0;
}

.contact-type + .contact-type {
    padding-left: 38px;
    border-left: 1px solid rgba(255,255,255,.16);
}

.contact-type__number {
    font-family: var(--rs-font-mono);
    font-size: 10px;
    letter-spacing: .08em;
    color: rgba(255,255,255,.35);
}

.contact-type strong {
    margin-top: 45px;
    font-family: var(--rs-font-display);
    font-size: clamp(28px, 2.8vw, 42px);
    line-height: 1;
    letter-spacing: -.04em;
    font-weight: 500;
}

.contact-type__description {
    max-width: 330px;
    margin-top: auto;
    color: rgba(255,255,255,.52);
    font-size: 14px;
    line-height: 1.6;
}


/* MAIN CONTACT */

.contact__main {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 100px;
    padding: 100px 0 130px;
}

.contact__small,
.contact__action-label {
    display: block;
    font-family: var(--rs-font-mono);
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: .08em;
    color: var(--rs-lime);
}

.contact__statement p {
    max-width: 430px;
    margin: 35px 0 0;
    font-family: var(--rs-font-display);
    font-size: clamp(28px, 2.7vw, 40px);
    line-height: 1.08;
    letter-spacing: -.035em;
}


/* EMAIL */

.contact__email {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    margin-top: 34px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,.4);
    color: var(--rs-white);
    text-decoration: none;
    font-family: var(--rs-font-display);
    font-size: clamp(25px, 2.5vw, 38px);
    line-height: 1.1;
    letter-spacing: -.035em;
    transition:
        color .25s ease,
        border-color .25s ease;
}

.contact__email:hover {
    color: var(--rs-lime);
    border-color: var(--rs-lime);
}

.contact__email span:last-child {
    transition: transform .25s ease;
}

.contact__email:hover span:last-child {
    transform: translateX(10px);
}


/* DETAILS */

.contact__details {
    display: flex;
    flex-wrap: wrap;
    gap: 15px 30px;
    margin-top: 28px;
}

.contact__details a,
.contact__details span {
    color: rgba(255,255,255,.48);
    text-decoration: none;
    font-family: var(--rs-font-mono);
    font-size: 9px;
    line-height: 1.4;
    letter-spacing: .08em;
}

.contact__details a:hover {
    color: var(--rs-white);
}


/* CLOSING */

.contact__closing {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 100px;
    align-items: end;
    padding-top: 32px;
    border-top: 1px solid rgba(255,255,255,.22);
}

.contact__closing > span {
    font-family: var(--rs-font-mono);
    font-size: 10px;
    letter-spacing: .12em;
    color: rgba(255,255,255,.42);
}

.contact__closing strong {
    font-family: var(--rs-font-display);
    font-size: clamp(26px, 3vw, 46px);
    line-height: 1.02;
    letter-spacing: -.04em;
    font-weight: 500;
}

.contact__closing strong span {
    color: var(--rs-lime);
}


/* TABLET */

@media (max-width: 1050px) {

    .contact__main,
    .contact__closing {
        grid-template-columns: 1fr;
        gap: 50px;
    }

}


/* MOBILE */

@media (max-width: 767px) {

    .contact {
        padding: 100px 0 45px;
    }

    .contact__head {
        padding-bottom: 60px;
    }

    .contact__title {
        font-size: clamp(52px, 14vw, 76px);
    }

    .contact__types {
        grid-template-columns: 1fr;
    }

    .contact-type,
    .contact-type + .contact-type {
        min-height: 0;
        padding: 28px 0;
        border-left: 0;
        border-bottom: 1px solid rgba(255,255,255,.16);
    }

    .contact-type:last-child {
        border-bottom: 0;
    }

    .contact-type strong {
        margin-top: 25px;
        font-size: 30px;
    }

    .contact-type__description {
        margin-top: 24px;
    }

    .contact__main {
        padding: 70px 0 90px;
    }

    .contact__email {
        font-size: 21px;
    }

    .contact__closing {
        gap: 30px;
    }

}
/* =========================================================
   REASCENTEC / MOTION SYSTEM
   ========================================================= */

/*
 * Grundprinzip:
 * Elemente stehen zunächst leicht tiefer und unsichtbar.
 * JS setzt später .is-visible.
 */

.rs-reveal {
    opacity: 0;
    transform: translateY(32px);

    transition:
        opacity .75s cubic-bezier(.2, .7, .2, 1),
        transform .75s cubic-bezier(.2, .7, .2, 1);

    will-change: opacity, transform;
}

.rs-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* =========================================================
   SMALL REVEAL
   ========================================================= */

.rs-reveal--small {
    transform: translateY(18px);
}

.rs-reveal--small.is-visible {
    transform: translateY(0);
}


/* =========================================================
   SCALE REVEAL
   ========================================================= */

.rs-reveal--scale {
    opacity: 0;
    transform:
        translateY(24px)
        scale(.975);

    transition:
        opacity .8s cubic-bezier(.2, .7, .2, 1),
        transform .8s cubic-bezier(.2, .7, .2, 1);
}

.rs-reveal--scale.is-visible {
    opacity: 1;
    transform:
        translateY(0)
        scale(1);
}


/* =========================================================
   IMAGE REVEAL
   ========================================================= */

.rs-reveal--image {
    opacity: 0;
    transform: translateY(24px) scale(.985);

    transition:
        opacity .8s cubic-bezier(.2, .7, .2, 1),
        transform .8s cubic-bezier(.2, .7, .2, 1);
}

.rs-reveal--image.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}


/* =========================================================
   STAGGER DELAYS
   ========================================================= */

.rs-delay-1 {
    transition-delay: .08s;
}

.rs-delay-2 {
    transition-delay: .16s;
}

.rs-delay-3 {
    transition-delay: .24s;
}

.rs-delay-4 {
    transition-delay: .32s;
}

.rs-delay-5 {
    transition-delay: .40s;
}

.rs-delay-6 {
    transition-delay: .48s;
}


/* =========================================================
   KPI MICRO MOTION
   ========================================================= */

.experience-kpi,
.project-kpi {
    transition:
        opacity .75s cubic-bezier(.2, .7, .2, 1),
        transform .75s cubic-bezier(.2, .7, .2, 1),
        background-color .25s ease,
        color .25s ease;
}


/* =========================================================
   APPROACH / CAPABILITIES / WHEN TO CALL
   ========================================================= */

.approach-item,
.capability-item,
.when-item {
    transition:
        opacity .7s cubic-bezier(.2, .7, .2, 1),
        transform .7s cubic-bezier(.2, .7, .2, 1),
        background-color .25s ease,
        color .25s ease;
}


/* =========================================================
   PROJECT CASES
   ========================================================= */

.project-case.rs-reveal {
    transform: translateY(42px);
}

.project-case.rs-reveal.is-visible {
    transform: translateY(0);
}


/* =========================================================
   CAREER PATH
   ========================================================= */

.about-path-item.rs-reveal {
    transform: translateX(-20px);
}

.about-path-item.rs-reveal.is-visible {
    transform: translateX(0);
}


/* =========================================================
   RESPECT USER MOTION SETTINGS
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .rs-reveal,
    .rs-reveal--small,
    .rs-reveal--scale,
    .rs-reveal--image,
    .project-case.rs-reveal,
    .about-path-item.rs-reveal {
        opacity: 1 !important;
        transform: none !important;
        clip-path: none !important;
        transition: none !important;
    }

}
/* =========================================================
   REASCENTEC / LINE MOTION
   ========================================================= */

.rs-line-reveal {
    position: relative;
    border-top: 0 !important;
}

.rs-line-reveal::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 1px;

    background: currentColor;

    opacity: .22;

    transform: scaleX(0);
    transform-origin: left center;

    transition:
        transform .9s cubic-bezier(.2, .7, .2, 1);
}

.rs-line-reveal.is-line-visible::before {
    transform: scaleX(1);
}


/* LIGHT SECTIONS */

.projects .rs-line-reveal::before,
.when-to-call .rs-line-reveal::before {
    background: var(--rs-midnight);
}


/* DARK SECTIONS */

.experience .rs-line-reveal::before,
.about .rs-line-reveal::before,
.contact .rs-line-reveal::before {
    background: var(--rs-white);
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .rs-line-reveal::before {
        transform: scaleX(1) !important;
        transition: none !important;
    }

}
/* =========================================================
   REASCENTEC / SIGNAL IMPULSE
   ========================================================= */

.rs-signal-pulse {
    position: relative;
}

.rs-signal-pulse::after {
    content: "";

    position: absolute;
    inset: -1px;

    border: 1px solid var(--rs-lime);

    opacity: 0;
    pointer-events: none;
}

.rs-signal-pulse.is-signal-active::after {
    animation:
        rs-signal-pulse .9s
        cubic-bezier(.2, .7, .2, 1)
        1 forwards;
}

@keyframes rs-signal-pulse {

    0% {
        opacity: 0;
        transform: scale(1);
    }

    25% {
        opacity: .85;
    }

    100% {
        opacity: 0;
        transform: scale(1.08);
    }

}


/* =========================================================
   TITLE SIGNAL SQUARES
   ========================================================= */

.rs-title-signal {
    animation:
        rs-title-signal .7s
        cubic-bezier(.2, .7, .2, 1)
        1;
}

@keyframes rs-title-signal {

    0% {
        transform: scale(.55);
        opacity: .2;
    }

    55% {
        transform: scale(1.2);
        opacity: 1;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .rs-signal-pulse::after,
    .rs-title-signal {
        animation: none !important;
    }

}
/* =========================================================
   01 / HERO FINAL POLISH
   ========================================================= */

/* Hero etwas höher positionieren */
.hero__inner {
    padding-top: 170px;
}

/* Logo minimal präsenter */
.site-brand__mark {
    width: 34px;
    height: 34px;
}

.site-brand__name {
    font-size: 17px;
}

/* CTA minimal stärker */
.hero__cta {
    color: rgba(255, 255, 255, .82);
    border-bottom-color: rgba(255, 255, 255, .58);
}
/* =========================================================
   02 / CHALLENGE FINAL POLISH
   ========================================================= */

/* Headline etwas enger mit dem Inhalt verbinden */
.challenge__body {
    margin-top: 70px;
}

/* Schlussbotschaft minimal kräftiger */
.challenge__closing strong {
    letter-spacing: -0.035em;
}
/* =========================================================
   01 / HERO MOBILE FINAL POLISH
   ========================================================= */

@media (max-width: 767px) {

    .hero__inner {
        min-height: auto;
        padding-top: 185px;
        padding-bottom: 110px;
    }

    .hero__title {
        font-size: clamp(54px, 14.2vw, 68px);
        line-height: .92;
        letter-spacing: -0.055em;
    }

    .hero__intro {
        margin-top: 42px;
    }

    .hero__cta {
        margin-top: 52px;
    }

}
/* =========================================================
   LEGAL PAGES
   ========================================================= */

.legal-page {
    background: var(--rs-offwhite);
    color: var(--rs-midnight);
}


/* HERO
   ========================================================= */

.legal-hero {
    padding: 190px 0 95px;
    background: var(--rs-midnight);
    color: var(--rs-white);
}

.legal-hero .rs-label {
    margin-bottom: 34px;
}

.legal-hero__title {
    max-width: 1000px;
    margin: 0;
    font-family: var(--rs-font-display);
    font-size: clamp(58px, 7vw, 108px);
    font-weight: 500;
    line-height: .9;
    letter-spacing: -.055em;
    text-transform: uppercase;
}


/* CONTENT
   ========================================================= */

.legal-content {
    padding: 110px 0 150px;
}

.legal-content__grid {
    display: grid;
    grid-template-columns: 280px minmax(0, 720px);
    gap: 100px;
    justify-content: space-between;
}


/* ASIDE
   ========================================================= */

.legal-content__aside {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 34px;
}

.legal-content__aside > span {
    font-family: var(--rs-font-mono);
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--rs-graphite);
}

.legal-content__aside a {
    padding-bottom: 7px;
    border-bottom: 1px solid rgba(0,5,45,.25);
    color: var(--rs-midnight);
    font-family: var(--rs-font-mono);
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        color .25s ease,
        border-color .25s ease;
}

.legal-content__aside a:hover {
    color: var(--rs-graphite);
    border-color: var(--rs-lime);
}


/* TYPOGRAPHY
   ========================================================= */

.legal-content__body {
    font-size: 16px;
    line-height: 1.75;
}

.legal-content__body > *:first-child {
    margin-top: 0;
}

.legal-content__body h2 {
    margin: 70px 0 24px;
    padding-top: 25px;
    border-top: 1px solid rgba(0,5,45,.16);
    font-family: var(--rs-font-display);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -.035em;
}

.legal-content__body h3 {
    margin: 42px 0 16px;
    font-family: var(--rs-font-display);
    font-size: 22px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.02em;
}

.legal-content__body p {
    margin: 0 0 22px;
    color: rgba(0,5,45,.76);
}

.legal-content__body ul,
.legal-content__body ol {
    margin: 0 0 28px;
    padding-left: 22px;
    color: rgba(0,5,45,.76);
}

.legal-content__body li {
    margin-bottom: 8px;
}

.legal-content__body a {
    color: var(--rs-midnight);
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.legal-content__body a:hover {
    text-decoration-color: var(--rs-lime);
}

.legal-content__body strong {
    color: var(--rs-midnight);
}


/* MOBILE
   ========================================================= */

@media (max-width: 900px) {

    .legal-hero {
        padding-top: 155px;
        padding-bottom: 70px;
    }

    .legal-content {
        padding: 75px 0 100px;
    }

    .legal-content__grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .legal-content__aside {
        gap: 20px;
    }

}


@media (max-width: 600px) {

    .legal-hero {
        padding-top: 135px;
        padding-bottom: 55px;
    }

    .legal-hero__title {
        font-size: clamp(46px, 15vw, 70px);
    }

    .legal-content {
        padding: 60px 0 80px;
    }

    .legal-content__grid {
        gap: 45px;
    }

    .legal-content__body {
        font-size: 15px;
    }

    .legal-content__body h2 {
        margin-top: 55px;
        font-size: 30px;
    }

}
/* =========================================================
   LEGAL PAGES – FINAL TUNING
   ========================================================= */

/* Hero etwas kompakter */
.legal-hero {
    padding-bottom: 75px;
}


/* Rechtstext etwas breiter */
.legal-content__grid {
    grid-template-columns: 280px minmax(0, 780px);
}


/* Mobile unverändert kompakt halten */
@media (max-width: 900px) {

    .legal-content__grid {
        grid-template-columns: 1fr;
    }

}
/* =========================================================
   MOBILE HEADER + VIEWPORT FIX
   ========================================================= */

@media (max-width: 767px) {

    /* Sprachumschaltung im mobilen Header sichtbar */
    .site-header__right > .language-switch {
        display: flex;
        flex-shrink: 0;
    }

    /* Header darf niemals breiter als der Bildschirm werden */
    .site-header__inner {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
    }

    .site-brand {
        min-width: 0;
    }

    .site-header__right {
        min-width: 0;
        flex-shrink: 0;
        gap: 12px;
    }

    .menu-toggle {
        flex-shrink: 0;
    }

}


/* Sicherheitsnetz gegen horizontales Verschieben */
html,
body {
    max-width: 100%;
    overflow-x: clip;
}
/* =========================================================
   05 / PERFORMANCE V2
   ========================================================= */

.performance-v2 {
    padding: 125px 0 0;
    overflow: hidden;
    background: var(--rs-midnight);
    color: var(--rs-white);
}


/* HEAD
   ========================================================= */

.performance-v2__head {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) 220px;
    gap: 70px;
    align-items: start;
}

.performance-v2__head .rs-label {
    color: rgba(255,255,255,.48);
}

.performance-v2__headline h2 {
    max-width: 950px;
    margin: 0;

    font-family: var(--rs-font-display);
    font-size: clamp(52px, 5.5vw, 86px);
    font-weight: 500;
    line-height: .92;
    letter-spacing: -.055em;
    text-transform: uppercase;
}

.performance-v2__headline p {
    max-width: 760px;
    margin: 35px 0 0;

    font-size: 16px;
    line-height: 1.65;
    color: rgba(255,255,255,.68);
}

.performance-v2__claim {
    padding-left: 38px;
    border-left: 1px solid rgba(255,255,255,.18);

    font-family: var(--rs-font-mono);
    font-size: 10px;
    line-height: 1.8;
    letter-spacing: .1em;
    color: rgba(255,255,255,.5);
}

.performance-v2__claim i {
    display: block;
    width: 45px;
    height: 2px;
    margin: 28px 0;
    background: var(--rs-lime);
}

.performance-v2__claim strong {
    font-weight: 400;
    color: rgba(255,255,255,.64);
}


/* CALCULATOR
   ========================================================= */

.performance-calc {
    margin-top: 90px;
    border: 1px solid rgba(255,255,255,.22);
}

.performance-calc__top {
    display: flex;
    justify-content: space-between;
    gap: 30px;

    padding: 22px 28px;
    border-bottom: 1px solid rgba(255,255,255,.2);

    font-family: var(--rs-font-mono);
    font-size: 10px;
    letter-spacing: .12em;
}

.performance-calc__top small {
    font-size: 9px;
    font-style: italic;
    color: rgba(255,255,255,.45);
}

.performance-calc__body {
    display: grid;
    grid-template-columns:
        minmax(300px, .95fr)
        minmax(300px, .85fr)
        minmax(250px, .7fr);
}


/* INPUTS
   ========================================================= */

.performance-calc__inputs,
.performance-calc__chart,
.performance-calc__results {
    padding: 36px;
}

.performance-calc__inputs,
.performance-calc__chart {
    border-right: 1px solid rgba(255,255,255,.18);
}

.performance-control + .performance-control {
    margin-top: 52px;
}

.performance-control__label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 13px;
}

.performance-control__label label,
.performance-model__label,
.performance-calc__section-title {
    font-family: var(--rs-font-mono);
    font-size: 9px;
    line-height: 1.4;
    letter-spacing: .1em;
    color: rgba(255,255,255,.78);
}

.performance-info {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 15px;
    height: 15px;

    flex: 0 0 15px;

    border: 1px solid rgba(255,255,255,.58);
    border-radius: 50%;

    font-family: var(--rs-font-mono);
    font-size: 8px;
    color: rgba(255,255,255,.7);
}

.performance-control__value {
    display: flex;
    align-items: center;
    justify-content: space-between;

    height: 50px;
    padding: 0 17px;

    border: 1px solid rgba(255,255,255,.2);
}

.performance-control__value output {
    font-family: var(--rs-font-display);
    font-size: 24px;
    letter-spacing: -.02em;
}

.performance-control__value > span {
    font-size: 18px;
    color: rgba(255,255,255,.75);
}


/* RANGE
   ========================================================= */

.performance-control input[type="range"] {
    width: 100%;
    height: 4px;
    margin: 18px 0 0;

    appearance: none;
    -webkit-appearance: none;

    border-radius: 0;
    outline: none;

    background:
        linear-gradient(
            to right,
            var(--rs-lime) 0%,
            var(--rs-lime) var(--range-progress, 25%),
            rgba(255,255,255,.12) var(--range-progress, 25%),
            rgba(255,255,255,.12) 100%
        );

    cursor: pointer;
}

.performance-control input[type="range"]::-webkit-slider-thumb {
    width: 18px;
    height: 18px;

    appearance: none;
    -webkit-appearance: none;

    border: 0;
    border-radius: 50%;

    background: var(--rs-white);
    box-shadow: 0 0 0 3px rgba(255,255,255,.08);
}

.performance-control input[type="range"]::-moz-range-thumb {
    width: 18px;
    height: 18px;

    border: 0;
    border-radius: 50%;

    background: var(--rs-white);
}

.performance-control__scale {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;

    font-size: 11px;
    color: rgba(255,255,255,.48);
}


/* MODEL
   ========================================================= */

.performance-model {
    margin-top: 55px;
}

.performance-model__label {
    display: block;
    margin-bottom: 15px;
}

.performance-model__buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.performance-model__button {
    min-height: 72px;
    padding: 13px;

    border: 1px solid rgba(255,255,255,.2);
    background: transparent;
    color: var(--rs-white);

    cursor: pointer;

    transition:
        border-color .25s ease,
        background .25s ease;
}

.performance-model__button strong,
.performance-model__button small {
    display: block;
}

.performance-model__button strong {
    font-size: 13px;
    font-weight: 400;
}

.performance-model__button small {
    margin-top: 4px;
    font-size: 10px;
    color: rgba(255,255,255,.52);
}

.performance-model__button.is-active {
    border-color: var(--rs-lime);
    background: rgba(177,255,35,.035);
}


/* CHART
   ========================================================= */

.performance-calc__chart {
    display: flex;
    flex-direction: column;
}

.performance-bars {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 35px;

    flex: 1;
    min-height: 340px;

    padding-top: 55px;
}

.performance-bar {
    position: relative;
    width: 105px;
    text-align: center;
}

.performance-bar__number {
    display: block;
    margin-bottom: 14px;

    font-size: 16px;
    white-space: nowrap;
}

.performance-bar__track {
    position: relative;
    height: 230px;

    border-bottom: 1px solid rgba(255,255,255,.22);
}

.performance-bar__fill {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;

    height: 100%;

    transform-origin: bottom;
    transition:
        height .65s cubic-bezier(.2,.7,.2,1);
}

.performance-bar__fill--before {
    background:
        linear-gradient(
            to top,
            rgba(125,145,165,.45),
            rgba(185,200,214,.9)
        );
}

.performance-bar__fill--after {
    background:
        linear-gradient(
            to top,
            rgba(177,255,35,.12),
            rgba(177,255,35,.88)
        );
}

.performance-bar small,
.performance-bar em {
    display: block;
}

.performance-bar small {
    margin-top: 15px;

    font-family: var(--rs-font-mono);
    font-size: 8px;
    letter-spacing: .08em;
}

.performance-bar em {
    margin-top: 5px;

    font-family: var(--rs-font-mono);
    font-size: 7px;
    font-style: normal;
    letter-spacing: .06em;
    color: rgba(255,255,255,.4);
}

.performance-bar__saving {
    position: absolute;
    top: 30px;
    right: -40px;

    display: flex;
    flex-direction: column;
    align-items: center;

    font-family: var(--rs-font-mono);
    font-size: 10px;
    color: var(--rs-lime);
}

.performance-bar__saving i {
    margin-top: 7px;
    font-size: 22px;
    font-style: normal;
}


/* RESULTS
   ========================================================= */

.performance-result {
    padding: 24px 0;
    border-bottom: 1px solid rgba(255,255,255,.2);
}

.performance-result:first-child {
    padding-top: 0;
}

.performance-result:last-child {
    border-bottom: 0;
}

.performance-result span,
.performance-result small {
    display: block;

    font-family: var(--rs-font-mono);
    font-size: 8px;
    line-height: 1.5;
    letter-spacing: .08em;
    color: rgba(255,255,255,.55);
}

.performance-result strong {
    display: block;
    margin-top: 7px;

    font-family: var(--rs-font-display);
    font-size: clamp(24px, 2.2vw, 36px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.035em;
}

.performance-result small {
    margin-top: 7px;
    color: var(--rs-lime);
}

.performance-result--hero strong {
    font-size: clamp(34px, 3vw, 48px);
    color: var(--rs-lime);
}


/* FOOTER
   ========================================================= */

.performance-calc__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;

    padding: 22px 28px;

    border-top: 1px solid rgba(255,255,255,.18);
}

.performance-calc__footer p {
    display: flex;
    align-items: flex-start;
    gap: 12px;

    max-width: 760px;
    margin: 0;

    font-size: 11px;
    line-height: 1.55;
    color: rgba(255,255,255,.5);
}

.performance-calc__footer a,
.performance-v2__bottom a {
    display: inline-flex;
    align-items: center;
    gap: 22px;

    padding-bottom: 7px;

    border-bottom: 1px solid var(--rs-lime);

    font-family: var(--rs-font-mono);
    font-size: 9px;
    letter-spacing: .08em;

    color: var(--rs-white);
    text-decoration: none;
    white-space: nowrap;
}


/* IMPACT
   ========================================================= */

.performance-impact {
    padding: 90px 0 75px;
    border-bottom: 1px solid rgba(255,255,255,.18);
}

.performance-impact__head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
    align-items: end;
}

.performance-impact__eyebrow {
    display: block;
    margin-bottom: 20px;

    font-family: var(--rs-font-mono);
    font-size: 9px;
    letter-spacing: .1em;
    color: var(--rs-lime);
}

.performance-impact__head h3 {
    margin: 0;

    font-family: var(--rs-font-display);
    font-size: clamp(34px, 3.7vw, 54px);
    font-weight: 500;
    line-height: .95;
    letter-spacing: -.045em;
}

.performance-impact__head > p {
    max-width: 600px;
    margin: 0;

    font-size: 15px;
    line-height: 1.65;
    color: rgba(255,255,255,.62);
}

.performance-impact__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);

    margin-top: 65px;
}

.performance-impact__grid article {
    min-height: 180px;
    padding: 0 28px;

    border-left: 1px solid rgba(255,255,255,.16);
}

.performance-impact__grid article:first-child {
    padding-left: 0;
    border-left: 0;
}

.performance-impact__icon {
    display: block;
    margin-bottom: 24px;

    font-size: 31px;
    color: var(--rs-lime);
}

.performance-impact__grid strong {
    display: block;

    font-family: var(--rs-font-mono);
    font-size: 9px;
    font-weight: 400;
    letter-spacing: .08em;
}

.performance-impact__grid p {
    margin: 10px 0 0;

    font-size: 12px;
    line-height: 1.55;
    color: rgba(255,255,255,.52);
}


/* BOTTOM CTA
   ========================================================= */

.performance-v2__bottom {
    display: grid;
    grid-template-columns: .8fr 1fr auto;
    gap: 70px;
    align-items: center;

    padding: 55px 0 70px;
}

.performance-v2__bottom > strong {
    font-family: var(--rs-font-display);
    font-size: 32px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.035em;
}

.performance-v2__bottom p {
    max-width: 480px;
    margin: 0;

    font-size: 13px;
    line-height: 1.55;
    color: rgba(255,255,255,.55);
}


/* TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .performance-v2__head {
        grid-template-columns: 180px 1fr;
    }

    .performance-v2__claim {
        display: none;
    }

    .performance-calc__body {
        grid-template-columns: 1fr 1fr;
    }

    .performance-calc__results {
        grid-column: 1 / -1;

        display: grid;
        grid-template-columns: repeat(4, 1fr);

        border-top: 1px solid rgba(255,255,255,.18);
    }

    .performance-result {
        padding: 25px;
        border-right: 1px solid rgba(255,255,255,.18);
        border-bottom: 0;
    }

    .performance-impact__grid {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 50px;
    }

}


/* MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .performance-v2 {
        padding-top: 85px;
    }

    .performance-v2__head {
        display: block;
    }

    .performance-v2__head .rs-label {
        margin-bottom: 36px;
    }

    .performance-v2__headline h2 {
        font-size: clamp(42px, 12vw, 58px);
    }

    .performance-v2__headline p {
        margin-top: 28px;
        font-size: 15px;
    }

    .performance-calc {
        margin-top: 65px;
    }

    .performance-calc__top {
        display: block;
        padding: 20px;
    }

    .performance-calc__top small {
        display: block;
        margin-top: 10px;
    }

    .performance-calc__body {
        display: block;
    }

    .performance-calc__inputs,
    .performance-calc__chart,
    .performance-calc__results {
        padding: 28px 20px;
        border-right: 0;
    }

    .performance-calc__chart,
    .performance-calc__results {
        border-top: 1px solid rgba(255,255,255,.18);
    }

    .performance-model__buttons {
        grid-template-columns: 1fr;
    }

    .performance-bars {
        min-height: 300px;
    }

    .performance-calc__results {
        display: block;
    }

    .performance-result {
        padding: 22px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.18);
    }

    .performance-calc__footer {
        display: block;
        padding: 24px 20px;
    }

    .performance-calc__footer a {
        margin-top: 30px;
        white-space: normal;
    }

    .performance-impact {
        padding-top: 70px;
    }

    .performance-impact__head {
        display: block;
    }

    .performance-impact__head > p {
        margin-top: 35px;
    }

    .performance-impact__grid {
        grid-template-columns: 1fr;
        margin-top: 50px;
    }

    .performance-impact__grid article {
        min-height: 0;
        padding: 25px 0;

        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.16);
    }

    .performance-impact__grid article:first-child {
        border-top: 0;
    }

    .performance-v2__bottom {
        grid-template-columns: 1fr;
        gap: 27px;

        padding: 50px 0 65px;
    }

}
/* =========================================================
   CASE STUDIES
   ========================================================= */
.case-studies-page { background: var(--rs-offwhite); }
.cs-hero { min-height: 720px; padding: 210px 0 110px; background: var(--rs-midnight); color: var(--rs-white); display:flex; align-items:center; }
.cs-hero__grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr); gap:80px; align-items:end; }
.cs-hero .rs-label { color:rgba(255,255,255,.55); }
.cs-hero__title { margin:28px 0 30px; font:500 clamp(56px,7vw,108px)/.9 var(--rs-font-display); letter-spacing:-.055em; }
.cs-hero__title span, .cs-case h2 span, .cs-cta h2 span { color:var(--rs-lime); }
.cs-hero__intro { max-width:720px; margin:0; color:rgba(255,255,255,.68); font-size:19px; line-height:1.65; }
.cs-hero__index { display:grid; grid-template-columns:40px 1fr; gap:15px 20px; padding:28px 0 6px; border-top:1px solid rgba(255,255,255,.18); font:400 12px/1.3 var(--rs-font-mono); letter-spacing:.08em; color:rgba(255,255,255,.55); }
.cs-hero__index span:nth-child(odd){color:var(--rs-lime);}
.cs-intro { padding:90px 0; border-bottom:1px solid rgba(0,5,45,.14); }
.cs-intro__grid { display:grid; grid-template-columns:1fr 2fr; gap:80px; }
.cs-intro p { margin:0; max-width:820px; font:400 clamp(25px,3vw,40px)/1.25 var(--rs-font-display); letter-spacing:-.025em; }
.cs-case { padding:145px 0 0; border-bottom:1px solid rgba(0,5,45,.14); }
.cs-case:nth-of-type(even) { background:#fff; }
.cs-case__head { display:grid; grid-template-columns:150px 1fr; gap:40px; align-items:start; }
.cs-case__number { font:400 72px/1 var(--rs-font-mono); color:rgba(0,5,45,.13); }
.cs-case h2 { margin:22px 0 24px; max-width:1000px; font:500 clamp(45px,5.5vw,82px)/.94 var(--rs-font-display); letter-spacing:-.05em; }
.cs-case__lead { margin:0 0 75px; max-width:760px; font-size:18px; line-height:1.65; color:var(--rs-graphite); }
.cs-case__story { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(0,5,45,.18); border-bottom:1px solid rgba(0,5,45,.18); }
.cs-case__story article { min-height:260px; padding:34px 34px 42px 0; }
.cs-case__story article+article { border-left:1px solid rgba(0,5,45,.14); padding-left:34px; }
.cs-case__story span { font:400 11px/1.2 var(--rs-font-mono); letter-spacing:.08em; color:var(--rs-graphite); }
.cs-case__story p { margin:25px 0 0; font-size:15px; line-height:1.75; color:#3f4251; }
.cs-kpis { display:grid; grid-template-columns:repeat(5,1fr); margin-top:0; background:var(--rs-midnight); color:#fff; }
.cs-kpi { min-height:150px; padding:32px 24px; display:flex; flex-direction:column; justify-content:space-between; }
.cs-kpi+.cs-kpi { border-left:1px solid rgba(255,255,255,.12); }
.cs-kpi strong { font:500 clamp(27px,3vw,44px)/1 var(--rs-font-display); letter-spacing:-.04em; color:var(--rs-lime); }
.cs-kpi span { font:400 10px/1.4 var(--rs-font-mono); letter-spacing:.06em; color:rgba(255,255,255,.6); }
.cs-cta { padding:150px 0; background:var(--rs-midnight); color:#fff; }
.cs-cta__grid { display:grid; grid-template-columns:1.35fr .65fr; gap:100px; align-items:end; }
.cs-cta .rs-label { color:rgba(255,255,255,.5); }
.cs-cta h2 { margin:24px 0 0; font:500 clamp(46px,5.2vw,78px)/.95 var(--rs-font-display); letter-spacing:-.05em; }
.cs-cta p { margin:0 0 30px; color:rgba(255,255,255,.65); font-size:18px; line-height:1.6; }
.cs-cta .rs-link { color:#fff; }
@media (max-width: 900px) {
 .cs-hero { min-height:auto; padding:165px 0 90px; }
 .cs-hero__grid,.cs-intro__grid,.cs-case__head,.cs-cta__grid { grid-template-columns:1fr; gap:40px; }
 .cs-hero__index { max-width:420px; }
 .cs-case { padding-top:95px; }
 .cs-case__number { font-size:42px; }
 .cs-case__lead { margin-bottom:50px; }
 .cs-case__story { grid-template-columns:1fr; }
 .cs-case__story article { min-height:auto; padding:28px 0 35px; }
 .cs-case__story article+article { border-left:0; border-top:1px solid rgba(0,5,45,.14); padding-left:0; }
 .cs-kpis { grid-template-columns:repeat(2,1fr); }
 .cs-kpi { min-height:125px; }
 .cs-kpi+.cs-kpi { border-left:0; border-top:1px solid rgba(255,255,255,.12); }
 .cs-kpi:nth-child(even) { border-left:1px solid rgba(255,255,255,.12); }
}
@media (max-width: 560px) {
 .cs-hero__title { font-size:48px; }
 .cs-hero__intro { font-size:16px; }
 .cs-intro { padding:65px 0; }
 .cs-case h2 { font-size:42px; }
 .cs-kpis { grid-template-columns:1fr; }
 .cs-kpi:nth-child(even) { border-left:0; }
 .cs-cta { padding:95px 0; }
}

/* =========================================================
   CASE STUDIES / HEADER CONTEXT
   ========================================================= */
body.page-case-studies .site-header {
    background: rgba(0, 5, 45, .96);
}
body.page-case-studies .site-header__inner {
    border-bottom-color: rgba(255, 255, 255, .10);
}

/* CASE STUDIES V2 / transformation logic */
.cs-shift {
    margin-top: 0;
    padding: 34px 0 38px;
    border-bottom: 1px solid rgba(0,5,45,.18);
    display: grid;
    grid-template-columns: 118px 1fr;
    gap: 16px 28px;
    align-items: center;
}
.cs-shift__label { display:flex; flex-direction:column; gap:5px; }
.cs-shift__label span { font:400 10px/1.2 var(--rs-font-mono); letter-spacing:.1em; color:rgba(0,5,45,.48); }
.cs-shift__label strong { font:500 10px/1.3 var(--rs-font-mono); letter-spacing:.06em; color:var(--rs-midnight); }
.cs-shift__flow { display:flex; align-items:center; gap:12px; min-width:0; }
.cs-shift__flow span { flex:1 1 0; min-width:0; padding:15px 13px; border:1px solid rgba(0,5,45,.16); text-align:center; font:500 10px/1.35 var(--rs-font-mono); letter-spacing:.045em; color:var(--rs-midnight); background:rgba(255,255,255,.34); }
.cs-shift__flow b { flex:0 0 auto; font:400 17px/1 var(--rs-font-mono); color:rgba(0,5,45,.32); }
.cs-shift__arrow { grid-column:2; height:10px; padding-left:18px; font:400 18px/1 var(--rs-font-mono); color:var(--rs-lime-dark, #7ea800); }
.cs-shift__label--after span { color:#6f9500; }
.cs-shift__flow--after span { border-color:rgba(126,168,0,.35); background:rgba(184,255,54,.12); }
.cs-shift__flow--after b { color:#7ea800; }
.cs-case:nth-of-type(even) .cs-shift__flow span { background:rgba(0,5,45,.025); }
.cs-case:nth-of-type(even) .cs-shift__flow--after span { background:rgba(184,255,54,.13); }
@media (max-width: 900px) {
    .cs-shift { grid-template-columns:1fr; gap:12px; padding:28px 0 32px; }
    .cs-shift__arrow { grid-column:1; padding-left:0; }
    .cs-shift__flow { overflow-x:auto; padding-bottom:4px; }
    .cs-shift__flow span { flex:0 0 180px; }
}
@media (max-width: 560px) {
    .cs-shift__flow { display:grid; grid-template-columns:1fr; gap:7px; overflow:visible; }
    .cs-shift__flow span { flex:auto; }
    .cs-shift__flow b { transform:rotate(90deg); justify-self:center; }
}


/* CASE STUDIES V5 / final polish */
@media (min-width: 901px) {
  .cs-intro { padding:66px 0; }
  .cs-intro p { font-size:clamp(24px,2.65vw,36px); line-height:1.22; }
  .cs-case { padding-top:118px; }
  .cs-case__lead { margin-bottom:58px; }
  .cs-case__story article { min-height:235px; }
}
.cs-shift__label span { font-size:11px; color:rgba(0,5,45,.58); }
.cs-shift__label strong { font-size:11px; line-height:1.25; color:rgba(0,5,45,.88); }
.cs-shift__label--after span { color:#668c00; }
.cs-shift__label--after strong { color:var(--rs-midnight); }

/* ========================================================= WORKSHOPS V1 */
.workshops-page{background:var(--rs-offwhite)} body.page-workshops .site-header{background:rgba(0,5,45,.96)}
.ws-hero{min-height:720px;padding:210px 0 110px;background:var(--rs-midnight);color:#fff;display:flex;align-items:center}.ws-hero__grid{display:grid;grid-template-columns:1.5fr .5fr;gap:90px;align-items:end}.ws-hero h1,.ws-item h2,.ws-cta h2{margin:28px 0 30px;font:500 clamp(56px,7vw,108px)/.9 var(--rs-font-display);letter-spacing:-.055em}.ws-hero h1 span,.ws-item h2 span,.ws-cta h2 span{color:var(--rs-lime)}.ws-hero p{max-width:760px;color:rgba(255,255,255,.68);font-size:19px;line-height:1.65}.ws-hero__index{border-top:1px solid rgba(255,255,255,.18)}.ws-hero__index a{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.1);text-decoration:none;font:400 11px/1.35 var(--rs-font-mono);letter-spacing:.06em;color:rgba(255,255,255,.62)}.ws-hero__index span{color:var(--rs-lime)}
.ws-choice{padding:85px 0 95px}.ws-choice h2{margin:22px 0 50px;font:500 clamp(38px,4.5vw,64px)/1 var(--rs-font-display);letter-spacing:-.04em}.ws-choice__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(0,5,45,.18);border-bottom:1px solid rgba(0,5,45,.18)}.ws-choice__grid a{min-height:205px;padding:25px 25px 28px;text-decoration:none;color:var(--rs-midnight);display:flex;flex-direction:column}.ws-choice__grid a+a{border-left:1px solid rgba(0,5,45,.15)}.ws-choice__grid span{font:400 11px var(--rs-font-mono);color:#6f9500}.ws-choice__grid p{font:500 20px/1.25 var(--rs-font-display);margin:32px 0 auto}.ws-choice__grid b{font:400 20px var(--rs-font-mono)}
.ws-item{padding:120px 0 0;border-top:1px solid rgba(0,5,45,.14)}.ws-item:nth-of-type(even){background:#fff}.ws-item__head{display:grid;grid-template-columns:145px 1fr;gap:40px}.ws-item__no{font:400 72px/1 var(--rs-font-mono);color:rgba(0,5,45,.13)}.ws-item h2{font-size:clamp(46px,5.4vw,80px);max-width:1050px}.ws-item__desc{max-width:820px;margin:0 0 60px;color:var(--rs-graphite);font-size:18px;line-height:1.7}.ws-method{padding:30px 0;border-top:1px solid rgba(0,5,45,.18);border-bottom:1px solid rgba(0,5,45,.18);display:grid;grid-template-columns:145px 1fr;gap:40px;align-items:center}.ws-method span{font:400 10px var(--rs-font-mono);letter-spacing:.09em;color:var(--rs-graphite)}.ws-method strong{font:500 clamp(13px,1.5vw,18px)/1.6 var(--rs-font-mono);letter-spacing:.02em}.ws-item__bottom{display:grid;grid-template-columns:1.4fr .6fr}.ws-item__bottom>div{padding:42px 0 55px}.ws-item__bottom>div+div{border-left:1px solid rgba(0,5,45,.14);padding-left:42px}.ws-item h3{font:500 clamp(28px,3vw,44px)/1 var(--rs-font-display);margin:18px 0}.ws-item__bottom p{color:var(--rs-graphite);max-width:650px}.ws-price{display:flex;flex-direction:column}.ws-price span,.ws-price small{font:400 10px/1.4 var(--rs-font-mono);letter-spacing:.06em;color:var(--rs-graphite)}.ws-price strong{font:500 clamp(42px,4vw,62px)/1 var(--rs-font-display);color:#6f9500;margin:auto 0 12px}
.ws-proof{padding:105px 0;background:var(--rs-midnight);color:#fff}.ws-proof__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.ws-proof h2{font:500 clamp(38px,4vw,60px)/1 var(--rs-font-display);letter-spacing:-.04em}.ws-proof__cases{display:grid;grid-template-columns:repeat(3,1fr)}.ws-proof__cases a{padding:30px 22px;border-left:1px solid rgba(255,255,255,.14);text-decoration:none;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:180px}.ws-proof__cases strong{font:500 40px/1 var(--rs-font-display);color:var(--rs-lime)}.ws-proof__cases span{font:400 10px/1.5 var(--rs-font-mono);color:rgba(255,255,255,.6)}
.ws-cta{padding:135px 0;background:#fff}.ws-cta__grid{display:grid;grid-template-columns:1.3fr .7fr;gap:90px;align-items:end}.ws-cta h2{font-size:clamp(46px,5.2vw,78px);margin-bottom:0}.ws-cta p{color:var(--rs-graphite);font-size:18px;line-height:1.65;margin-bottom:30px}
@media(max-width:900px){.ws-hero{min-height:auto;padding:165px 0 90px}.ws-hero__grid,.ws-item__head,.ws-proof__grid,.ws-cta__grid{grid-template-columns:1fr;gap:40px}.ws-choice__grid{grid-template-columns:1fr 1fr}.ws-choice__grid a:nth-child(3){border-left:0;border-top:1px solid rgba(0,5,45,.15)}.ws-choice__grid a:nth-child(4){border-top:1px solid rgba(0,5,45,.15)}.ws-item{padding-top:90px}.ws-item__no{font-size:42px}.ws-method{grid-template-columns:1fr;gap:12px}.ws-item__bottom{grid-template-columns:1fr}.ws-item__bottom>div+div{border-left:0;border-top:1px solid rgba(0,5,45,.14);padding-left:0}.ws-price strong{margin:25px 0 12px}}
@media(max-width:560px){.ws-hero h1{font-size:48px}.ws-choice__grid,.ws-proof__cases{grid-template-columns:1fr}.ws-choice__grid a+a,.ws-proof__cases a{border-left:0;border-top:1px solid rgba(0,5,45,.15)}.ws-item h2{font-size:42px}.ws-cta{padding:90px 0}}


/* ========================================================= WORKSHOPS V2 / PROJECT LIFECYCLE */
.ws-lifecycle{padding:34px 0;background:var(--rs-midnight);color:#fff;border-top:1px solid rgba(255,255,255,.12)}
.ws-lifecycle .rs-label{color:rgba(255,255,255,.45)}
.ws-lifecycle__line{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:18px;align-items:center;margin-top:22px;font:500 11px/1.4 var(--rs-font-mono);letter-spacing:.055em;color:rgba(255,255,255,.72)}
.ws-lifecycle__line span:first-child{color:var(--rs-lime)}
.ws-lifecycle__line i{font-style:normal;color:var(--rs-lime)}
.ws-choice__grid{grid-template-columns:repeat(5,1fr)}
.ws-choice__grid a{min-height:225px}
@media(max-width:1100px){.ws-choice__grid{grid-template-columns:repeat(3,1fr)}.ws-choice__grid a:nth-child(4){border-left:0;border-top:1px solid rgba(0,5,45,.15)}.ws-choice__grid a:nth-child(5){border-top:1px solid rgba(0,5,45,.15)}.ws-lifecycle__line{grid-template-columns:1fr;gap:8px}.ws-lifecycle__line i{transform:rotate(90deg);width:max-content}}
@media(max-width:900px){.ws-choice__grid{grid-template-columns:1fr 1fr}.ws-choice__grid a:nth-child(3){border-left:0}.ws-choice__grid a:nth-child(4){border-left:1px solid rgba(0,5,45,.15)}.ws-choice__grid a:nth-child(5){border-left:0;border-top:1px solid rgba(0,5,45,.15)}}
@media(max-width:560px){.ws-choice__grid{grid-template-columns:1fr}.ws-choice__grid a,.ws-choice__grid a:nth-child(n){border-left:0;border-top:1px solid rgba(0,5,45,.15)}.ws-choice__grid a:first-child{border-top:0}}

/* ========================================================= WORKSHOPS V3 / DELIVERABLE PREVIEWS */
.ws-preview{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:center;padding:58px 0 62px;border-bottom:1px solid rgba(0,5,45,.18)}
.ws-preview__copy h3{margin:16px 0 18px;font:500 clamp(28px,3vw,44px)/1 var(--rs-font-display);letter-spacing:-.035em;color:var(--rs-midnight)}
.ws-preview__copy p{max-width:460px;margin:0;color:var(--rs-graphite);font-size:15px;line-height:1.7}
.ws-document{position:relative;min-height:405px;padding:30px 32px 26px;background:#fff;border:1px solid rgba(0,5,45,.15);box-shadow:0 24px 55px rgba(0,5,45,.09);overflow:hidden}
.ws-document:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--rs-lime)}
.ws-document__top{display:flex;justify-content:space-between;align-items:center;padding-bottom:13px;border-bottom:1px solid rgba(0,5,45,.14);font:500 9px/1 var(--rs-font-mono);letter-spacing:.12em;color:var(--rs-midnight)}
.ws-document__top b{font-size:16px;color:rgba(0,5,45,.28)}
.ws-document__title{margin:20px 0 24px;font:500 clamp(24px,2.4vw,34px)/1 var(--rs-font-display);letter-spacing:-.035em;color:var(--rs-midnight)}
.ws-document__foot{position:absolute;left:32px;right:32px;bottom:18px;padding-top:10px;border-top:1px solid rgba(0,5,45,.1);font:400 7px/1 var(--rs-font-mono);letter-spacing:.08em;color:rgba(0,5,45,.4)}
.ws-doc-grid{display:grid;gap:10px}.ws-doc-grid--startup{grid-template-columns:repeat(3,1fr)}
.ws-doc-grid span{min-height:72px;padding:13px;border:1px solid rgba(0,5,45,.12);background:var(--rs-offwhite);font:500 9px/1.35 var(--rs-font-mono);letter-spacing:.045em;color:var(--rs-midnight)}
.ws-doc-grid span:after{content:"";display:block;width:27px;height:3px;margin-top:20px;background:var(--rs-lime)}
.ws-doc-timeline{position:relative;display:flex;justify-content:space-between;align-items:center;margin:26px 10px 0;padding-top:8px;border-top:1px solid rgba(0,5,45,.18)}
.ws-doc-timeline i{width:9px;height:9px;margin-top:-13px;border-radius:50%;background:var(--rs-midnight);box-shadow:0 0 0 4px #fff}
.ws-doc-timeline i:nth-child(2),.ws-doc-timeline i:nth-child(3){background:var(--rs-lime)}
.ws-doc-timeline b{position:absolute;right:0;top:12px;font:500 8px/1 var(--rs-font-mono);letter-spacing:.06em;color:var(--rs-graphite)}
.ws-doc-big{padding:18px 20px;background:var(--rs-midnight);font:500 clamp(30px,4vw,54px)/1 var(--rs-font-display);letter-spacing:-.04em;color:var(--rs-lime)}.ws-doc-big small{font:400 10px/1 var(--rs-font-mono);letter-spacing:.05em;color:rgba(255,255,255,.6)}
.ws-doc-levers{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.ws-doc-levers span{display:flex;justify-content:space-between;padding:10px 12px;background:var(--rs-offwhite);font:500 8px/1 var(--rs-font-mono);color:var(--rs-midnight)}.ws-doc-levers b{color:#6f9500}
.ws-doc-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;height:72px;margin-top:16px;align-items:end}.ws-doc-bars i{display:block;height:var(--v);background:var(--rs-midnight);border-top:4px solid var(--rs-lime)}
.ws-doc-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:center}.ws-doc-flow span{padding:16px 9px;border:1px solid rgba(0,5,45,.14);background:var(--rs-offwhite);text-align:center;font:500 8px/1.3 var(--rs-font-mono)}.ws-doc-flow b{font:400 15px var(--rs-font-mono);color:#6f9500}
.ws-doc-concepts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.ws-doc-concepts span{min-height:92px;padding:14px 10px;border:1px solid rgba(0,5,45,.13);font:500 8px/1.3 var(--rs-font-mono)}.ws-doc-concepts span:after{content:"";display:block;width:45px;height:45px;margin:13px auto 0;border:1px solid rgba(0,5,45,.24);transform:rotate(45deg)}
.ws-doc-recommend,.ws-doc-recovery{margin-top:15px;padding:12px;background:var(--rs-midnight);text-align:center;font:500 9px/1 var(--rs-font-mono);letter-spacing:.05em;color:var(--rs-lime)}
.ws-doc-architecture{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:stretch}.ws-doc-architecture>div{padding:17px;border:1px solid rgba(0,5,45,.13);background:var(--rs-offwhite)}.ws-doc-architecture b{font:500 9px/1 var(--rs-font-mono);letter-spacing:.06em}.ws-doc-architecture em{align-self:center;font:400 22px var(--rs-font-mono);font-style:normal;color:#6f9500}.ws-doc-architecture .chaos{display:block;margin-top:28px;font:400 12px/1.75 var(--rs-font-mono);color:var(--rs-graphite)}.ws-doc-architecture small{display:block;margin-top:17px;font:500 8px/1.3 var(--rs-font-mono)}
.ws-doc-architecture .modules{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:25px}.ws-doc-architecture .modules i{height:46px;border:1px solid rgba(0,5,45,.2);background:#fff}.ws-doc-architecture .modules i:nth-child(1),.ws-doc-architecture .modules i:nth-child(4){border-color:#87b000;background:rgba(198,255,61,.16)}
.ws-doc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ws-doc-kpis span{padding:15px 8px;background:var(--rs-offwhite);text-align:center;font:500 7px/1.35 var(--rs-font-mono)}.ws-doc-kpis b{display:block;margin-bottom:8px;font:500 28px/1 var(--rs-font-display);color:var(--rs-midnight)}.ws-doc-kpis span:nth-child(2) b{color:#6f9500}
.ws-doc-actions{margin-top:18px;border-top:1px solid rgba(0,5,45,.14)}.ws-doc-actions i{display:block;height:25px;border-bottom:1px solid rgba(0,5,45,.11);background:linear-gradient(90deg,var(--rs-offwhite) 0 8%,transparent 8% 55%,var(--rs-offwhite) 55% 74%,transparent 74%)}
@media(max-width:900px){.ws-preview{grid-template-columns:1fr;gap:32px}.ws-document{min-height:390px}}
@media(max-width:560px){.ws-preview{padding:42px 0}.ws-document{padding:24px 20px;min-height:360px}.ws-document__foot{left:20px;right:20px}.ws-doc-grid--startup,.ws-doc-levers,.ws-doc-concepts{grid-template-columns:1fr 1fr}.ws-doc-flow{grid-template-columns:1fr}.ws-doc-flow b{transform:rotate(90deg);justify-self:center}.ws-doc-kpis{grid-template-columns:1fr 1fr}.ws-doc-architecture{grid-template-columns:1fr}.ws-doc-architecture em{transform:rotate(90deg);justify-self:center}}


/* ========================================================= REASCENTEC VISUAL SYSTEM V1 / METHOD + CASE PRINCIPLES */
.ws-method-visual{display:flex;align-items:center;gap:12px;min-height:116px;margin:0 0 54px;padding:24px 28px;border:1px solid rgba(0,5,45,.14);background:linear-gradient(90deg,rgba(255,255,255,.76),rgba(245,246,247,.7));overflow:hidden}
.ws-method-visual>i{font:400 17px/1 var(--rs-font-mono);font-style:normal;color:rgba(0,5,45,.28)}
.wsv-node{flex:1 1 0;min-width:0;padding:15px 10px;border:1px solid rgba(0,5,45,.16);background:#fff;text-align:center;font:500 9px/1.3 var(--rs-font-mono);letter-spacing:.055em;color:var(--rs-midnight)}
.wsv-node--accent{border-color:#87b000;background:rgba(198,255,61,.17)}
.wsv-node--dark{background:var(--rs-midnight);border-color:var(--rs-midnight);color:#fff;box-shadow:inset 0 -4px 0 var(--rs-lime)}
.wsv-chaos,.wsv-modules{flex:1 1 0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:13px;border:1px solid rgba(0,5,45,.14);background:#fff}.wsv-chaos b{height:17px;border:1px solid rgba(0,5,45,.25);transform:translate(var(--x,0),var(--y,0)) rotate(var(--r,0))}.wsv-chaos b:nth-child(1){--x:3px;--r:4deg}.wsv-chaos b:nth-child(2){--y:4px;--r:-5deg}.wsv-chaos b:nth-child(3){--x:-3px;--r:2deg}.wsv-chaos b:nth-child(5){--y:-3px;--r:5deg}.wsv-modules{grid-template-columns:1fr 1fr}.wsv-modules b{height:24px;border:1px solid #87b000;background:rgba(198,255,61,.13)}
.wsv-alert{flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border:1px solid rgba(0,5,45,.14);background:#fff;font:500 9px/1 var(--rs-font-mono)}.wsv-alert b{display:grid;place-items:center;width:30px;height:30px;border:1px solid #87b000;color:#6f9500;font-size:17px}

.cs-principle{display:flex;align-items:center;justify-content:center;gap:22px;min-height:150px;margin:0;padding:28px 34px;border-top:1px solid rgba(0,5,45,.14);background:rgba(255,255,255,.35)}
.cs-principle>b{font:400 21px/1 var(--rs-font-mono);color:#6f9500}
.csp-drawing,.csp-spec,.csp-supplier,.csp-variants,.csp-modules,.csp-config,.csp-parts,.csp-system{width:180px;height:82px;padding:12px;border:1px solid rgba(0,5,45,.16);background:#fff}
.csp-drawing{position:relative;background:linear-gradient(rgba(0,5,45,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,5,45,.04) 1px,transparent 1px),#fff;background-size:12px 12px}.csp-drawing i{position:absolute;border:1px solid rgba(0,5,45,.34)}.csp-drawing i:nth-child(1){width:75px;height:36px;left:28px;top:23px}.csp-drawing i:nth-child(2){width:30px;height:18px;right:25px;top:18px}.csp-drawing i:nth-child(3){width:42px;left:62px;bottom:12px;border-width:1px 0 0}
.csp-spec{display:grid;grid-template-columns:1fr 1fr;gap:8px}.csp-spec span{display:grid;place-items:center;border:1px solid #87b000;background:rgba(198,255,61,.13);font:500 8px var(--rs-font-mono)}
.csp-supplier,.csp-config{display:grid;place-items:center;text-align:center;font:500 9px/1.45 var(--rs-font-mono);letter-spacing:.04em;background:var(--rs-midnight);color:#fff;border-color:var(--rs-midnight)}.csp-supplier strong,.csp-config strong{color:var(--rs-lime)}
.csp-variants{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.csp-variants i{border:1px solid rgba(0,5,45,.26)}.csp-variants i:nth-child(2),.csp-variants i:nth-child(5){transform:translateY(5px)}
.csp-modules{display:grid;grid-template-columns:1fr 1fr;gap:7px}.csp-modules i{border:1px solid #87b000;background:rgba(198,255,61,.13)}
.csp-parts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.csp-parts i{border:1px solid rgba(0,5,45,.25);border-radius:50%}.csp-parts i:nth-child(even){border-radius:0}
.csp-system{display:grid;grid-template-columns:1fr 2fr 1fr;gap:5px;align-items:center}.csp-system span{height:45px;border:1px solid #87b000;background:rgba(198,255,61,.13)}.csp-system span:nth-child(2){height:62px;background:var(--rs-midnight);border-color:var(--rs-midnight)}
@media(max-width:900px){.ws-method-visual{gap:8px;padding:20px 18px}.cs-principle{gap:12px;padding:24px 18px}.csp-drawing,.csp-spec,.csp-supplier,.csp-variants,.csp-modules,.csp-config,.csp-parts,.csp-system{width:145px}}
@media(max-width:620px){.ws-method-visual{flex-wrap:wrap}.ws-method-visual>i{transform:rotate(90deg)}.wsv-node,.wsv-chaos,.wsv-modules,.wsv-alert{flex:1 1 42%}.cs-principle{flex-direction:column}.cs-principle>b{transform:rotate(90deg)}.csp-drawing,.csp-spec,.csp-supplier,.csp-variants,.csp-modules,.csp-config,.csp-parts,.csp-system{width:100%;max-width:280px}}

/* =========================================================
   EXPERIENCE / INDUSTRIAL TRACK RECORD
   ========================================================= */

.experience-proof {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
    gap: clamp(52px, 7vw, 104px);
    align-items: center;
    margin-top: clamp(72px, 9vw, 132px);
    padding: clamp(46px, 5.3vw, 78px);
    background: var(--rs-lime, #c6ff3d);
    color: var(--rs-midnight, #00052d);
}

.experience-proof .rs-label {
    color: var(--rs-midnight, #00052d);
    opacity: .68;
}

.experience-proof__title {
    margin: 20px 0 24px;
    max-width: 760px;
    font-family: var(--rs-font-display, "Space Grotesk", sans-serif);
    font-size: clamp(38px, 4.5vw, 66px);
    line-height: .94;
    letter-spacing: -.045em;
    font-weight: 600;
    color: var(--rs-midnight, #00052d);
}

.experience-proof__title span {
    color: var(--rs-midnight, #00052d);
    opacity: .72;
}

.experience-proof__text {
    max-width: 720px;
    margin: 0;
    font-size: clamp(17px, 1.45vw, 21px);
    line-height: 1.58;
    color: rgba(0, 5, 45, .76);
}

.experience-proof__path {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    margin-top: 34px;
    font-family: var(--rs-font-mono, "IBM Plex Mono", monospace);
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: .08em;
    color: var(--rs-midnight, #00052d);
}

.experience-proof__path b {
    font-weight: 400;
    color: rgba(0, 5, 45, .42);
}

.experience-proof__path .is-signal {
    position: relative;
    font-weight: 700;
}

.experience-proof__path .is-signal::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 3px;
    background: var(--rs-midnight, #00052d);
}

.experience-proof__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(0, 5, 45, .28);
    border-left: 1px solid rgba(0, 5, 45, .28);
}

.experience-proof__stat {
    min-width: 0;
    min-height: 190px;
    padding: 28px 20px 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-right: 1px solid rgba(0, 5, 45, .28);
    border-bottom: 1px solid rgba(0, 5, 45, .28);
    background: rgba(255, 255, 255, .11);
}

.experience-proof__value {
    display: block;
    font-family: var(--rs-font-display, "Space Grotesk", sans-serif);
    font-size: clamp(40px, 3.7vw, 58px);
    line-height: .95;
    letter-spacing: -.055em;
    font-weight: 650;
    color: var(--rs-midnight, #00052d);
    white-space: nowrap;
}

.experience-proof__stat span {
    margin-top: 28px;
    font-family: var(--rs-font-mono, "IBM Plex Mono", monospace);
    font-size: 9px;
    line-height: 1.45;
    letter-spacing: .075em;
    font-weight: 700;
    color: rgba(0, 5, 45, .68);
}

.experience-proof__stat--signal {
    background: var(--rs-midnight, #00052d);
}

.experience-proof__stat--signal .experience-proof__value,
.experience-proof__stat--signal span {
    color: var(--rs-white, #fff);
}

.experience-proof__stat--signal span {
    opacity: .78;
}

.experience-proof__stat--signal::after {
    content: "";
    width: 28px;
    height: 4px;
    margin-top: 18px;
    background: var(--rs-lime, #c6ff3d);
}

@media (max-width: 1120px) {
    .experience-proof {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .experience-proof__stats {
        max-width: 820px;
    }
}

@media (max-width: 700px) {
    .experience-proof {
        margin-top: 64px;
        padding: 36px 24px;
    }

    .experience-proof__stats {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .experience-proof__stat {
        min-height: 132px;
        padding: 24px 22px;
    }

    .experience-proof__stat span {
        margin-top: 18px;
    }

    .experience-proof__path {
        gap: 8px 10px;
    }
}

/* =========================================================
   EXPERIENCE / INDUSTRIAL TRACK RECORD — FULL BLEED V6
   ========================================================= */
.experience-proof {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: max(32px, calc((100vw - 1240px) / 2 + 32px));
    padding-right: max(32px, calc((100vw - 1240px) / 2 + 32px));
    grid-template-columns: minmax(430px, .95fr) minmax(600px, 1.05fr);
    gap: clamp(56px, 6vw, 100px);
}

.experience-proof__copy {
    min-width: 0;
}

.experience-proof__title {
    max-width: 620px;
}

.experience-proof__stats {
    width: 100%;
    min-width: 0;
    grid-template-columns: repeat(3, minmax(185px, 1fr));
}

.experience-proof__stat {
    min-width: 185px;
    padding: 30px 24px 26px;
}

.experience-proof__value {
    font-size: clamp(40px, 3.45vw, 58px);
}

.experience-proof__stat--signal .experience-proof__value {
    font-size: clamp(38px, 3.2vw, 54px);
}

@media (max-width: 1180px) {
    .experience-proof {
        grid-template-columns: 1fr;
        padding-left: 32px;
        padding-right: 32px;
    }

    .experience-proof__copy,
    .experience-proof__stats {
        max-width: 900px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

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

    .experience-proof__stat {
        min-width: 0;
    }
}

@media (max-width: 700px) {
    .experience-proof {
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-left: 24px;
        padding-right: 24px;
    }

    .experience-proof__stats {
        grid-template-columns: 1fr;
    }
}

/* CONTACT / CONVERSION UPDATE */
.contact__trust{max-width:430px;margin-top:24px;color:rgba(255,255,255,.62);font-size:15px;line-height:1.7}
.contact__principle{max-width:430px;margin-top:34px;padding:18px 0 0;border-top:1px solid rgba(198,255,61,.38);color:var(--rs-lime);font-family:var(--rs-font-mono);font-size:10px;line-height:1.6;letter-spacing:.05em;text-transform:uppercase}
.contact-form{margin-top:34px}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.contact-form label{display:block;margin-bottom:28px}
.contact-form label>span{display:block;margin-bottom:10px;color:rgba(255,255,255,.48);font-family:var(--rs-font-mono);font-size:9px;letter-spacing:.09em}
.contact-form input,.contact-form textarea{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid rgba(255,255,255,.32);border-radius:0;background:transparent;color:var(--rs-white);font:inherit;font-size:16px;line-height:1.5;padding:10px 0 14px;outline:none;transition:border-color .2s ease}
.contact-form textarea{resize:vertical;min-height:130px}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--rs-lime)}
.contact-form textarea::placeholder{color:rgba(255,255,255,.28)}
.contact-form__submit{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:8px;padding:20px 0;border:0;border-top:1px solid var(--rs-lime);border-bottom:1px solid var(--rs-lime);background:transparent;color:var(--rs-white);cursor:pointer;font-family:var(--rs-font-display);font-size:clamp(22px,2vw,30px);letter-spacing:-.03em;text-align:left;transition:color .2s ease,padding .2s ease}
.contact-form__submit:hover{color:var(--rs-lime);padding-left:8px;padding-right:8px}
.contact__direct{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:28px;align-items:center}
.contact__direct span,.contact__direct a{font-family:var(--rs-font-mono);font-size:9px;letter-spacing:.07em}
.contact__direct span{color:rgba(255,255,255,.3)}
.contact__direct a{color:rgba(255,255,255,.58);text-decoration:none}.contact__direct a:hover{color:var(--rs-lime)}
.contact__notice{margin:26px 0 0;padding:14px 16px;border:1px solid rgba(255,255,255,.22);font-size:13px;line-height:1.5}.contact__notice--success{border-color:var(--rs-lime);color:var(--rs-lime)}
@media(max-width:767px){.contact-form__row{grid-template-columns:1fr;gap:0}.contact__principle{margin-top:26px}.contact-form__submit{font-size:21px}.contact__direct{align-items:flex-start;flex-direction:column}}


/* =========================================================
   MOBILE HARDENING / FINAL LIVE FIX
   Prevent long REASCENTEC labels, CTA text and contact data
   from escaping the viewport on narrow screens.
   ========================================================= */
@media (max-width: 767px) {
    html, body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .rs-container,
    .site-main,
    .projects,
    .about,
    .contact,
    .experience-proof,
    .experience-proof__copy,
    .experience-proof__stats,
    .contact__head,
    .contact__types,
    .contact__main,
    .contact__statement,
    .contact__action,
    .contact__closing,
    .about__head,
    .about__profile,
    .about__content,
    .about__statement,
    .projects__head,
    .project-case,
    .project-case__content {
        min-width: 0;
        max-width: 100%;
    }

    /* Large display headings must always fit even on 320–390px phones. */
    .projects__title,
    .project-case__header h3,
    .about__title,
    .about__statement strong,
    .contact__title,
    .contact__statement p,
    .contact__closing strong {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .projects__title { font-size: clamp(38px, 11vw, 52px); }
    .project-case__header h3 { font-size: clamp(34px, 9.4vw, 46px); }
    .about__title { font-size: clamp(38px, 11vw, 52px); }
    .contact__title { font-size: clamp(42px, 12vw, 58px); }
    .contact__statement p { font-size: clamp(26px, 8vw, 34px); }
    .contact__closing strong { font-size: clamp(24px, 7.6vw, 34px); }

    /* Grid/list labels and direct contact details may contain long words. */
    .about-path-item strong,
    .about-path-item small,
    .projects__environments-list span,
    .project-case__category,
    .project-case__industry,
    .contact-type strong,
    .contact-type__description,
    .contact__trust,
    .contact__principle,
    .contact__direct a,
    .contact__direct span,
    .contact-form__submit span,
    .mobile-menu__nav strong {
        overflow-wrap: anywhere;
        word-break: normal;
        min-width: 0;
    }

    .contact-form__submit {
        min-width: 0;
        gap: 14px;
        font-size: clamp(18px, 5.7vw, 22px);
    }

    .contact-form__submit span:first-child {
        min-width: 0;
        max-width: calc(100% - 34px);
    }

    .contact__direct {
        width: 100%;
        min-width: 0;
    }

    .contact__direct a {
        max-width: 100%;
        font-size: 9px;
    }

    /* Full-bleed experience section: use viewport width without a rounding overflow. */
    .experience-proof {
        box-sizing: border-box;
        width: 100vw;
        max-width: 100vw;
        padding-left: max(20px, env(safe-area-inset-left));
        padding-right: max(20px, env(safe-area-inset-right));
    }

    .experience-proof__title {
        font-size: clamp(34px, 10.3vw, 48px);
        overflow-wrap: anywhere;
    }

    .experience-proof__text {
        font-size: 16px;
    }

    .experience-proof__value,
    .experience-proof__stat--signal .experience-proof__value {
        white-space: normal;
        overflow-wrap: anywhere;
        font-size: clamp(38px, 13vw, 54px);
    }

    .experience-proof__stat span {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 390px) {
    .rs-container { padding-left: 20px; padding-right: 20px; }
    .contact__title { font-size: 40px; }
    .about__title { font-size: 38px; }
    .projects__title { font-size: 38px; }
    .contact-form__submit { font-size: 18px; }
    .mobile-menu__nav strong { font-size: 18px; }
}

/* =========================================================
   MOBILE MENU COMPACT / VIEWPORT SAFE V2
   All navigation items remain visible on common phone heights.
   Very short viewports fall back to an internal nav scroll.
   ========================================================= */
@media (max-width: 767px) {
    .mobile-menu {
        height: 100dvh;
        min-height: 100svh;
        overflow: hidden;
    }

    .mobile-menu__inner {
        box-sizing: border-box;
        height: 100dvh;
        min-height: 0;
        padding-top: 76px;
        padding-bottom: max(14px, env(safe-area-inset-bottom));
        overflow: hidden;
    }

    .mobile-menu__top {
        flex: 0 0 auto;
        padding: 9px 0;
        font-size: 7px;
    }

    .mobile-menu__nav {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: none;
    }

    .mobile-menu__nav::-webkit-scrollbar {
        display: none;
    }

    .mobile-menu__nav a {
        grid-template-columns: 32px minmax(0, 1fr) 22px;
        gap: 10px;
        min-height: 50px;
    }

    .mobile-menu__nav a > span {
        font-size: 8px;
    }

    .mobile-menu__nav strong {
        font-size: clamp(20px, 5.7vw, 24px);
        line-height: .95;
        letter-spacing: -.035em;
        white-space: nowrap;
        overflow-wrap: normal;
    }

    .mobile-menu__nav i {
        font-size: 18px;
    }

    .mobile-menu__bottom {
        flex: 0 0 auto;
        margin-top: 0;
        padding-top: 10px;
        gap: 4px;
        font-size: 7px;
        line-height: 1.35;
    }

    /* Language switch is useful inside the open menu even though it is hidden in the header. */
    .mobile-menu__bottom .language-switch {
        display: flex;
    }
}

/* Short phones (e.g. 320x568 / older iPhones): compact further so all 9 links fit. */
@media (max-width: 767px) and (max-height: 650px) {
    .mobile-menu__inner {
        padding-top: 62px;
        padding-bottom: 8px;
    }

    .mobile-menu__top {
        padding: 6px 0;
    }

    .mobile-menu__nav a {
        min-height: 43px;
    }

    .mobile-menu__nav strong {
        font-size: clamp(17px, 5vw, 20px);
    }

    .mobile-menu__nav i {
        font-size: 15px;
    }

    .mobile-menu__bottom {
        padding-top: 7px;
        font-size: 6.5px;
    }
}

@media (max-width: 360px) {
    .mobile-menu__nav a {
        grid-template-columns: 28px minmax(0, 1fr) 18px;
        gap: 8px;
    }
    .mobile-menu__nav strong {
        font-size: 18px;
    }
}


/* =========================================================
   PERFORMANCE-BASED HERO TEST / 2026-09-11
   ========================================================= */
.hero__title--performance {
    font-size: clamp(48px, 4.65vw, 76px);
    line-height: .94;
    max-width: 760px;
}
.hero__title--performance span {
    display: inline-block;
    margin-top: .16em;
    font-size: .62em;
    line-height: 1.02;
    letter-spacing: -.04em;
}
.hero__intro--performance {
    max-width: 650px;
    margin-top: 30px;
}
.hero__performance-proof {
    max-width: 650px;
    margin-top: 26px;
    padding: 16px 0 0;
    border-top: 1px solid rgba(183,255,0,.42);
}
.hero__performance-proof strong,
.hero__performance-proof span {
    display: block;
}
.hero__performance-proof strong {
    color: var(--rs-lime);
    font-family: var(--rs-font-mono);
    font-size: 11px;
    line-height: 1.45;
    letter-spacing: .045em;
}
.hero__performance-proof span {
    max-width: 560px;
    margin-top: 8px;
    color: rgba(255,255,255,.58);
    font-size: 13px;
    line-height: 1.5;
}
.hero__title--performance + .hero__intro { margin-top: 30px; }
.hero__performance-proof + .hero__cta { margin-top: 26px; }

@media (max-width: 767px) {
    .hero__title--performance {
        font-size: clamp(42px, 11.4vw, 58px);
        line-height: .95;
        overflow-wrap: normal;
        word-break: normal;
    }
    .hero__title--performance span {
        font-size: .58em;
        line-height: 1.08;
    }
    .hero__intro--performance {
        margin-top: 28px;
        font-size: 16px;
    }
    .hero__performance-proof { margin-top: 22px; }
    .hero__performance-proof strong { font-size: 10px; }
    .hero__performance-proof span { font-size: 12px; }
    .hero__performance-proof + .hero__cta { margin-top: 30px; }
}


/* =========================================================
   02 / RESPONSIBILITY + ROLE COMPARISON / 2026-09-11
   ========================================================= */
.challenge--responsibility {
    padding-bottom: 0;
    overflow: hidden;
}
.challenge__head--compact {
    padding-bottom: 72px;
}
.challenge__title--responsibility span {
    color: var(--rs-midnight);
}
.challenge__lead {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 100px;
    margin-top: 48px;
}
.challenge__lead::before {
    content: "";
    display: block;
}
.challenge__lead p {
    max-width: 760px;
    margin: 0;
    color: rgba(0,5,45,.72);
    font-size: 19px;
    line-height: 1.65;
}

.work-compare {
    margin: 0 calc(50% - 50vw);
    padding: 110px max(28px, calc((100vw - var(--rs-container)) / 2));
    background: var(--rs-midnight);
    color: var(--rs-white);
}
.work-compare__topline {
    display: grid;
    grid-template-columns: 4fr 8fr;
    gap: 60px;
    align-items: end;
    padding-bottom: 58px;
    border-bottom: 1px solid rgba(255,255,255,.16);
}
.work-compare__eyebrow {
    font-family: var(--rs-font-mono);
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .08em;
    color: rgba(255,255,255,.52);
}
.work-compare__topline h3 {
    max-width: 900px;
    margin: 0;
    font: 500 clamp(42px, 4.4vw, 70px)/.95 var(--rs-font-display);
    letter-spacing: -.045em;
}
.work-compare__topline h3 span { color: var(--rs-lime); }
.work-compare__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 42px;
    border-top: 1px solid rgba(255,255,255,.16);
    border-left: 1px solid rgba(255,255,255,.16);
}
.work-role {
    position: relative;
    min-height: 520px;
    padding: 28px 28px 30px;
    border-right: 1px solid rgba(255,255,255,.16);
    border-bottom: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.025);
}
.work-role__index,
.work-role__type,
.work-role__result small {
    font-family: var(--rs-font-mono);
    letter-spacing: .07em;
}
.work-role__index {
    color: rgba(255,255,255,.35);
    font-size: 10px;
}
.work-role__type {
    margin-top: 34px;
    color: rgba(255,255,255,.62);
    font-size: 10px;
}
.work-role h4 {
    min-height: 68px;
    margin: 14px 0 20px;
    font: 500 25px/1.08 var(--rs-font-display);
    letter-spacing: -.03em;
}
.work-role__line {
    width: 44px;
    height: 2px;
    background: rgba(255,255,255,.25);
}
.work-role p {
    margin: 30px 0 0;
    color: rgba(255,255,255,.62);
    font-size: 15px;
    line-height: 1.65;
}
.work-role__result {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 30px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.14);
}
.work-role__result small {
    display: block;
    margin-bottom: 8px;
    color: rgba(255,255,255,.38);
    font-size: 9px;
}
.work-role__result strong {
    display: block;
    font: 500 17px/1.25 var(--rs-font-display);
    letter-spacing: -.02em;
}
.work-role--reascentec {
    background: var(--rs-lime);
    color: var(--rs-midnight);
    border-color: var(--rs-lime);
}
.work-role--reascentec .work-role__index,
.work-role--reascentec .work-role__type,
.work-role--reascentec p,
.work-role--reascentec .work-role__result small { color: rgba(0,5,45,.62); }
.work-role--reascentec .work-role__line { background: var(--rs-midnight); }
.work-role--reascentec .work-role__result { border-top-color: rgba(0,5,45,.20); bottom: 58px; }
.work-role__fee {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 22px;
    font: 500 9px/1.35 var(--rs-font-mono);
    letter-spacing: .065em;
}

.external-leverage {
    display: grid;
    grid-template-columns: 7fr 5fr;
    gap: 90px;
    padding: 120px 0 110px;
}
.external-leverage__intro h3 {
    max-width: 760px;
    margin: 28px 0 28px;
    font: 500 clamp(38px, 4vw, 64px)/.97 var(--rs-font-display);
    letter-spacing: -.045em;
}
.external-leverage__intro p {
    max-width: 700px;
    margin: 0;
    color: rgba(0,5,45,.70);
    font-size: 17px;
    line-height: 1.7;
}
.external-leverage__intro blockquote {
    position: relative;
    max-width: 720px;
    margin: 46px 0 0;
    padding: 4px 0 4px 28px;
    border-left: 3px solid var(--rs-lime);
    font: 500 clamp(23px, 2.2vw, 34px)/1.18 var(--rs-font-display);
    letter-spacing: -.03em;
}
.external-leverage__system {
    align-self: center;
    padding-top: 34px;
}
.leverage-card {
    border: 1px solid rgba(0,5,45,.16);
    background: #fff;
}
.leverage-card__head {
    padding: 20px 22px;
    border-bottom: 1px solid rgba(0,5,45,.12);
}
.leverage-card__head span {
    display: block;
    margin-bottom: 7px;
    font: 500 9px/1.2 var(--rs-font-mono);
    letter-spacing: .08em;
    color: rgba(0,5,45,.46);
}
.leverage-card__head strong {
    font: 500 17px/1.2 var(--rs-font-display);
    letter-spacing: -.02em;
}
.leverage-card__items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}
.leverage-card__items span {
    position: relative;
    padding: 15px 18px 15px 34px;
    border-right: 1px solid rgba(0,5,45,.10);
    border-bottom: 1px solid rgba(0,5,45,.10);
    font-size: 13px;
}
.leverage-card__items span::before {
    content: "×";
    position: absolute;
    left: 17px;
    color: rgba(0,5,45,.38);
}
.external-leverage__arrow {
    padding: 14px 0;
    text-align: center;
    font: 400 20px/1 var(--rs-font-mono);
    color: var(--rs-midnight);
}
.leverage-card--external {
    background: var(--rs-midnight);
    color: var(--rs-white);
    border-color: var(--rs-midnight);
}
.leverage-card--external .leverage-card__head { border-bottom-color: rgba(255,255,255,.14); }
.leverage-card--external .leverage-card__head span { color: var(--rs-lime); }
.leverage-card__flow {
    display: grid;
    gap: 0;
    padding: 8px 22px 18px;
}
.leverage-card__flow span {
    padding: 13px 0;
    border-bottom: 1px solid rgba(255,255,255,.11);
    font: 500 12px/1.35 var(--rs-font-mono);
    letter-spacing: .035em;
}
.leverage-card__flow i {
    display: none;
}
.leverage-card__flow .is-result {
    color: var(--rs-lime);
    border-bottom: 0;
}
.challenge__closing--responsibility {
    display: grid;
    grid-template-columns: 4fr 8fr;
    gap: 60px;
    margin: 0 calc(50% - 50vw);
    padding: 38px max(28px, calc((100vw - var(--rs-container)) / 2));
    background: var(--rs-lime);
    color: var(--rs-midnight);
}
.challenge__closing--responsibility span {
    font: 500 10px/1.4 var(--rs-font-mono);
    letter-spacing: .08em;
}
.challenge__closing--responsibility strong {
    font: 500 clamp(24px, 2.4vw, 38px)/1.05 var(--rs-font-display);
    letter-spacing: -.035em;
}

@media (max-width: 1050px) {
    .challenge__lead,
    .work-compare__topline,
    .external-leverage,
    .challenge__closing--responsibility {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .challenge__lead::before { display: none; }
    .work-compare__grid { grid-template-columns: 1fr; }
    .work-role { min-height: 410px; }
    .external-leverage { padding: 90px 0; }
    .external-leverage__system { padding-top: 0; }
}

@media (max-width: 767px) {
    .challenge__head--compact { padding-bottom: 58px; }
    .challenge__title--responsibility { font-size: clamp(40px, 11.2vw, 58px); }
    .challenge__lead { margin-top: 34px; }
    .challenge__lead p { font-size: 16px; }
    .work-compare {
        padding-top: 82px;
        padding-bottom: 82px;
    }
    .work-compare__topline { padding-bottom: 38px; }
    .work-compare__topline h3 { font-size: clamp(38px, 10vw, 52px); }
    .work-compare__grid { margin-top: 28px; }
    .work-role {
        min-height: 430px;
        padding: 24px 22px 26px;
    }
    .work-role h4 { min-height: 0; font-size: 23px; }
    .work-role__result { left: 22px; right: 22px; bottom: 26px; }
    .work-role--reascentec .work-role__result { bottom: 56px; }
    .work-role__fee { left: 22px; right: 22px; bottom: 20px; }
    .external-leverage { padding: 82px 0 76px; }
    .external-leverage__intro h3 { font-size: clamp(36px, 10vw, 50px); }
    .external-leverage__intro p { font-size: 16px; }
    .external-leverage__intro blockquote { margin-top: 36px; padding-left: 20px; font-size: 24px; }
    .leverage-card__items { grid-template-columns: 1fr; }
    .leverage-card__items span { border-right: 0; }
    .challenge__closing--responsibility {
        padding-top: 30px;
        padding-bottom: 30px;
    }
}

/* =========================================================
   V2.4 / DIFFERENTIATION, SHOP FLOOR & DECISION CONTROL
   ========================================================= */
.challenge--v24 { padding: 0; background: #f4f3ee; overflow: hidden; }
.challenge-v24__intro { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:clamp(70px,10vw,170px); padding:clamp(110px,12vw,190px) 0; align-items:end; }
.challenge-v24__intro h2 { margin:22px 0 0; font-family:var(--rs-font-display); font-size:clamp(52px,6.3vw,100px); line-height:.91; letter-spacing:-.055em; color:var(--rs-midnight); font-weight:500; }
.challenge-v24__intro h2 span { color:#8f9590; }
.challenge-v24__intro-copy { padding-bottom:8px; }
.challenge-v24__intro-copy p { margin:0; max-width:600px; font-size:clamp(18px,1.35vw,23px); line-height:1.55; color:#333a3c; }
.challenge-v24__intro-copy strong { display:block; margin-top:42px; padding-top:22px; border-top:1px solid rgba(16,29,31,.18); font:500 12px/1.6 var(--rs-font-mono); letter-spacing:.11em; color:var(--rs-midnight); }

.work-model-v24 { position:relative; background:var(--rs-midnight); color:#f5f4ef; padding:clamp(110px,11vw,180px) 0; }
.work-model-v24::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(110deg,transparent 0 62%,rgba(177,222,59,.055) 62% 100%); }
.work-model-v24__head { position:relative; display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:start; margin-bottom:clamp(70px,8vw,125px); }
.work-model-v24__head h3 { margin:0; font-family:var(--rs-font-display); font-size:clamp(55px,6.4vw,104px); line-height:.92; letter-spacing:-.055em; font-weight:500; }
.work-model-v24__head h3 span { color:var(--rs-lime); }
.work-model-v24__lanes { position:relative; border-top:1px solid rgba(255,255,255,.16); }
.work-lane { display:grid; grid-template-columns:220px minmax(0,1fr) minmax(230px,.48fr); gap:40px; align-items:center; min-height:170px; padding:34px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.work-lane__label { display:flex; align-items:center; gap:22px; }
.work-lane__label span { font:500 11px/1 var(--rs-font-mono); color:#707a7a; }
.work-lane__label strong { font-family:var(--rs-font-display); font-size:20px; letter-spacing:.02em; }
.work-lane__track { display:flex; align-items:center; gap:clamp(12px,1.5vw,28px); flex-wrap:wrap; }
.work-lane__track span { font:500 clamp(13px,1vw,16px)/1 var(--rs-font-mono); letter-spacing:.07em; color:#d9dcda; }
.work-lane__track i { font-style:normal; color:#5b6665; }
.work-lane p { margin:0; font-size:14px; line-height:1.55; color:#899291; }
.work-lane--rs { position:relative; min-height:220px; margin:0 -34px; padding:44px 34px; background:linear-gradient(90deg,rgba(177,222,59,.09),rgba(177,222,59,.025)); border-top:1px solid rgba(177,222,59,.65); border-bottom:1px solid rgba(177,222,59,.65); }
.work-lane--rs::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--rs-lime); }
.work-lane--rs .work-lane__label strong, .work-lane--rs .work-lane__track span { color:#fff; }
.work-lane--rs .work-lane__track .is-result { padding:13px 16px; background:var(--rs-lime); color:var(--rs-midnight); }
.work-lane--rs p { color:#cdd3cf; }

.reality-network-v24 { background:#f4f3ee; padding:clamp(115px,12vw,190px) 0; }
.reality-network-v24__head { display:grid; grid-template-columns:.72fr 1.28fr; gap:70px 120px; align-items:start; }
.reality-network-v24__head h3 { grid-column:2; margin:-12px 0 0; font-family:var(--rs-font-display); font-size:clamp(50px,5.5vw,88px); line-height:.94; letter-spacing:-.052em; color:var(--rs-midnight); font-weight:500; }
.reality-network-v24__head p { grid-column:2; max-width:770px; margin:0; font-size:clamp(18px,1.35vw,23px); line-height:1.55; color:#3f4747; }
.network-map-v24 { position:relative; display:grid; grid-template-columns:repeat(6,1fr); margin-top:clamp(85px,8vw,130px); padding:84px 0 118px; border-top:1px solid rgba(12,26,27,.16); border-bottom:1px solid rgba(12,26,27,.16); }
.network-map-v24__node { position:relative; z-index:2; min-height:116px; padding:0 22px; border-right:1px solid rgba(12,26,27,.12); }
.network-map-v24__node:first-child { padding-left:0; }
.network-map-v24__node:last-of-type { border-right:0; }
.network-map-v24__node span { display:block; margin-bottom:29px; font:500 10px/1 var(--rs-font-mono); color:#959b96; }
.network-map-v24__node strong { display:block; font:500 clamp(13px,1vw,16px)/1.2 var(--rs-font-display); color:var(--rs-midnight); }
.network-map-v24__node small { display:block; margin-top:9px; font-size:12px; line-height:1.4; color:#707777; }
.network-map-v24__rail { position:absolute; left:0; right:0; bottom:60px; height:2px; background:rgba(12,26,27,.15); }
.network-map-v24__rail span { position:absolute; left:0; top:-1px; width:100%; height:4px; background:linear-gradient(90deg,var(--rs-lime),#7cb72c,var(--rs-lime)); box-shadow:0 0 22px rgba(177,222,59,.38); }
.network-map-v24__rail::before,.network-map-v24__rail::after { content:""; position:absolute; top:-6px; width:14px; height:14px; border-radius:50%; background:var(--rs-lime); box-shadow:0 0 0 6px rgba(177,222,59,.12); }
.network-map-v24__rail::before { left:0; }.network-map-v24__rail::after { right:0; }
.network-map-v24__rs { position:absolute; z-index:4; left:50%; bottom:42px; transform:translateX(-50%); display:flex; gap:18px; align-items:center; padding:12px 18px; background:var(--rs-midnight); color:#fff; }
.network-map-v24__rs span { font:500 11px/1 var(--rs-font-mono); color:var(--rs-lime); letter-spacing:.1em; }
.network-map-v24__rs strong { font:500 11px/1 var(--rs-font-mono); letter-spacing:.08em; }
.shopfloor-v24 { display:grid; grid-template-columns:.55fr 1.15fr .8fr; gap:50px 90px; align-items:start; padding-top:clamp(70px,7vw,105px); }
.shopfloor-v24__number { font:500 11px/1 var(--rs-font-mono); letter-spacing:.12em; color:#929894; }
.shopfloor-v24 blockquote { margin:0; font-family:var(--rs-font-display); font-size:clamp(31px,3.3vw,55px); line-height:1.05; letter-spacing:-.035em; color:var(--rs-midnight); }
.shopfloor-v24 p { margin:0; font-size:16px; line-height:1.65; color:#4d5555; }

.control-v24 { background:#e9e9e3; padding:clamp(110px,11vw,175px) 0; border-top:1px solid rgba(12,26,27,.11); }
.control-v24__head { display:grid; grid-template-columns:.72fr 1.28fr; gap:48px 120px; }
.control-v24__head h3 { grid-column:2; margin:-8px 0 0; font-family:var(--rs-font-display); font-size:clamp(51px,5.4vw,88px); line-height:.94; letter-spacing:-.052em; color:var(--rs-midnight); font-weight:500; }
.control-v24__head h3 span { color:#757d79; }
.control-v24__head p { grid-column:2; max-width:810px; margin:0; font-size:clamp(17px,1.3vw,22px); line-height:1.55; color:#3f4747; }
.control-flow-v24 { display:flex; align-items:stretch; margin-top:clamp(75px,7vw,110px); }
.control-flow-v24 > i { align-self:center; padding:0 12px; font-style:normal; color:#88918d; }
.control-step-v24 { flex:1 1 0; min-width:0; padding:26px 19px 28px; background:rgba(255,255,255,.52); border-top:2px solid #b5bab5; }
.control-step-v24 span { display:block; margin-bottom:28px; font:500 10px/1 var(--rs-font-mono); letter-spacing:.08em; color:#858d88; }
.control-step-v24 strong { display:block; font:500 16px/1.2 var(--rs-font-display); color:var(--rs-midnight); }
.control-step-v24 small { display:block; margin-top:8px; font-size:12px; line-height:1.35; color:#65706d; }
.control-step-v24--gate { background:var(--rs-midnight); border-top-color:var(--rs-lime); }
.control-step-v24--gate span { color:var(--rs-lime); }.control-step-v24--gate strong { color:#fff; }.control-step-v24--gate small { color:#aeb7b3; }
.control-step-v24--result { background:var(--rs-lime); border-top-color:var(--rs-midnight); }
.control-v24__promise { display:grid; grid-template-columns:.55fr 1.45fr; gap:65px; margin-top:70px; padding-top:35px; border-top:1px solid rgba(12,26,27,.2); }
.control-v24__promise span { font:500 11px/1.5 var(--rs-font-mono); letter-spacing:.1em; color:#69726d; }
.control-v24__promise strong { max-width:900px; font-family:var(--rs-font-display); font-size:clamp(25px,2.4vw,40px); line-height:1.14; letter-spacing:-.025em; color:var(--rs-midnight); }

.external-v24 { padding:clamp(110px,11vw,180px) 0; background:#f4f3ee; }
.external-v24__inner { display:grid; grid-template-columns:1fr 1fr; gap:90px 150px; }
.external-v24 h3 { margin:28px 0 0; font-family:var(--rs-font-display); font-size:clamp(47px,5vw,78px); line-height:.96; letter-spacing:-.05em; color:var(--rs-midnight); font-weight:500; }
.external-v24 p { margin:3px 0 0; font-size:clamp(17px,1.3vw,21px); line-height:1.6; color:#444c4b; }
.external-v24 blockquote { margin:55px 0 0; padding:26px 0 0 28px; border-left:3px solid var(--rs-lime); border-top:1px solid rgba(12,26,27,.12); font-family:var(--rs-font-display); font-size:clamp(27px,2.45vw,40px); line-height:1.15; letter-spacing:-.025em; color:var(--rs-midnight); }

@media (max-width: 1100px) {
  .challenge-v24__intro,.reality-network-v24__head,.control-v24__head,.external-v24__inner { grid-template-columns:1fr; gap:50px; }
  .reality-network-v24__head h3,.reality-network-v24__head p,.control-v24__head h3,.control-v24__head p { grid-column:1; }
  .work-model-v24__head { grid-template-columns:1fr; gap:30px; }
  .work-lane { grid-template-columns:180px 1fr; }
  .work-lane p { grid-column:2; }
  .network-map-v24 { grid-template-columns:repeat(3,1fr); row-gap:55px; padding-bottom:135px; }
  .network-map-v24__node:nth-child(3) { border-right:0; }
  .network-map-v24__rail { bottom:60px; }
  .shopfloor-v24 { grid-template-columns:.35fr 1.65fr; }
  .shopfloor-v24 p { grid-column:2; }
  .control-flow-v24 { display:grid; grid-template-columns:1fr 28px 1fr; gap:12px 0; }
  .control-flow-v24 > i { text-align:center; transform:rotate(90deg); }
  .control-v24__promise { grid-template-columns:1fr; gap:24px; }
}

@media (max-width: 700px) {
  .challenge-v24__intro { padding:88px 0 94px; gap:38px; }
  .challenge-v24__intro h2 { font-size:clamp(42px,12.5vw,60px); }
  .challenge-v24__intro-copy strong { margin-top:28px; }
  .work-model-v24 { padding:92px 0; }
  .work-model-v24__head h3,.reality-network-v24__head h3,.control-v24__head h3,.external-v24 h3 { font-size:clamp(40px,11.8vw,58px); }
  .work-model-v24__lanes { margin:0 -20px; }
  .work-lane,.work-lane--rs { display:block; min-height:0; margin:0; padding:34px 20px; }
  .work-lane__label { margin-bottom:29px; }
  .work-lane__track { gap:10px 12px; }
  .work-lane p { margin-top:24px; }
  .reality-network-v24 { padding:95px 0; }
  .network-map-v24 { grid-template-columns:1fr; margin-top:65px; padding:15px 0 110px; border-bottom:0; }
  .network-map-v24__node,.network-map-v24__node:first-child { min-height:0; padding:24px 0; border-right:0; border-bottom:1px solid rgba(12,26,27,.12); display:grid; grid-template-columns:38px 1fr; }
  .network-map-v24__node span { grid-row:1/3; margin:3px 0 0; }.network-map-v24__node small { margin-top:5px; }
  .network-map-v24__rail { left:18px; right:auto; top:28px; bottom:108px; width:2px; height:auto; background:rgba(12,26,27,.1); }
  .network-map-v24__rail span { width:3px; height:100%; background:linear-gradient(180deg,var(--rs-lime),#7cb72c,var(--rs-lime)); }
  .network-map-v24__rail::before,.network-map-v24__rail::after { left:-5px; }.network-map-v24__rail::before { top:0; }.network-map-v24__rail::after { top:auto; bottom:0; right:auto; }
  .network-map-v24__rs { left:0; bottom:45px; transform:none; }
  .shopfloor-v24 { grid-template-columns:1fr; gap:28px; padding-top:70px; }.shopfloor-v24 p { grid-column:1; }
  .control-v24 { padding:95px 0; }
  .control-flow-v24 { grid-template-columns:1fr; gap:0; }
  .control-flow-v24 > i { transform:rotate(90deg); padding:10px 0; }
  .control-step-v24 { padding:23px 20px; }
  .external-v24 { padding:95px 0; }
  .external-v24__inner { gap:48px; }
}

/* =========================================================
   V2.5 / HOMEPAGE FLOW REFINEMENT
   ========================================================= */
.trust-strip{background:#0f1d1f;color:#f4f3ee;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.1)}
.trust-strip__inner{display:grid;grid-template-columns:.75fr 1.65fr;gap:clamp(50px,7vw,120px);align-items:stretch;padding:clamp(58px,6vw,95px) 0}
.trust-strip__intro{display:flex;flex-direction:column;justify-content:space-between;gap:30px}
.trust-strip__eyebrow{font:500 11px/1.4 var(--rs-font-mono);letter-spacing:.12em;color:#aeb7b3}
.trust-strip__intro strong{font-family:var(--rs-font-display);font-size:clamp(30px,3vw,48px);line-height:1.02;letter-spacing:-.035em}.trust-strip__intro strong span{color:var(--rs-lime)}
.trust-strip__principles{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid rgba(255,255,255,.13)}
.trust-principle{padding:4px 30px 8px;border-right:1px solid rgba(255,255,255,.13)}
.trust-principle>span{display:block;margin-bottom:34px;font:500 10px/1 var(--rs-font-mono);color:#667170}.trust-principle strong{display:block;font:500 16px/1.2 var(--rs-font-display)}.trust-principle p{margin:12px 0 0;font-size:13px;line-height:1.55;color:#99a3a0}.trust-principle--signal strong{color:var(--rs-lime)}

.performance-v2__headline h2 span{color:#737c78}.performance-proof-strip{margin-top:clamp(60px,7vw,110px);border-top:1px solid rgba(12,26,27,.2);border-bottom:1px solid rgba(12,26,27,.2)}
.performance-proof-strip__head{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:20px 0;font:500 11px/1.3 var(--rs-font-mono);letter-spacing:.09em}.performance-proof-strip__head a{color:inherit;text-decoration:none}.performance-proof-strip__head a i{font-style:normal;color:var(--rs-lime);margin-left:8px}
.performance-proof-strip__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(12,26,27,.15)}.performance-proof-strip__grid article{padding:38px 34px 42px;border-right:1px solid rgba(12,26,27,.15)}.performance-proof-strip__grid article:last-child{border-right:0}.performance-proof-strip__grid strong{display:block;font-family:var(--rs-font-display);font-size:clamp(44px,5vw,78px);letter-spacing:-.05em;line-height:.9}.performance-proof-strip__grid span{display:block;margin-top:14px;font:500 11px/1 var(--rs-font-mono);letter-spacing:.1em}.performance-proof-strip__grid small{display:block;margin-top:20px;font-size:13px;color:#67716d}.performance-proof-strip__grid .is-signal strong{color:#7da326}

.approach--compact{padding:clamp(105px,11vw,175px) 0}.approach__head--compact{display:grid;grid-template-columns:.55fr 1.45fr;gap:30px 90px}.approach__head--compact .approach__title,.approach__head--compact .approach-compact__intro{grid-column:2}.approach-compact__intro{max-width:760px;margin:0;font-size:clamp(17px,1.25vw,21px);line-height:1.6;color:#9da6a2}.approach-compact__flow{display:flex;align-items:stretch;margin-top:clamp(65px,7vw,105px);border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}.approach-compact__flow>div{flex:1;padding:28px 18px 32px}.approach-compact__flow>i{align-self:center;font-style:normal;color:#596563}.approach-compact__flow span{display:block;margin-bottom:28px;font:500 10px/1 var(--rs-font-mono);color:#66716f}.approach-compact__flow strong{font:500 15px/1.2 var(--rs-font-display)}.approach-compact__flow .is-signal{background:rgba(177,222,59,.08);border-top:2px solid var(--rs-lime)}.approach-compact__flow .is-signal strong{color:var(--rs-lime)}.approach-compact__statement{display:grid;grid-template-columns:.55fr 1.45fr;gap:40px 90px;margin-top:55px}.approach-compact__statement span{font:500 10px/1.4 var(--rs-font-mono);letter-spacing:.1em;color:#66716f}.approach-compact__statement strong{font-family:var(--rs-font-display);font-size:clamp(23px,2.4vw,38px);line-height:1.18;letter-spacing:-.025em}

.external-v24{padding:clamp(70px,7vw,105px) 0}.external-v24 h3{font-size:clamp(36px,3.7vw,58px)}.external-v24 blockquote{margin-top:35px;font-size:clamp(24px,2vw,34px)}
.experience--focused .experience__head{margin-bottom:clamp(60px,7vw,105px)}
.contact__types{grid-template-columns:repeat(4,1fr)}.contact-type--signal{background:rgba(177,222,59,.08);border-top:2px solid var(--rs-lime)}.contact-type--signal strong{color:var(--rs-lime)}

@media(max-width:1000px){.trust-strip__inner,.approach__head--compact,.approach-compact__statement{grid-template-columns:1fr}.approach__head--compact .approach__title,.approach__head--compact .approach-compact__intro{grid-column:1}.trust-strip__principles{border-left:0}.contact__types{grid-template-columns:repeat(2,1fr)}.approach-compact__flow{display:grid;grid-template-columns:1fr}.approach-compact__flow>i{padding:8px 0;text-align:center;transform:rotate(90deg)}}
@media(max-width:700px){.trust-strip__principles,.performance-proof-strip__grid,.contact__types{grid-template-columns:1fr}.trust-principle{padding:24px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.trust-principle>span{margin-bottom:18px}.performance-proof-strip__head{align-items:flex-start;flex-direction:column}.performance-proof-strip__grid article{border-right:0;border-bottom:1px solid rgba(12,26,27,.15);padding-left:0;padding-right:0}.performance-proof-strip__grid article:last-child{border-bottom:0}.approach-compact__flow>div{padding-left:0;padding-right:0}}
