/*
Theme Name: E2E Future
Description: Custom technology-focused child theme for E2E Future.
Template: blocksy
Version: 2.0.0
*/

/* =========================================
   E2E FUTURE DESIGN SYSTEM
========================================= */

:root {
    --e2e-dark: #081522;
    --e2e-dark-2: #0D1F30;

    --e2e-blue: #176BFF;
    --e2e-cyan: #18A8C9;

    --e2e-foundation: #2E765D;

    --e2e-text: #17202A;
    --e2e-muted: #66727D;

    --e2e-bg: #F3F6F8;
    --e2e-white: #FFFFFF;
    --e2e-border: #DFE6EB;

    --e2e-container: 1240px;

    --e2e-radius-sm: 6px;
    --e2e-radius-md: 12px;
    --e2e-radius-lg: 20px;
}


/* =========================================
   GLOBAL
========================================= */

html {
    scroll-behavior: smooth;
}

body {
    background: var(--e2e-white);
    color: var(--e2e-text);

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;

    line-height: 1.65;
    letter-spacing: -0.01em;
}

a {
    transition: color .2s ease, opacity .2s ease;
}


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

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--e2e-dark);
    font-weight: 650;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

h1 {
    font-size: clamp(3.2rem, 7vw, 6.8rem);
}

h2 {
    font-size: clamp(2.3rem, 4.5vw, 4.5rem);
}

h3 {
    font-size: clamp(1.4rem, 2vw, 2rem);
}

p {
    margin-bottom: 1.4em;
}


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

.e2e-container {
    width: min(calc(100% - 48px), var(--e2e-container));
    margin-inline: auto;
}

.e2e-section {
    padding: 110px 0;
}

.e2e-section-light {
    background: var(--e2e-bg);
}

.e2e-dark-section {
    background: var(--e2e-dark);
    color: var(--e2e-white);
}


/* =========================================
   LABELS
========================================= */

.e2e-eyebrow {
    margin-bottom: 22px;

    color: var(--e2e-blue);

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .16em;
    text-transform: uppercase;
}

.e2e-dark-section .e2e-eyebrow {
    color: var(--e2e-cyan);
}


/* =========================================
   LEAD TEXT
========================================= */

.e2e-lead {
    max-width: 780px;

    color: var(--e2e-muted);

    font-size: clamp(1.1rem, 1.6vw, 1.4rem);
    line-height: 1.65;
}


/* =========================================
   BUTTONS
========================================= */

.e2e-button,
.wp-block-button__link {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 50px;

    padding: 14px 24px;

    border-radius: var(--e2e-radius-sm);

    background: var(--e2e-blue);
    color: #fff;

    font-size: 15px;
    font-weight: 600;

    text-decoration: none;

    transition:
        background .2s ease,
        transform .2s ease;
}

.e2e-button:hover,
.wp-block-button__link:hover {
    background: #075BE5;
    color: #fff;

    transform: translateY(-2px);
}

.e2e-button-secondary {
    background: transparent;
    color: var(--e2e-dark);

    border: 1px solid var(--e2e-border);
}

.e2e-button-secondary:hover {
    background: var(--e2e-bg);
    color: var(--e2e-dark);
}


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

.e2e-hero {
    position: relative;

    overflow: hidden;

    padding: 120px 0 110px;

    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(23,107,255,.18),
            transparent 32%
        ),
        radial-gradient(
            circle at 65% 75%,
            rgba(24,168,201,.11),
            transparent 30%
        ),
        var(--e2e-dark);

    color: #fff;
}

.e2e-hero h1 {
    max-width: 1000px;

    margin-bottom: 32px;

    color: #fff;
}

.e2e-hero .e2e-lead {
    max-width: 760px;

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

.e2e-hero-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 14px;

    margin-top: 38px;
}

.e2e-hero .e2e-button-secondary {
    color: #fff;

    border-color: rgba(255,255,255,.28);
}

.e2e-hero .e2e-button-secondary:hover {
    background: rgba(255,255,255,.08);
    color: #fff;
}


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

.e2e-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 22px;
}


/* =========================================
   CARDS
========================================= */

.e2e-card {
    min-width: 0;

    padding: 34px;

    background: #fff;

    border: 1px solid var(--e2e-border);
    border-radius: var(--e2e-radius-md);

    transition:
        border-color .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.e2e-card:hover {
    transform: translateY(-5px);

    border-color: rgba(23,107,255,.25);

    box-shadow:
        0 24px 60px rgba(8,21,34,.08);
}

.e2e-card-number {
    margin-bottom: 40px;

    color: var(--e2e-blue);

    font-size: 13px;
    font-weight: 700;

    letter-spacing: .12em;
}

.e2e-card p {
    color: var(--e2e-muted);
}


/* =========================================
   PROCESS
========================================= */

.e2e-process {
    display: grid;

    grid-template-columns:
        repeat(7, minmax(0,1fr));

    margin-top: 55px;

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

.e2e-process-item {
    padding: 24px 14px 0 0;

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

    font-size: 13px;
    font-weight: 600;

    text-transform: uppercase;
    letter-spacing: .08em;
}

.e2e-process-item strong {
    display: block;

    margin-bottom: 10px;

    color: var(--e2e-cyan);

    font-size: 12px;
}


/* =========================================
   FOUNDATION
========================================= */

.e2e-foundation {
    background: #F1F7F4;
}

.e2e-foundation .e2e-eyebrow {
    color: var(--e2e-foundation);
}

.e2e-foundation h2 {
    max-width: 800px;
}


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

.e2e-cta {
    padding: 90px 0;

    background: var(--e2e-blue);

    color: #fff;
}

.e2e-cta h2 {
    color: #fff;
}

.e2e-cta p {
    color: rgba(255,255,255,.78);
}


/* =========================================
   SELECTION
========================================= */

::selection {
    background: var(--e2e-blue);
    color: #fff;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1024px) {

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

    .e2e-process {
        grid-template-columns:
            repeat(4, minmax(0,1fr));

        gap: 24px 12px;
    }
}


@media (max-width: 768px) {

    .e2e-container {
        width: min(calc(100% - 32px), var(--e2e-container));
    }

    .e2e-section {
        padding: 72px 0;
    }

    .e2e-hero {
        padding: 85px 0 75px;
    }

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

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

    .e2e-card {
        padding: 26px;
    }
}


/* =========================================
   E2E FUTURE HEADER
========================================= */

.e2e-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;

    background: rgba(8, 21, 34, .96);

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

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.e2e-header-inner {
    display: flex;

    align-items: center;
    justify-content: space-between;

    min-height: 78px;

    gap: 32px;
}


/* BRAND */

.e2e-brand {
    flex: 0 0 auto;
}

.e2e-wordmark {
    display: inline-flex;

    align-items: baseline;

    gap: 9px;

    color: #fff;

    text-decoration: none;
}

.e2e-wordmark:hover {
    color: #fff;
}

.e2e-wordmark-e2e {
    font-size: 25px;
    font-weight: 800;

    letter-spacing: -0.055em;
}

.e2e-wordmark-future {
    font-size: 12px;
    font-weight: 650;

    letter-spacing: .17em;

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

.e2e-brand .custom-logo {
    display: block;

    width: auto;
    max-height: 42px;
}


/* DESKTOP NAVIGATION */

.e2e-primary-nav {
    margin-left: auto;
}

.e2e-menu {
    display: flex;

    align-items: center;

    gap: 4px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.e2e-menu > li {
    margin: 0;
}

.e2e-menu > li > a {
    display: flex;

    align-items: center;

    min-height: 42px;

    padding: 0 12px;

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

    font-size: 13px;
    font-weight: 550;

    letter-spacing: -0.01em;

    text-decoration: none;

    border-radius: 6px;
}

.e2e-menu > li > a:hover,
.e2e-menu > li.current-menu-item > a {
    color: #fff;

    background: rgba(255,255,255,.06);
}


/* FOUNDATION */

.e2e-menu > .e2e-menu-foundation > a {
    color: #8FD3B5;
}

.e2e-menu > .e2e-menu-foundation > a:hover {
    color: #B9E5D1;

    background: rgba(46,118,93,.18);
}


/* CONTACT */

.e2e-menu > .e2e-menu-contact {
    margin-left: 8px;
}

.e2e-menu > .e2e-menu-contact > a {
    padding-inline: 18px;

    background: var(--e2e-blue);

    color: #fff;
}

.e2e-menu > .e2e-menu-contact > a:hover {
    background: #075BE5;

    color: #fff;
}


/* MOBILE BUTTON */

.e2e-menu-toggle {
    display: none;

    width: 46px;
    height: 46px;

    padding: 11px;

    align-items: center;
    justify-content: center;
    flex-direction: column;

    gap: 5px;

    border: 0;
    border-radius: 7px;

    background: rgba(255,255,255,.06);

    cursor: pointer;
}

.e2e-menu-toggle span {
    display: block;

    width: 21px;
    height: 2px;

    background: #fff;

    border-radius: 2px;

    transition:
        transform .2s ease,
        opacity .2s ease;
}

.e2e-menu-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.e2e-menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
}

.e2e-menu-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}


/* MOBILE NAVIGATION */

.e2e-mobile-nav {
    display: none;

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

    background: var(--e2e-dark);
}

.e2e-mobile-nav.is-open {
    display: block;
}

.e2e-mobile-menu {
    margin: 0;
    padding: 16px 0 24px;

    list-style: none;
}

.e2e-mobile-menu li {
    margin: 0;
}

.e2e-mobile-menu a {
    display: block;

    padding: 15px 4px;

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

    font-size: 16px;
    font-weight: 550;

    text-decoration: none;

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

.e2e-mobile-menu .e2e-menu-foundation a {
    color: #8FD3B5;
}

.e2e-mobile-menu .e2e-menu-contact a {
    margin-top: 16px;

    padding: 14px 18px;

    text-align: center;

    background: var(--e2e-blue);

    color: #fff;

    border: 0;
    border-radius: 7px;
}


/* RESPONSIVE HEADER */

@media (max-width: 1120px) {

    .e2e-menu > li > a {
        padding-inline: 8px;

        font-size: 12px;
    }
}


@media (max-width: 1024px) {

    .e2e-primary-nav {
        display: none;
    }

    .e2e-menu-toggle {
        display: flex;
    }

    .e2e-header-inner {
        min-height: 70px;
    }
}


/* =========================================
   E2E FUTURE HERO V2
========================================= */

.e2e-hero {
    position: relative;
    isolation: isolate;

    padding: 135px 0 125px;

    background:
        radial-gradient(
            circle at 76% 23%,
            rgba(23, 107, 255, .22),
            transparent 28%
        ),
        radial-gradient(
            circle at 86% 76%,
            rgba(24, 168, 201, .13),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #07131F 0%,
            #081522 48%,
            #0A1B2B 100%
        );
}


/* subtle technical grid */

.e2e-hero::before {
    content: "";

    position: absolute;
    inset: 0;

    z-index: -1;

    opacity: .11;

    background-image:
        linear-gradient(
            rgba(255,255,255,.12) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.12) 1px,
            transparent 1px
        );

    background-size: 72px 72px;

    mask-image:
        linear-gradient(
            to right,
            transparent 0%,
            transparent 28%,
            black 72%,
            black 100%
        );
}


/* split hero */

.e2e-hero > .e2e-container {
    position: relative;

    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(330px, .85fr);

    column-gap: 85px;

    align-items: center;
}


/* keep text in left column */

.e2e-hero > .e2e-container > * {
    grid-column: 1;
}


/* technology visual */

.e2e-hero > .e2e-container::after {
    content: "";

    grid-column: 2;
    grid-row: 1 / 5;

    justify-self: end;

    width: min(100%, 520px);
    aspect-ratio: 1 / 1;

    border: 1px solid rgba(255,255,255,.12);
    border-radius: 26px;

    background:

        radial-gradient(
            circle at 50% 50%,
            rgba(23,107,255,.65) 0 3px,
            transparent 4px
        ),

        radial-gradient(
            circle at 30% 31%,
            rgba(24,168,201,.85) 0 4px,
            transparent 5px
        ),

        radial-gradient(
            circle at 73% 27%,
            rgba(255,255,255,.70) 0 3px,
            transparent 4px
        ),

        radial-gradient(
            circle at 72% 70%,
            rgba(24,168,201,.80) 0 4px,
            transparent 5px
        ),

        radial-gradient(
            circle at 28% 72%,
            rgba(23,107,255,.90) 0 4px,
            transparent 5px
        ),

        radial-gradient(
            circle at center,
            rgba(23,107,255,.25),
            transparent 34%
        ),

        repeating-radial-gradient(
            circle at center,
            transparent 0 48px,
            rgba(255,255,255,.08) 49px,
            transparent 50px 82px
        ),

        linear-gradient(
            45deg,
            transparent 49.7%,
            rgba(24,168,201,.18) 50%,
            transparent 50.3%
        ),

        linear-gradient(
            -45deg,
            transparent 49.7%,
            rgba(23,107,255,.18) 50%,
            transparent 50.3%
        ),

        rgba(255,255,255,.025);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.05),
        0 40px 100px rgba(0,0,0,.28);
}


/* stronger eyebrow */

.e2e-hero .e2e-eyebrow {
    margin-bottom: 24px;

    color: #69D5EA;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .19em;
}


/* headline */

.e2e-hero h1 {
    max-width: 780px;

    margin: 0 0 30px;

    font-size: clamp(3.5rem, 5.8vw, 6.4rem);

    line-height: .98;

    letter-spacing: -.055em;

    text-wrap: balance;
}


/* description */

.e2e-hero .e2e-lead {
    max-width: 680px;

    margin: 0;

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

    font-size: clamp(1.08rem, 1.45vw, 1.28rem);

    line-height: 1.65;
}


/* actions */

.e2e-hero-actions {
    margin-top: 38px;

    gap: 12px;
}

.e2e-hero-actions .e2e-button {
    min-height: 52px;

    padding-inline: 25px;
}


/* subtle blue line under hero */

.e2e-hero::after {
    content: "";

    position: absolute;

    bottom: 0;
    left: 0;

    width: 100%;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(23,107,255,.65),
            rgba(24,168,201,.45),
            transparent
        );
}


/* TABLET */

@media (max-width: 1100px) {

    .e2e-hero > .e2e-container {
        grid-template-columns:
            minmax(0, 1.2fr)
            minmax(280px, .8fr);

        column-gap: 45px;
    }

}


/* MOBILE */

@media (max-width: 850px) {

    .e2e-hero {
        padding: 90px 0 85px;
    }

    .e2e-hero > .e2e-container {
        display: block;
    }

    .e2e-hero > .e2e-container::after {
        display: block;

        width: min(100%, 420px);

        margin-top: 60px;

        aspect-ratio: 1 / .78;
    }

    .e2e-hero::before {
        mask-image: none;

        opacity: .07;
    }

}


@media (max-width: 600px) {

    .e2e-hero h1 {
        font-size: clamp(3rem, 15vw, 4.5rem);
    }

    .e2e-hero > .e2e-container::after {
        margin-top: 45px;

        border-radius: 18px;
    }

}


/* =========================================
   E2E CAPABILITIES
========================================= */

.e2e-capabilities {
    background: #fff;
}

.e2e-capabilities-intro {
    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(320px, .85fr);

    gap: 80px;

    align-items: end;
}

.e2e-capabilities-intro h2 {
    max-width: 820px;
    margin-bottom: 0;
}

.e2e-capabilities-intro .e2e-lead {
    margin: 0;
}


/* THREE CORE CAPABILITIES */

.e2e-capability-row {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    margin-top: 80px;

    border-top: 1px solid var(--e2e-border);
}

.e2e-capability {
    position: relative;

    min-width: 0;

    padding: 40px 45px 15px 0;
}

.e2e-capability:not(:last-child) {
    border-right: 1px solid var(--e2e-border);

    margin-right: 45px;
}

.e2e-capability > span {
    display: block;

    margin-bottom: 42px;

    color: var(--e2e-blue);

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .14em;
}

.e2e-capability h3 {
    margin-bottom: 18px;

    font-size: clamp(1.7rem, 2.5vw, 2.5rem);
}

.e2e-capability p {
    max-width: 330px;

    margin-bottom: 0;

    color: var(--e2e-muted);

    font-size: 15px;

    line-height: 1.7;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .e2e-capabilities-intro {
        grid-template-columns: 1fr;

        gap: 30px;
    }

}


