/* =========================================================
   OOTB — HOMEPAGE DESIGN SYSTEM
   Page-specific styles for index.html only.
   
   Global typography, spacing, buttons, cards, containers,
   navigation and shared components belong in global.css.
========================================================= */


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

.hero-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    width: 100%;

    padding-block: 6rem;

    background:
        linear-gradient(180deg,
            #ffffff 0%,
            #f8fbff 72%,
            #eef4fb 100%);
}


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

.hero-container {
    position: relative;
    z-index: 2;

    display: grid;

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

    align-items: center;

    gap: 4.5rem;
}


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

.hero-content {
    position: relative;
    z-index: 2;

    max-width: 42rem;
}


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

.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;

    margin-bottom: 1.5rem;
    padding: .6rem .95rem;

    border: 1px solid rgba(62, 103, 167, .18);
    border-radius: var(--radius-pill);

    background: var(--color-primary-soft);

    color: var(--color-primary);

    font-family: var(--font-body);
    font-size: .72rem;
    font-weight: var(--weight-bold);
    line-height: 1.2;

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

.hero-eyebrow .material-symbols-outlined {
    font-size: 17px;
}

/* =========================================================
   HERO TITLE
   Typography inherited from global H1 system.
   This class controls layout only.
========================================================= */

.hero-title {
    max-width: 42rem;
    margin: 0;

    font-family: var(--font-heading);
    font-size: clamp(3rem, 5vw, 4rem);
    font-weight: var(--weight-extrabold);
    line-height: 1.05;
    letter-spacing: -.055em;

    color: var(--color-text);
}

.hero-title-accent {
    display: block;
    color: var(--color-primary);
}


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

.hero-copy {
    max-width: 39rem;
    margin-top: 1.75rem;
}


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

.hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 1rem;

    margin-top: 2rem;
}


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

.hero-pills {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: .6rem;

    margin-top: 1.25rem;
}


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

.hero-visual {
    position: relative;
    min-width: 0;
}

.hero-media {
    position: relative;

    width: 100%;

    margin: 0;
}


/* =========================================================
   HERO IMAGE FRAME
========================================================= */

.hero-media-frame {
    position: relative;

    width: 100%;
    height: clamp(460px, 40vw, 600px);

    overflow: hidden;

    border-radius: 32px;

    background: var(--color-bg-muted);

    box-shadow: var(--shadow-lg);
}

.hero-media-frame img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}


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

.hero-network-canvas {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    pointer-events: none;
}


/* =========================================================
   HERO STAT CARD
========================================================= */

.hero-stat-card {
    position: absolute;

    left: -1.5rem;
    bottom: -1.5rem;

    z-index: 5;

    display: flex;
    flex-direction: column;

    width: min(18rem, 75%);

    padding: 1.2rem 1.35rem;

    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: var(--radius-md);

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

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

    box-shadow: var(--shadow-md);

    animation: heroStatFloat 6s ease-in-out infinite;
}

.hero-stat-label {
    margin-bottom: .35rem;

    color: var(--color-primary);

    font-family: var(--font-body);
    font-size: .68rem;
    font-weight: var(--weight-bold);
    line-height: 1.2;

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

.hero-stat-number {
    display: block;

    margin-bottom: .15rem;

    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: var(--weight-extrabold);
    line-height: 1;

    color: var(--color-text);
}

.hero-stat-copy {
    font-family: var(--font-body);
    font-size: .9rem;
    line-height: 1.5;

    color: var(--color-text);
}


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

.hero-atmosphere {
    position: absolute;

    z-index: 0;

    pointer-events: none;

    border-radius: 50%;

    filter: blur(100px);
}

.hero-atmosphere-primary {
    top: -15rem;
    left: -10rem;

    width: 38rem;
    height: 38rem;

    background: rgba(62, 103, 167, .08);
}

.hero-atmosphere-secondary {
    right: -8rem;
    bottom: -14rem;

    width: 34rem;
    height: 34rem;

    background: rgba(91, 143, 230, .10);
}


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

@keyframes heroStatFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}


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

@media (max-width: 1100px) {

    .hero-container {
        grid-template-columns: 1fr;
        gap: 3.5rem;
    }

    .hero-content {
        max-width: 52rem;
    }

    .hero-title {
        max-width: 52rem;
    }

    .hero-media-frame {
        height: 560px;
    }

}


@media (max-width: 768px) {

    .hero-section {
        padding-block: 4rem 5rem;
    }

    .hero-container {
        gap: 3rem;
    }

    .hero-title {
        font-size: 2.75rem;
        line-height: 1.05;
    }

    .hero-media-frame {
        height: 460px;
        border-radius: var(--radius-lg);
    }

    .hero-stat-card {
        left: 1rem;
        bottom: -1.25rem;
    }
}


@media (max-width: 480px) {

    .hero-section {
        padding-block: 3.5rem 4.5rem;
    }

    .hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .hero-actions .btn-primary,
    .hero-actions .btn-secondary {
        width: 100%;
    }

    .hero-media-frame {
        height: 380px;
    }

    .hero-pills {
        gap: .5rem;
    }

}

/* =========================================================
   WHY OOTB
========================================================= */

.ootb-why-section {
    background: var(--color-bg);
}


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

.ootb-why-header {
    display: grid;

    grid-template-columns:
        minmax(0, 1.1fr) minmax(0, .9fr);

    gap: 7rem;

    align-items: start;

    margin-bottom: 5rem;
}

.ootb-why-header .section-copy {
    max-width: 36rem;

    margin-left: auto;
}


/* =========================================================
   FOUR-STEP FLOW
========================================================= */

