﻿/* =========================================================
   WILLSMARG CAPABILITIES — PREMIUM PAGE
   File: wwwroot/css/Capabilities.css
   Purpose: enterprise product-engineering capability page
========================================================= */

:root {
    --wsm-cap-bg: #f7f9fc;
    --wsm-cap-surface: #ffffff;
    --wsm-cap-ink: #0b1f3a;
    --wsm-cap-ink-2: #20324d;
    --wsm-cap-muted: #64748b;
    --wsm-cap-line: #dfe7ef;
    --wsm-cap-teal: #00a8c8;
    --wsm-cap-teal-2: #e5fbff;
    --wsm-cap-teal-dark: #007d95;
    --wsm-cap-blue: #1d4ed8;
    --wsm-cap-shadow: 0 16px 42px rgba(11,31,58,.075);
    --wsm-cap-shadow-lg: 0 28px 72px rgba(11,31,58,.13);
    --wsm-cap-radius: 24px;
}

.wsm-cap-page {
    color: var(--wsm-cap-ink);
    background: var(--wsm-cap-bg);
    overflow-x: hidden;
}

.wsm-cap-shell {
    width: 100%;
    max-width: none;
    padding-left: 32px;
    padding-right: 32px;
    margin: 0 auto;
}

.wsm-cap-section {
    position: relative;
    padding: clamp(70px, 5.6vw, 106px) 0;
    border-bottom: 1px solid var(--wsm-cap-line);
}

.wsm-cap-head h2,
.wsm-cap-cta-card h2 {
    margin: 22px 0 14px;
    color: var(--wsm-cap-ink);
    font-size: clamp(2.25rem, 3.15vw, 4.25rem);
    line-height: 1.05;
    letter-spacing: -.055em;
    font-weight: 950;
}

.wsm-cap-head p,
.wsm-cap-card p,
.wsm-cap-flow-card p,
.wsm-cap-global-card p,
.wsm-cap-architecture-panel p,
.wsm-cap-cta-card p {
    color: var(--wsm-cap-muted);
    font-size: clamp(.95rem, .9vw, 1.04rem);
    line-height: 1.72;
    font-weight: 620;
}

.wsm-cap-head-center {
    max-width: 1120px;
    margin: 0 auto clamp(34px, 4vw, 54px);
    text-align: center;
}

    .wsm-cap-head-center p {
        max-width: 880px;
        margin-left: auto;
        margin-right: auto;
    }

.wsm-cap-split-head {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .8fr);
    gap: clamp(28px, 5vw, 86px);
    align-items: end;
    margin-bottom: 34px;
}

    .wsm-cap-split-head p {
        margin: 0 0 8px;
        max-width: 760px;
    }

/* =========================================================
   HERO
========================================================= */
.wsm-cap-hero {
    position: relative;
    /*    padding: clamp(74px, 6.6vw, 118px) 0 clamp(78px, 6.6vw, 112px);*/
    padding: clamp(58px, 5vw, 92px) 0 clamp(60px, 5vw, 96px);
    background: linear-gradient(rgba(11,31,58,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(11,31,58,.035) 1px, transparent 1px), radial-gradient(circle at 8% 12%, rgba(0,168,200,.11), transparent 30%), radial-gradient(circle at 90% 18%, rgba(29,78,216,.07), transparent 28%), linear-gradient(135deg, #fbfdff 0%, #f4f8fb 52%, #eef5f8 100%);
    background-size: 46px 46px, 46px 46px, auto, auto, auto;
    border-bottom: 1px solid var(--wsm-cap-line);
    overflow: hidden;
}

    .wsm-cap-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(110deg, transparent 0 48%, rgba(0,168,200,.075) 48% 49%, transparent 49% 100%);
        pointer-events: none;
    }

.wsm-cap-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(560px, .88fr);
    gap: clamp(42px, 5vw, 92px);
    align-items: center;
}

.wsm-cap-hero-copy h1 {
    max-width: 1120px;
    margin: 26px 0 22px;
    color: var(--wsm-cap-ink);
    font-size: clamp(3rem, 5vw, 6.15rem);
    line-height: .99;
    letter-spacing: -.072em;
    font-weight: 950;
}

.wsm-cap-hero-copy p {
    max-width: 1040px;
    color: var(--wsm-cap-muted);
    font-size: clamp(1rem, 1.05vw, 1.15rem);
    line-height: 1.82;
    font-weight: 620;
}

.wsm-cap-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

/* =========================================================
   HERO BOARD
========================================================= */
.wsm-cap-hero-board {
    width: 100%;
    max-width: 850px;
    margin-left: auto;
    border: 1px solid var(--wsm-cap-line);
    border-radius: 30px;
    background: rgba(255,255,255,.96);
    box-shadow: var(--wsm-cap-shadow);
    overflow: hidden;
    transform: translateZ(0);
}

.wsm-cap-board-head {
    min-height: 60px;
    padding: 0 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid var(--wsm-cap-line);
    background: #fbfdff;
}

    .wsm-cap-board-head span,
    .wsm-cap-board-head strong {
        text-transform: uppercase;
        letter-spacing: .11em;
        font-size: .74rem;
        font-weight: 950;
        color: #8a98aa;
    }

    .wsm-cap-board-head strong {
        color: var(--wsm-cap-teal-dark);
    }