@media (max-width: 700px) {

    .e2e-capability-row {
        grid-template-columns: 1fr;

        margin-top: 55px;
    }

    .e2e-capability {
        padding: 32px 0;

        border-bottom: 1px solid var(--e2e-border);
    }

    .e2e-capability:not(:last-child) {
        margin-right: 0;

        border-right: 0;
    }

    .e2e-capability > span {
        margin-bottom: 18px;
    }

}


/* =========================================
   TECHNOLOGY MATRIX
========================================= */

.e2e-technology {
    background: var(--e2e-bg);
}

.e2e-technology-head {
    display: grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(320px, .95fr);

    gap: 90px;

    align-items: end;

    margin-bottom: 70px;
}

.e2e-technology-head h2 {
    max-width: 760px;
    margin-bottom: 0;
}

.e2e-technology-head .e2e-lead {
    margin-bottom: 22px;
}


/* TEXT LINK */

.e2e-text-link {
    display: inline-block;

    color: var(--e2e-blue);

    font-size: 14px;
    font-weight: 650;

    text-decoration: none;
}

.e2e-text-link:hover {
    color: #075BE5;
}


/* MATRIX */

.e2e-tech-matrix {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0,1fr));

    border-top: 1px solid var(--e2e-border);
    border-left: 1px solid var(--e2e-border);
}


/* DOMAIN */

.e2e-tech-domain {
    position: relative;

    min-width: 0;

    padding: 42px;

    background: #fff;

    border-right: 1px solid var(--e2e-border);
    border-bottom: 1px solid var(--e2e-border);

    transition:
        background .25s ease,
        transform .25s ease;
}

.e2e-tech-domain:hover {
    z-index: 2;

    background: #FAFCFE;

    transform: translateY(-3px);
}


/* META */

.e2e-tech-meta {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 55px;

    color: var(--e2e-muted);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .14em;
}

.e2e-tech-meta span:first-child {
    color: var(--e2e-blue);
}


/* CONTENT */

.e2e-tech-domain h3 {
    max-width: 480px;

    margin-bottom: 18px;

    font-size: clamp(1.7rem, 2.5vw, 2.55rem);
}