.ootb-why-flow {
    position: relative;

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


/* =========================================================
   STEP
========================================================= */

.ootb-why-step {
    display: grid;

    grid-template-columns:
        5rem minmax(0, 1fr) 11rem;

    gap: 2rem;

    align-items: center;

    min-height: 10.5rem;

    padding-block: 2.25rem;

    border-bottom: 1px solid var(--color-border-strong);

    transition:
        background-color var(--transition-base),
        padding var(--transition-base);
}

.ootb-why-step:hover {
    padding-inline: 1.5rem;

    background: var(--color-primary-soft);
}


/* =========================================================
   NUMBER
========================================================= */

.ootb-why-index {
    font-family: var(--font-heading);

    font-size: 3.5rem;
    line-height: 1;

    font-weight: var(--weight-bold);

    letter-spacing: -.06em;

    color: rgba(62, 103, 167, .14);

    transition:
        color var(--transition-base),
        transform var(--transition-base);
}

.ootb-why-step:hover .ootb-why-index {
    color: rgba(62, 103, 167, .32);

    transform: translateX(.25rem);
}


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

.ootb-why-main {
    max-width: 42rem;
}

.ootb-why-kicker {
    margin: 0 0 .55rem;

    font-size: .7rem;
    line-height: 1.2;

    font-weight: var(--weight-bold);

    letter-spacing: .22em;

    color: var(--color-primary);
}

.ootb-why-main h3 {
    margin: 0;
    color: var(--color-text);
}

.ootb-why-main>p:last-child {
    max-width: 38rem;

    color: var(--color-text-muted);
}


/* =========================================================
   SIGNAL
========================================================= */

.ootb-why-signal {
    display: inline-flex;

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

    gap: .65rem;

    width: fit-content;

    padding: .7rem .9rem;

    border: 1px solid var(--color-border-strong);

    border-radius: 999px;

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

    font-size: .75rem;

    font-weight: var(--weight-semibold);

    color: var(--color-text-muted);

    transition:
        border-color var(--transition-base),
        color var(--transition-base),
        background-color var(--transition-base),
        transform var(--transition-base);
}

.ootb-why-signal .material-symbols-outlined {
    font-size: 1rem;

    color: var(--color-primary);
}

.ootb-why-step:hover .ootb-why-signal {
    color: var(--color-primary);

    border-color: rgba(62, 103, 167, .25);

    background: white;

    transform: translateX(-.25rem);
}


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

.ootb-why-footer {
    display: flex;

    align-items: center;

    gap: 1rem;

    margin-top: 2rem;

    font-size: .7rem;
    line-height: 1.3;

    font-weight: var(--weight-bold);

    letter-spacing: .2em;

    color: var(--color-primary);
}

.ootb-why-footer-line {
    width: 3.25rem;
    height: 1px;

    flex-shrink: 0;

    background: var(--color-primary);
}


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

@media (max-width: 1024px) {

    .ootb-why-header {
        gap: 4rem;
    }

    .ootb-why-step {
        grid-template-columns:
            4rem minmax(0, 1fr) 9rem;

        gap: 1.5rem;
    }

}


@media (max-width: 768px) {

    .ootb-why-header {
        grid-template-columns: 1fr;

        gap: 2rem;

        margin-bottom: 3rem;
    }

    .ootb-why-header .section-copy {
        margin-left: 0;
    }

    .ootb-why-step {
        grid-template-columns:
            3.5rem minmax(0, 1fr);

        gap: 1rem;

        min-height: auto;

        padding-block: 2rem;
    }

    .ootb-why-step:hover {
        padding-inline: .75rem;
    }

    .ootb-why-index {
        font-size: 2.75rem;
    }

    .ootb-why-signal {
        grid-column: 2;

        margin-top: .25rem;
    }

    .ootb-why-footer {
        margin-top: 1.5rem;

        font-size: .62rem;
    }

}

/* =========================================================
   OUR VENTURES — PORTFOLIO
========================================================= */

.ventures-portfolio-section {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(circle at 20% 20%,
            rgba(71, 114, 181, .055),
            transparent 32%),
        linear-gradient(180deg,
            #f7f9fd 0%,
            #ffffff 55%,
            #f3f7fc 100%);
}


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

.ventures-portfolio-header {
    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr) minmax(20rem, .65fr);

    align-items: end;

    gap: 6rem;

    margin-bottom: 3.25rem;
}

.ventures-portfolio-heading .section-label {
    margin-bottom: 1.5rem;
}

.ventures-portfolio-heading .section-title {
    max-width: 52rem;
}

.ventures-portfolio-intro {
    max-width: 30rem;

    margin: 0;

    color: var(--color-text-muted);

    font-family: var(--font-body);
    font-size: 1.02rem;
    line-height: 1.8;
}

/* =========================================================
   MAIN PORTFOLIO GRID
========================================================= */

.ventures-portfolio-grid {
    display: grid;

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

    gap: 1.25rem;
}

.ventures-secondary {
    display: contents;
}


/* =========================================================
   ALL VENTURE CARDS
========================================================= */

.venture-secondary-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 31rem;

    padding: 2.75rem;

    overflow: hidden;

    border-radius: 2rem;

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

    background: #ffffff;

    border: 1px solid rgba(62, 103, 167, .12);

    box-shadow:
        0 18px 45px rgba(15, 23, 42, .055);

    transition:
        background .45s ease,
        color .45s ease,
        transform .5s cubic-bezier(.22, 1, .36, 1),
        box-shadow .5s ease,
        border-color .45s ease;
}

/* ---------------------------------------------------------
   HOVER — ANY VENTURE BECOMES BLUE
--------------------------------------------------------- */