.wsm-cap-board-body {
    position: relative;
    min-height: 485px;
    background: linear-gradient(rgba(11,31,58,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(11,31,58,.045) 1px, transparent 1px), #fff;
    background-size: 34px 34px;
}

    .wsm-cap-board-body::before {
        content: "";
        position: absolute;
        inset: 12%;
        border: 1px dashed rgba(0,168,200,.30);
        border-radius: 34px;
    }

.wsm-cap-core {
    position: absolute;
    width: 245px;
    min-height: 152px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 24px;
    border-radius: 20px;
    color: #fff;
    background: var(--wsm-cap-ink);
    box-shadow: 0 22px 56px rgba(11,31,58,.24);
    display: grid;
    place-items: center;
    text-align: center;
    z-index: 2;
}

    .wsm-cap-core small {
        color: #9ceeff;
        font-weight: 850;
        letter-spacing: .12em;
    }

    .wsm-cap-core strong {
        font-size: 1.24rem;
        line-height: 1.22;
        font-weight: 950;
    }

    .wsm-cap-core span {
        color: rgba(255,255,255,.74);
        font-size: .76rem;
        font-weight: 800;
    }

.wsm-cap-node {
    position: absolute;
    width: 250px;
    min-height: 124px;
    padding: 24px 22px 20px;
    border-radius: 18px;
    border: 1px solid var(--wsm-cap-line);
    background: rgba(255,255,255,.98);
    box-shadow: 0 14px 36px rgba(11,31,58,.09);
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
    overflow: hidden;
}

    .wsm-cap-node:hover {
        transform: translateY(-5px);
        border-color: rgba(0,168,200,.32);
        box-shadow: 0 22px 50px rgba(11,31,58,.12);
    }

    .wsm-cap-node i {
        position: absolute;
        left: 15px;
        top: 10px;
        color: rgba(0,168,200,.22);
        font-size: 2.9rem;
        line-height: 1;
        pointer-events: none;
    }

    .wsm-cap-node strong {
        position: relative;
        z-index: 1;
        display: block;
        padding-top: 28px;
        margin-bottom: 6px;
        color: var(--wsm-cap-ink);
        line-height: 1.22;
        font-weight: 950;
    }

    .wsm-cap-node span {
        position: relative;
        z-index: 1;
        display: block;
        color: var(--wsm-cap-muted);
        line-height: 1.45;
        font-size: .86rem;
        font-weight: 650;
    }

.cap-node-a {
    left: 32px;
    top: 42px;
}

.cap-node-b {
    right: 32px;
    top: 70px;
}

.cap-node-c {
    left: 42px;
    bottom: 54px;
}

.cap-node-d {
    right: 42px;
    bottom: 44px;
}

.wsm-cap-board-foot {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--wsm-cap-line);
}

    .wsm-cap-board-foot span {
        padding: 18px;
        border-right: 1px solid var(--wsm-cap-line);
        color: var(--wsm-cap-ink);
        font-size: .84rem;
        font-weight: 950;
    }

        .wsm-cap-board-foot span:last-child {
            border-right: 0;
        }