.e2e-tech-domain p {
    max-width: 540px;

    margin-bottom: 30px;

    color: var(--e2e-muted);

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


/* TAGS */

.e2e-tech-tags {
    display: flex;

    flex-wrap: wrap;

    gap: 8px;
}

.e2e-tech-tags span {
    display: inline-flex;

    align-items: center;

    min-height: 29px;

    padding: 5px 10px;

    border: 1px solid var(--e2e-border);
    border-radius: 999px;

    background: var(--e2e-bg);

    color: #4B5964;

    font-size: 10px;
    font-weight: 650;

    letter-spacing: .04em;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .e2e-technology-head {
        grid-template-columns: 1fr;

        gap: 30px;

        margin-bottom: 50px;
    }

}


@media (max-width: 720px) {

    .e2e-tech-matrix {
        grid-template-columns: 1fr;
    }

    .e2e-tech-domain {
        padding: 30px;
    }

    .e2e-tech-meta {
        margin-bottom: 35px;
    }

}


/* =========================================
   RESEARCH & INNOVATION
========================================= */

.e2e-research {
    background: var(--e2e-dark);

    color: #fff;
}

.e2e-research-head {
    display: grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(320px, .95fr);

    gap: 90px;

    align-items: end;

    margin-bottom: 75px;
}

.e2e-research h2,
.e2e-research h3 {
    color: #fff;
}

.e2e-research-head h2 {
    max-width: 760px;

    margin-bottom: 0;
}

.e2e-research-head .e2e-lead {
    margin-bottom: 22px;

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

.e2e-research .e2e-text-link {
    color: var(--e2e-cyan);
}

.e2e-research .e2e-text-link:hover {
    color: #78D6E9;
}


/* INNOVATION SYSTEM */

.e2e-innovation-system {
    border-top: 1px solid rgba(255,255,255,.14);
}

.e2e-innovation-stage {
    display: grid;

    grid-template-columns:
        90px
        minmax(0,1fr);

    gap: 30px;

    padding: 38px 0;

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

.e2e-innovation-number {
    padding-top: 6px;

    color: var(--e2e-cyan);

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .14em;
}

.e2e-innovation-body {
    display: grid;

    grid-template-columns:
        minmax(200px,.45fr)
        minmax(300px,1fr)
        minmax(220px,.55fr);

    gap: 42px;

    align-items: start;
}

.e2e-innovation-body h3 {
    margin: 0;

    font-size: clamp(1.6rem,2.3vw,2.4rem);
}

.e2e-innovation-body p {
    margin: 0;

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

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

.e2e-innovation-keywords {
    padding-top: 4px;

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

    font-size: 11px;
    font-weight: 650;

    line-height: 1.7;

    letter-spacing: .035em;
}


/* FOOTER STRIP */

.e2e-research-footer {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(320px,.8fr);

    gap: 70px;

    margin-top: 70px;

    padding: 34px;

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

    border-radius: var(--e2e-radius-md);

    background: rgba(255,255,255,.035);
}

.e2e-research-footer-label {
    display: block;

    margin-bottom: 9px;

    color: var(--e2e-cyan);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .15em;

    text-transform: uppercase;
}

.e2e-research-footer strong {
    color: #fff;

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

.e2e-research-footer p {
    margin: 0;

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

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


/* RESPONSIVE */

@media (max-width: 950px) {

    .e2e-research-head {
        grid-template-columns: 1fr;

        gap: 30px;

        margin-bottom: 55px;
    }

    .e2e-innovation-body {
        grid-template-columns:
            minmax(180px,.4fr)
            minmax(0,1fr);
    }

    .e2e-innovation-keywords {
        grid-column: 2;
    }

    .e2e-research-footer {
        grid-template-columns: 1fr;

        gap: 25px;
    }

}


@media (max-width: 700px) {

    .e2e-innovation-stage {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .e2e-innovation-body {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .e2e-innovation-keywords {
        grid-column: 1;
    }

    .e2e-research-footer {
        padding: 26px;
    }

}


/* =========================================
   E2E FOUNDATION V2
========================================= */

.e2e-foundation-v2 {
    background: #F1F7F4;
}

.e2e-foundation-v2 .e2e-eyebrow {
    color: var(--e2e-foundation);
}

.e2e-foundation-head {
    display: grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(320px, .95fr);

    gap: 90px;

    align-items: end;

    margin-bottom: 70px;
}

.e2e-foundation-head h2 {
    max-width: 760px;

    margin-bottom: 0;
}

.e2e-foundation-head .e2e-lead {
    margin-bottom: 22px;
}

.e2e-foundation-link {
    color: var(--e2e-foundation);
}

.e2e-foundation-link:hover {
    color: #205944;
}


/* FOUNDATION GRID */

.e2e-foundation-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0,1fr));

    gap: 1px;

    background: #D6E6DE;

    border: 1px solid #D6E6DE;
}

.e2e-foundation-area {
    min-width: 0;

    padding: 34px;

    background: #fff;

    transition:
        background .2s ease,
        transform .2s ease;
}

.e2e-foundation-area:hover {
    background: #F9FCFA;

    transform: translateY(-2px);
}

.e2e-foundation-area > span {
    display: block;

    margin-bottom: 38px;

    color: var(--e2e-foundation);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: .14em;
}

.e2e-foundation-area h3 {
    margin-bottom: 16px;

    font-size: clamp(1.4rem,2vw,2rem);
}

.e2e-foundation-area p {
    margin: 0;

    color: var(--e2e-muted);

    font-size: 14px;

    line-height: 1.7;
}


/* RESPONSIVE */

@media (max-width: 950px) {

    .e2e-foundation-head {
        grid-template-columns: 1fr;

        gap: 30px;

        margin-bottom: 50px;
    }

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

}


@media (max-width: 650px) {

    .e2e-foundation-grid {
        grid-template-columns: 1fr;
    }

    .e2e-foundation-area {
        padding: 28px;
    }

}


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

.e2e-final-cta {
    padding: 105px 0;

    background: var(--e2e-blue);

    color: #fff;
}

.e2e-final-cta-inner {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(340px,.85fr);

    gap: 100px;

    align-items: end;
}

.e2e-final-cta .e2e-eyebrow {
    color: rgba(255,255,255,.7);
}

.e2e-final-cta h2 {
    max-width: 700px;

    margin: 0;

    color: #fff;

    font-size: clamp(2.8rem,5vw,5.3rem);
}

.e2e-final-cta p {
    max-width: 610px;

    margin: 0;

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

    font-size: 16px;

    line-height: 1.75;
}

.e2e-final-cta-actions {
    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 24px;

    margin-top: 30px;
}

.e2e-final-primary {
    background: #fff;

    color: var(--e2e-dark);
}

.e2e-final-primary:hover {
    background: #F2F6FA;

    color: var(--e2e-dark);
}

.e2e-final-secondary {
    color: #fff;

    font-size: 14px;
    font-weight: 650;

    text-decoration: none;
}

.e2e-final-secondary:hover {
    color: #fff;

    opacity: .75;
}


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

.e2e-site-footer {
    padding: 85px 0 30px;

    background: #050E17;

    color: #fff;
}

.e2e-footer-main {
    display: grid;

    grid-template-columns:
        minmax(280px,1.4fr)
        repeat(3,minmax(150px,.55fr));

    gap: 65px;

    padding-bottom: 70px;
}


/* BRAND */

.e2e-footer-wordmark {
    display: inline-flex;

    align-items: baseline;

    gap: 8px;

    margin-bottom: 24px;

    color: #fff;

    text-decoration: none;
}

.e2e-footer-wordmark span {
    font-size: 30px;
    font-weight: 800;

    letter-spacing: -.055em;
}

.e2e-footer-wordmark strong {
    color: rgba(255,255,255,.66);

    font-size: 11px;
    font-weight: 650;

    letter-spacing: .18em;
}

.e2e-footer-brand p {
    max-width: 330px;

    margin: 0;

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

    font-size: 14px;

    line-height: 1.7;
}


/* COLUMNS */

.e2e-footer-column {
    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 12px;
}

.e2e-footer-label {
    margin-bottom: 8px;

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

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .15em;

    text-transform: uppercase;
}

.e2e-footer-column a {
    color: rgba(255,255,255,.70);

    font-size: 13px;

    text-decoration: none;
}

.e2e-footer-column a:hover {
    color: #fff;
}


/* BOTTOM */

.e2e-footer-bottom {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 25px;

    padding-top: 25px;

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

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

    font-size: 11px;
}

.e2e-footer-legal {
    display: flex;

    gap: 20px;
}

.e2e-footer-legal a {
    color: rgba(255,255,255,.45);

    text-decoration: none;
}

.e2e-footer-legal a:hover {
    color: #fff;
}


/* RESPONSIVE */

@media (max-width: 950px) {

    .e2e-final-cta-inner {
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .e2e-footer-main {
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap: 50px;
    }

}


@media (max-width: 600px) {

    .e2e-final-cta {
        padding: 75px 0;
    }

    .e2e-footer-main {
        grid-template-columns: 1fr;

        gap: 40px;
    }

    .e2e-footer-bottom {
        align-items: flex-start;

        flex-direction: column;
    }

}


/* =========================================
   COMPACT FINAL CTA + FOOTER
========================================= */


/* ---------- FINAL CTA ---------- */

.e2e-final-cta {
    padding: 46px 0 !important;
}

.e2e-final-cta-inner {
    display: grid !important;
    grid-template-columns: minmax(300px,.8fr) minmax(420px,1.2fr) !important;
    gap: 55px !important;
    align-items: center !important;
}

.e2e-final-cta .e2e-eyebrow {
    margin-bottom: 10px !important;
}

.e2e-final-cta h2 {
    max-width: 420px !important;
    margin: 0 !important;

    font-size: clamp(2.2rem,3.3vw,3.6rem) !important;
    line-height: 1 !important;
}

.e2e-final-cta p {
    max-width: 650px !important;

    font-size: 14px !important;
    line-height: 1.6 !important;
}

.e2e-final-cta-actions {
    margin-top: 20px !important;

    gap: 22px !important;
}

.e2e-final-primary {
    min-height: 42px !important;

    padding: 9px 18px !important;

    font-size: 12px !important;
}

.e2e-final-secondary {
    font-size: 12px !important;
}


/* ---------- FOOTER ---------- */

.e2e-site-footer {
    padding: 38px 0 18px !important;
}

.e2e-footer-main {
    display: grid !important;

    grid-template-columns:
        minmax(230px,1.25fr)
        minmax(130px,.7fr)
        minmax(130px,.7fr)
        minmax(170px,.85fr) !important;

    gap: 35px !important;

    padding-bottom: 30px !important;
}


/* BRAND */

.e2e-footer-wordmark {
    margin-bottom: 12px !important;
}

.e2e-footer-wordmark span {
    font-size: 25px !important;
}

.e2e-footer-wordmark strong {
    font-size: 9px !important;
}

.e2e-footer-brand p {
    max-width: 265px !important;

    font-size: 12px !important;
    line-height: 1.55 !important;
}


/* FOOTER COLUMNS */

.e2e-footer-column {
    gap: 7px !important;
}

.e2e-footer-label {
    margin-bottom: 5px !important;

    font-size: 9px !important;
}

.e2e-footer-column a {
    font-size: 11px !important;
    line-height: 1.45 !important;
}


/* BOTTOM COPYRIGHT */

.e2e-footer-bottom {
    padding-top: 15px !important;

    font-size: 10px !important;
}


/* ---------- TABLET ---------- */

@media (max-width: 950px) {

    .e2e-final-cta-inner {
        grid-template-columns: 1fr 1fr !important;

        gap: 35px !important;
    }

    .e2e-footer-main {
        grid-template-columns:
            1.2fr 1fr 1fr !important;
    }

    .e2e-footer-brand {
        grid-column: 1 / -1;
    }

}


/* ---------- MOBILE ---------- */

@media (max-width: 700px) {

    .e2e-final-cta {
        padding: 38px 0 !important;
    }

    .e2e-final-cta-inner {
        grid-template-columns: 1fr !important;

        gap: 22px !important;
    }

    .e2e-final-cta h2 {
        font-size: 2.5rem !important;
    }

    .e2e-footer-main {
        grid-template-columns:
            1fr 1fr !important;

        gap: 28px 22px !important;
    }

    .e2e-footer-brand {
        grid-column: 1 / -1;
    }

}


@media (max-width: 480px) {

    .e2e-footer-main {
        grid-template-columns: 1fr !important;
    }

}


/* =========================================
   COMPACT FINAL CTA + FOOTER
========================================= */


/* ---------- FINAL CTA ---------- */

.e2e-final-cta {
    padding: 46px 0 !important;
}

.e2e-final-cta-inner {
    display: grid !important;
    grid-template-columns: minmax(300px,.8fr) minmax(420px,1.2fr) !important;
    gap: 55px !important;
    align-items: center !important;
}

.e2e-final-cta .e2e-eyebrow {
    margin-bottom: 10px !important;
}

.e2e-final-cta h2 {
    max-width: 420px !important;
    margin: 0 !important;

    font-size: clamp(2.2rem,3.3vw,3.6rem) !important;
    line-height: 1 !important;
}

.e2e-final-cta p {
    max-width: 650px !important;

    font-size: 14px !important;
    line-height: 1.6 !important;
}

.e2e-final-cta-actions {
    margin-top: 20px !important;

    gap: 22px !important;
}

.e2e-final-primary {
    min-height: 42px !important;

    padding: 9px 18px !important;

    font-size: 12px !important;
}

.e2e-final-secondary {
    font-size: 12px !important;
}


/* ---------- FOOTER ---------- */

.e2e-site-footer {
    padding: 38px 0 18px !important;
}

.e2e-footer-main {
    display: grid !important;

    grid-template-columns:
        minmax(230px,1.25fr)
        minmax(130px,.7fr)
        minmax(130px,.7fr)
        minmax(170px,.85fr) !important;

    gap: 35px !important;

    padding-bottom: 30px !important;
}


/* BRAND */

.e2e-footer-wordmark {
    margin-bottom: 12px !important;
}

.e2e-footer-wordmark span {
    font-size: 25px !important;
}

.e2e-footer-wordmark strong {
    font-size: 9px !important;
}

.e2e-footer-brand p {
    max-width: 265px !important;

    font-size: 12px !important;
    line-height: 1.55 !important;
}


/* FOOTER COLUMNS */

.e2e-footer-column {
    gap: 7px !important;
}

.e2e-footer-label {
    margin-bottom: 5px !important;

    font-size: 9px !important;
}

.e2e-footer-column a {
    font-size: 11px !important;
    line-height: 1.45 !important;
}


/* BOTTOM COPYRIGHT */

.e2e-footer-bottom {
    padding-top: 15px !important;

    font-size: 10px !important;
}


/* ---------- TABLET ---------- */

@media (max-width: 950px) {

    .e2e-final-cta-inner {
        grid-template-columns: 1fr 1fr !important;

        gap: 35px !important;
    }

    .e2e-footer-main {
        grid-template-columns:
            1.2fr 1fr 1fr !important;
    }

    .e2e-footer-brand {
        grid-column: 1 / -1;
    }

}


/* ---------- MOBILE ---------- */

@media (max-width: 700px) {

    .e2e-final-cta {
        padding: 38px 0 !important;
    }

    .e2e-final-cta-inner {
        grid-template-columns: 1fr !important;

        gap: 22px !important;
    }

    .e2e-final-cta h2 {
        font-size: 2.5rem !important;
    }

    .e2e-footer-main {
        grid-template-columns:
            1fr 1fr !important;

        gap: 28px 22px !important;
    }

    .e2e-footer-brand {
        grid-column: 1 / -1;
    }

}


@media (max-width: 480px) {

    .e2e-footer-main {
        grid-template-columns: 1fr !important;
    }

}


/* =========================================================
   COMPACT BOTTOM V2
========================================================= */


/* CTA — ONE HORIZONTAL BAND */

.e2e-compact-cta {
    padding: 34px 0 !important;
    background: #176BFF;
    color: #fff;
}

.e2e-compact-cta-grid {
    display: grid;
    grid-template-columns:
        minmax(230px,.8fr)
        minmax(360px,1.25fr)
        auto;

    gap: 42px;
    align-items: center;
}


.e2e-compact-cta-title span {
    display: block;

    margin-bottom: 6px;

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

    font-size: 9px;
    font-weight: 750;
    letter-spacing: .16em;
}


.e2e-compact-cta-title h2 {
    margin: 0 !important;

    color: #fff;

    font-size: clamp(1.75rem,2.5vw,2.65rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.035em;
}


.e2e-compact-cta-text {
    margin: 0 !important;

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

    font-size: 12px !important;
    line-height: 1.55 !important;
}


.e2e-compact-cta-actions {
    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 10px;
}


.e2e-compact-cta-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 38px;

    padding: 8px 15px;

    border-radius: 5px;

    background: #fff;

    color: #081522 !important;

    font-size: 11px;
    font-weight: 700;

    white-space: nowrap;

    text-decoration: none !important;
}


.e2e-compact-cta-button:hover {
    background: #EEF4FA;
}


.e2e-compact-cta-link {
    color: rgba(255,255,255,.82) !important;

    font-size: 10px;
    font-weight: 650;

    text-decoration: none !important;
}


/* =========================================================
   FOOTER — COMPACT SINGLE ROW
========================================================= */

.e2e-compact-footer {
    padding: 30px 0 13px !important;

    background: #050E17;

    color: #fff;
}


.e2e-compact-footer-main {
    display: grid;

    grid-template-columns:
        minmax(220px,1.35fr)
        minmax(125px,.7fr)
        minmax(110px,.65fr)
        minmax(165px,.85fr);

    gap: 38px;

    align-items: start;

    padding-bottom: 22px;
}


/* BRAND */

.e2e-compact-wordmark {
    display: inline-flex;

    align-items: baseline;

    gap: 7px;

    margin-bottom: 10px;

    color: #fff !important;

    text-decoration: none !important;
}


.e2e-compact-wordmark span {
    font-size: 25px;

    font-weight: 800;

    letter-spacing: -.055em;
}


.e2e-compact-wordmark strong {
    color: rgba(255,255,255,.58);

    font-size: 9px;

    letter-spacing: .18em;
}


.e2e-compact-footer-brand p {
    max-width: 260px;

    margin: 0;

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

    font-size: 10px;

    line-height: 1.5;
}


/* LINK GROUPS */

.e2e-compact-footer-group {
    display: flex;

    flex-direction: column;

    gap: 5px;
}


.e2e-compact-footer-label {
    margin-bottom: 4px;

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

    font-size: 8px;

    font-weight: 750;

    letter-spacing: .15em;

    text-transform: uppercase;
}


.e2e-compact-footer-group a {
    color: rgba(255,255,255,.64) !important;

    font-size: 10px;

    line-height: 1.4;

    text-decoration: none !important;
}


.e2e-compact-footer-group a:hover {
    color: #fff !important;
}


/* COPYRIGHT */

.e2e-compact-footer-bottom {
    display: flex;

    align-items: center;
    justify-content: space-between;

    padding-top: 11px;

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

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

    font-size: 9px;
}


.e2e-compact-footer-bottom a {
    color: rgba(255,255,255,.38) !important;

    text-decoration: none !important;
}


/* TABLET */

@media (max-width: 1000px) {

    .e2e-compact-cta-grid {
        grid-template-columns: 1fr 1.2fr;

        gap: 25px 35px;
    }

    .e2e-compact-cta-actions {
        grid-column: 2;

        flex-direction: row;

        align-items: center;
    }

}


/* MOBILE */

@media (max-width: 700px) {

    .e2e-compact-cta {
        padding: 28px 0 !important;
    }

    .e2e-compact-cta-grid {
        grid-template-columns: 1fr;

        gap: 16px;
    }

    .e2e-compact-cta-actions {
        grid-column: auto;

        flex-direction: row;

        flex-wrap: wrap;
    }

    .e2e-compact-footer-main {
        grid-template-columns: 1fr 1fr;

        gap: 25px;
    }

    .e2e-compact-footer-brand {
        grid-column: 1 / -1;
    }

}


@media (max-width: 440px) {

    .e2e-compact-footer-main {
        grid-template-columns: 1fr;
    }

    .e2e-compact-footer-brand {
        grid-column: auto;
    }

}



/* =====================================================
   E2E MINIMAL COMPACT FOOTER
===================================================== */

.e2e-min-footer {
    background: #081522 !important;
    color: #fff;
    padding: 26px 0 !important;
    border-top: 1px solid rgba(255,255,255,.08);
}

.e2e-min-footer-row {
    display: grid;
    grid-template-columns:
        minmax(250px,1.15fr)
        minmax(360px,1.35fr)
        auto;

    gap: 50px;
    align-items: center;
}


/* BRAND */

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

.e2e-min-wordmark {
    display: inline-flex;
    align-items: baseline;
    gap: 7px;

    color: #fff !important;
    text-decoration: none !important;
}

.e2e-min-wordmark span {
    font-size: 25px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.055em;
}

.e2e-min-wordmark strong {
    color: rgba(255,255,255,.60);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .18em;
}

.e2e-min-brand p {
    margin: 7px 0 0 !important;
    max-width: 270px;

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

    font-size: 10px;
    line-height: 1.45;
}


/* WORK WITH E2E */

.e2e-min-work {
    min-width: 0;
}

.e2e-min-label {
    display: block;

    margin-bottom: 9px;

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

    font-size: 8px;
    font-weight: 750;
    letter-spacing: .17em;
}

.e2e-min-actions {
    display: flex;
    align-items: center;
    gap: 23px;
}

.e2e-min-contact {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 34px;
    padding: 7px 14px;

    border-radius: 4px;

    background: #176BFF;

    color: #fff !important;

    font-size: 10px;
    font-weight: 700;

    text-decoration: none !important;
    white-space: nowrap;
}

.e2e-min-contact:hover {
    background: #2F7BFF;
}

.e2e-min-projects {
    color: rgba(255,255,255,.68) !important;

    font-size: 10px;
    font-weight: 650;

    text-decoration: none !important;
    white-space: nowrap;
}

.e2e-min-projects:hover {
    color: #fff !important;
}


/* LEGAL */

.e2e-min-legal {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;

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

    font-size: 9px;

    white-space: nowrap;
}

.e2e-min-legal a {
    color: rgba(255,255,255,.46) !important;
    text-decoration: none !important;
}

.e2e-min-legal a:hover {
    color: #fff !important;
}


/* TABLET */

@media (max-width: 900px) {

    .e2e-min-footer-row {
        grid-template-columns: 1fr 1fr;
        gap: 25px 35px;
    }

    .e2e-min-legal {
        grid-column: 1 / -1;

        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

}


/* MOBILE */

@media (max-width: 620px) {

    .e2e-min-footer {
        padding: 22px 0 !important;
    }

    .e2e-min-footer-row {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .e2e-min-actions {
        flex-wrap: wrap;
        gap: 15px;
    }

    .e2e-min-legal {
        grid-column: auto;
    }

}





/* =====================================================
   FOUNDATION USING TECHNOLOGY MATRIX
===================================================== */

.e2e-foundation-v2 {
    background: #F1F7F4;
}

.e2e-foundation-tech-head {
    margin-bottom: 42px;
}

.e2e-foundation-tech-head .e2e-eyebrow {
    color: #2E765D;
}

.e2e-foundation-tech-link-wrap {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}

.e2e-foundation-link {
    color: #2E765D !important;
}

.e2e-foundation-link:hover {
    color: #205944 !important;
}


/* keep exact Technology matrix geometry */

.e2e-foundation-tech-matrix {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* only recolor the Technology cards */

.e2e-foundation-tech-domain {
    background: #FFFFFF;
}

.e2e-foundation-tech-domain:hover {
    background: #F7FAF8;
}

.e2e-foundation-tech-domain .e2e-tech-meta {
    color: #2E765D;
}

.e2e-foundation-tech-domain h3 {
    color: #17202A;
}

.e2e-foundation-tech-domain p {
    color: #66727D;
}


/* MOBILE */

@media (max-width: 700px) {

    .e2e-foundation-tech-matrix {
        grid-template-columns: 1fr;
    }

    .e2e-foundation-tech-link-wrap {
        justify-content: flex-start;
    }

}



/* =====================================================
   FOUNDATION INTRO — MATCH TECHNOLOGY
===================================================== */

.e2e-foundation-v2 {
    background: #F1F7F4;
}

.e2e-foundation-tech-head {
    display: grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(320px, .95fr);

    gap: 90px;

    align-items: end;

    margin-bottom: 48px;
}

.e2e-foundation-tech-head .e2e-eyebrow {
    color: #2E765D;
}

.e2e-foundation-tech-head h2 {
    max-width: 760px;

    margin-bottom: 0;
}

.e2e-foundation-tech-head .e2e-lead {
    margin: 0 0 22px;

    color: #66727D;
}

.e2e-foundation-tech-head .e2e-foundation-link {
    color: #2E765D !important;
}

.e2e-foundation-tech-head .e2e-foundation-link:hover {
    color: #205944 !important;
}


@media (max-width: 950px) {

    .e2e-foundation-tech-head {
        grid-template-columns: 1fr;

        gap: 30px;
    }

}


/* FOUNDATION — LIGHT BACKGROUND */

.e2e-foundation-v2 {
    background: #F6F8FA !important;
}

.e2e-foundation-tech-domain {
    background: #FFFFFF !important;
}

.e2e-foundation-tech-domain:hover {
    background: #F9FBFA !important;
}



/* ==========================================================
   FINAL E2E FUTURE FOOTER
========================================================== */

.e2e-final-footer {
    background: #081522 !important;
    color: #FFFFFF;
    padding: 22px 0 !important;
    border-top: 1px solid rgba(255,255,255,.08);
}


.e2e-final-footer-row {
    display: grid;

    grid-template-columns:
        minmax(250px,1fr)
        minmax(390px,1.3fr)
        minmax(170px,.65fr);

    gap: 55px;

    align-items: center;
}


/* BRAND */

.e2e-final-footer-brand {
    min-width: 0;
}

.e2e-final-footer-logo {
    display: inline-flex;
    align-items: baseline;

    gap: 7px;

    color: #FFFFFF !important;
    text-decoration: none !important;
}

.e2e-final-footer-logo span {
    font-size: 26px;
    font-weight: 800;

    line-height: 1;

    letter-spacing: -.055em;
}

.e2e-final-footer-logo strong {
    color: rgba(255,255,255,.60);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: .18em;
}

.e2e-final-footer-brand p {
    max-width: 270px;

    margin: 7px 0 0 !important;

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

    font-size: 10px;
    line-height: 1.45;
}


/* WORK WITH E2E */

.e2e-final-footer-work {
    min-width: 0;
}

.e2e-final-footer-label {
    margin-bottom: 8px;

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

    font-size: 8px;
    font-weight: 750;

    letter-spacing: .17em;
}

.e2e-final-footer-actions {
    display: flex;

    align-items: center;

    gap: 24px;
}

.e2e-final-footer-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 34px;

    padding: 7px 15px;

    border-radius: 4px;

    background: #176BFF;

    color: #FFFFFF !important;

    font-size: 10px;
    font-weight: 700;

    text-decoration: none !important;

    white-space: nowrap;
}

.e2e-final-footer-button:hover {
    background: #2F7BFF;
}

.e2e-final-footer-projects {
    color: rgba(255,255,255,.68) !important;

    font-size: 10px;
    font-weight: 650;

    text-decoration: none !important;

    white-space: nowrap;
}

.e2e-final-footer-projects:hover {
    color: #FFFFFF !important;
}


/* COPYRIGHT / PRIVACY */

.e2e-final-footer-legal {
    display: flex;

    flex-direction: column;

    align-items: flex-end;

    gap: 6px;

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

    font-size: 9px;

    white-space: nowrap;
}

.e2e-final-footer-legal a {
    color: rgba(255,255,255,.48) !important;

    text-decoration: none !important;
}

.e2e-final-footer-legal a:hover {
    color: #FFFFFF !important;
}


/* TABLET */

@media (max-width: 900px) {

    .e2e-final-footer-row {
        grid-template-columns: 1fr 1fr;

        gap: 25px 35px;
    }

    .e2e-final-footer-legal {
        grid-column: 1 / -1;

        flex-direction: row;

        align-items: center;
        justify-content: space-between;
    }

}


/* MOBILE */

@media (max-width: 620px) {

    .e2e-final-footer {
        padding: 20px 0 !important;
    }

    .e2e-final-footer-row {
        grid-template-columns: 1fr;

        gap: 20px;
    }

    .e2e-final-footer-actions {
        flex-wrap: wrap;

        gap: 14px;
    }

    .e2e-final-footer-legal {
        grid-column: auto;

        flex-direction: row;

        align-items: center;
        justify-content: space-between;
    }

}


/* WORK WITH E2E — CLICKABLE */

.e2e-final-footer-label-link {
    display: inline-flex;
    align-items: center;

    width: fit-content;

    padding: 6px 10px;

    margin-bottom: 8px;

    border: 1px solid rgba(255,255,255,.18);
    border-radius: 4px;

    color: rgba(255,255,255,.76) !important;

    text-decoration: none !important;

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

.e2e-final-footer-label-link:hover {
    background: rgba(255,255,255,.06);

    border-color: rgba(255,255,255,.35);

    color: #FFFFFF !important;
}



/* =====================================================
   FOUNDATION — 3 BOXES IN ONE ROW
===================================================== */

.e2e-foundation-tech-matrix {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.e2e-foundation-tech-domain {
    min-height: 220px;
}


/* TABLET */

@media (max-width: 900px) {

    .e2e-foundation-tech-matrix {
        grid-template-columns: 1fr 1fr !important;
    }

}


/* MOBILE */

@media (max-width: 620px) {

    .e2e-foundation-tech-matrix {
        grid-template-columns: 1fr !important;
    }

}



/* =====================================================
   SOLUTIONS — 6 BOX MATRIX
===================================================== */

.e2e-solutions-boxed {
    background: #F6F8FA;
}

.e2e-solutions-box-head {
    margin-bottom: 45px;
}


/* 3 x 2 MATRIX */

.e2e-solutions-box-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0,1fr));

    gap: 0;

    border-top: 1px solid #DDE4EA;
    border-left: 1px solid #DDE4EA;
}


/* BOX */

.e2e-solutions-box {
    min-height: 255px;

    padding: 28px 30px;

    border-right: 1px solid #DDE4EA;
    border-bottom: 1px solid #DDE4EA;

    background: #FFFFFF;

    transition: background .2s ease;
}

.e2e-solutions-box:hover {
    background: #F8FAFC;
}


/* NUMBER */

.e2e-solutions-box-number {
    margin-bottom: 30px;

    color: #176BFF;

    font-size: 10px;
    font-weight: 750;

    letter-spacing: .14em;
}


/* TITLE */

.e2e-solutions-box h3 {
    margin: 0 0 13px;

    font-size: clamp(1.25rem,1.7vw,1.7rem);

    line-height: 1.15;
}


/* DESCRIPTION */

.e2e-solutions-box p {
    margin: 0;

    color: #66727D;

    font-size: 12px;

    line-height: 1.65;
}


/* TECHNOLOGY LINE */

.e2e-solutions-box-tech {
    margin-top: 20px;

    color: #83909C;

    font-size: 10px;
    font-weight: 600;

    line-height: 1.5;
}


/* TABLET */

@media (max-width: 950px) {

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

}


/* MOBILE */

@media (max-width: 620px) {

    .e2e-solutions-box-grid {
        grid-template-columns: 1fr;
    }

    .e2e-solutions-box {
        min-height: 0;

        padding: 25px;
    }

}

/* ===== E2E TECHNOLOGY PAGE START ===== */


/* =====================================================
   TECHNOLOGY PAGE
===================================================== */

.e2e-tech-page {
    background: #FFFFFF;
    color: #17202A;
}

.e2e-tech-page *,
.e2e-tech-page *::before,
.e2e-tech-page *::after {
    box-sizing: border-box;
}

.e2e-tech-page-eyebrow {
    margin-bottom: 15px;

    color: #176BFF;

    font-size: 10px;
    font-weight: 750;

    letter-spacing: .16em;

    text-transform: uppercase;
}


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

.e2e-tech-page-hero {
    padding: 82px 0 0;

    background:
        linear-gradient(
            180deg,
            #F7F9FB 0%,
            #FFFFFF 100%
        );
}

.e2e-tech-page-hero-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1.08fr)
        minmax(330px,.92fr);

    gap: 85px;

    align-items: end;

    padding-bottom: 55px;
}

.e2e-tech-page-hero h1 {
    max-width: 760px;

    margin: 0;

    color: #081522;

    font-size: clamp(3.2rem,5vw,5.5rem);

    line-height: .98;

    letter-spacing: -.055em;
}

.e2e-tech-page-hero-copy > p {
    max-width: 580px;

    margin: 0;

    color: #66727D;

    font-size: 15px;

    line-height: 1.75;
}

.e2e-tech-page-hero-links {
    display: flex;

    flex-wrap: wrap;

    gap: 24px;

    margin-top: 24px;
}

.e2e-tech-page-hero-links a {
    color: #176BFF;

    font-size: 12px;
    font-weight: 650;

    text-decoration: none;
}

.e2e-tech-page-hero-links a:hover {
    color: #081522;
}


/* TECHNOLOGY INDEX */

.e2e-tech-page-index {
    display: grid;

    grid-template-columns:
        repeat(6,minmax(0,1fr));

    border-top: 1px solid #DDE4EA;

    border-left: 1px solid #DDE4EA;
}

.e2e-tech-page-index span {
    padding: 17px 14px;

    border-right: 1px solid #DDE4EA;
    border-bottom: 1px solid #DDE4EA;

    color: #66727D;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: .035em;

    text-align: center;
}


/* =====================================================
   SHARED SECTION HEAD
===================================================== */

.e2e-tech-page-section-head {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(320px,.95fr);

    gap: 85px;

    align-items: end;

    margin-bottom: 42px;
}

.e2e-tech-page-section-head h2 {
    max-width: 720px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2.4rem,3.6vw,3.8rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-tech-page-section-head > p {
    max-width: 570px;

    margin: 0;

    color: #66727D;

    font-size: 14px;

    line-height: 1.7;
}


/* =====================================================
   TECHNOLOGY CAPABILITIES
===================================================== */

.e2e-tech-page-capabilities {
    padding: 75px 0;

    background: #F6F8FA;
}

.e2e-tech-page-grid {
    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    border-top: 1px solid #DCE3E9;

    border-left: 1px solid #DCE3E9;
}

.e2e-tech-page-card {
    min-height: 295px;

    padding: 30px 32px;

    border-right: 1px solid #DCE3E9;
    border-bottom: 1px solid #DCE3E9;

    background: #FFFFFF;

    transition:
        background .2s ease,
        transform .2s ease;
}

.e2e-tech-page-card:hover {
    background: #FAFCFD;
}

.e2e-tech-page-card-top {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 35px;
}

.e2e-tech-page-card-top > span {
    color: #176BFF;

    font-size: 10px;
    font-weight: 750;

    letter-spacing: .14em;
}

.e2e-tech-page-card-top small {
    color: #8A98A5;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: .12em;
}

.e2e-tech-page-card h3 {
    margin: 0 0 13px;

    color: #17202A;

    font-size: clamp(1.45rem,2vw,2rem);

    line-height: 1.15;
}

.e2e-tech-page-card > p {
    max-width: 540px;

    margin: 0;

    color: #66727D;

    font-size: 13px;

    line-height: 1.65;
}

.e2e-tech-page-tags {
    display: flex;

    flex-wrap: wrap;

    gap: 6px;

    margin-top: 23px;
}

.e2e-tech-page-tags span {
    padding: 5px 8px;

    border: 1px solid #E0E6EB;

    background: #F8FAFB;

    color: #6D7984;

    font-size: 9px;

    line-height: 1;
}


/* =====================================================
   INTEGRATED SYSTEMS
===================================================== */

.e2e-tech-page-integrated {
    padding: 72px 0;

    background: #081522;

    color: #FFFFFF;
}

.e2e-tech-page-integrated .e2e-tech-page-eyebrow {
    color: #35C2D8;
}

.e2e-tech-page-integrated-head {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(320px,.95fr);

    gap: 85px;

    align-items: end;

    margin-bottom: 48px;
}

.e2e-tech-page-integrated-head h2 {
    max-width: 720px;

    margin: 0;

    color: #FFFFFF;

    font-size: clamp(2.4rem,3.6vw,3.8rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-tech-page-integrated-head > p {
    max-width: 570px;

    margin: 0;

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

    font-size: 14px;

    line-height: 1.7;
}


/* SYSTEM FLOW */

.e2e-tech-page-system {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        32px
        minmax(0,1fr)
        32px
        minmax(0,1fr)
        32px
        minmax(0,1fr);

    gap: 14px;

    align-items: center;
}

.e2e-tech-page-system article {
    min-height: 160px;

    padding: 23px;

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

    background: rgba(255,255,255,.025);
}

.e2e-tech-page-system article > span {
    display: block;

    margin-bottom: 27px;

    color: #35C2D8;

    font-size: 9px;
    font-weight: 750;
}

.e2e-tech-page-system strong {
    display: block;

    margin-bottom: 8px;

    color: #FFFFFF;

    font-size: 18px;
}

.e2e-tech-page-system p {
    margin: 0;

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

    font-size: 11px;

    line-height: 1.6;
}

.e2e-tech-page-system-arrow {
    color: rgba(255,255,255,.26);

    font-size: 20px;

    text-align: center;
}


/* =====================================================
   TECHNOLOGY PRINCIPLES
===================================================== */

.e2e-tech-page-principles {
    padding: 72px 0;

    background: #FFFFFF;
}

.e2e-tech-page-principle-grid {
    display: grid;

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

    border-top: 1px solid #DDE4EA;
}

.e2e-tech-page-principle-grid article {
    min-width: 0;

    padding: 28px 28px 5px 0;
}

.e2e-tech-page-principle-grid article:not(:last-child) {
    margin-right: 28px;

    border-right: 1px solid #DDE4EA;
}

.e2e-tech-page-principle-grid span {
    display: block;

    margin-bottom: 24px;

    color: #176BFF;

    font-size: 9px;
    font-weight: 750;
}

.e2e-tech-page-principle-grid h3 {
    margin: 0 0 10px;

    color: #17202A;

    font-size: 18px;
}

.e2e-tech-page-principle-grid p {
    margin: 0;

    color: #66727D;

    font-size: 11px;

    line-height: 1.65;
}


/* =====================================================
   NEXT
===================================================== */

.e2e-tech-page-next {
    padding: 50px 0;

    border-top: 1px solid #DDE4EA;

    background: #F6F8FA;
}

.e2e-tech-page-next-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        auto;

    gap: 60px;

    align-items: center;
}

.e2e-tech-page-next h2 {
    max-width: 720px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2rem,3vw,3rem);

    line-height: 1.05;

    letter-spacing: -.035em;
}

.e2e-tech-page-next-links {
    display: flex;

    align-items: center;

    gap: 26px;
}

.e2e-tech-page-next-links a {
    color: #176BFF;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;

    white-space: nowrap;
}

.e2e-tech-page-primary-link {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 40px;

    padding: 8px 16px;

    border-radius: 4px;

    background: #176BFF;

    color: #FFFFFF !important;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 1000px) {

    .e2e-tech-page-hero-grid,
    .e2e-tech-page-section-head,
    .e2e-tech-page-integrated-head {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .e2e-tech-page-index {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    .e2e-tech-page-system {
        grid-template-columns:
            repeat(4,minmax(0,1fr));

        gap: 10px;
    }

    .e2e-tech-page-system-arrow {
        display: none;
    }

    .e2e-tech-page-principle-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


@media (max-width: 700px) {

    .e2e-tech-page-hero {
        padding-top: 58px;
    }

    .e2e-tech-page-hero-grid {
        padding-bottom: 40px;
    }

    .e2e-tech-page-index {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .e2e-tech-page-capabilities,
    .e2e-tech-page-integrated,
    .e2e-tech-page-principles {
        padding-top: 55px;
        padding-bottom: 55px;
    }

    .e2e-tech-page-grid {
        grid-template-columns: 1fr;
    }

    .e2e-tech-page-card {
        min-height: 0;

        padding: 26px;
    }

    .e2e-tech-page-system {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .e2e-tech-page-principle-grid {
        grid-template-columns: 1fr;
    }

    .e2e-tech-page-principle-grid article {
        padding: 22px 0;

        margin-right: 0 !important;

        border-right: 0 !important;
        border-bottom: 1px solid #DDE4EA;
    }

    .e2e-tech-page-next-grid {
        grid-template-columns: 1fr;

        gap: 25px;
    }

}


@media (max-width: 480px) {

    .e2e-tech-page-index {
        grid-template-columns: 1fr 1fr;
    }

    .e2e-tech-page-system {
        grid-template-columns: 1fr;
    }

    .e2e-tech-page-next-links {
        align-items: flex-start;

        flex-direction: column;
    }

}


/* ===== E2E TECHNOLOGY PAGE END ===== */

/* ===== E2E SOLUTIONS PAGE START ===== */


/* =====================================================
   SOLUTIONS PAGE
===================================================== */

.e2e-sol-page {
    background: #FFFFFF;
    color: #17202A;
}

.e2e-sol-page *,
.e2e-sol-page *::before,
.e2e-sol-page *::after {
    box-sizing: border-box;
}

.e2e-sol-page-eyebrow {
    margin-bottom: 15px;

    color: #176BFF;

    font-size: 10px;
    font-weight: 750;

    letter-spacing: .16em;

    text-transform: uppercase;
}


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

.e2e-sol-page-hero {
    padding: 82px 0 0;

    background:
        linear-gradient(
            180deg,
            #F7F9FB 0%,
            #FFFFFF 100%
        );
}

.e2e-sol-page-hero-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1.08fr)
        minmax(330px,.92fr);

    gap: 85px;

    align-items: end;

    padding-bottom: 55px;
}

.e2e-sol-page-hero h1 {
    max-width: 760px;

    margin: 0;

    color: #081522;

    font-size: clamp(3.2rem,5vw,5.5rem);

    line-height: .98;

    letter-spacing: -.055em;
}

.e2e-sol-page-hero-copy > p {
    max-width: 580px;

    margin: 0;

    color: #66727D;

    font-size: 15px;

    line-height: 1.75;
}

.e2e-sol-page-hero-links {
    display: flex;

    flex-wrap: wrap;

    gap: 24px;

    margin-top: 24px;
}

.e2e-sol-page-hero-links a {
    color: #176BFF;

    font-size: 12px;
    font-weight: 650;

    text-decoration: none;
}


/* INDEX */

.e2e-sol-page-index {
    display: grid;

    grid-template-columns:
        repeat(6,minmax(0,1fr));

    border-top: 1px solid #DDE4EA;
    border-left: 1px solid #DDE4EA;
}

.e2e-sol-page-index span {
    padding: 17px 12px;

    border-right: 1px solid #DDE4EA;
    border-bottom: 1px solid #DDE4EA;

    color: #66727D;

    font-size: 9px;
    font-weight: 700;

    text-align: center;
}


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

.e2e-sol-page-section-head {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(320px,.95fr);

    gap: 85px;

    align-items: end;

    margin-bottom: 42px;
}

.e2e-sol-page-section-head h2 {
    max-width: 720px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2.4rem,3.6vw,3.8rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-sol-page-section-head > p {
    max-width: 570px;

    margin: 0;

    color: #66727D;

    font-size: 14px;

    line-height: 1.7;
}


/* =====================================================
   SOLUTION AREAS
===================================================== */

.e2e-sol-page-areas {
    padding: 75px 0;

    background: #F6F8FA;
}

.e2e-sol-page-grid {
    display: grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    border-top: 1px solid #DCE3E9;
    border-left: 1px solid #DCE3E9;
}

.e2e-sol-page-card {
    min-height: 370px;

    padding: 28px 30px;

    border-right: 1px solid #DCE3E9;
    border-bottom: 1px solid #DCE3E9;

    background: #FFFFFF;
}

.e2e-sol-page-card:hover {
    background: #FAFCFD;
}

.e2e-sol-page-card-top {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 30px;
}

.e2e-sol-page-card-top > span {
    color: #176BFF;

    font-size: 10px;
    font-weight: 750;
}

.e2e-sol-page-card-top small {
    color: #8A98A5;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: .1em;
}

.e2e-sol-page-card h3 {
    margin: 0 0 13px;

    color: #17202A;

    font-size: clamp(1.35rem,1.8vw,1.8rem);

    line-height: 1.15;
}

.e2e-sol-page-card > p {
    margin: 0;

    color: #66727D;

    font-size: 12px;

    line-height: 1.65;
}


/* FOCUS */

.e2e-sol-page-focus {
    display: flex;

    flex-wrap: wrap;

    gap: 6px;

    margin-top: 21px;
}

.e2e-sol-page-focus strong {
    width: 100%;

    margin-bottom: 3px;

    color: #8A98A5;

    font-size: 8px;
    font-weight: 750;

    letter-spacing: .12em;

    text-transform: uppercase;
}

.e2e-sol-page-focus span {
    padding: 5px 7px;

    border: 1px solid #E0E6EB;

    background: #F8FAFB;

    color: #6D7984;

    font-size: 9px;
}


/* TECH LINE */

.e2e-sol-page-tech {
    margin-top: 21px;

    color: #8493A0;

    font-size: 9px;
    font-weight: 600;

    line-height: 1.5;
}


/* =====================================================
   DATA TO ACTION
===================================================== */

.e2e-sol-page-system {
    padding: 72px 0;

    background: #081522;

    color: #FFFFFF;
}

.e2e-sol-page-system .e2e-sol-page-eyebrow {
    color: #35C2D8;
}

.e2e-sol-page-system-head {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(320px,.95fr);

    gap: 85px;

    align-items: end;

    margin-bottom: 48px;
}

.e2e-sol-page-system-head h2 {
    max-width: 720px;

    margin: 0;

    color: #FFFFFF;

    font-size: clamp(2.4rem,3.6vw,3.8rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-sol-page-system-head > p {
    max-width: 570px;

    margin: 0;

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

    font-size: 14px;

    line-height: 1.7;
}

.e2e-sol-page-flow {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        32px
        minmax(0,1fr)
        32px
        minmax(0,1fr)
        32px
        minmax(0,1fr);

    gap: 14px;

    align-items: center;
}

.e2e-sol-page-flow article {
    min-height: 155px;

    padding: 23px;

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

    background: rgba(255,255,255,.025);
}

.e2e-sol-page-flow article span {
    display: block;

    margin-bottom: 26px;

    color: #35C2D8;

    font-size: 9px;
    font-weight: 750;
}

.e2e-sol-page-flow strong {
    display: block;

    margin-bottom: 8px;

    color: #FFFFFF;

    font-size: 18px;
}

.e2e-sol-page-flow p {
    margin: 0;

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

    font-size: 11px;

    line-height: 1.6;
}

.e2e-sol-page-arrow {
    color: rgba(255,255,255,.26);

    font-size: 20px;

    text-align: center;
}


/* =====================================================
   CROSS-CUTTING CAPABILITIES
===================================================== */

.e2e-sol-page-capabilities {
    padding: 72px 0;

    background: #FFFFFF;
}

.e2e-sol-page-cap-grid {
    display: grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    border-top: 1px solid #DDE4EA;
    border-left: 1px solid #DDE4EA;
}

.e2e-sol-page-cap-grid article {
    min-height: 160px;

    padding: 25px;

    border-right: 1px solid #DDE4EA;
    border-bottom: 1px solid #DDE4EA;
}

.e2e-sol-page-cap-grid span {
    display: block;

    margin-bottom: 22px;

    color: #176BFF;

    font-size: 9px;
    font-weight: 750;
}

.e2e-sol-page-cap-grid strong {
    display: block;

    margin-bottom: 8px;

    color: #17202A;

    font-size: 16px;
}

.e2e-sol-page-cap-grid p {
    margin: 0;

    color: #66727D;

    font-size: 11px;

    line-height: 1.6;
}


/* =====================================================
   NEXT
===================================================== */

.e2e-sol-page-next {
    padding: 50px 0;

    border-top: 1px solid #DDE4EA;

    background: #F6F8FA;
}

.e2e-sol-page-next-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        auto;

    gap: 60px;

    align-items: center;
}

.e2e-sol-page-next h2 {
    max-width: 720px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2rem,3vw,3rem);

    line-height: 1.05;

    letter-spacing: -.035em;
}

.e2e-sol-page-next-links {
    display: flex;

    align-items: center;

    gap: 26px;
}

.e2e-sol-page-next-links a {
    color: #176BFF;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;

    white-space: nowrap;
}

.e2e-sol-page-primary {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 40px;

    padding: 8px 16px;

    border-radius: 4px;

    background: #176BFF;

    color: #FFFFFF !important;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 1000px) {

    .e2e-sol-page-hero-grid,
    .e2e-sol-page-section-head,
    .e2e-sol-page-system-head {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .e2e-sol-page-index {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    .e2e-sol-page-grid,
    .e2e-sol-page-cap-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .e2e-sol-page-flow {
        grid-template-columns:
            repeat(4,minmax(0,1fr));

        gap: 10px;
    }

    .e2e-sol-page-arrow {
        display: none;
    }

}


@media (max-width: 700px) {

    .e2e-sol-page-hero {
        padding-top: 58px;
    }

    .e2e-sol-page-hero-grid {
        padding-bottom: 40px;
    }

    .e2e-sol-page-index {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .e2e-sol-page-areas,
    .e2e-sol-page-system,
    .e2e-sol-page-capabilities {
        padding-top: 55px;
        padding-bottom: 55px;
    }

    .e2e-sol-page-grid,
    .e2e-sol-page-cap-grid {
        grid-template-columns: 1fr;
    }

    .e2e-sol-page-card {
        min-height: 0;

        padding: 26px;
    }

    .e2e-sol-page-flow {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .e2e-sol-page-next-grid {
        grid-template-columns: 1fr;

        gap: 25px;
    }

}


@media (max-width: 480px) {

    .e2e-sol-page-flow {
        grid-template-columns: 1fr;
    }

    .e2e-sol-page-next-links {
        align-items: flex-start;

        flex-direction: column;
    }

}


/* ===== E2E SOLUTIONS PAGE END ===== */

/* ===== E2E RESEARCH INNOVATION PAGE START ===== */


/* =====================================================
   RESEARCH & INNOVATION PAGE
===================================================== */

.e2e-ri-page {
    background: #FFFFFF;
    color: #17202A;
}

.e2e-ri-page *,
.e2e-ri-page *::before,
.e2e-ri-page *::after {
    box-sizing: border-box;
}

.e2e-ri-eyebrow {
    margin-bottom: 15px;
    color: #176BFF;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .16em;
    text-transform: uppercase;
}


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

.e2e-ri-hero {
    padding: 82px 0 0;

    background:
        linear-gradient(
            180deg,
            #F7F9FB 0%,
            #FFFFFF 100%
        );
}

.e2e-ri-hero-grid {
    display: grid;
    grid-template-columns:
        minmax(0,1.08fr)
        minmax(330px,.92fr);

    gap: 85px;
    align-items: end;

    padding-bottom: 55px;
}

.e2e-ri-hero h1 {
    max-width: 780px;

    margin: 0;

    color: #081522;

    font-size: clamp(3.2rem,5vw,5.5rem);

    line-height: .98;

    letter-spacing: -.055em;
}

.e2e-ri-hero-copy > p {
    max-width: 580px;

    margin: 0;

    color: #66727D;

    font-size: 15px;

    line-height: 1.75;
}

.e2e-ri-hero-links {
    display: flex;
    flex-wrap: wrap;

    gap: 24px;

    margin-top: 24px;
}

.e2e-ri-hero-links a {
    color: #176BFF;

    font-size: 12px;
    font-weight: 650;

    text-decoration: none;
}


/* INDEX */

.e2e-ri-index {
    display: grid;

    grid-template-columns:
        repeat(6,minmax(0,1fr));

    border-top: 1px solid #DDE4EA;
    border-left: 1px solid #DDE4EA;
}

.e2e-ri-index span {
    padding: 17px 12px;

    border-right: 1px solid #DDE4EA;
    border-bottom: 1px solid #DDE4EA;

    color: #66727D;

    font-size: 9px;
    font-weight: 700;

    text-align: center;
}


/* =====================================================
   SHARED HEADING
===================================================== */

.e2e-ri-section-head {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(320px,.95fr);

    gap: 85px;

    align-items: end;

    margin-bottom: 42px;
}

.e2e-ri-section-head h2 {
    max-width: 720px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2.4rem,3.6vw,3.8rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-ri-section-head > p {
    max-width: 570px;

    margin: 0;

    color: #66727D;

    font-size: 14px;

    line-height: 1.7;
}


/* =====================================================
   R&D CAPABILITIES
===================================================== */

.e2e-ri-capabilities {
    padding: 75px 0;

    background: #F6F8FA;
}

.e2e-ri-grid {
    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    border-top: 1px solid #DCE3E9;
    border-left: 1px solid #DCE3E9;
}

.e2e-ri-card {
    min-height: 300px;

    padding: 30px 32px;

    border-right: 1px solid #DCE3E9;
    border-bottom: 1px solid #DCE3E9;

    background: #FFFFFF;
}

.e2e-ri-card:hover {
    background: #FAFCFD;
}

.e2e-ri-card-top {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 34px;
}

.e2e-ri-card-top > span {
    color: #176BFF;

    font-size: 10px;
    font-weight: 750;
}

.e2e-ri-card-top small {
    color: #8A98A5;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: .11em;
}

.e2e-ri-card h3 {
    margin: 0 0 13px;

    color: #17202A;

    font-size: clamp(1.45rem,2vw,2rem);

    line-height: 1.15;
}

.e2e-ri-card > p {
    max-width: 560px;

    margin: 0;

    color: #66727D;

    font-size: 13px;

    line-height: 1.65;
}

.e2e-ri-tags {
    display: flex;

    flex-wrap: wrap;

    gap: 6px;

    margin-top: 22px;
}

.e2e-ri-tags span {
    padding: 5px 8px;

    border: 1px solid #E0E6EB;

    background: #F8FAFB;

    color: #6D7984;

    font-size: 9px;
}


/* =====================================================
   INNOVATION PATHWAY
===================================================== */

.e2e-ri-pathway {
    padding: 72px 0;

    background: #081522;

    color: #FFFFFF;
}

.e2e-ri-pathway .e2e-ri-eyebrow {
    color: #35C2D8;
}

.e2e-ri-pathway-head {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(320px,.95fr);

    gap: 85px;

    align-items: end;

    margin-bottom: 48px;
}

.e2e-ri-pathway-head h2 {
    max-width: 720px;

    margin: 0;

    color: #FFFFFF;

    font-size: clamp(2.4rem,3.6vw,3.8rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-ri-pathway-head > p {
    max-width: 570px;

    margin: 0;

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

    font-size: 14px;

    line-height: 1.7;
}

.e2e-ri-flow {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        24px
        minmax(0,1fr)
        24px
        minmax(0,1fr)
        24px
        minmax(0,1fr)
        24px
        minmax(0,1fr);

    gap: 10px;

    align-items: center;
}

.e2e-ri-flow article {
    min-height: 155px;

    padding: 22px;

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

    background: rgba(255,255,255,.025);
}

.e2e-ri-flow article span {
    display: block;

    margin-bottom: 25px;

    color: #35C2D8;

    font-size: 9px;
    font-weight: 750;
}

.e2e-ri-flow strong {
    display: block;

    margin-bottom: 8px;

    color: #FFFFFF;

    font-size: 17px;
}

.e2e-ri-flow p {
    margin: 0;

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

    font-size: 10px;

    line-height: 1.6;
}

.e2e-ri-arrow {
    color: rgba(255,255,255,.25);

    text-align: center;
}


/* =====================================================
   COLLABORATION
===================================================== */

.e2e-ri-collaboration {
    padding: 72px 0;

    background: #FFFFFF;
}

.e2e-ri-collab-grid {
    display: grid;

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

    border-top: 1px solid #DDE4EA;
}

.e2e-ri-collab-grid article {
    min-width: 0;

    padding: 28px 28px 8px 0;
}

.e2e-ri-collab-grid article:not(:last-child) {
    margin-right: 28px;

    border-right: 1px solid #DDE4EA;
}

.e2e-ri-collab-grid span {
    display: block;

    margin-bottom: 23px;

    color: #176BFF;

    font-size: 9px;
    font-weight: 750;
}

.e2e-ri-collab-grid h3 {
    margin: 0 0 10px;

    color: #17202A;

    font-size: 18px;

    line-height: 1.2;
}

.e2e-ri-collab-grid p {
    margin: 0;

    color: #66727D;

    font-size: 11px;

    line-height: 1.65;
}


/* =====================================================
   TECHNOLOGY TRANSFER
===================================================== */

.e2e-ri-transfer {
    padding: 68px 0;

    background: #F6F8FA;

    border-top: 1px solid #E1E6EA;
}

.e2e-ri-transfer-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(360px,.95fr);

    gap: 85px;

    align-items: start;
}

.e2e-ri-transfer h2 {
    max-width: 700px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2.4rem,3.6vw,3.8rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-ri-transfer-content > p {
    margin: 0 0 27px;

    color: #66727D;

    font-size: 14px;

    line-height: 1.7;
}

.e2e-ri-transfer-list {
    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    border-top: 1px solid #D9E0E5;
    border-left: 1px solid #D9E0E5;
}

.e2e-ri-transfer-list > div {
    min-height: 78px;

    padding: 15px;

    border-right: 1px solid #D9E0E5;
    border-bottom: 1px solid #D9E0E5;

    background: #FFFFFF;
}

.e2e-ri-transfer-list span {
    display: block;

    margin-bottom: 8px;

    color: #176BFF;

    font-size: 8px;
    font-weight: 750;
}

.e2e-ri-transfer-list strong {
    color: #17202A;

    font-size: 11px;
}


/* =====================================================
   NEXT
===================================================== */

.e2e-ri-next {
    padding: 50px 0;

    background: #FFFFFF;

    border-top: 1px solid #DDE4EA;
}

.e2e-ri-next-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        auto;

    gap: 60px;

    align-items: center;
}

.e2e-ri-next h2 {
    max-width: 750px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2rem,3vw,3rem);

    line-height: 1.05;

    letter-spacing: -.035em;
}

.e2e-ri-next-links {
    display: flex;

    align-items: center;

    gap: 26px;
}

.e2e-ri-next-links a {
    color: #176BFF;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;

    white-space: nowrap;
}

.e2e-ri-primary {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 40px;

    padding: 8px 16px;

    border-radius: 4px;

    background: #176BFF;

    color: #FFFFFF !important;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 1000px) {

    .e2e-ri-hero-grid,
    .e2e-ri-section-head,
    .e2e-ri-pathway-head,
    .e2e-ri-transfer-grid {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .e2e-ri-index {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    .e2e-ri-flow {
        grid-template-columns:
            repeat(5,minmax(0,1fr));

        gap: 10px;
    }

    .e2e-ri-arrow {
        display: none;
    }

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

}


@media (max-width: 700px) {

    .e2e-ri-hero {
        padding-top: 58px;
    }

    .e2e-ri-hero-grid {
        padding-bottom: 40px;
    }

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

    .e2e-ri-capabilities,
    .e2e-ri-pathway,
    .e2e-ri-collaboration,
    .e2e-ri-transfer {
        padding-top: 55px;
        padding-bottom: 55px;
    }

    .e2e-ri-grid {
        grid-template-columns: 1fr;
    }

    .e2e-ri-card {
        min-height: 0;

        padding: 26px;
    }

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

    .e2e-ri-collab-grid {
        grid-template-columns: 1fr;
    }

    .e2e-ri-collab-grid article {
        padding: 22px 0;

        margin-right: 0 !important;

        border-right: 0 !important;
        border-bottom: 1px solid #DDE4EA;
    }

    .e2e-ri-next-grid {
        grid-template-columns: 1fr;

        gap: 25px;
    }

}


@media (max-width: 480px) {

    .e2e-ri-flow {
        grid-template-columns: 1fr;
    }

    .e2e-ri-transfer-list {
        grid-template-columns: 1fr;
    }

    .e2e-ri-next-links {
        align-items: flex-start;

        flex-direction: column;
    }

}


/* ===== E2E RESEARCH INNOVATION PAGE END ===== */

/* ===== E2E PROJECTS PAGE START ===== */


/* =====================================================
   PROJECTS PAGE
===================================================== */

.e2e-projects-page {
    background: #FFFFFF;
    color: #17202A;
}

.e2e-projects-page *,
.e2e-projects-page *::before,
.e2e-projects-page *::after {
    box-sizing: border-box;
}

.e2e-projects-eyebrow {
    margin-bottom: 15px;

    color: #176BFF;

    font-size: 10px;
    font-weight: 750;

    letter-spacing: .16em;

    text-transform: uppercase;
}


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

.e2e-projects-hero {
    padding: 82px 0 0;

    background:
        linear-gradient(
            180deg,
            #F7F9FB 0%,
            #FFFFFF 100%
        );
}

.e2e-projects-hero-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1.08fr)
        minmax(330px,.92fr);

    gap: 85px;

    align-items: end;

    padding-bottom: 55px;
}

.e2e-projects-hero h1 {
    max-width: 760px;

    margin: 0;

    color: #081522;

    font-size: clamp(3.2rem,5vw,5.5rem);

    line-height: .98;

    letter-spacing: -.055em;
}

.e2e-projects-hero-copy > p {
    max-width: 580px;

    margin: 0;

    color: #66727D;

    font-size: 15px;

    line-height: 1.75;
}

.e2e-projects-hero-links {
    display: flex;

    flex-wrap: wrap;

    gap: 24px;

    margin-top: 24px;
}

.e2e-projects-hero-links a {
    color: #176BFF;

    font-size: 12px;
    font-weight: 650;

    text-decoration: none;
}


/* INDEX */

.e2e-projects-index {
    display: grid;

    grid-template-columns:
        repeat(6,minmax(0,1fr));

    border-top: 1px solid #DDE4EA;
    border-left: 1px solid #DDE4EA;
}

.e2e-projects-index span {
    padding: 17px 10px;

    border-right: 1px solid #DDE4EA;
    border-bottom: 1px solid #DDE4EA;

    color: #66727D;

    font-size: 9px;
    font-weight: 700;

    text-align: center;
}


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

.e2e-projects-section-head {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(320px,.95fr);

    gap: 85px;

    align-items: end;

    margin-bottom: 42px;
}

.e2e-projects-section-head h2 {
    max-width: 720px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2.4rem,3.6vw,3.8rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-projects-section-head > p {
    max-width: 570px;

    margin: 0;

    color: #66727D;

    font-size: 14px;

    line-height: 1.7;
}


/* =====================================================
   PORTFOLIO
===================================================== */

.e2e-projects-portfolio {
    padding: 75px 0;

    background: #F6F8FA;
}

.e2e-projects-grid {
    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    border-top: 1px solid #DCE3E9;
    border-left: 1px solid #DCE3E9;
}

.e2e-project-card {
    min-height: 315px;

    padding: 30px 32px;

    border-right: 1px solid #DCE3E9;
    border-bottom: 1px solid #DCE3E9;

    background: #FFFFFF;
}

.e2e-project-card:hover {
    background: #FAFCFD;
}

.e2e-project-card-top {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 34px;
}

.e2e-project-card-top > span {
    color: #176BFF;

    font-size: 10px;
    font-weight: 750;
}

.e2e-project-card-top small {
    color: #8A98A5;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: .10em;
}

.e2e-project-card h3 {
    margin: 0 0 13px;

    color: #17202A;

    font-size: clamp(1.45rem,2vw,2rem);

    line-height: 1.15;
}

.e2e-project-card > p {
    max-width: 560px;

    margin: 0;

    color: #66727D;

    font-size: 13px;

    line-height: 1.65;
}


/* META */

.e2e-project-meta {
    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap: 12px;

    margin-top: 27px;

    padding-top: 19px;

    border-top: 1px solid #E3E8EC;
}

.e2e-project-meta span {
    display: block;

    margin-bottom: 5px;

    color: #98A4AE;

    font-size: 7px;
    font-weight: 750;

    letter-spacing: .12em;
}

.e2e-project-meta strong {
    color: #657480;

    font-size: 9px;
    font-weight: 600;

    line-height: 1.45;
}


/* =====================================================
   PROJECT DELIVERY
===================================================== */

.e2e-projects-delivery {
    padding: 72px 0;

    background: #081522;

    color: #FFFFFF;
}

.e2e-projects-delivery .e2e-projects-eyebrow {
    color: #35C2D8;
}

.e2e-projects-delivery-head {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(320px,.95fr);

    gap: 85px;

    align-items: end;

    margin-bottom: 48px;
}

.e2e-projects-delivery-head h2 {
    max-width: 720px;

    margin: 0;

    color: #FFFFFF;

    font-size: clamp(2.4rem,3.6vw,3.8rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-projects-delivery-head > p {
    max-width: 570px;

    margin: 0;

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

    font-size: 14px;

    line-height: 1.7;
}

.e2e-projects-flow {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        24px
        minmax(0,1fr)
        24px
        minmax(0,1fr)
        24px
        minmax(0,1fr)
        24px
        minmax(0,1fr);

    gap: 10px;

    align-items: center;
}

.e2e-projects-flow article {
    min-height: 150px;

    padding: 22px;

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

    background: rgba(255,255,255,.025);
}

.e2e-projects-flow article span {
    display: block;

    margin-bottom: 25px;

    color: #35C2D8;

    font-size: 9px;
    font-weight: 750;
}

.e2e-projects-flow strong {
    display: block;

    margin-bottom: 8px;

    color: #FFFFFF;

    font-size: 17px;
}

.e2e-projects-flow p {
    margin: 0;

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

    font-size: 10px;

    line-height: 1.6;
}

.e2e-project-arrow {
    color: rgba(255,255,255,.25);

    text-align: center;
}


/* =====================================================
   PROJECT MODES
===================================================== */

.e2e-projects-modes {
    padding: 72px 0;

    background: #FFFFFF;
}

.e2e-projects-mode-grid {
    display: grid;

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

    border-top: 1px solid #DDE4EA;
}

.e2e-projects-mode-grid article {
    min-width: 0;

    padding: 28px 28px 7px 0;
}

.e2e-projects-mode-grid article:not(:last-child) {
    margin-right: 28px;

    border-right: 1px solid #DDE4EA;
}

.e2e-projects-mode-grid span {
    display: block;

    margin-bottom: 23px;

    color: #176BFF;

    font-size: 9px;
    font-weight: 750;
}

.e2e-projects-mode-grid h3 {
    margin: 0 0 10px;

    color: #17202A;

    font-size: 18px;

    line-height: 1.2;
}

.e2e-projects-mode-grid p {
    margin: 0;

    color: #66727D;

    font-size: 11px;

    line-height: 1.65;
}


/* =====================================================
   COLLABORATION
===================================================== */

.e2e-projects-collaboration {
    padding: 62px 0;

    background: #F6F8FA;

    border-top: 1px solid #E1E6EA;
}

.e2e-projects-collab-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(340px,.95fr);

    gap: 85px;

    align-items: center;
}

.e2e-projects-collab-grid h2 {
    max-width: 720px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2.3rem,3.5vw,3.6rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-projects-collab-grid > div:last-child > p {
    margin: 0;

    color: #66727D;

    font-size: 14px;

    line-height: 1.7;
}

.e2e-projects-contact {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 40px;

    margin-top: 23px;

    padding: 8px 16px;

    border-radius: 4px;

    background: #176BFF;

    color: #FFFFFF !important;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;
}


/* =====================================================
   NEXT
===================================================== */

.e2e-projects-next {
    padding: 50px 0;

    background: #FFFFFF;

    border-top: 1px solid #DDE4EA;
}

.e2e-projects-next-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        auto;

    gap: 60px;

    align-items: center;
}

.e2e-projects-next h2 {
    max-width: 750px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2rem,3vw,3rem);

    line-height: 1.05;

    letter-spacing: -.035em;
}

.e2e-projects-next-links {
    display: flex;

    align-items: center;

    gap: 26px;
}

.e2e-projects-next-links a {
    color: #176BFF;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;

    white-space: nowrap;
}

.e2e-projects-primary {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 40px;

    padding: 8px 16px;

    border-radius: 4px;

    background: #176BFF;

    color: #FFFFFF !important;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 1000px) {

    .e2e-projects-hero-grid,
    .e2e-projects-section-head,
    .e2e-projects-delivery-head,
    .e2e-projects-collab-grid {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .e2e-projects-index {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    .e2e-projects-flow {
        grid-template-columns:
            repeat(5,minmax(0,1fr));

        gap: 10px;
    }

    .e2e-project-arrow {
        display: none;
    }

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

}


@media (max-width: 700px) {

    .e2e-projects-hero {
        padding-top: 58px;
    }

    .e2e-projects-hero-grid {
        padding-bottom: 40px;
    }

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

    .e2e-projects-portfolio,
    .e2e-projects-delivery,
    .e2e-projects-modes {
        padding-top: 55px;
        padding-bottom: 55px;
    }

    .e2e-projects-grid {
        grid-template-columns: 1fr;
    }

    .e2e-project-card {
        min-height: 0;

        padding: 26px;
    }

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

    .e2e-projects-mode-grid {
        grid-template-columns: 1fr;
    }

    .e2e-projects-mode-grid article {
        padding: 22px 0;

        margin-right: 0 !important;

        border-right: 0 !important;
        border-bottom: 1px solid #DDE4EA;
    }

    .e2e-projects-next-grid {
        grid-template-columns: 1fr;

        gap: 25px;
    }

}


@media (max-width: 480px) {

    .e2e-projects-flow {
        grid-template-columns: 1fr;
    }

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

    .e2e-projects-next-links {
        align-items: flex-start;

        flex-direction: column;
    }

}


/* ===== E2E PROJECTS PAGE END ===== */

/* ===== E2E ABOUT PAGE START ===== */


/* =====================================================
   ABOUT PAGE
===================================================== */

.e2e-about-page {
    background: #FFFFFF;
    color: #17202A;
}

.e2e-about-page *,
.e2e-about-page *::before,
.e2e-about-page *::after {
    box-sizing: border-box;
}

.e2e-about-eyebrow {
    margin-bottom: 15px;

    color: #176BFF;

    font-size: 10px;
    font-weight: 750;

    letter-spacing: .16em;

    text-transform: uppercase;
}


/* HERO */

.e2e-about-hero {
    padding: 82px 0 0;

    background:
        linear-gradient(
            180deg,
            #F7F9FB 0%,
            #FFFFFF 100%
        );
}

.e2e-about-hero-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1.08fr)
        minmax(330px,.92fr);

    gap: 85px;

    align-items: end;

    padding-bottom: 55px;
}

.e2e-about-hero h1 {
    max-width: 780px;

    margin: 0;

    color: #081522;

    font-size: clamp(3.2rem,5vw,5.5rem);

    line-height: .98;

    letter-spacing: -.055em;
}

.e2e-about-hero-copy > p {
    max-width: 590px;

    margin: 0 0 13px;

    color: #66727D;

    font-size: 15px;

    line-height: 1.75;
}

.e2e-about-hero-links {
    display: flex;

    flex-wrap: wrap;

    gap: 24px;

    margin-top: 23px;
}

.e2e-about-hero-links a {
    color: #176BFF;

    font-size: 12px;
    font-weight: 650;

    text-decoration: none;
}


/* INDEX */

.e2e-about-index {
    display: grid;

    grid-template-columns:
        repeat(6,minmax(0,1fr));

    border-top: 1px solid #DDE4EA;
    border-left: 1px solid #DDE4EA;
}

.e2e-about-index span {
    padding: 17px 12px;

    border-right: 1px solid #DDE4EA;
    border-bottom: 1px solid #DDE4EA;

    color: #66727D;

    font-size: 9px;
    font-weight: 700;

    text-align: center;
}


/* SHARED HEAD */

.e2e-about-section-head {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(320px,.95fr);

    gap: 85px;

    align-items: end;

    margin-bottom: 42px;
}

.e2e-about-section-head h2 {
    max-width: 720px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2.4rem,3.6vw,3.8rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-about-section-head > p {
    max-width: 570px;

    margin: 0;

    color: #66727D;

    font-size: 14px;

    line-height: 1.7;
}


/* WHO WE ARE */

.e2e-about-who {
    padding: 75px 0;

    background: #F6F8FA;
}

.e2e-about-who-grid {
    display: grid;

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

    border-top: 1px solid #DDE4EA;
}

.e2e-about-who-grid article {
    min-width: 0;

    padding: 28px 28px 7px 0;
}

.e2e-about-who-grid article:not(:last-child) {
    margin-right: 28px;

    border-right: 1px solid #DDE4EA;
}

.e2e-about-who-grid span {
    display: block;

    margin-bottom: 23px;

    color: #176BFF;

    font-size: 9px;
    font-weight: 750;
}

.e2e-about-who-grid h3 {
    margin: 0 0 10px;

    color: #17202A;

    font-size: 18px;
}

.e2e-about-who-grid p {
    margin: 0;

    color: #66727D;

    font-size: 11px;

    line-height: 1.65;
}


/* IDENTITY */

.e2e-about-identity {
    padding: 72px 0;

    background: #081522;

    color: #FFFFFF;
}

.e2e-about-identity .e2e-about-eyebrow {
    color: #35C2D8;
}

.e2e-about-identity-head {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(320px,.95fr);

    gap: 85px;

    align-items: end;

    margin-bottom: 48px;
}

.e2e-about-identity-head h2 {
    max-width: 720px;

    margin: 0;

    color: #FFFFFF;

    font-size: clamp(2.4rem,3.6vw,3.8rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-about-identity-head > p {
    max-width: 570px;

    margin: 0;

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

    font-size: 14px;

    line-height: 1.7;
}

.e2e-about-flow {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        24px
        minmax(0,1fr)
        24px
        minmax(0,1fr)
        24px
        minmax(0,1fr)
        24px
        minmax(0,1fr);

    gap: 10px;

    align-items: center;
}

.e2e-about-flow article {
    min-height: 150px;

    padding: 22px;

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

    background: rgba(255,255,255,.025);
}

.e2e-about-flow article span {
    display: block;

    margin-bottom: 25px;

    color: #35C2D8;

    font-size: 9px;
    font-weight: 750;
}

.e2e-about-flow strong {
    display: block;

    margin-bottom: 8px;

    color: #FFFFFF;

    font-size: 17px;
}

.e2e-about-flow p {
    margin: 0;

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

    font-size: 10px;

    line-height: 1.6;
}

.e2e-about-arrow {
    color: rgba(255,255,255,.25);

    text-align: center;
}


/* HOW WE WORK */

.e2e-about-work {
    padding: 72px 0;

    background: #FFFFFF;
}

.e2e-about-work-grid {
    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    border-top: 1px solid #DDE4EA;
    border-left: 1px solid #DDE4EA;
}

.e2e-about-work-grid article {
    min-height: 180px;

    padding: 27px 29px;

    border-right: 1px solid #DDE4EA;
    border-bottom: 1px solid #DDE4EA;
}

.e2e-about-work-grid span {
    display: block;

    margin-bottom: 24px;

    color: #176BFF;

    font-size: 9px;
    font-weight: 750;
}

.e2e-about-work-grid h3 {
    margin: 0 0 10px;

    color: #17202A;

    font-size: 18px;
}

.e2e-about-work-grid p {
    max-width: 520px;

    margin: 0;

    color: #66727D;

    font-size: 11px;

    line-height: 1.65;
}


/* ORGANIZATION */

.e2e-about-organization {
    padding: 68px 0;

    background: #F6F8FA;

    border-top: 1px solid #E1E6EA;
}

.e2e-about-org-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1fr);

    border: 1px solid #DDE4EA;
}

.e2e-about-org-main,
.e2e-about-foundation {
    padding: 38px;
}

.e2e-about-org-main {
    background: #FFFFFF;

    border-right: 1px solid #DDE4EA;
}

.e2e-about-org-main h2 {
    max-width: 620px;

    margin: 0 0 18px;

    color: #17202A;

    font-size: clamp(2.2rem,3vw,3.3rem);

    line-height: 1.04;

    letter-spacing: -.04em;
}

.e2e-about-org-main p {
    max-width: 570px;

    margin: 0;

    color: #66727D;

    font-size: 13px;

    line-height: 1.7;
}

.e2e-about-org-main a,
.e2e-about-foundation a {
    display: inline-block;

    margin-top: 22px;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;
}

.e2e-about-org-main a {
    color: #176BFF;
}

.e2e-about-foundation {
    background: #F3F8F5;
}

.e2e-about-foundation-label {
    margin-bottom: 16px;

    color: #2E765D;

    font-size: 10px;
    font-weight: 750;

    letter-spacing: .16em;

    text-transform: uppercase;
}

.e2e-about-foundation h3 {
    max-width: 570px;

    margin: 0 0 17px;

    color: #17202A;

    font-size: clamp(1.8rem,2.6vw,2.8rem);

    line-height: 1.05;
}

.e2e-about-foundation p {
    max-width: 570px;

    margin: 0;

    color: #66727D;

    font-size: 13px;

    line-height: 1.7;
}

.e2e-about-foundation a {
    color: #2E765D;
}


/* PRINCIPLES */

.e2e-about-principles {
    padding: 72px 0;

    background: #FFFFFF;
}

.e2e-about-principles-grid {
    display: grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    border-top: 1px solid #DDE4EA;
    border-left: 1px solid #DDE4EA;
}

.e2e-about-principles-grid article {
    min-height: 155px;

    padding: 24px;

    border-right: 1px solid #DDE4EA;
    border-bottom: 1px solid #DDE4EA;
}

.e2e-about-principles-grid span {
    display: block;

    margin-bottom: 20px;

    color: #176BFF;

    font-size: 9px;
    font-weight: 750;
}

.e2e-about-principles-grid strong {
    display: block;

    margin-bottom: 8px;

    color: #17202A;

    font-size: 16px;
}

.e2e-about-principles-grid p {
    margin: 0;

    color: #66727D;

    font-size: 11px;

    line-height: 1.6;
}


/* NEXT */

.e2e-about-next {
    padding: 50px 0;

    background: #F6F8FA;

    border-top: 1px solid #DDE4EA;
}

.e2e-about-next-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        auto;

    gap: 60px;

    align-items: center;
}

.e2e-about-next h2 {
    max-width: 740px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2rem,3vw,3rem);

    line-height: 1.05;

    letter-spacing: -.035em;
}

.e2e-about-next-links {
    display: flex;

    align-items: center;

    gap: 26px;
}

.e2e-about-next-links a {
    color: #176BFF;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;

    white-space: nowrap;
}

.e2e-about-primary {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 40px;

    padding: 8px 16px;

    border-radius: 4px;

    background: #176BFF;

    color: #FFFFFF !important;
}


/* RESPONSIVE */

@media (max-width: 1000px) {

    .e2e-about-hero-grid,
    .e2e-about-section-head,
    .e2e-about-identity-head {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .e2e-about-index {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

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

    .e2e-about-flow {
        grid-template-columns:
            repeat(5,minmax(0,1fr));

        gap: 10px;
    }

    .e2e-about-arrow {
        display: none;
    }

}


@media (max-width: 700px) {

    .e2e-about-hero {
        padding-top: 58px;
    }

    .e2e-about-hero-grid {
        padding-bottom: 40px;
    }

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

    .e2e-about-who,
    .e2e-about-identity,
    .e2e-about-work,
    .e2e-about-principles {
        padding-top: 55px;
        padding-bottom: 55px;
    }

    .e2e-about-who-grid,
    .e2e-about-work-grid,
    .e2e-about-org-grid,
    .e2e-about-principles-grid {
        grid-template-columns: 1fr;
    }

    .e2e-about-who-grid article {
        padding: 22px 0;

        margin-right: 0 !important;

        border-right: 0 !important;
        border-bottom: 1px solid #DDE4EA;
    }

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

    .e2e-about-org-main {
        border-right: 0;

        border-bottom: 1px solid #DDE4EA;
    }

    .e2e-about-next-grid {
        grid-template-columns: 1fr;

        gap: 25px;
    }

}


@media (max-width: 480px) {

    .e2e-about-flow {
        grid-template-columns: 1fr;
    }

    .e2e-about-next-links {
        align-items: flex-start;

        flex-direction: column;
    }

}


/* ===== E2E ABOUT PAGE END ===== */

/* ===== E2E FOUNDATION PAGE START ===== */


/* =====================================================
   FOUNDATION PAGE
===================================================== */

.e2e-foundation-page {
    background: #FFFFFF;
    color: #17202A;
}

.e2e-foundation-page *,
.e2e-foundation-page *::before,
.e2e-foundation-page *::after {
    box-sizing: border-box;
}

.e2e-fdn-eyebrow {
    margin-bottom: 15px;

    color: #2E765D;

    font-size: 10px;
    font-weight: 750;

    letter-spacing: .16em;

    text-transform: uppercase;
}


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

.e2e-fdn-hero {
    padding: 82px 0 0;

    background:
        linear-gradient(
            180deg,
            #F5F8F6 0%,
            #FFFFFF 100%
        );
}

.e2e-fdn-hero-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1.08fr)
        minmax(330px,.92fr);

    gap: 85px;

    align-items: end;

    padding-bottom: 55px;
}

.e2e-fdn-hero h1 {
    max-width: 780px;

    margin: 0;

    color: #081522;

    font-size: clamp(3.2rem,5vw,5.5rem);

    line-height: .98;

    letter-spacing: -.055em;
}

.e2e-fdn-hero-copy > p {
    max-width: 590px;

    margin: 0 0 13px;

    color: #66727D;

    font-size: 15px;

    line-height: 1.75;
}

.e2e-fdn-hero-links {
    display: flex;

    flex-wrap: wrap;

    gap: 24px;

    margin-top: 23px;
}

.e2e-fdn-hero-links a {
    color: #2E765D;

    font-size: 12px;
    font-weight: 650;

    text-decoration: none;
}


/* INDEX */

.e2e-fdn-index {
    display: grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    border-top: 1px solid #D8E2DD;
    border-left: 1px solid #D8E2DD;
}

.e2e-fdn-index span {
    padding: 17px 12px;

    border-right: 1px solid #D8E2DD;
    border-bottom: 1px solid #D8E2DD;

    color: #65766D;

    font-size: 9px;
    font-weight: 700;

    text-align: center;
}


/* =====================================================
   SHARED SECTION HEAD
===================================================== */

.e2e-fdn-section-head {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(320px,.95fr);

    gap: 85px;

    align-items: end;

    margin-bottom: 42px;
}

.e2e-fdn-section-head h2 {
    max-width: 720px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2.4rem,3.6vw,3.8rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-fdn-section-head > p {
    max-width: 570px;

    margin: 0;

    color: #66727D;

    font-size: 14px;

    line-height: 1.7;
}


/* =====================================================
   FOCUS AREAS
===================================================== */

.e2e-fdn-focus {
    padding: 75px 0;

    background: #F6F8F7;
}

.e2e-fdn-focus-grid {
    display: grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    border-top: 1px solid #D8E2DD;
    border-left: 1px solid #D8E2DD;
}

.e2e-fdn-focus-card {
    min-height: 340px;

    padding: 30px;

    border-right: 1px solid #D8E2DD;
    border-bottom: 1px solid #D8E2DD;

    background: #FFFFFF;
}

.e2e-fdn-focus-card:hover {
    background: #FAFCFB;
}

.e2e-fdn-card-top {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 33px;
}

.e2e-fdn-card-top > span {
    color: #2E765D;

    font-size: 10px;
    font-weight: 750;
}

.e2e-fdn-card-top small {
    color: #899990;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: .1em;
}

.e2e-fdn-focus-card h3 {
    margin: 0 0 13px;

    color: #17202A;

    font-size: clamp(1.4rem,1.9vw,1.9rem);

    line-height: 1.15;
}

.e2e-fdn-focus-card > p {
    margin: 0;

    color: #66727D;

    font-size: 12px;

    line-height: 1.68;
}

.e2e-fdn-tags {
    display: flex;

    flex-wrap: wrap;

    gap: 6px;

    margin-top: 23px;
}

.e2e-fdn-tags span {
    padding: 5px 8px;

    border: 1px solid #DCE6E1;

    background: #F8FAF9;

    color: #687A70;

    font-size: 9px;
}


/* =====================================================
   HOW WE WORK
===================================================== */

.e2e-fdn-work {
    padding: 72px 0;

    background: #10251E;

    color: #FFFFFF;
}

.e2e-fdn-work .e2e-fdn-eyebrow {
    color: #75C5A0;
}

.e2e-fdn-work-head {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(320px,.95fr);

    gap: 85px;

    align-items: end;

    margin-bottom: 48px;
}

.e2e-fdn-work-head h2 {
    max-width: 720px;

    margin: 0;

    color: #FFFFFF;

    font-size: clamp(2.4rem,3.6vw,3.8rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-fdn-work-head > p {
    max-width: 570px;

    margin: 0;

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

    font-size: 14px;

    line-height: 1.7;
}

.e2e-fdn-flow {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        32px
        minmax(0,1fr)
        32px
        minmax(0,1fr)
        32px
        minmax(0,1fr);

    gap: 14px;

    align-items: center;
}

.e2e-fdn-flow article {
    min-height: 155px;

    padding: 23px;

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

    background: rgba(255,255,255,.025);
}

.e2e-fdn-flow article span {
    display: block;

    margin-bottom: 26px;

    color: #75C5A0;

    font-size: 9px;
    font-weight: 750;
}

.e2e-fdn-flow strong {
    display: block;

    margin-bottom: 8px;

    color: #FFFFFF;

    font-size: 18px;
}

.e2e-fdn-flow p {
    margin: 0;

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

    font-size: 11px;

    line-height: 1.6;
}

.e2e-fdn-arrow {
    color: rgba(255,255,255,.26);

    font-size: 20px;

    text-align: center;
}


/* =====================================================
   APPROACH
===================================================== */

.e2e-fdn-approach {
    padding: 72px 0;

    background: #FFFFFF;
}

.e2e-fdn-approach-grid {
    display: grid;

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

    border-top: 1px solid #D8E2DD;
}

.e2e-fdn-approach-grid article {
    min-width: 0;

    padding: 28px 28px 6px 0;
}

.e2e-fdn-approach-grid article:not(:last-child) {
    margin-right: 28px;

    border-right: 1px solid #D8E2DD;
}

.e2e-fdn-approach-grid span {
    display: block;

    margin-bottom: 23px;

    color: #2E765D;

    font-size: 9px;
    font-weight: 750;
}

.e2e-fdn-approach-grid h3 {
    margin: 0 0 10px;

    color: #17202A;

    font-size: 18px;
}

.e2e-fdn-approach-grid p {
    margin: 0;

    color: #66727D;

    font-size: 11px;

    line-height: 1.65;
}


/* =====================================================
   CONNECTION TO E2E FUTURE
===================================================== */

.e2e-fdn-e2e {
    padding: 65px 0;

    background: #F6F8F7;

    border-top: 1px solid #E0E7E3;
}

.e2e-fdn-e2e-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(340px,.95fr);

    gap: 85px;

    align-items: center;
}

.e2e-fdn-e2e h2 {
    max-width: 720px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2.3rem,3.5vw,3.6rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-fdn-e2e-grid > div:last-child p {
    margin: 0;

    color: #66727D;

    font-size: 14px;

    line-height: 1.7;
}

.e2e-fdn-e2e-grid a {
    display: inline-block;

    margin-top: 22px;

    color: #2E765D;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;
}


/* =====================================================
   PARTNERS
===================================================== */

.e2e-fdn-partners {
    padding: 72px 0;

    background: #FFFFFF;
}

.e2e-fdn-partner-grid {
    display: grid;

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

    border-top: 1px solid #D8E2DD;
}

.e2e-fdn-partner-grid article {
    min-width: 0;

    padding: 28px 28px 7px 0;
}

.e2e-fdn-partner-grid article:not(:last-child) {
    margin-right: 28px;

    border-right: 1px solid #D8E2DD;
}

.e2e-fdn-partner-grid span {
    display: block;

    margin-bottom: 23px;

    color: #2E765D;

    font-size: 9px;
    font-weight: 750;
}

.e2e-fdn-partner-grid strong {
    display: block;

    margin-bottom: 8px;

    color: #17202A;

    font-size: 16px;
}

.e2e-fdn-partner-grid p {
    margin: 0;

    color: #66727D;

    font-size: 11px;

    line-height: 1.6;
}


/* =====================================================
   CONTACT
===================================================== */

.e2e-fdn-contact {
    padding: 58px 0;

    background: #EDF5F1;

    border-top: 1px solid #D8E2DD;
}

.e2e-fdn-contact-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(340px,.95fr);

    gap: 85px;

    align-items: center;
}

.e2e-fdn-contact h2 {
    max-width: 720px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2.3rem,3.5vw,3.6rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-fdn-contact-grid > div:last-child > p {
    margin: 0;

    color: #66727D;

    font-size: 14px;

    line-height: 1.7;
}

.e2e-fdn-contact-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 40px;

    margin-top: 23px;

    padding: 8px 16px;

    border-radius: 4px;

    background: #2E765D;

    color: #FFFFFF !important;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 1000px) {

    .e2e-fdn-hero-grid,
    .e2e-fdn-section-head,
    .e2e-fdn-work-head,
    .e2e-fdn-e2e-grid,
    .e2e-fdn-contact-grid {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .e2e-fdn-focus-grid {
        grid-template-columns: 1fr;
    }

    .e2e-fdn-flow {
        grid-template-columns:
            repeat(4,minmax(0,1fr));

        gap: 10px;
    }

    .e2e-fdn-arrow {
        display: none;
    }

    .e2e-fdn-approach-grid,
    .e2e-fdn-partner-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


@media (max-width: 700px) {

    .e2e-fdn-hero {
        padding-top: 58px;
    }

    .e2e-fdn-hero-grid {
        padding-bottom: 40px;
    }

    .e2e-fdn-index {
        grid-template-columns: 1fr;
    }

    .e2e-fdn-focus,
    .e2e-fdn-work,
    .e2e-fdn-approach,
    .e2e-fdn-partners {
        padding-top: 55px;
        padding-bottom: 55px;
    }

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

    .e2e-fdn-approach-grid,
    .e2e-fdn-partner-grid {
        grid-template-columns: 1fr;
    }

    .e2e-fdn-approach-grid article,
    .e2e-fdn-partner-grid article {
        padding: 22px 0;

        margin-right: 0 !important;

        border-right: 0 !important;
        border-bottom: 1px solid #D8E2DD;
    }

}


@media (max-width: 480px) {

    .e2e-fdn-flow {
        grid-template-columns: 1fr;
    }

}


/* ===== E2E FOUNDATION PAGE END ===== */

/* ===== E2E CONTACT PAGE START ===== */


/* =====================================================
   CONTACT PAGE
===================================================== */

.e2e-contact-page {
    background: #FFFFFF;
    color: #17202A;
}

.e2e-contact-page *,
.e2e-contact-page *::before,
.e2e-contact-page *::after {
    box-sizing: border-box;
}

.e2e-contact-eyebrow {
    margin-bottom: 15px;

    color: #176BFF;

    font-size: 10px;
    font-weight: 750;

    letter-spacing: .16em;

    text-transform: uppercase;
}


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

.e2e-contact-hero {
    padding: 82px 0 0;

    background:
        linear-gradient(
            180deg,
            #F7F9FB 0%,
            #FFFFFF 100%
        );
}

.e2e-contact-hero-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1.08fr)
        minmax(330px,.92fr);

    gap: 85px;

    align-items: end;

    padding-bottom: 55px;
}

.e2e-contact-hero h1 {
    max-width: 780px;

    margin: 0;

    color: #081522;

    font-size: clamp(3.3rem,5vw,5.7rem);

    line-height: .98;

    letter-spacing: -.055em;
}

.e2e-contact-hero-copy p {
    max-width: 590px;

    margin: 0 0 13px;

    color: #66727D;

    font-size: 15px;

    line-height: 1.75;
}


/* INDEX */

.e2e-contact-index {
    display: grid;

    grid-template-columns:
        repeat(6,minmax(0,1fr));

    border-top: 1px solid #DDE4EA;
    border-left: 1px solid #DDE4EA;
}

.e2e-contact-index span {
    padding: 17px 10px;

    border-right: 1px solid #DDE4EA;
    border-bottom: 1px solid #DDE4EA;

    color: #66727D;

    font-size: 9px;
    font-weight: 700;

    text-align: center;
}


/* =====================================================
   MAIN CONTACT
===================================================== */

.e2e-contact-main {
    padding: 75px 0;

    background: #F6F8FA;
}

.e2e-contact-main-grid {
    display: grid;

    grid-template-columns:
        minmax(300px,.75fr)
        minmax(500px,1.25fr);

    gap: 85px;

    align-items: start;
}

.e2e-contact-intro h2 {
    max-width: 520px;

    margin: 0 0 22px;

    color: #17202A;

    font-size: clamp(2.5rem,3.7vw,3.9rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-contact-intro > p {
    max-width: 520px;

    margin: 0;

    color: #66727D;

    font-size: 13px;

    line-height: 1.7;
}


/* TOPICS */

.e2e-contact-topic-list {
    margin-top: 34px;

    border-top: 1px solid #DDE4EA;
}

.e2e-contact-topic-list > div {
    display: grid;

    grid-template-columns: 35px 1fr;

    gap: 10px;

    padding: 13px 0;

    border-bottom: 1px solid #DDE4EA;
}

.e2e-contact-topic-list span {
    color: #176BFF;

    font-size: 8px;
    font-weight: 750;
}

.e2e-contact-topic-list strong {
    color: #53616D;

    font-size: 11px;
    font-weight: 650;
}


/* =====================================================
   FORM
===================================================== */

.e2e-contact-form-wrap {
    padding: 34px;

    border: 1px solid #DDE4EA;

    background: #FFFFFF;
}

.e2e-contact-form-row {
    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap: 18px;
}

.e2e-contact-field {
    margin-bottom: 20px;
}

.e2e-contact-field label {
    display: block;

    margin-bottom: 7px;

    color: #53616D;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: .04em;
}

.e2e-contact-field input,
.e2e-contact-field select,
.e2e-contact-field textarea {
    display: block;

    width: 100%;

    border: 1px solid #CCD5DC;

    border-radius: 3px;

    background: #FFFFFF;

    color: #17202A;

    font-family: inherit;

    font-size: 13px;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.e2e-contact-field input,
.e2e-contact-field select {
    min-height: 44px;

    padding: 9px 11px;
}

.e2e-contact-field textarea {
    min-height: 160px;

    padding: 11px;

    resize: vertical;
}

.e2e-contact-field input:focus,
.e2e-contact-field select:focus,
.e2e-contact-field textarea:focus {
    border-color: #176BFF;

    box-shadow:
        0 0 0 3px rgba(23,107,255,.08);
}

.e2e-contact-field textarea::placeholder {
    color: #A0ABB4;
}


/* HONEYPOT */

.e2e-contact-hp {
    position: absolute !important;

    left: -9999px !important;

    width: 1px;
    height: 1px;

    overflow: hidden;
}


/* SUBMIT */

.e2e-contact-submit-row {
    display: flex;

    align-items: center;

    gap: 18px;

    margin-top: 4px;
}

.e2e-contact-submit {
    min-height: 42px;

    padding: 9px 19px;

    border: 0;

    border-radius: 4px;

    background: #176BFF;

    color: #FFFFFF;

    font-family: inherit;

    font-size: 11px;
    font-weight: 700;

    cursor: pointer;
}

.e2e-contact-submit:hover {
    background: #2F7BFF;
}

.e2e-contact-submit-row > span {
    color: #8A98A5;

    font-size: 9px;
}


/* STATUS */

.e2e-contact-message {
    margin-bottom: 35px;

    padding: 15px 18px;

    border: 1px solid;

    font-size: 12px;

    line-height: 1.6;
}

.e2e-contact-message strong {
    margin-right: 4px;
}

.e2e-contact-success {
    border-color: #BBD9C8;

    background: #F1F8F4;

    color: #286046;
}

.e2e-contact-error {
    border-color: #E4C4C4;

    background: #FCF5F5;

    color: #8B3F3F;
}


/* =====================================================
   COLLABORATION AREAS
===================================================== */

.e2e-contact-areas {
    padding: 72px 0;

    background: #FFFFFF;
}

.e2e-contact-section-head {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(320px,.95fr);

    gap: 85px;

    align-items: end;

    margin-bottom: 42px;
}

.e2e-contact-section-head h2 {
    max-width: 720px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2.4rem,3.6vw,3.8rem);

    line-height: 1.03;

    letter-spacing: -.045em;
}

.e2e-contact-section-head > p {
    max-width: 570px;

    margin: 0;

    color: #66727D;

    font-size: 14px;

    line-height: 1.7;
}

.e2e-contact-area-grid {
    display: grid;

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

    border-top: 1px solid #DDE4EA;
}

.e2e-contact-area-grid article {
    min-width: 0;

    padding: 28px 28px 7px 0;
}

.e2e-contact-area-grid article:not(:last-child) {
    margin-right: 28px;

    border-right: 1px solid #DDE4EA;
}

.e2e-contact-area-grid span {
    display: block;

    margin-bottom: 23px;

    color: #176BFF;

    font-size: 9px;
    font-weight: 750;
}

.e2e-contact-area-grid h3 {
    margin: 0 0 10px;

    color: #17202A;

    font-size: 18px;
}

.e2e-contact-area-grid p {
    margin: 0;

    color: #66727D;

    font-size: 11px;

    line-height: 1.65;
}


/* =====================================================
   FOUNDATION
===================================================== */

.e2e-contact-foundation {
    padding: 60px 0;

    background: #F3F8F5;

    border-top: 1px solid #DDE6E1;
}

.e2e-contact-foundation .e2e-contact-eyebrow {
    color: #2E765D;
}

.e2e-contact-foundation-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(340px,.95fr);

    gap: 85px;

    align-items: center;
}

.e2e-contact-foundation h2 {
    max-width: 720px;

    margin: 0;

    color: #17202A;

    font-size: clamp(2.2rem,3.3vw,3.4rem);

    line-height: 1.04;

    letter-spacing: -.04em;
}

.e2e-contact-foundation-grid p {
    margin: 0;

    color: #66727D;

    font-size: 13px;

    line-height: 1.7;
}

.e2e-contact-foundation-grid a {
    display: inline-block;

    margin-top: 20px;

    color: #2E765D;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 1000px) {

    .e2e-contact-hero-grid,
    .e2e-contact-main-grid,
    .e2e-contact-section-head,
    .e2e-contact-foundation-grid {
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .e2e-contact-index {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

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

}


@media (max-width: 700px) {

    .e2e-contact-hero {
        padding-top: 58px;
    }

    .e2e-contact-hero-grid {
        padding-bottom: 40px;
    }

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

    .e2e-contact-main,
    .e2e-contact-areas {
        padding-top: 55px;
        padding-bottom: 55px;
    }

    .e2e-contact-form-wrap {
        padding: 25px;
    }

    .e2e-contact-form-row {
        grid-template-columns: 1fr;

        gap: 0;
    }

    .e2e-contact-area-grid {
        grid-template-columns: 1fr;
    }

    .e2e-contact-area-grid article {
        padding: 22px 0;

        margin-right: 0 !important;

        border-right: 0 !important;
        border-bottom: 1px solid #DDE4EA;
    }

}


@media (max-width: 480px) {

    .e2e-contact-submit-row {
        align-items: flex-start;

        flex-direction: column;
    }

}


/* ===== E2E CONTACT PAGE END ===== */


/* =====================================================
   HOMEPAGE SOLUTIONS — FINAL 3 x 2 BOXES
===================================================== */

.e2e-home-solutions {
    background: #F6F8FA !important;
}

.e2e-home-solutions-head {
    margin-bottom: 45px !important;
}


/* 3 BOXES PER ROW */

.e2e-home-solutions-grid {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0,1fr)) !important;

    gap: 0 !important;

    border-top: 1px solid #DDE4EA;
    border-left: 1px solid #DDE4EA;
}


/* INDIVIDUAL BOX */

.e2e-home-solution-box {
    min-width: 0;

    min-height: 255px;

    padding: 28px 30px !important;

    margin: 0 !important;

    border: 0 !important;

    border-right: 1px solid #DDE4EA !important;
    border-bottom: 1px solid #DDE4EA !important;

    border-radius: 0 !important;

    background: #FFFFFF !important;
}

.e2e-home-solution-box:hover {
    background: #F9FBFC !important;
}


/* NUMBER */

.e2e-home-solution-number {
    margin-bottom: 28px;

    color: #176BFF;

    font-size: 10px;
    font-weight: 750;

    letter-spacing: .14em;
}


/* TITLE */

.e2e-home-solution-box h3 {
    margin: 0 0 13px !important;

    color: #17202A !important;

    font-size: clamp(1.25rem,1.7vw,1.7rem);

    line-height: 1.15;
}


/* TEXT */

.e2e-home-solution-box p {
    margin: 0 !important;

    color: #66727D !important;

    font-size: 12px;

    line-height: 1.65;
}


/* TECHNOLOGY LINE */

.e2e-home-solution-tech {
    margin-top: 20px;

    color: #83909C;

    font-size: 10px;
    font-weight: 600;

    line-height: 1.5;
}


/* TABLET */

@media (max-width: 950px) {

    .e2e-home-solutions-grid {
        grid-template-columns:
            repeat(2, minmax(0,1fr)) !important;
    }

}


/* MOBILE */

@media (max-width: 620px) {

    .e2e-home-solutions-grid {
        grid-template-columns: 1fr !important;
    }

    .e2e-home-solution-box {
        min-height: 0;

        padding: 25px !important;
    }

}



/* =====================================================
   HOMEPAGE SOLUTIONS — FORCE 3 x 2 BOX MATRIX
===================================================== */

.e2e-solutions .e2e-solution-list,
.e2e-home-solutions .e2e-solution-list,
.e2e-home-solutions-grid {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 0 !important;

    border-top: 1px solid #DDE4EA !important;
    border-left: 1px solid #DDE4EA !important;

    background: transparent !important;
}


/* EACH SOLUTION BECOMES A BOX */

.e2e-solutions .e2e-solution-item,
.e2e-home-solutions .e2e-solution-item,
.e2e-home-solution-box {
    display: block !important;

    min-width: 0 !important;
    min-height: 255px !important;

    padding: 28px 30px !important;

    margin: 0 !important;

    border: 0 !important;

    border-right: 1px solid #DDE4EA !important;
    border-bottom: 1px solid #DDE4EA !important;

    border-radius: 0 !important;

    background: #FFFFFF !important;
}


.e2e-solutions .e2e-solution-item:hover,
.e2e-home-solutions .e2e-solution-item:hover,
.e2e-home-solution-box:hover {
    background: #F9FBFC !important;
}


/* NUMBER */

.e2e-solutions .e2e-solution-index,
.e2e-home-solution-number {
    display: block !important;

    width: auto !important;

    margin: 0 0 28px !important;

    padding: 0 !important;

    color: #176BFF !important;

    font-size: 10px !important;
    font-weight: 750 !important;

    letter-spacing: .14em !important;
}


/* CONTENT */

.e2e-solutions .e2e-solution-content,
.e2e-home-solution-box {
    min-width: 0 !important;
}

.e2e-solutions .e2e-solution-content h3,
.e2e-home-solution-box h3 {
    margin: 0 0 13px !important;

    color: #17202A !important;

    font-size: clamp(1.25rem, 1.7vw, 1.7rem) !important;

    line-height: 1.15 !important;
}

.e2e-solutions .e2e-solution-content p,
.e2e-home-solution-box p {
    margin: 0 !important;

    color: #66727D !important;

    font-size: 12px !important;

    line-height: 1.65 !important;
}


/* TECHNOLOGY LINE */

.e2e-solutions .e2e-solution-tech,
.e2e-home-solution-tech {
    display: block !important;

    width: auto !important;

    margin: 20px 0 0 !important;

    padding: 0 !important;

    color: #83909C !important;

    font-size: 10px !important;
    font-weight: 600 !important;

    line-height: 1.5 !important;

    text-align: left !important;
}


/* LIGHT SECTION BACKGROUND */

.e2e-solutions,
.e2e-home-solutions {
    background: #F6F8FA !important;
}


/* TABLET */

@media (max-width: 950px) {

    .e2e-solutions .e2e-solution-list,
    .e2e-home-solutions .e2e-solution-list,
    .e2e-home-solutions-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

}


/* MOBILE */

@media (max-width: 620px) {

    .e2e-solutions .e2e-solution-list,
    .e2e-home-solutions .e2e-solution-list,
    .e2e-home-solutions-grid {
        grid-template-columns: 1fr !important;
    }

    .e2e-solutions .e2e-solution-item,
    .e2e-home-solutions .e2e-solution-item,
    .e2e-home-solution-box {
        min-height: 0 !important;

        padding: 25px !important;
    }

}


/* FOUNDATION — FINAL 3 BOX ROW */

.e2e-foundation-tech-matrix {
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 900px) {
    .e2e-foundation-tech-matrix {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    .e2e-foundation-tech-matrix {
        grid-template-columns: 1fr !important;
    }
}



/* =====================================================
   WORK WITH E2E — CLICKABLE
===================================================== */

.e2e-final-footer-work-link {
    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    width: fit-content;

    min-height: 32px;

    padding: 7px 13px !important;

    margin: 0 0 8px !important;

    border-radius: 4px;

    background: #176BFF;

    color: #FFFFFF !important;

    font-size: 9px !important;
    font-weight: 750 !important;

    letter-spacing: .12em !important;

    text-decoration: none !important;

    cursor: pointer !important;
}

.e2e-final-footer-work-link:hover {
    background: #2F7BFF;

    color: #FFFFFF !important;
}




/* =====================================================
   E2E CONTACT CHANNELS — FINAL
===================================================== */

.e2e-contact-channels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;

    margin: 0 0 42px;

    border-top: 1px solid #DDE4EA;
    border-left: 1px solid #DDE4EA;
}

.e2e-contact-channel {
    display: block;

    min-height: 220px;

    padding: 28px;

    border-right: 1px solid #DDE4EA;
    border-bottom: 1px solid #DDE4EA;

    background: #FFFFFF;

    color: #17202A;

    text-decoration: none !important;

    transition:
        background .2s ease,
        transform .2s ease;
}

.e2e-contact-channel:hover {
    background: #F6F8FA;

    transform: translateY(-2px);
}

.e2e-contact-channel-label {
    display: block;

    margin-bottom: 24px;

    color: #176BFF;

    font-size: 10px;
    font-weight: 750;

    letter-spacing: .13em;
}

.e2e-contact-channel h3 {
    margin: 0 0 12px;

    color: #17202A;

    font-size: 1.35rem;
}

.e2e-contact-channel p {
    margin: 0 0 20px;

    color: #66727D;

    font-size: 12px;
    line-height: 1.65;
}

.e2e-contact-channel strong {
    color: #176BFF;

    font-size: 11px;
    font-weight: 700;
}

.e2e-contact-channel-foundation .e2e-contact-channel-label,
.e2e-contact-channel-foundation strong {
    color: #2E765D;
}


/* FOUNDATION CONTACT */

.e2e-foundation-email {
    padding: 55px 0;

    background: #F6F8FA;

    border-top: 1px solid #E0E6EA;
}

.e2e-foundation-email-inner {
    display: grid;

    grid-template-columns:
        minmax(0, .9fr)
        minmax(0, 1.1fr);

    gap: 60px;

    align-items: start;
}

.e2e-foundation-email h2 {
    margin: 8px 0 0;

    color: #17202A;
}

.e2e-foundation-email p {
    margin: 0 0 14px;

    color: #66727D;

    line-height: 1.65;
}

.e2e-foundation-email a {
    color: #2E765D;

    font-weight: 700;

    text-decoration: none;
}


/* TABLET */

@media (max-width: 900px) {

    .e2e-contact-channels {
        grid-template-columns: 1fr;
    }

    .e2e-contact-channel {
        min-height: 0;
    }

    .e2e-foundation-email-inner {
        grid-template-columns: 1fr;

        gap: 25px;
    }

}



/* =====================================================
   CONTACT CHANNELS — EMAIL SPACING FIX
===================================================== */

/* Remove space before email */
.e2e-contact-channel p {
    margin-bottom: 0 !important;
}

/* Email directly follows description */
.e2e-contact-channel strong {
    display: block !important;

    margin-top: 2px !important;
    margin-bottom: 0 !important;

    line-height: 1.5 !important;
}

/* More room underneath the email */
.e2e-contact-channel {
    padding-bottom: 38px !important;
}


/* On mobile: visible separation between contact blocks */
@media (max-width: 900px) {

    .e2e-contact-channels {
        gap: 18px !important;

        border: 0 !important;
    }

    .e2e-contact-channel {
        border: 1px solid #DDE4EA !important;
    }

}



/* =====================================================
   CONTACT CHANNELS — EMAIL SPACING FIX
===================================================== */

/* Remove space before email */
.e2e-contact-channel p {
    margin-bottom: 0 !important;
}

/* Email directly follows description */
.e2e-contact-channel strong {
    display: block !important;

    margin-top: 2px !important;
    margin-bottom: 0 !important;

    line-height: 1.5 !important;
}

/* More room underneath the email */
.e2e-contact-channel {
    padding-bottom: 38px !important;
}


/* On mobile: visible separation between contact blocks */
@media (max-width: 900px) {

    .e2e-contact-channels {
        gap: 18px !important;

        border: 0 !important;
    }

    .e2e-contact-channel {
        border: 1px solid #DDE4EA !important;
    }

}



/* =====================================================
   CONTACT CARDS — FINAL SPACING CORRECTION
===================================================== */

/* Keep card content vertically structured */
.e2e-contact-channel {
    display: flex !important;
    flex-direction: column !important;

    padding: 28px 28px 38px !important;
}


/* Title */
.e2e-contact-channel h3 {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
}


/* Description: NO unnecessary space below it */
.e2e-contact-channel p {
    margin-top: 0 !important;
    margin-bottom: 2px !important;
}


/* Email directly underneath description */
.e2e-contact-channel strong {
    display: block !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding-top: 0 !important;

    line-height: 1.45 !important;
}


/* Real space AFTER the email */
.e2e-contact-channel strong::after {
    content: "";

    display: block;

    height: 20px;
}


/* WORK WITH E2E / FOUNDATION labels */
.e2e-contact-channel-label {
    margin-bottom: 18px !important;
}


/* Desktop: visible separation between the three cards */
.e2e-contact-channels {
    gap: 14px !important;

    border: 0 !important;
}

.e2e-contact-channel {
    border: 1px solid #DDE4EA !important;
}


/* Mobile */
@media (max-width: 900px) {

    .e2e-contact-channels {
        gap: 18px !important;
    }

}