.venture-secondary-card:hover {
    transform: translateY(-6px);

    color: white;

    background:
        linear-gradient(145deg,
            #4772b5 0%,
            #345b91 48%,
            #27476f 100%);

    border-color: transparent;

    box-shadow:
        0 30px 75px rgba(15, 23, 42, .18);
}

/* ---------------------------------------------------------
   SECONDARY BACKGROUND NUMBERS
--------------------------------------------------------- */

.venture-secondary-number {
    position: absolute;

    right: 1.5rem;
    bottom: 1.5rem;

    color: rgba(62, 103, 167, .055);

    font-family: var(--font-heading);

    font-size: 7.5rem;

    font-weight: var(--weight-extrabold);

    line-height: .75;

    letter-spacing: -.1em;

    pointer-events: none;

    transition:
        color .45s ease,
        transform .6s cubic-bezier(.22, 1, .36, 1);
}

.venture-secondary-card:hover .venture-secondary-number {
    color: rgba(255, 255, 255, .07);

    transform: translateX(-.5rem);
}

/* =========================================================
   VENTURE CATEGORY
========================================================= */

.venture-portfolio-category {
    display: block;

    margin-bottom: 1.15rem;

    font-family: var(--font-body);
    font-size: .72rem;
    font-weight: var(--weight-bold);

    line-height: 1.2;

    letter-spacing: .20em;
    text-transform: uppercase;

    color: var(--color-primary);

    transition: color .35s ease;
}

.venture-secondary-card:hover .venture-portfolio-category {
    color: rgba(255, 255, 255, .72);
}

/* =========================================================
   VENTURE TITLES
========================================================= */

.venture-secondary-content h3 {
    min-height: 4.8rem;

    transition: color .4s ease;
}


.venture-secondary-card:hover .venture-secondary-content h3 {
    color: white;
}

/* =========================================================
   VENTURE COPY
========================================================= */

.venture-secondary-content p {
    max-width: 30rem;

    color: var(--color-text-muted);

    transition: color .4s ease;
}

.venture-secondary-card:hover .venture-secondary-content p {
    color: rgba(255, 255, 255, .78);
}

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

.venture-secondary-content {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;

    max-width: 100%;
    min-height: 13rem;
}

/* =========================================================
   SECONDARY CARD ARROW POSITION
========================================================= */

.venture-secondary-card>.venture-portfolio-arrow {
    position: relative;

    z-index: 2;

    display: flex;

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

    width: 3rem;
    height: 3rem;

    margin-top: auto;

    border: 1px solid #dce5f0;

    border-radius: 50%;

    color: var(--color-primary);

    font-size: 1.15rem;

    transition:
        background .35s ease,
        border-color .35s ease,
        color .35s ease,
        transform .45s cubic-bezier(.22, 1, .36, 1);
}

.venture-secondary-card:hover>.venture-portfolio-arrow {
    background: rgba(255, 255, 255, .16);

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

    color: white;

    transform: translate(4px, -4px);
}

/* =========================================================
   REMOVE DIFFERENT SECONDARY BACKGROUNDS
========================================================= */

.venture-secondary-dental,
.venture-secondary-orators {
    background: #ffffff;
}

.venture-secondary-dental:hover,
.venture-secondary-orators:hover {
    background:
        linear-gradient(145deg,
            #4772b5 0%,
            #345b91 48%,
            #27476f 100%);
}

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

.ventures-portfolio-footer {
    display: flex;

    align-items: center;

    gap: .85rem;

    margin-top: 2.25rem;

    color: rgba(62, 103, 167, .58);

    font-family: var(--font-body);

    font-size: .68rem;

    font-weight: var(--weight-bold);

    line-height: 1.2;

    letter-spacing: .22em;

    text-transform: uppercase;
}

.ventures-portfolio-footer-line {
    width: 3rem;
    height: 1px;

    flex-shrink: 0;

    background: rgba(62, 103, 167, .45);
}


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

@media (max-width: 1100px) {

    .ventures-portfolio-grid {
        gap: 1rem;
    }

    .venture-secondary-card {
        padding: 2.25rem;
    }

}

@media (max-width: 900px) {

    .ventures-portfolio-header {
        grid-template-columns: 1fr;

        gap: 1.75rem;

        margin-bottom: 3rem;
    }

    .ventures-portfolio-intro {
        max-width: 40rem;
    }

    .ventures-portfolio-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ventures-secondary {
        display: contents;
    }

    .venture-secondary-card {
        min-height: 30rem;
    }

}

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

@media (max-width: 640px) {

    .ventures-portfolio-header {
        margin-bottom: 2.5rem;
    }

    .ventures-portfolio-intro {
        font-size: .95rem;
        line-height: 1.7;
    }

    .ventures-portfolio-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .ventures-secondary {
        display: contents;
    }

    .venture-secondary-card {
        min-height: 28rem;

        padding: 2rem;

        border-radius: 1.5rem;
    }

    .venture-secondary-content p {
        font-size: .9rem;
    }

    .venture-secondary-number {
        font-size: 8rem;
    }

    .ventures-portfolio-footer {
        font-size: .58rem;
        letter-spacing: .16em;
    }

}

/* =========================================================
   SECTION 4 — CAPABILITIES
========================================================= */

.capabilities-container {
    width: 100%;
}


/* =========================================================
   CAPABILITIES HEADER
========================================================= */

.capabilities-header {
    width: 100%;
    max-width: 80rem;
    margin-bottom: 4.5rem;
}

.capabilities-header .section-label {
    margin: 0 0 1.5rem;
}

.capabilities-header .section-title {
    max-width: 52rem;
    margin: 0;
}

.capabilities-header .section-copy {
    max-width: 68rem;
    margin: 1.5rem 0 0;
}


/* =========================================================
   CAPABILITIES LIST
========================================================= */

.capabilities-list {
    width: 100%;
}


/* =========================================================
   CAPABILITY ROW
========================================================= */

.capability-row {
    position: relative;

    display: grid;
    grid-template-columns: 5rem minmax(0, 1fr) 3rem;

    align-items: center;

    gap: 2.5rem;

    padding: 2.5rem 1.5rem;

    border-top: 1px solid rgba(15, 23, 42, .10);

    text-decoration: none;

    transition:
        background-color .25s ease,
        padding-left .25s ease,
        padding-right .25s ease;
}

.capability-row:last-child {
    border-bottom: 1px solid rgba(15, 23, 42, .10);
}

.capability-row:hover {
    padding-left: 2rem;
    padding-right: 2rem;

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


/* =========================================================
   CAPABILITY NUMBER
========================================================= */

.capability-number {
    align-self: start;

    padding-top: .2rem;

    color: rgba(62, 103, 167, .32);

    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: var(--weight-bold);
    line-height: 1;

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

.capability-row:hover .capability-number {
    color: var(--color-primary);
    transform: translateX(2px);
}


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

.capability-content {
    min-width: 0;
}

.capability-category {
    display: block;

    margin-bottom: .6rem;

    color: var(--color-primary);

    font-family: var(--font-body);
    font-size: .68rem;
    font-weight: var(--weight-bold);
    line-height: 1.2;

    letter-spacing: .22em;
}

.capability-content .card-title {
    margin: 0;
}

.capability-content .card-copy {
    max-width: 44rem;

    margin: .7rem 0 0;
}


/* =========================================================
   CAPABILITY ARROW
========================================================= */

.capability-arrow {
    justify-self: end;

    color: #94a3b8;

    font-size: 1.7rem;

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

.capability-row:hover .capability-arrow {
    color: var(--color-primary);
    transform: translate(4px, -4px);
}


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

@media (max-width: 768px) {

    .capabilities-header {
        margin-bottom: 3rem;
    }

    .capability-row {
        grid-template-columns: 3rem minmax(0, 1fr) 2rem;

        gap: 1.25rem;

        padding: 2rem .5rem;
    }

    .capability-row:hover {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .capability-number {
        font-size: .95rem;
    }

}


@media (max-width: 480px) {

    .capability-row {
        grid-template-columns: 2.5rem minmax(0, 1fr) 1.5rem;

        gap: 1rem;

        padding: 1.75rem 0;
    }

    .capability-row:hover {
        padding-left: .5rem;
        padding-right: .5rem;
    }

    .capability-category {
        font-size: .62rem;
        letter-spacing: .18em;
    }

    .capability-arrow {
        font-size: 1.4rem;
    }

}

/* =========================================================
   SECTION 5 — COMMUNITY
========================================================= */

.community-section {
    position: relative;
}


/* =========================================================
   COMMUNITY SHELL
========================================================= */

.community-shell {
    position: relative;

    overflow: hidden;

    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 40px;

    background:
        radial-gradient(circle at 85% 15%,
            rgba(62, 103, 167, .16),
            transparent 34%),
        radial-gradient(circle at 10% 90%,
            rgba(62, 103, 167, .08),
            transparent 32%),
        #0c1118;

    box-shadow:
        0 35px 90px rgba(15, 23, 42, .28);
}


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

.community-content {
    position: relative;
    z-index: 3;

    padding: 5rem 5.5rem 4rem;
}


/* =========================================================
   COMMUNITY HEADER
========================================================= */

.community-header {
    max-width: 56rem;
}

.community-label {
    margin: 0 0 1.5rem;

    color: #6f9eea;

    font-family: var(--font-body);
    font-size: .68rem;
    font-weight: var(--weight-bold);
    line-height: 1.2;

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

.community-title {
    max-width: 52rem;
    color: #ffffff;
}

.community-copy {
    max-width: 42rem;

    margin: 1.5rem 0 0;

    color: #b7c2d3;
}


/* =========================================================
   ECOSYSTEM STATEMENT
========================================================= */

.community-statement {
    display: flex;
    align-items: center;
    gap: .75rem;

    margin-top: 3.5rem;

    color: #8fa3bf;

    font-family: var(--font-body);
    font-size: .72rem;
    font-weight: var(--weight-bold);
    line-height: 1.2;

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

.community-statement-line {
    display: block;

    width: 2.5rem;
    height: 1px;

    background: rgba(111, 158, 234, .55);
}


/* =========================================================
   COMMUNITY STATS
========================================================= */

.community-stats {
    display: grid;

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

    margin-top: 1.75rem;

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

.community-stat {
    position: relative;

    padding: 2rem 2rem 2rem 0;
}

.community-stat:not(:last-child)::after {
    content: "";

    position: absolute;

    top: 1.5rem;
    right: 1.5rem;

    width: 1px;
    height: calc(100% - 3rem);

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

.community-stat-number {
    color: #ffffff;

    font-family: var(--font-heading);
    font-size: clamp(2.3rem, 3.5vw, 3.1rem);
    font-weight: var(--weight-extrabold);
    line-height: 1;
    letter-spacing: -.04em;
}

.community-stat-label {
    margin-top: .65rem;

    color: #718198;

    font-family: var(--font-body);
    font-size: .88rem;
    line-height: 1.4;
}


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

.community-footer {
    display: flex;

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

    gap: 2rem;

    margin-top: 2.75rem;
}


/* =========================================================
   COMMUNITY MEMBERS
========================================================= */

.community-members {
    display: flex;
    align-items: center;

    gap: 1rem;
}

.community-avatars {
    display: flex;
    align-items: center;
}

.community-avatar {
    position: relative;

    width: 3.25rem;
    height: 3.25rem;

    overflow: hidden;

    margin-left: -.65rem;

    border: 3px solid #0c1118;
    border-radius: 50%;

    background: #182231;
}

.community-avatar:first-child {
    margin-left: 0;
}

.community-avatar img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.community-avatar-count {
    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(135deg,
            #4d7fc9,
            #315f9e);

    color: #ffffff;

    font-family: var(--font-body);
    font-size: .82rem;
    font-weight: var(--weight-bold);
}

.community-members-copy {
    color: #718198;

    font-family: var(--font-body);
    font-size: .82rem;
}


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

.community-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: .65rem;

    min-height: 3.5rem;

    padding: .9rem 1.5rem;

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

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

    color: #172033;

    font-family: var(--font-body);
    font-size: .95rem;
    font-weight: var(--weight-semibold);
    line-height: 1;

    text-decoration: none;

    box-shadow:
        0 12px 30px rgba(0, 0, 0, .18);

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

.community-cta .material-symbols-outlined {
    font-size: 19px;

    transition:
        transform .25s ease;
}

.community-cta:hover {
    transform: translateY(-3px);

    background: var(--color-primary);

    color: #ffffff;

    box-shadow:
        0 16px 35px rgba(62, 103, 167, .28);
}

.community-cta:hover .material-symbols-outlined {
    transform: translateX(4px);
}


/* =========================================================
   COMMUNITY NETWORK
========================================================= */

.community-network {
    position: absolute;
    inset: 0;

    z-index: 1;

    pointer-events: none;

    opacity: .32;
}

.community-node {
    position: absolute;

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: #6f9eea;

    box-shadow:
        0 0 12px rgba(111, 158, 234, .45);

    animation: communityNodePulse 5s ease-in-out infinite;
}

.community-node-1 {
    top: 16%;
    right: 13%;
}

.community-node-2 {
    top: 31%;
    right: 27%;

    animation-delay: .8s;
}

.community-node-3 {
    top: 48%;
    right: 9%;

    animation-delay: 1.5s;
}

.community-node-4 {
    bottom: 22%;
    right: 22%;

    animation-delay: 2.2s;
}

.community-node-5 {
    bottom: 14%;
    left: 46%;

    animation-delay: 2.8s;
}


/* =========================================================
   NETWORK LINES
========================================================= */

.community-line {
    position: absolute;

    height: 1px;

    transform-origin: left center;

    background:
        linear-gradient(90deg,
            transparent,
            rgba(111, 158, 234, .20),
            transparent);

    animation: communityLinePulse 5s ease-in-out infinite;
}

.community-line-1 {
    top: 16%;
    right: 13%;

    width: 260px;

    transform: rotate(145deg);
}

.community-line-2 {
    top: 31%;
    right: 27%;

    width: 220px;

    transform: rotate(-20deg);

    animation-delay: 1.2s;
}

.community-line-3 {
    bottom: 22%;
    right: 22%;

    width: 280px;

    transform: rotate(165deg);

    animation-delay: 2.4s;
}


/* =========================================================
   COMMUNITY MOTION
========================================================= */

@keyframes communityNodePulse {

    0%,
    100% {
        opacity: .35;
        transform: scale(1);
    }

    50% {
        opacity: .9;
        transform: scale(1.5);
    }
}

@keyframes communityLinePulse {

    0%,
    100% {
        opacity: .25;
    }

    50% {
        opacity: .65;
    }
}


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

@media (max-width: 900px) {

    .community-content {
        padding: 4.5rem 3rem 3.5rem;
    }

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

    .community-stat:nth-child(2)::after {
        display: none;
    }

    .community-stat:nth-child(1),
    .community-stat:nth-child(2) {
        border-bottom: 1px solid rgba(255, 255, 255, .08);
    }

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

}


@media (max-width: 600px) {

    .community-shell {
        border-radius: 28px;
    }

    .community-content {
        padding: 3.5rem 1.5rem 2.5rem;
    }

    .community-title {
        font-size: 2.6rem;
        line-height: 1.05;
    }

    .community-copy {
        font-size: 1rem;
        line-height: 1.65;
    }

    .community-statement {
        margin-top: 3rem;
    }

    .community-stats {
        grid-template-columns: 1fr;
    }

    .community-stat {
        padding: 1.5rem 0;
    }

    .community-stat:not(:last-child)::after {
        display: none;
    }

    .community-stat:not(:last-child) {
        border-bottom: 1px solid rgba(255, 255, 255, .08);
    }

    .community-footer {
        gap: 1.5rem;
        margin-top: 2rem;
    }

    .community-members {
        align-items: flex-start;
        flex-direction: column;
        gap: .75rem;
    }

    .community-cta {
        width: 100%;
    }

    .community-network {
        opacity: .35;
    }

}

/* =========================================================
   HOW WE WORK / OPERATING SYSTEM
   ========================================================= */

.workflow-header {
    max-width: 46rem;
    margin-bottom: 5rem;
}


.workflow-timeline {
    position: relative;

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

    gap: 2rem;

    padding-top: 1rem;
}


.workflow-line {
    position: absolute;

    top: 3.25rem;
    left: 8%;
    right: 8%;

    height: 2px;

    background: #e2e8f0;

    border-radius: 999px;

    overflow: hidden;

    z-index: 0;
}


.workflow-progress {
    width: 0;
    height: 100%;

    background: linear-gradient(90deg,
            #4772b5,
            #6f9eea);

    border-radius: inherit;

    transition: width 1s cubic-bezier(.22, 1, .36, 1);
}


.workflow-step {
    position: relative;

    min-width: 0;

    z-index: 1;

    cursor: default;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}


.workflow-top {
    position: relative;

    display: flex;
    align-items: center;

    height: 4.5rem;

    margin-bottom: 3rem;
}


.workflow-number {
    position: absolute;

    left: 0;
    top: -0.15rem;

    color: #e8eef6;

    font-family: var(--font-heading);
    font-size: 2.8rem;
    font-weight: var(--weight-extrabold);

    line-height: 1;

    letter-spacing: -.05em;

    pointer-events: none;

    transition:
        color .35s ease,
        transform .35s ease;
}


.workflow-node {
    position: relative;

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

    width: 3.25rem;
    height: 3.25rem;

    margin-left: auto;

    border-radius: 1rem;

    background: #f1f5fb;

    border: 1px solid #e2e8f0;

    color: var(--primary);

    box-shadow: 0 10px 30px rgba(15, 23, 42, .06);

    transition:
        transform .35s cubic-bezier(.22, 1, .36, 1),
        background .35s ease,
        border-color .35s ease,
        color .35s ease,
        box-shadow .35s ease;
}

.workflow-node .material-symbols-outlined {
    font-size: 1.35rem;
}

.workflow-content {
    padding: 0 .75rem .25rem 0;
}

.workflow-kicker {
    margin-bottom: .65rem;

    color: var(--primary);

    font-family: var(--font-body);
    font-size: .68rem;
    font-weight: var(--weight-bold);

    line-height: 1.2;

    letter-spacing: .2em;

    text-transform: uppercase;
}


.workflow-content h3 {
    margin: 0 0 .8rem;
    color: var(--text);
}

.workflow-content p {
    max-width: 18rem;

    color: var(--muted);

    margin: 0;
}

.workflow-step:hover .workflow-node {
    transform: translate(-50%, -50%) translateY(-5px) scale(1.05);

    background: #ffffff;

    border-color: rgba(71, 114, 181, .35);

    color: var(--primary);

    box-shadow:
        0 18px 40px rgba(71, 114, 181, .14);
}


.workflow-step:hover .workflow-number {
    color: #dce7f5;

    transform: translateX(3px);
}


.workflow-step:hover .workflow-content h3 {
    color: var(--primary);

    transform: translateX(3px);
}


.workflow-footer {
    display: flex;
    align-items: center;
    gap: .9rem;

    margin-top: 4.5rem;

    color: #94a3b8;

    font-family: var(--font-body);
    font-size: .67rem;
    font-weight: var(--weight-bold);

    letter-spacing: .2em;

    text-transform: uppercase;
}


.workflow-footer-line {
    display: block;

    width: 3rem;
    height: 1px;

    background: var(--primary);

    opacity: .7;
}


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

@media (max-width: 1024px) {

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

        row-gap: 4rem;
    }


    .workflow-line {
        display: none;
    }


    .workflow-top {
        margin-bottom: 2rem;
    }

}


@media (max-width: 640px) {

    .workflow-header {
        margin-bottom: 3.5rem;
    }


    .workflow-timeline {
        grid-template-columns: 1fr;

        gap: 3.5rem;
    }


    .workflow-top {
        min-height: 4.5rem;

        margin-bottom: 1.75rem;
    }


    .workflow-number {
        font-size: 4rem;
    }


    .workflow-node {
        width: 3rem;
        height: 3rem;
    }


    .workflow-content {
        padding-right: 0;
    }

    .workflow-footer {
        margin-top: 3.5rem;

        line-height: 1.6;
    }

}

/* =========================================================
   CAREERS / HIRING
========================================================= */

.careers-section {
    position: relative;
}

.careers-header {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
    gap: 5rem;
    align-items: end;
    margin-bottom: 4rem;
}

.careers-heading {
    max-width: 48rem;
}

.careers-heading .section-title {
    max-width: 44rem;
}

.careers-heading .section-copy {
    max-width: 42rem;
    margin-top: 1.5rem;
}

.careers-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: .5rem;
}

.careers-open-count {
    display: flex;
    align-items: baseline;
    gap: .75rem;
}

.careers-open-count span {
    color: var(--text);
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: var(--weight-extrabold);
    line-height: 1;
    letter-spacing: -.06em;
}

.careers-open-count p {
    margin: 0;
    color: var(--muted);
    font-size: .95rem;
    font-weight: var(--weight-semibold);
}

.careers-meta-line {
    width: 100%;
    height: 1px;
    margin: 1.25rem 0;
    background: #e2e8f0;
}

.careers-teams {
    margin: 0 0 1.5rem;
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.6;
}

.careers-cta {
    display: inline-flex;
    align-items: center;
    gap: .6rem;

    color: var(--primary);
    font-size: .95rem;
    font-weight: var(--weight-semibold);

    transition:
        gap .3s ease,
        color .3s ease;
}

.careers-cta .material-symbols-outlined {
    font-size: 1.15rem;
}

.careers-cta:hover {
    gap: .9rem;
}

/* ---------------------------------------------------------
   CAREERS / INTERACTIVE ROLE EXPLORER
--------------------------------------------------------- */

.careers-explorer {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 0;

    border-top: 1px solid #dfe6ef;
    border-bottom: 1px solid #dfe6ef;
}


/* ---------------------------------------------------------
   ROLE NAVIGATION
--------------------------------------------------------- */

.careers-role-nav {
    display: flex;
    flex-direction: column;

    padding: 1rem 0;
}

.career-explorer-item {
    position: relative;

    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr) 2.5rem;
    align-items: center;
    gap: 1.5rem;

    min-height: 7rem;
    padding: 1.5rem 2rem;

    color: inherit;
    text-decoration: none;

    border-bottom: 1px solid #e7edf4;

    transition:
        background .35s ease,
        padding .35s cubic-bezier(.22, 1, .36, 1);
}

.career-explorer-item:last-child {
    border-bottom: 0;
}

.career-explorer-item.active {
    background: rgba(71, 114, 181, .055);
}

.career-explorer-item.active::before {
    content: "";

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

    width: 3px;

    background: var(--primary);
}

.career-explorer-item:hover {
    padding-left: 2.5rem;
}


/* Number */

.career-explorer-number {
    color: #c3d1e3;

    font-family: var(--font-heading);
    font-size: .95rem;
    font-weight: var(--weight-bold);

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

.career-explorer-item:hover .career-explorer-number,
.career-explorer-item.active .career-explorer-number {
    color: var(--primary);
    transform: translateX(3px);
}


/* Title + meta */

.career-explorer-info {
    display: flex;
    flex-direction: column;
    gap: .35rem;

    min-width: 0;
}

.career-explorer-title {
    color: var(--text);

    transition: color .3s ease;
}

.career-explorer-item:hover .career-explorer-title,
.career-explorer-item.active .career-explorer-title {
    color: var(--primary);
}

.career-explorer-meta {
    color: var(--muted);

    font-size: .82rem;
    line-height: 1.4;
}


/* Arrow */

.career-explorer-arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 2.5rem;
    height: 2.5rem;

    border: 1px solid #dfe6ef;
    border-radius: 50%;

    color: #9aacc2;

    font-size: 1.1rem;

    transition:
        transform .35s cubic-bezier(.22, 1, .36, 1),
        background .3s ease,
        border-color .3s ease,
        color .3s ease;
}

.career-explorer-item:hover .career-explorer-arrow,
.career-explorer-item.active .career-explorer-arrow {
    background: var(--primary);
    border-color: var(--primary);
    color: white;

    transform: translateX(3px);
}


/* ---------------------------------------------------------
   PREVIEW PANEL
--------------------------------------------------------- */

.career-explorer-preview {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 31rem;

    padding: 4rem;

    overflow: hidden;

    background:
        linear-gradient(135deg,
            #f8fafc 0%,
            #f1f5fb 100%);

    border-left: 1px solid #dfe6ef;
}


/* Ambient glow */

.career-preview-glow {
    position: absolute;

    width: 24rem;
    height: 24rem;

    top: -8rem;
    right: -6rem;

    border-radius: 50%;

    background: rgba(71, 114, 181, .10);

    filter: blur(80px);

    pointer-events: none;
}


/* Large background number */

.career-preview-number {
    position: absolute;

    right: 2rem;
    bottom: .75rem;

    color: rgba(71, 114, 181, .055);

    font-family: var(--font-heading);
    font-size: 11rem;
    font-weight: var(--weight-extrabold);

    line-height: .8;
    letter-spacing: -.08em;

    pointer-events: none;
    user-select: none;
}


/* Preview content */

.career-preview-content {
    position: relative;
    z-index: 1;

    max-width: 28rem;
}

.career-preview-category {
    margin: 0 0 .8rem;

    color: var(--primary);

    font-size: .67rem;
    font-weight: var(--weight-bold);

    line-height: 1.2;
    letter-spacing: .22em;

    text-transform: uppercase;
}

.career-preview-content h3 {
    color: var(--text);
}

.career-preview-description {
    max-width: 27rem;

    margin: 0 0 2rem;

    color: var(--muted);

    font-size: .98rem;
    line-height: 1.7;
}

.career-preview-link {
    display: inline-flex;
    align-items: center;
    gap: .6rem;

    color: var(--primary);

    font-size: .92rem;
    font-weight: var(--weight-semibold);

    text-decoration: none;

    transition: gap .3s ease;
}

.career-preview-link:hover {
    gap: .9rem;
}

.career-preview-link .material-symbols-outlined {
    font-size: 1.15rem;
}

/* ---------------------------------------------------------
CAREERS / CLOSING STATEMENT
--------------------------------------------------------- */

.careers-footer {
    display: flex;
    align-items: center;
    gap: .9rem;

    margin-top: 4.5rem;

    color: #94a3b8;

    font-family: var(--font-body);
    font-size: .67rem;
    font-weight: var(--weight-bold);

    line-height: 1.4;
    letter-spacing: .2em;

    text-transform: uppercase;
}

.careers-footer-line {
    display: block;

    width: 3rem;
    height: 1px;

    flex: 0 0 auto;

    background: var(--primary);
    opacity: .7;
}

.careers-footer p {
    margin: 0;
}

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

@media (max-width: 900px) {

    .careers-explorer {
        grid-template-columns: 1fr;
    }

    .career-explorer-preview {
        min-height: 25rem;

        border-left: 0;
        border-top: 1px solid #dfe6ef;
    }

}

@media (max-width: 640px) {

    .career-explorer-item {
        grid-template-columns: 2.25rem minmax(0, 1fr) 2.25rem;

        gap: 1rem;

        min-height: 6.5rem;

        padding: 1.25rem 1rem;
    }

    .career-explorer-item:hover {
        padding-left: 1.25rem;
    }

    .career-explorer-meta {
        font-size: .78rem;
    }

    .career-explorer-arrow {
        width: 2.25rem;
        height: 2.25rem;
    }

    .career-explorer-preview {
        min-height: 24rem;

        padding: 2.5rem 1.5rem;
    }

    .career-preview-content h3 {
        font-size: 1.9rem;
    }

    .career-preview-number {
        font-size: 9rem;
    }

}

/* ---------------------------------------------------------
   ROLE PREVIEW TRANSITION
--------------------------------------------------------- */

.career-preview-content {
    transition:
        opacity .2s ease,
        transform .35s cubic-bezier(.22, 1, .36, 1);
}

.career-preview-content.is-changing {
    opacity: 0;
    transform: translateY(8px);
}

/* =========================================================
   WHO WE WORK WITH — EDITORIAL POSITIONING SECTION
========================================================= */

.who-build-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
    gap: 0;

    min-height: 44rem;
}


/* =========================================================
   LEFT — WHO WE WORK WITH
========================================================= */

.who-build-left {
    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 4rem 6rem 4rem 0;

    background: transparent;
}

.who-build-left::before {
    content: "WHO";

    position: absolute;

    top: 1.5rem;
    right: 2rem;

    color: rgba(62, 103, 167, .018);

    font-family: var(--font-heading);
    font-size: clamp(7rem, 11vw, 11rem);
    font-weight: var(--weight-extrabold);
    line-height: .8;
    letter-spacing: -.08em;

    pointer-events: none;
    user-select: none;
}

.who-build-left>* {
    position: relative;
    z-index: 1;
}

.who-build-left .section-title {
    max-width: 38rem;
}

.who-build-intro {
    max-width: 36rem;
    margin-top: 1.5rem;
}


/* =========================================================
   AUDIENCE LIST
========================================================= */

.who-build-list {
    margin-top: 3.5rem;

    border-top: 1px solid #dfe6ef;
}

.who-build-item {
    position: relative;

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

    gap: 1.5rem;
    align-items: start;

    padding: 1.5rem 1rem 1.5rem 0;

    border-bottom: 1px solid #dfe6ef;

    transition:
        padding-left .35s cubic-bezier(.22, 1, .36, 1),
        background .35s ease;
}

.who-build-item::before {
    content: "";

    position: absolute;

    left: -1rem;
    top: 0;
    bottom: 0;

    width: 2px;

    background: var(--primary);

    transform: scaleY(0);
    transform-origin: center;

    transition: transform .35s cubic-bezier(.22, 1, .36, 1);
}

.who-build-number {
    padding-top: .2rem;

    color: #c3d1e3;

    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: var(--weight-bold);
    line-height: 1;

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

.who-build-item-content h3 {
    margin: 0 0 .4rem;
    color: var(--text);

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

.who-build-item-content p {
    margin: 0;

    color: var(--muted);

    font-size: .92rem;
    line-height: 1.6;
}


/* =========================================================
   LEFT HOVER
========================================================= */

.who-build-item:hover {
    padding-left: 1rem;
}

.who-build-item:hover::before {
    transform: scaleY(1);
}

.who-build-item:hover .who-build-number {
    color: var(--primary);
    transform: translateX(3px);
}

.who-build-item:hover .who-build-item-content h3 {
    color: var(--primary);
    transform: translateX(3px);
}


/* =========================================================
   RIGHT — WHY OOTB
========================================================= */

.why-ootb-panel {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 40rem;

    padding: 4.5rem 4rem;

    overflow: hidden;

    background:
        radial-gradient(circle at 85% 15%,
            rgba(111, 158, 234, .20),
            transparent 30%),
        linear-gradient(145deg,
            #315b91 0%,
            #243f68 100%);

    border-radius: 2rem;

    box-shadow:
        0 30px 70px rgba(15, 23, 42, .16);
}


/* =========================================================
   LARGE BACKGROUND NUMBER
========================================================= */

.why-ootb-panel::after {
    content: "03";

    position: absolute;

    right: -1rem;
    bottom: -3rem;

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

    font-family: var(--font-heading);
    font-size: 15rem;
    font-weight: var(--weight-extrabold);
    line-height: .8;
    letter-spacing: -.1em;

    pointer-events: none;
    user-select: none;
}


/* =========================================================
   AMBIENT GLOW
========================================================= */

.why-ootb-glow {
    position: absolute;

    width: 30rem;
    height: 30rem;

    top: -13rem;
    right: -10rem;

    border-radius: 50%;

    background: rgba(126, 174, 239, .18);

    filter: blur(100px);

    pointer-events: none;
}


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

.why-ootb-content {
    position: relative;
    z-index: 2;

    width: 100%;
}

.why-ootb-content .section-title {
    max-width: 100%;
}


/* =========================================================
   DIFFERENCE LIST
========================================================= */

.why-ootb-list {
    margin-top: 2.5rem;
}

.why-ootb-item {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);

    gap: 1.25rem;

    padding: 1.5rem 0;

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

    transition:
        padding-left .35s cubic-bezier(.22, 1, .36, 1),
        border-color .3s ease;
}

.why-ootb-item:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.why-ootb-number {
    padding-top: .2rem;

    color: rgba(210, 225, 246, .55);

    font-family: var(--font-heading);
    font-size: .9rem;
    font-weight: var(--weight-bold);

    line-height: 1;

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

.why-ootb-item h3 {
    margin: 0 0 .55rem;

    color: #ffffff !important;

    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: var(--weight-bold);

    line-height: 1.3;
    letter-spacing: -.02em;

    transition:
        transform .3s ease;
}

.why-ootb-item p {
    max-width: 28rem;

    margin: 0;

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

    font-size: .92rem;
    line-height: 1.65;
}


/* =========================================================
   RIGHT HOVER
========================================================= */

.why-ootb-item:hover {
    padding-left: .5rem;

    border-color: rgba(151, 190, 239, .5);
}

.why-ootb-item:hover .why-ootb-number {
    color: #a9c9f2;
    transform: translateX(3px);
}

.why-ootb-item:hover h3 {
    transform: translateX(3px);
}


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

@media (max-width: 1024px) {

    .who-build-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .who-build-left {
        padding: 2rem 0 0;
    }

    .who-build-left::before {
        right: 0;
    }

    .why-ootb-panel {
        min-height: auto;
    }

}


@media (max-width: 640px) {

    .who-build-grid {
        gap: 2rem;
    }

    .who-build-left {
        padding: 1rem 0 0;
    }

    .who-build-left::before {
        top: 0;
        right: 0;

        font-size: 7rem;
    }

    .who-build-list {
        margin-top: 2.5rem;
    }

    .who-build-item {
        grid-template-columns: 2.5rem minmax(0, 1fr);

        gap: 1rem;

        padding: 1.35rem 0;
    }

    .who-build-item:hover {
        padding-left: 0;
    }

    .who-build-item::before {
        left: -.5rem;
    }

    .who-build-item-content h3 {
        font-size: 1.1rem;
    }

    .who-build-item-content p {
        font-size: .88rem;
    }

    .why-ootb-panel {
        min-height: auto;

        padding: 3rem 1.5rem;

        border-radius: 1.5rem;
    }

    .why-ootb-list {
        margin-top: 2.25rem;
    }

    .why-ootb-item {
        grid-template-columns: 2.25rem minmax(0, 1fr);

        gap: .75rem;

        padding: 1.35rem 0;
    }

    .why-ootb-item:hover {
        padding-left: 0;
    }

    .why-ootb-item h3 {
        font-size: 1.05rem;
    }

    .why-ootb-item p {
        font-size: .86rem;
    }

    .why-ootb-panel::after {
        font-size: 9rem;
    }

}

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

.final-cta-section {
    position: relative;

    overflow: hidden;

    background:
        radial-gradient(circle at 15% 50%,
            rgba(62, 103, 167, .08),
            transparent 32%),
        radial-gradient(circle at 88% 35%,
            rgba(120, 180, 255, .10),
            transparent 30%),
        #f7faff;
}


/* =========================================================
   BACKGROUND
========================================================= */

.final-cta-bg {
    position: absolute;

    inset: 0;

    background:
        radial-gradient(circle at 50% 50%,
            rgba(62, 103, 167, .035),
            transparent 60%);

    pointer-events: none;
}


/* =========================================================
   OVERSIZED BACKGROUND WORD
========================================================= */

.final-cta-word {
    position: absolute;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%, -50%);

    font-family: var(--font-heading);

    font-size: clamp(12rem,
            28vw,
            30rem);

    line-height: .8;

    font-weight: var(--weight-extrabold);

    letter-spacing: -.09em;

    white-space: nowrap;

    color: rgba(62, 103, 167, .035);

    pointer-events: none;

    user-select: none;
}


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

.final-cta-card {
    position: relative;

    display: grid;

    grid-template-columns:
        minmax(0, 1.35fr) minmax(19rem, .65fr);

    gap: 5rem;

    align-items: center;

    padding: 4.5rem 5rem;

    border:
        1px solid rgba(62, 103, 167, .14);

    border-radius: 32px;

    background:
        linear-gradient(135deg,
            rgba(255, 255, 255, .96),
            rgba(247, 250, 255, .92));

    box-shadow:
        0 35px 90px rgba(15, 23, 42, .08);

    overflow: hidden;
}


/* =========================================================
   CARD LIGHT
========================================================= */

.final-cta-card::before {
    content: "";

    position: absolute;

    width: 26rem;
    height: 26rem;

    top: -14rem;
    right: -8rem;

    border-radius: 999px;

    background:
        rgba(91, 143, 230, .10);

    filter: blur(90px);

    pointer-events: none;
}

.final-cta-card::after {
    content: "";

    position: absolute;

    width: 20rem;
    height: 20rem;

    bottom: -13rem;
    left: 25%;

    border-radius: 999px;

    background:
        rgba(120, 180, 255, .08);

    filter: blur(80px);

    pointer-events: none;
}


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

.final-cta-main {
    position: relative;

    z-index: 2;
}

.final-cta-label {
    margin-bottom: 0;
}


/* =========================================================
   HEADING
========================================================= */

.final-cta-title {
    margin: 1rem 0 0;
    max-width: 52rem;
    color: var(--color-text);
}

.final-cta-title span {
    color: var(--color-primary);
}


/* =========================================================
   COPY
========================================================= */

.final-cta-copy {
    max-width: 42rem;

    margin: 1.5rem 0 0;

    color: var(--color-text-muted);
}


/* =========================================================
   ACTION AREA
========================================================= */

.final-cta-action {
    position: relative;

    z-index: 2;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    padding-left: 3rem;

    border-left:
        1px solid rgba(62, 103, 167, .15);
}

.final-cta-action-label {
    margin-bottom: 1.25rem;

    font-size: .65rem;

    line-height: 1.2;

    font-weight: var(--weight-bold);

    letter-spacing: .2em;

    color: rgba(62, 103, 167, .62);
}


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

.final-cta-action .btn-primary,
.final-cta-action .btn-secondary {
    width: 100%;

    justify-content: center;

    text-align: center;
}

.final-cta-action .btn-secondary {
    margin-top: .75rem;
}


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

.final-cta-action-line {
    width: 3rem;

    height: 1px;

    margin-top: 2rem;

    background: var(--color-primary);

    opacity: .55;
}

.final-cta-action>p {
    margin: 1rem 0 0;

    max-width: 18rem;

    font-size: .8rem;

    line-height: 1.65;

    color: var(--color-text-muted);
}


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

@media (max-width: 1024px) {

    .final-cta-card {
        grid-template-columns:
            minmax(0, 1.15fr) minmax(18rem, .85fr);

        gap: 3rem;

        padding: 3.5rem;
    }

    .final-cta-action {
        padding-left: 2.5rem;
    }

}


@media (max-width: 768px) {

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

        gap: 3rem;

        padding: 3rem 2rem;

        border-radius: 26px;
    }

    .final-cta-action {
        padding-left: 0;

        padding-top: 2.5rem;

        border-left: 0;

        border-top:
            1px solid rgba(62, 103, 167, .15);
    }

    .final-cta-action .btn-primary,
    .final-cta-action .btn-secondary {
        width: auto;

        min-width: 12rem;
    }

}


@media (max-width: 480px) {

    .final-cta-card {
        padding: 2.5rem 1.5rem;
    }

    .final-cta-copy {
        font-size: .95rem;
    }

    .final-cta-action .btn-primary,
    .final-cta-action .btn-secondary {
        width: 100%;
    }

    .final-cta-word {
        font-size: 10rem;
    }

}

/* =========================================================
WHY OOTB — TYPOGRAPHY
========================================================= */

.ootb-why-header .section-title {
    max-width: 42rem;

    margin: 0;

    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4vw, 4rem);
    font-weight: var(--weight-extrabold);

    line-height: 1.02;
    letter-spacing: -0.045em;
}


/* WHY OOTB — STEP HEADINGS */

.ootb-why-main h3 {
    margin: 0.35rem 0 0.75rem;

    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: var(--weight-semibold);

    line-height: 1.2;
    letter-spacing: -0.02em;
}


/* WHY OOTB — STEP DESCRIPTION */

.ootb-why-main>p:last-child {
    max-width: 38rem;

    margin: 0;

    font-family: var(--font-body);
    font-size: 1rem;

    line-height: 1.7;
}

/* =========================================================
OUR VENTURES — TYPOGRAPHY
========================================================= */

.ventures-portfolio-heading .section-title {
    max-width: 42rem;

    margin: 0;

    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4vw, 4rem);
    font-weight: var(--weight-extrabold);

    line-height: 1.02;
    letter-spacing: -0.045em;
}


/* VENTURE CARD TITLES */

.venture-secondary-content h3 {
    margin: 0.5rem 0 0.75rem;

    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: var(--weight-bold);

    line-height: 1.08;
    letter-spacing: -0.035em;
}


/* VENTURE CARD DESCRIPTIONS */

.venture-secondary-content p {
    margin: 0;

    font-family: var(--font-body);
    font-size: 1rem;

    line-height: 1.7;
}

/* =========================================================
OUR CAPABILITIES — TYPOGRAPHY
========================================================= */

.capabilities-header .section-title {
    max-width: 42rem;

    margin: 0;

    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4vw, 4rem);
    font-weight: var(--weight-extrabold);

    line-height: 1.02;
    letter-spacing: -0.045em;
}


/* CAPABILITIES INTRO */

.capabilities-header .section-copy {
    max-width: 56rem;

    margin-top: 1.25rem;
}


/* CAPABILITY TITLES */

.capability-content .card-title {
    margin: 0.5rem 0 0.75rem;

    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: var(--weight-bold);

    line-height: 1.15;
    letter-spacing: -0.025em;
}


/* CAPABILITY DESCRIPTIONS */

.capability-content .card-copy {
    margin: 0;

    font-family: var(--font-body);
    font-size: 1rem;

    line-height: 1.7;
}

/* =========================================================
COMMUNITY — TYPOGRAPHY
========================================================= */

.community-title {
    margin: 0;

    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4vw, 4rem);
    font-weight: var(--weight-extrabold);

    line-height: 1.02;
    letter-spacing: -0.045em;
}


/* COMMUNITY INTRO */

.community-copy {
    max-width: 40rem;

    margin-top: 1.5rem;

    font-family: var(--font-body);
    font-size: 1rem;

    line-height: 1.75;
}


/* COMMUNITY STAT NUMBERS */

.community-stat-number {
    font-family: var(--font-heading);
    font-weight: var(--weight-extrabold);

    line-height: 1;
    letter-spacing: -0.04em;
}

/* =========================================================
OUR OPERATING SYSTEM — TYPOGRAPHY
========================================================= */

.workflow-header .section-title {
    max-width: 42rem;

    margin: 0;

    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4vw, 4rem);
    font-weight: var(--weight-extrabold);

    line-height: 1.02;
    letter-spacing: -0.045em;
}


/* WORKFLOW STEP TITLES */

.workflow-content h3 {
    margin: 0.4rem 0 0.75rem;

    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: var(--weight-bold);

    line-height: 1.15;
    letter-spacing: -0.025em;
}


/* WORKFLOW STEP DESCRIPTIONS */

.workflow-content p {
    max-width: 18rem;

    margin: 0;

    font-family: var(--font-body);
    font-size: 1rem;

    line-height: 1.7;
}

/* =========================================================
CAREERS — TYPOGRAPHY
========================================================= */

.careers-heading .section-title {
    max-width: 42rem;

    margin: 0;

    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4vw, 4rem);
    font-weight: var(--weight-extrabold);

    line-height: 1.02;
    letter-spacing: -0.045em;
}


/* CAREERS INTRO */

.careers-heading .section-copy {
    max-width: 42rem;

    margin-top: 1.5rem;
}

/* CAREER ROLE TITLES */

.career-explorer-title {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: var(--weight-bold);

    line-height: 1.25;
    letter-spacing: -0.02em;
}


/* ACTIVE ROLE PREVIEW */

.career-preview-content h3 {
    margin: 0.5rem 0 0.75rem;

    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: var(--weight-bold);

    line-height: 1.1;
    letter-spacing: -0.03em;
}


.career-preview-description {
    max-width: 34rem;

    margin: 0;

    font-family: var(--font-body);
    font-size: 1rem;

    line-height: 1.7;
}

/* =========================================================
WHO WE WORK WITH — TYPOGRAPHY
========================================================= */

.who-build-left .section-title {
    max-width: 42rem;

    margin: 0;

    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4vw, 4rem);
    font-weight: var(--weight-extrabold);

    line-height: 1.02;
    letter-spacing: -0.045em;
}


.who-build-intro {
    max-width: 42rem;
    margin-top: 1.5rem;
}


/* AUDIENCE TITLES */

.who-build-item-content h3 {
    margin: 0;

    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: var(--weight-bold);

    line-height: 1.2;
    letter-spacing: -0.02em;
}


.who-build-item-content p {
    margin: 0.4rem 0 0;

    font-family: var(--font-body);
    font-size: 1rem;

    line-height: 1.6;
}


/* =========================================================
WHY OOTB PANEL
========================================================= */

.why-ootb-content .section-title {
    max-width: 42rem;

    margin: 0;

    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4vw, 4rem);
    font-weight: var(--weight-extrabold);

    line-height: 1.02;
    letter-spacing: -0.045em;
}


/* DIFFERENCE TITLES */

.why-ootb-item h3 {
    margin: 0;

    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: var(--weight-bold);

    line-height: 1.25;
    letter-spacing: -0.02em;
}


.why-ootb-item p {
    margin: 0.5rem 0 0;

    font-family: var(--font-body);
    font-size: 1rem;

    line-height: 1.65;
}

/* =========================================================
FINAL CTA — TYPOGRAPHY
========================================================= */

.final-cta-main .final-cta-title {
    max-width: 42rem;

    margin: 0;

    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4vw, 4rem);
    font-weight: var(--weight-extrabold);

    line-height: 1.02;
    letter-spacing: -0.045em;
}


/* CTA COPY */

.final-cta-main .final-cta-copy {
    max-width: 42rem;

    margin-top: 1.5rem;

    font-family: var(--font-body);
    font-size: 1rem;

    line-height: 1.75;
}


/* RIGHT SIDE LABEL */

.final-cta-action-label {
    font-family: var(--font-body);
    font-size: .7rem;
    font-weight: var(--weight-bold);

    line-height: 1.3;
    letter-spacing: .18em;
    text-transform: uppercase;
}


/* RIGHT SIDE DESCRIPTION */

.final-cta-action>p {
    margin: 1.25rem 0 0;

    font-family: var(--font-body);
    font-size: .95rem;

    line-height: 1.65;
}