/* =========================================================
   CARDS + ICON BEHIND HEADING
========================================================= */
.wsm-cap-foundation-grid,
.wsm-cap-cluster-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.wsm-cap-cluster-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wsm-cap-card {
    position: relative;
    min-height: 250px;
    padding: 30px 28px;
    border-radius: var(--wsm-cap-radius);
    background: #fff;
    border: 1px solid var(--wsm-cap-line);
    box-shadow: 0 14px 36px rgba(11,31,58,.06);
    overflow: hidden;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

    .wsm-cap-card::after {
        content: "";
        position: absolute;
        inset: auto 0 0 0;
        height: 3px;
        background: var(--wsm-cap-teal);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform .3s ease;
    }

    .wsm-cap-card:hover {
        transform: translateY(-7px);
        border-color: rgba(0,168,200,.34);
        box-shadow: 0 24px 58px rgba(11,31,58,.11);
    }

        .wsm-cap-card:hover::after {
            transform: scaleX(1);
        }

.wsm-cap-icon-title {
    position: relative;
    isolation: isolate;
    min-height: 86px;
    margin-bottom: 12px;
}

    .wsm-cap-icon-title i {
        position: absolute;
        left: -2px;
        top: -10px;
        z-index: 0;
        color: rgba(0,168,200,.18);
        font-size: clamp(3.35rem, 4.2vw, 4.7rem);
        line-height: 1;
        pointer-events: none;
    }

    .wsm-cap-icon-title h3 {
        position: relative;
        z-index: 1;
        padding-top: 40px;
        margin: 0;
        color: var(--wsm-cap-ink);
        font-size: clamp(1.08rem, 1vw, 1.25rem);
        line-height: 1.25;
        letter-spacing: -.025em;
        font-weight: 950;
    }

/* =========================================================
   GOVERNANCE FLOW
========================================================= */
.wsm-cap-governance {
    background: linear-gradient(rgba(11,31,58,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(11,31,58,.035) 1px, transparent 1px), radial-gradient(circle at 88% 12%, rgba(0,168,200,.075), transparent 28%), #f7f9fc;
    background-size: 46px 46px, 46px 46px, auto, auto;
}

.wsm-cap-flow {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

    .wsm-cap-flow::before {
        content: "";
        position: absolute;
        left: 6%;
        right: 6%;
        top: 50%;
        height: 2px;
        background: linear-gradient(90deg, rgba(0,168,200,.08), rgba(0,168,200,.50), rgba(0,168,200,.08));
        transform: translateY(-50%);
        z-index: 0;
    }

.wsm-cap-flow-card {
    position: relative;
    z-index: 1;
    min-height: 250px;
    padding: 32px 28px;
    border-radius: 24px;
    background: rgba(255,255,255,.96);
    border: 1px solid var(--wsm-cap-line);
    box-shadow: 0 14px 36px rgba(11,31,58,.06);
    overflow: hidden;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

    .wsm-cap-flow-card:hover {
        transform: translateY(-6px);
        border-color: rgba(0,168,200,.34);
        box-shadow: 0 24px 58px rgba(11,31,58,.11);
    }

    .wsm-cap-flow-card i {
        width: 58px;
        height: 58px;
        display: grid;
        place-items: center;
        border-radius: 18px;
        color: var(--wsm-cap-teal-dark);
        background: var(--wsm-cap-teal-2);
        border: 1px solid rgba(0,168,200,.22);
        font-size: 1.35rem;
        margin-bottom: 24px;
        box-shadow: 0 14px 32px rgba(0,168,200,.12);
    }

    .wsm-cap-flow-card h3 {
        margin: 0 0 12px;
        color: var(--wsm-cap-ink);
        font-size: clamp(1.18rem, 1.18vw, 1.45rem);
        font-weight: 950;
        letter-spacing: -.025em;
    }

/* =========================================================
   ARCHITECTURE
========================================================= */
.wsm-cap-architecture {
    background: #fff;
}

.wsm-cap-architecture-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: clamp(34px, 5vw, 90px);
    align-items: start;
}

.wsm-cap-architecture-panel {
    display: grid;
    gap: 16px;
}

    .wsm-cap-architecture-panel article {
        padding: 26px;
        border-radius: 22px;
        background: #fff;
        border: 1px solid var(--wsm-cap-line);
        box-shadow: 0 12px 32px rgba(11,31,58,.055);
        transition: transform .25s ease, border-color .25s ease;
    }

        .wsm-cap-architecture-panel article:hover {
            transform: translateY(-5px);
            border-color: rgba(0,168,200,.30);
        }

    .wsm-cap-architecture-panel span {
        color: var(--wsm-cap-teal-dark);
        letter-spacing: .16em;
        font-size: .78rem;
        font-weight: 950;
    }

    .wsm-cap-architecture-panel strong {
        display: block;
        margin: 12px 0 8px;
        color: var(--wsm-cap-ink);
        font-size: 1.15rem;
        font-weight: 950;
    }

/* =========================================================
   INDUSTRY
========================================================= */
.wsm-cap-industry {
    background: #f7f9fc;
}

.wsm-cap-industry-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

    .wsm-cap-industry-pills span {
        min-height: 54px;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 0 20px;
        border-radius: 14px;
        background: #fff;
        border: 1px solid var(--wsm-cap-line);
        color: var(--wsm-cap-ink);
        font-weight: 900;
        box-shadow: 0 10px 26px rgba(11,31,58,.05);
        transition: transform .22s ease, border-color .22s ease, color .22s ease;
    }

        .wsm-cap-industry-pills span:hover {
            transform: translateY(-4px);
            border-color: rgba(0,168,200,.34);
            color: var(--wsm-cap-teal-dark);
        }

    .wsm-cap-industry-pills i {
        color: var(--wsm-cap-teal-dark);
    }

/* =========================================================
   GLOBAL
========================================================= */
.wsm-cap-global {
    background: #fff;
}

.wsm-cap-global-grid {
    display: grid;
    grid-template-columns: 1fr .82fr 1fr;
    gap: 18px;
    align-items: stretch;
}

.wsm-cap-global-card,
.wsm-cap-global-bridge {
    padding: 30px;
    border-radius: 24px;
    border: 1px solid var(--wsm-cap-line);
    box-shadow: 0 14px 36px rgba(11,31,58,.06);
}

.wsm-cap-global-card {
    background: #fff;
}

    .wsm-cap-global-card i {
        width: 56px;
        height: 56px;
        display: grid;
        place-items: center;
        border-radius: 17px;
        color: var(--wsm-cap-teal-dark);
        background: var(--wsm-cap-teal-2);
        border: 1px solid rgba(0,168,200,.20);
        font-size: 1.3rem;
        margin-bottom: 22px;
    }

    .wsm-cap-global-card h3 {
        margin: 0 0 10px;
        color: var(--wsm-cap-ink);
        font-size: clamp(1.18rem, 1.18vw, 1.42rem);
        font-weight: 950;
    }

.wsm-cap-global-bridge {
    display: grid;
    place-items: center;
    text-align: center;
    color: #fff;
    background: var(--wsm-cap-ink);
}

    .wsm-cap-global-bridge strong {
        font-size: 1.22rem;
        font-weight: 950;
    }

    .wsm-cap-global-bridge span {
        color: rgba(255,255,255,.72);
        font-weight: 750;
    }

/* =========================================================
   CTA
========================================================= */
.wsm-cap-cta {
    background: #f7f9fc;
}

.wsm-cap-cta-card {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .78fr);
    column-gap: clamp(38px, 6vw, 92px);
    row-gap: 24px;
    align-items: center;
    text-align: left;
    padding: clamp(44px, 5.2vw, 82px);
    border-radius: 28px;
    background: linear-gradient(rgba(11,31,58,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(11,31,58,.04) 1px, transparent 1px), #fff;
    background-size: 42px 42px;
    border: 1px solid var(--wsm-cap-line);
    box-shadow: 0 20px 56px rgba(11,31,58,.08);
}

    .wsm-cap-cta-card .wsm-kicker {
        grid-column: 1 / -1;
        justify-self: start;
        margin: 0;
    }

    .wsm-cap-cta-card h2 {
        grid-column: 1;
        grid-row: 2 / span 2;
        max-width: 980px;
        margin: 0;
    }

    .wsm-cap-cta-card > div {
        grid-column: 2;
        grid-row: 2 / span 2;
    }

    .wsm-cap-cta-card p {
        max-width: 650px;
        margin: 0 0 24px;
    }

/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width: 1399.98px) {
    .wsm-cap-hero-grid {
        grid-template-columns: 1fr;
    }

    .wsm-cap-hero-board {
        max-width: 920px;
        margin: 36px auto 0;
    }

    .wsm-cap-cluster-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1199.98px) {
    .wsm-cap-foundation-grid,
    .wsm-cap-cluster-grid,
    .wsm-cap-flow,
    .wsm-cap-global-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wsm-cap-split-head,
    .wsm-cap-architecture-grid,
    .wsm-cap-cta-card {
        grid-template-columns: 1fr;
    }

        .wsm-cap-cta-card .wsm-kicker,
        .wsm-cap-cta-card h2,
        .wsm-cap-cta-card > div {
            grid-column: 1;
            grid-row: auto;
        }

    .wsm-cap-flow::before {
        display: none;
    }

    .wsm-cap-global-bridge {
        grid-column: 1 / -1;
        order: 3;
    }
}

@media (min-width: 768px) and (max-width: 1100px) {
    .wsm-cap-shell {
        padding-left: 26px;
        padding-right: 26px;
    }

    .wsm-cap-section {
        padding-top: 58px;
        padding-bottom: 58px;
    }

    .wsm-cap-board-body {
        min-height: auto;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
        padding: 24px;
    }

        .wsm-cap-board-body::before {
            display: none;
        }

    .wsm-cap-core,
    .wsm-cap-node {
        position: relative;
        inset: auto;
        transform: none;
        width: 100%;
        min-height: 150px;
    }

    .wsm-cap-core {
        grid-column: 1 / -1;
        max-width: 420px;
        margin: 0 auto;
    }
}

@media (max-width: 767.98px) {
    .wsm-cap-shell {
        padding-left: 18px;
        padding-right: 18px;
    }

    .wsm-cap-section {
        padding-top: 58px;
        padding-bottom: 58px;
    }

    .wsm-cap-hero {
        padding: 54px 0 66px;
    }

    .wsm-cap-hero-copy h1,
    .wsm-cap-head h2,
    .wsm-cap-cta-card h2 {
        font-size: clamp(2rem, 9vw, 3rem);
        line-height: 1.08;
        letter-spacing: -.052em;
    }

    .wsm-cap-hero-copy p,
    .wsm-cap-head p,
    .wsm-cap-card p,
    .wsm-cap-cta-card p {
        font-size: 1rem;
        line-height: 1.72;
    }

    .wsm-cap-hero-actions .wsm-btn,
    .wsm-cap-cta-card .wsm-btn {
        width: 100%;
    }

    .wsm-cap-foundation-grid,
    .wsm-cap-cluster-grid,
    .wsm-cap-flow,
    .wsm-cap-global-grid {
        grid-template-columns: 1fr;
    }

    .wsm-cap-board-body {
        min-height: auto;
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 18px;
    }

        .wsm-cap-board-body::before {
            display: none;
        }

    .wsm-cap-core,
    .wsm-cap-node {
        position: relative;
        inset: auto;
        transform: none;
        width: 100%;
        min-height: auto;
    }

    .wsm-cap-card,
    .wsm-cap-flow-card,
    .wsm-cap-global-card {
        min-height: auto;
        padding: 26px 22px;
        border-radius: 20px;
    }

    .wsm-cap-icon-title {
        min-height: 76px;
    }

        .wsm-cap-icon-title i {
            font-size: 3.35rem;
        }

        .wsm-cap-icon-title h3 {
            padding-top: 34px;
        }

    .wsm-cap-industry-pills {
        display: grid;
        grid-template-columns: 1fr;
    }

    .wsm-cap-cta-card {
        padding: 30px 22px;
        border-radius: 20px;
    }
}

@media (max-width: 420px) {
    .wsm-cap-shell {
        padding-left: 14px;
        padding-right: 14px;
    }

    .wsm-cap-hero-copy h1,
    .wsm-cap-head h2,
    .wsm-cap-cta-card h2 {
        font-size: clamp(1.9rem, 9.6vw, 2.55rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .wsm-cap-page *,
    .wsm-cap-page *::before,
    .wsm-cap-page *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
    }
}

/* =========================================================
   ARCHITECTURE SECTION — ICON TIMELINE UPGRADE
========================================================= */

.wsm-cap-architecture-timeline {
    position: relative;
    gap: 18px;
}

    .wsm-cap-architecture-timeline::before {
        content: "";
        position: absolute;
        left: 34px;
        top: 42px;
        bottom: 42px;
        width: 2px;
        background: linear-gradient( 180deg, rgba(0,168,200,.12), rgba(0,168,200,.62), rgba(0,168,200,.12) );
        z-index: 0;
    }

    .wsm-cap-architecture-timeline article {
        position: relative;
        z-index: 1;
        display: grid;
        grid-template-columns: 68px 1fr;
        align-items: start;
        gap: 18px;
        min-height: 132px;
        padding: 26px 28px;
    }

        .wsm-cap-architecture-timeline article i {
            width: 56px;
            height: 56px;
            border-radius: 18px;
            display: grid;
            place-items: center;
            color: var(--wsm-cap-teal-dark);
            background: var(--wsm-cap-teal-2);
            border: 1px solid rgba(0,168,200,.26);
            box-shadow: 0 14px 34px rgba(0,168,200,.14);
            font-size: 1.35rem;
        }

        .wsm-cap-architecture-timeline article strong {
            margin-top: 4px;
            font-size: clamp(1.08rem, 1vw, 1.24rem);
        }

        .wsm-cap-architecture-timeline article p {
            margin: 8px 0 0;
        }

@media (max-width: 767.98px) {
    .wsm-cap-architecture-timeline::before {
        display: none;
    }

    .wsm-cap-architecture-timeline article {
        grid-template-columns: 1fr;
        gap: 14px;
        min-height: auto;
    }
}

/* =========================================================
   LEVEL 3 CAPABILITIES — INTERACTIVE SYSTEM UPGRADE
   Purpose: connected board, animated lines, stable premium motion
========================================================= */

.wsm-cap-level3-board {
    isolation: isolate;
}

    .wsm-cap-level3-board .wsm-cap-board-body {
        overflow: hidden;
    }

.wsm-cap-system-lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

    .wsm-cap-system-lines path {
        fill: none;
        stroke: rgba(0,168,200,.36);
        stroke-width: 1.35;
        stroke-linecap: round;
        stroke-dasharray: 620;
        stroke-dashoffset: 620;
        animation: wsmCapLineBuild 1.45s ease forwards;
    }

    .wsm-cap-system-lines .line-b {
        animation-delay: .12s;
    }

    .wsm-cap-system-lines .line-c {
        animation-delay: .24s;
    }

    .wsm-cap-system-lines .line-d {
        animation-delay: .36s;
    }

@keyframes wsmCapLineBuild {
    to {
        stroke-dashoffset: 0;
    }
}

.wsm-cap-level3-board .wsm-cap-core {
    z-index: 4;
    transition: transform .32s ease, box-shadow .32s ease, background .32s ease;
}

.wsm-cap-level3-board .wsm-cap-node {
    z-index: 3;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition: transform .30s ease, border-color .30s ease, box-shadow .30s ease, background .30s ease;
}

    .wsm-cap-level3-board .wsm-cap-node::after {
        content: "";
        position: absolute;
        left: 22px;
        right: 22px;
        bottom: 0;
        height: 3px;
        border-radius: 999px 999px 0 0;
        background: var(--wsm-cap-teal);
        transform: scaleX(.32);
        transform-origin: left;
        transition: transform .30s ease;
    }

    .wsm-cap-level3-board .wsm-cap-node:hover::after {
        transform: scaleX(1);
    }

    .wsm-cap-level3-board .wsm-cap-node:hover {
        background: #fff;
        transform: translateY(-7px) scale(1.018);
        border-color: rgba(0,168,200,.38);
        box-shadow: 0 28px 62px rgba(11,31,58,.14);
    }

.wsm-cap-level3-board .wsm-cap-board-body:has(.wsm-cap-node:hover) .wsm-cap-core {
    transform: translate(-50%, -50%) scale(1.035);
    box-shadow: 0 30px 78px rgba(11,31,58,.30), 0 0 0 10px rgba(0,168,200,.08);
}

.wsm-cap-level3-board .wsm-cap-node i {
    opacity: 1;
    filter: none;
}

/* Flow cards feel connected without looking repetitive */
.wsm-cap-flow-card::after {
    content: "";
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 0;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: var(--wsm-cap-teal);
    transform: scaleX(.28);
    transform-origin: left;
    transition: transform .28s ease;
}

.wsm-cap-flow-card:hover::after {
    transform: scaleX(1);
}

/* Architecture timeline final refinement */
.wsm-cap-architecture-timeline article {
    background: linear-gradient(180deg, #fff, rgba(229,251,255,.18));
}

    .wsm-cap-architecture-timeline article i {
        position: relative;
        z-index: 2;
        transition: transform .28s ease, box-shadow .28s ease, background .28s ease;
    }

    .wsm-cap-architecture-timeline article:hover i {
        transform: translateY(-4px) scale(1.04);
        background: #fff;
        box-shadow: 0 18px 42px rgba(0,168,200,.18);
    }

@media (min-width: 768px) and (max-width: 1100px) {
    .wsm-cap-system-lines {
        display: none;
    }

    .wsm-cap-level3-board .wsm-cap-board-body:has(.wsm-cap-node:hover) .wsm-cap-core,
    .wsm-cap-level3-board .wsm-cap-core {
        transform: none;
    }
}

@media (max-width: 767.98px) {
    .wsm-cap-system-lines {
        display: none;
    }

    .wsm-cap-level3-board .wsm-cap-board-body:has(.wsm-cap-node:hover) .wsm-cap-core,
    .wsm-cap-level3-board .wsm-cap-core {
        transform: none;
    }

    .wsm-cap-level3-board .wsm-cap-node:hover {
        transform: translateY(-4px);
    }
}


/* =========================================================
   HERO SYSTEM LEVEL 3 — CAPABILITIES
   Intent: structured capability system / depth / execution clarity.
========================================================= */

.wsm-cap-hero-level3 .wsm-cap-hero-grid {
    grid-template-columns: minmax(0, .94fr) minmax(620px, .9fr);
    align-items: center;
}

.wsm-cap-hero-level3 .wsm-cap-hero-copy h1 {
    max-width: 1120px;
}

.wsm-cap-hero-facets {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 26px;
    max-width: 900px;
}

    .wsm-cap-hero-facets article {
        position: relative;
        padding: 18px 16px;
        min-height: 118px;
        border-radius: 18px;
        background: rgba(255,255,255,.86);
        border: 1px solid rgba(223,231,239,.96);
        box-shadow: 0 12px 30px rgba(11,31,58,.055);
        overflow: hidden;
        transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
    }

        .wsm-cap-hero-facets article:hover {
            transform: translateY(-4px);
            border-color: rgba(0,168,200,.32);
            box-shadow: 0 18px 44px rgba(11,31,58,.09);
        }

    .wsm-cap-hero-facets i {
        display: block;
        color: var(--wsm-cap-teal-dark);
        font-size: 1.22rem;
        margin-bottom: 14px;
    }

    .wsm-cap-hero-facets strong {
        display: block;
        color: var(--wsm-cap-ink);
        font-weight: 950;
        line-height: 1.2;
    }

    .wsm-cap-hero-facets span {
        display: block;
        margin-top: 6px;
        color: var(--wsm-cap-muted);
        font-size: .82rem;
        line-height: 1.45;
        font-weight: 650;
    }

.wsm-cap-hero-level3 .wsm-cap-hero-board {
    max-width: 900px;
}

@media (max-width: 1399.98px) {
    .wsm-cap-hero-level3 .wsm-cap-hero-grid {
        grid-template-columns: 1fr;
    }

    .wsm-cap-hero-level3 .wsm-cap-hero-board {
        max-width: 920px;
    }
}

@media (max-width: 767.98px) {
    .wsm-cap-hero-facets {
        grid-template-columns: 1fr;
    }

        .wsm-cap-hero-facets article {
            min-height: auto;
        }
}



/* =========================================================
   10-INCH TABLET RESPONSIVE POLISH
   Keeps premium look, reduces excess width/height.
========================================================= */

@media (min-width: 768px) and (max-width: 1100px) {
    .wsm-hero,
    .wsm-company-hero,
    .wsm-cap-hero {
        padding-top: 54px !important;
        padding-bottom: 62px !important;
    }

    .wsm-section,
    .wsm-company-section,
    .wsm-cap-section {
        padding-top: 54px !important;
        padding-bottom: 54px !important;
    }

    .wsm-hero-copy h1,
    .wsm-company-hero-copy h1,
    .wsm-cap-hero-copy h1 {
        font-size: clamp(2.7rem, 6vw, 4.4rem) !important;
        line-height: 1.04 !important;
    }

    .wsm-engineering-board,
    .wsm-company-system-card,
    .wsm-cap-hero-board {
        max-width: 760px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .wsm-global-bridge,
    .wsm-cap-global-bridge,
    .wsm-company-global-core {
        border-radius: 20px !important;
        padding: 24px !important;
    }

    .wsm-company-why-list article {
        min-height: auto !important;
        padding: 22px !important;
    }
}

/* =========================================================
   HERO RIGHT SIDE AOS FIX — COMPANY + CAPABILITIES
========================================================= */

.wsm-company-system-card[data-aos="fade-left"],
.wsm-cap-hero-board[data-aos="fade-left"] {
    opacity: 0;
    transform: translate3d(44px, 0, 0) !important;
    transition-property: opacity, transform !important;
}

    .wsm-company-system-card[data-aos="fade-left"].aos-animate,
    .wsm-cap-hero-board[data-aos="fade-left"].aos-animate {
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
    }

@media (max-width: 767.98px) {
    .wsm-company-system-card[data-aos="fade-left"],
    .wsm-cap-hero-board[data-aos="fade-left"],
    .wsm-company-system-card[data-aos="fade-left"].aos-animate,
    .wsm-cap-hero-board[data-aos="fade-left"].aos-animate {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* =========================================================
   WILLSMARG SIGNATURE HERO SYSTEM — LEVEL 5
   Capabilities board: depth reveal, line draw, node sequence,
   subtle alive motion, hover intelligence, mobile-safe behavior.
========================================================= */

.wsm-signature-hero-board {
    position: relative;
    opacity: 0;
    transform: translate3d(0, 38px, 0) scale(.965);
    filter: blur(10px);
    transform-origin: 50% 50%;
    will-change: opacity, transform, filter;
    animation: wsmCapSignatureBoardReveal .95s cubic-bezier(.16,1,.3,1) .18s forwards;
}

@keyframes wsmCapSignatureBoardReveal {
    0% {
        opacity: 0;
        transform: translate3d(0, 38px, 0) scale(.965);
        filter: blur(10px);
    }

    62% {
        opacity: 1;
        filter: blur(0);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
        filter: blur(0);
    }
}

.wsm-signature-hero-board::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    background: linear-gradient(120deg, transparent 0 30%, rgba(255,255,255,.56) 44%, transparent 58% 100%);
    transform: translateX(-130%);
    opacity: .78;
    pointer-events: none;
    z-index: 8;
    animation: wsmCapSignatureGlassSweep 1.25s cubic-bezier(.22,1,.36,1) .45s forwards;
}

@keyframes wsmCapSignatureGlassSweep {
    to {
        transform: translateX(130%);
        opacity: 0;
    }
}

.wsm-signature-hero-board .wsm-cap-board-body {
    isolation: isolate;
}

.wsm-signature-hero-board .wsm-cap-system-lines path {
    fill: none;
    stroke: rgba(0,168,200,.38);
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-dasharray: 640;
    stroke-dashoffset: 640;
    animation: wsmCapSignatureLineDraw 1.45s cubic-bezier(.22,1,.36,1) forwards;
}

.wsm-signature-hero-board .wsm-cap-system-lines .line-a {
    animation-delay: .58s;
}

.wsm-signature-hero-board .wsm-cap-system-lines .line-b {
    animation-delay: .70s;
}

.wsm-signature-hero-board .wsm-cap-system-lines .line-c {
    animation-delay: .82s;
}

.wsm-signature-hero-board .wsm-cap-system-lines .line-d {
    animation-delay: .94s;
}

@keyframes wsmCapSignatureLineDraw {
    to {
        stroke-dashoffset: 0;
    }
}

.wsm-signature-hero-board .wsm-cap-core,
.wsm-signature-hero-board .wsm-cap-node {
    z-index: 3;
}

.wsm-signature-hero-board .wsm-cap-core {
    opacity: 0;
    animation: wsmCapSignatureCoreReveal .72s cubic-bezier(.22,1,.36,1) .52s forwards, wsmCapSignatureCoreFloat 7s ease-in-out 1.45s infinite;
}

@keyframes wsmCapSignatureCoreReveal {
    from {
        opacity: 0;
        transform: translate(-50%, -46%) scale(.92);
        filter: blur(8px);
    }

    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
        filter: blur(0);
    }
}

@keyframes wsmCapSignatureCoreFloat {
    0%,100% {
        transform: translate(-50%, -50%);
    }

    50% {
        transform: translate(-50%, calc(-50% - 5px));
    }
}

.wsm-signature-hero-board .wsm-cap-node {
    opacity: 0;
    transform: translateY(18px) scale(.965);
    filter: blur(6px);
    animation: wsmCapSignatureNodeReveal .62s cubic-bezier(.22,1,.36,1) forwards;
}

.wsm-signature-hero-board .cap-node-a {
    animation-delay: .78s;
}

.wsm-signature-hero-board .cap-node-b {
    animation-delay: .92s;
}

.wsm-signature-hero-board .cap-node-c {
    animation-delay: 1.06s;
}

.wsm-signature-hero-board .cap-node-d {
    animation-delay: 1.20s;
}

@keyframes wsmCapSignatureNodeReveal {
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

.wsm-signature-hero-board .wsm-cap-node::after {
    content: "";
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 0;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: var(--wsm-cap-teal);
    transform: scaleX(.32);
    transform-origin: left;
    transition: transform .28s ease;
}

.wsm-signature-hero-board .wsm-cap-node:hover::after {
    transform: scaleX(1);
}

.wsm-signature-hero-board .wsm-cap-board-foot span {
    opacity: 0;
    transform: translateY(12px);
    animation: wsmCapSignatureFootReveal .55s ease forwards;
}

    .wsm-signature-hero-board .wsm-cap-board-foot span:nth-child(1) {
        animation-delay: 1.10s;
    }

    .wsm-signature-hero-board .wsm-cap-board-foot span:nth-child(2) {
        animation-delay: 1.22s;
    }

    .wsm-signature-hero-board .wsm-cap-board-foot span:nth-child(3) {
        animation-delay: 1.34s;
    }

@keyframes wsmCapSignatureFootReveal {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1100px) {
    .wsm-signature-hero-board .wsm-cap-system-lines {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .wsm-signature-hero-board,
    .wsm-signature-hero-board .wsm-cap-node,
    .wsm-signature-hero-board .wsm-cap-core,
    .wsm-signature-hero-board .wsm-cap-board-foot span {
        opacity: 1 !important;
        filter: none !important;
        animation: none !important;
        transform: none !important;
    }

        .wsm-signature-hero-board::before {
            display: none;
        }
}

@media (prefers-reduced-motion: reduce) {
    .wsm-signature-hero-board,
    .wsm-signature-hero-board *,
    .wsm-signature-hero-board::before {
        animation: none !important;
        transition-duration: .001ms !important;
        opacity: 1 !important;
        filter: none !important;
    }
}

/* =========================================================
   14–16 INCH LAPTOP HERO BOARD POLISH
   Makes right-side system boards proportional like Home.
========================================================= */

@media (min-width: 1200px) and (max-width: 1599.98px) {
    .wsm-company-hero-editorial,
    .wsm-cap-hero-level3 .wsm-cap-hero-grid {
        grid-template-columns: minmax(0, 1.05fr) minmax(520px, .82fr) !important;
        gap: clamp(44px, 4.2vw, 76px) !important;
    }

    .wsm-company-system-card,
    .wsm-cap-hero-board {
        max-width: 760px !important;
        margin-left: auto !important;
        margin-right: 18px !important;
        transform-origin: center right !important;
    }

    .wsm-company-system-body,
    .wsm-cap-board-canvas {
        min-height: 430px !important;
    }

    .wsm-company-node,
    .wsm-cap-node {
        width: 220px !important;
        padding: 20px 18px !important;
    }

    .wsm-company-core,
    .wsm-cap-core {
        width: 210px !important;
        min-height: 136px !important;
        padding: 22px !important;
    }
}

/* =========================================================
   CAPABILITIES HERO BOARD — RESPONSIVE PROPORTION FINAL
   Matches Home right-side board feeling across 14/15/16-inch laptops,
   tablets, and mobile. Prevents card overlap and crowded core.
========================================================= */

/* 14–16 inch laptops / medium desktops */
@media (min-width: 1200px) and (max-width: 1599.98px) {
    .wsm-cap-hero-level3 .wsm-cap-hero-grid,
    .wsm-cap-hero-grid {
        grid-template-columns: minmax(0, 1.05fr) minmax(500px, .78fr) !important;
        gap: clamp(44px, 4vw, 72px) !important;
        align-items: center !important;
    }

    .wsm-cap-hero-board {
        width: 100% !important;
        max-width: 760px !important;
        margin-left: auto !important;
        margin-right: 18px !important;
        border-radius: 28px !important;
    }

    .wsm-cap-board-body {
        min-height: 430px !important;
    }

    .wsm-cap-node {
        width: 220px !important;
        min-height: 118px !important;
        padding: 20px 18px 18px !important;
    }

        .wsm-cap-node i {
            font-size: 2.45rem !important;
            left: 14px !important;
            top: 9px !important;
        }

        .wsm-cap-node strong {
            padding-top: 24px !important;
            font-size: .98rem !important;
        }

        .wsm-cap-node span {
            font-size: .80rem !important;
            line-height: 1.42 !important;
        }

    .wsm-cap-core {
        width: 205px !important;
        min-height: 132px !important;
        padding: 20px !important;
        border-radius: 18px !important;
    }

        .wsm-cap-core strong {
            font-size: 1.06rem !important;
        }

        .wsm-cap-core span {
            font-size: .70rem !important;
        }

    .wsm-cap-board-body .cap-node-a {
        left: 28px !important;
        top: 38px !important;
    }

    .wsm-cap-board-body .cap-node-b {
        right: 28px !important;
        top: 58px !important;
    }

    .wsm-cap-board-body .cap-node-c {
        left: 34px !important;
        bottom: 48px !important;
    }

    .wsm-cap-board-body .cap-node-d {
        right: 34px !important;
        bottom: 42px !important;
    }
}

/* Tablets and small laptops */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .wsm-cap-hero-level3 .wsm-cap-hero-grid,
    .wsm-cap-hero-grid {
        grid-template-columns: 1fr !important;
        gap: 34px !important;
    }

    .wsm-cap-hero-board {
        width: 100% !important;
        max-width: 820px !important;
        margin: 30px auto 0 !important;
        border-radius: 24px !important;
        overflow: hidden !important;
    }

    .wsm-cap-board-body {
        position: relative !important;
        min-height: auto !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
        padding: 24px !important;
        align-items: stretch !important;
    }

        .wsm-cap-board-body::before,
        .wsm-cap-line-svg {
            display: none !important;
        }

    .wsm-cap-core {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        inset: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 440px !important;
        min-height: 145px !important;
        margin: 0 auto 10px !important;
        grid-column: 1 / -1 !important;
        order: 1 !important;
        z-index: 2 !important;
        animation: none !important;
    }

    .wsm-cap-node,
    .wsm-cap-board-body .cap-node-a,
    .wsm-cap-board-body .cap-node-b,
    .wsm-cap-board-body .cap-node-c,
    .wsm-cap-board-body .cap-node-d {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        inset: auto !important;
        transform: none !important;
        width: 100% !important;
        min-height: 128px !important;
        z-index: 1 !important;
    }

    .wsm-cap-board-body .cap-node-a {
        order: 2 !important;
    }

    .wsm-cap-board-body .cap-node-b {
        order: 3 !important;
    }

    .wsm-cap-board-body .cap-node-c {
        order: 4 !important;
    }

    .wsm-cap-board-body .cap-node-d {
        order: 5 !important;
    }

    .wsm-cap-board-foot span {
        white-space: normal !important;
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    .wsm-cap-hero-board {
        width: 100% !important;
        max-width: 100% !important;
        margin: 26px auto 0 !important;
        border-radius: 22px !important;
        overflow: hidden !important;
    }

    .wsm-cap-board-head {
        min-height: auto !important;
        padding: 16px 18px !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        align-items: start !important;
    }

        .wsm-cap-board-head span,
        .wsm-cap-board-head strong {
            white-space: normal !important;
            line-height: 1.35 !important;
        }

    .wsm-cap-board-body {
        position: relative !important;
        min-height: auto !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 18px !important;
        align-items: stretch !important;
    }

        .wsm-cap-board-body::before,
        .wsm-cap-line-svg {
            display: none !important;
        }

    .wsm-cap-core {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        inset: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 132px !important;
        margin: 0 !important;
        order: 1 !important;
        z-index: 1 !important;
        animation: none !important;
    }

    .wsm-cap-node,
    .wsm-cap-board-body .cap-node-a,
    .wsm-cap-board-body .cap-node-b,
    .wsm-cap-board-body .cap-node-c,
    .wsm-cap-board-body .cap-node-d {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        inset: auto !important;
        transform: none !important;
        width: 100% !important;
        min-height: 120px !important;
        z-index: 1 !important;
    }

    .wsm-cap-board-body .cap-node-a {
        order: 2 !important;
    }

    .wsm-cap-board-body .cap-node-b {
        order: 3 !important;
    }

    .wsm-cap-board-body .cap-node-c {
        order: 4 !important;
    }

    .wsm-cap-board-body .cap-node-d {
        order: 5 !important;
    }

    .wsm-cap-board-foot {
        grid-template-columns: 1fr !important;
    }

        .wsm-cap-board-foot span {
            border-right: 0 !important;
            border-bottom: 1px solid var(--wsm-cap-line) !important;
        }

            .wsm-cap-board-foot span:last-child {
                border-bottom: 0 !important;
            }
}


/* =========================================================
   FINAL FIX — COMPANY + CAPABILITIES TABLET/MOBILE BOARD
   Removes blank gap, shows center core, stacks cleanly.
========================================================= */

@media (max-width: 1199.98px) {

    .wsm-company-system-card,
    .wsm-cap-hero-board {
        width: 100% !important;
        max-width: 820px !important;
        margin: 28px auto 0 !important;
        overflow: hidden !important;
    }

    .wsm-company-system-body,
    .wsm-cap-board-body {
        min-height: 0 !important;
        height: auto !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
        padding: 22px !important;
        align-items: stretch !important;
    }

        .wsm-company-system-body::before,
        .wsm-cap-board-body::before,
        .wsm-company-line-svg,
        .wsm-cap-line-svg {
            display: none !important;
        }

    .wsm-company-core,
    .wsm-cap-core {
        position: relative !important;
        inset: auto !important;
        left: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        display: grid !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        max-width: 440px !important;
        min-height: 138px !important;
        margin: 0 auto 4px !important;
        grid-column: 1 / -1 !important;
        order: 1 !important;
        z-index: 5 !important;
        animation: none !important;
    }

    .wsm-company-node,
    .wsm-cap-node {
        position: relative !important;
        inset: auto !important;
        left: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        width: 100% !important;
        min-height: 126px !important;
        z-index: 2 !important;
    }

    .node-a,
    .cap-node-a {
        order: 2 !important;
    }

    .node-b,
    .cap-node-b {
        order: 3 !important;
    }

    .node-c,
    .cap-node-c {
        order: 4 !important;
    }

    .node-d,
    .cap-node-d {
        order: 5 !important;
    }
}

@media (max-width: 767.98px) {

    .wsm-company-system-card,
    .wsm-cap-hero-board {
        max-width: 100% !important;
        margin-top: 24px !important;
        border-radius: 22px !important;
    }

    .wsm-company-system-body,
    .wsm-cap-board-body {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 18px !important;
    }

    .wsm-company-core,
    .wsm-cap-core {
        max-width: 100% !important;
        min-height: 132px !important;
        margin: 0 !important;
    }

    .wsm-company-node,
    .wsm-cap-node {
        min-height: 118px !important;
    }
}