/* ============================================================
     WRIGHT GARDEN — GARDEN SCIENCE
     ============================================================ */

.gs-platform {
    --gsp-bg: #07130e;
    --gsp-bg-deep: #040c08;

    --gsp-white: #f4f8f5;
    --gsp-text: #cbd8d0;
    --gsp-muted: #899b91;

    --gsp-green: #69df98;
    --gsp-green-dark: #2f9d61;

    --gsp-border: rgba(105, 223, 152, 0.14);
    --gsp-border-hover: rgba(105, 223, 152, 0.38);

    position: relative;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 15% 15%,
            rgba(105, 223, 152, 0.08),
            transparent 28%
        ),
        radial-gradient(
            circle at 85% 80%,
            rgba(47, 157, 97, 0.08),
            transparent 30%
        ),
        linear-gradient(135deg, var(--gsp-bg), var(--gsp-bg-deep));

    color: var(--gsp-white);
}

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

.gs-platform::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.35;

    background-image:
        linear-gradient(rgba(105, 223, 152, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(105, 223, 152, 0.025) 1px, transparent 1px);

    background-size: 80px 80px;
}

.gs-platform::after {
    content: "";

    position: absolute;

    width: 650px;
    height: 650px;

    right: -360px;
    top: -320px;

    border: 1px solid rgba(105, 223, 152, 0.055);
    border-radius: 50%;

    box-shadow:
        0 0 0 70px rgba(105, 223, 152, 0.012),
        0 0 0 140px rgba(105, 223, 152, 0.008);

    pointer-events: none;
}

.gs-platform .container {
    position: relative;
    z-index: 2;
}

/* ============================================================
     INTRO
     ============================================================ */

.gs-platform-intro {
    max-width: 820px;
}

.gs-platform-kicker {
    display: inline-flex;
    align-items: center;

    margin-bottom: 1.5rem;

    color: var(--gsp-green);

    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.18em;

    text-transform: uppercase;
}

.gs-platform-kicker::before {
    content: "";

    width: 32px;
    height: 1px;

    margin-right: 0.8rem;

    background: var(--gsp-green);
}

.gs-platform-kicker i {
    margin-right: 0.55rem;
}

.gs-platform-title {
    width: fit-content;
    max-width: 100%;

    margin: 0 0 1.5rem;

    color: var(--gsp-white);

    font-size: clamp(3rem, 6vw, 5.6rem);
    font-weight: 800;

    letter-spacing: -0.065em;
    line-height: 0.9;

    text-transform: uppercase;
}

.gs-platform-title-line {
    display: block;
    white-space: nowrap;
}

.gs-platform-title-highlight {
    color: var(--gsp-green);
}

.gs-platform-lead {
    max-width: 690px;

    margin: 0;

    color: var(--gsp-muted);

    font-size: clamp(1.05rem, 1.5vw, 1.25rem);
    line-height: 1.7;
}

/* ============================================================
     SYSTEM VISUAL
     ============================================================ */

.gs-platform-system {
    position: relative;

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

    width: 100%;
    min-height: 150px;

    margin: 4rem 0 3.5rem;
}

.gs-platform-system-line {
    position: absolute;
    left: 8%;
    right: 8%;
    top: 50%;

    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(105, 223, 152, 0.28),
        transparent
    );
}

.gs-platform-system-core {
    position: relative;
    z-index: 2;

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

    width: 96px;
    height: 96px;

    border: 1px solid rgba(105, 223, 152, 0.45);
    border-radius: 50%;

    background: radial-gradient(
        circle,
        rgba(105, 223, 152, 0.15),
        rgba(7, 19, 14, 0.95) 68%
    );

    color: var(--gsp-green);

    box-shadow:
        0 0 0 12px rgba(105, 223, 152, 0.025),
        0 0 45px rgba(105, 223, 152, 0.08);
}

.gs-platform-system-core i {
    font-size: 1.8rem;
}

.gs-platform-system-node {
    position: absolute;
    z-index: 3;

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

    width: 52px;
    height: 52px;

    border: 1px solid var(--gsp-border);
    border-radius: 50%;

    background: #08150f;

    color: var(--gsp-green);

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.gs-platform-system-node:nth-child(2) {
    left: 8%;
}

.gs-platform-system-node:nth-child(3) {
    left: 29%;
}

.gs-platform-system-node:nth-child(4) {
    right: 29%;
}

.gs-platform-system-node:nth-child(5) {
    right: 8%;
}

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

.gs-platform-grid {
    display: grid;

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

    gap: 1px;

    border: 1px solid var(--gsp-border);

    background: var(--gsp-border);
}

.gs-platform-card {
    position: relative;

    min-height: 300px;

    padding: 2.25rem;

    overflow: hidden;

    background: linear-gradient(
        145deg,
        rgba(18, 38, 27, 0.95),
        rgba(8, 21, 14, 0.98)
    );

    transition:
        background 0.3s ease,
        transform 0.3s ease;
}

.gs-platform-card:hover {
    z-index: 2;

    background: linear-gradient(
        145deg,
        rgba(22, 50, 34, 1),
        rgba(8, 24, 15, 1)
    );

    transform: translateY(-5px);
}

.gs-platform-card::after {
    content: "";

    position: absolute;

    width: 130px;
    height: 130px;

    right: -65px;
    bottom: -65px;

    border: 1px solid rgba(105, 223, 152, 0.07);
    border-radius: 50%;

    transition: transform 0.4s ease;
}

.gs-platform-card:hover::after {
    transform: scale(1.35);
}

/* ============================================================
     CARD ICON
     ============================================================ */

.gs-platform-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 54px;
    height: 54px;

    margin-bottom: 2rem;

    border: 1px solid rgba(105, 223, 152, 0.28);
    border-radius: 50%;

    background: rgba(105, 223, 152, 0.045);

    color: var(--gsp-green);

    font-size: 1.05rem;
}

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

.gs-platform-card-label {
    display: block;

    margin-bottom: 0.55rem;

    color: var(--gsp-green);

    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.15em;

    text-transform: uppercase;
}

.gs-platform-card h3 {
    margin-bottom: 0.9rem;

    color: var(--gsp-white);

    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.gs-platform-card p {
    margin: 0;

    color: var(--gsp-muted);

    font-size: 0.9rem;
    line-height: 1.7;
}

/* ============================================================
     BOTTOM STATEMENT
     ============================================================ */

.gs-platform-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;

    margin-top: 1px;
    padding: 1.75rem 2rem;

    border: 1px solid var(--gsp-border);

    background: rgba(105, 223, 152, 0.025);
}

.gs-platform-footer strong {
    color: var(--gsp-white);

    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.1em;

    text-transform: uppercase;
}

.gs-platform-footer span {
    color: var(--gsp-muted);

    font-size: 0.9rem;
}

.gs-platform-footer-mark {
    display: flex;
    align-items: center;
    gap: 0.5rem;

    color: var(--gsp-green) !important;

    font-size: 0.7rem !important;
    font-weight: 800;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    white-space: nowrap;
}

.gs-platform-footer-mark i {
    font-size: 0.45rem;

    filter: drop-shadow(0 0 5px rgba(105, 223, 152, 0.7));
}

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

@media (max-width: 991.98px) {
    .gs-platform-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .gs-platform-system {
        min-height: 120px;
    }

    .gs-platform-system-node:nth-child(2) {
        left: 4%;
    }

    .gs-platform-system-node:nth-child(3) {
        left: 23%;
    }

    .gs-platform-system-node:nth-child(4) {
        right: 23%;
    }

    .gs-platform-system-node:nth-child(5) {
        right: 4%;
    }
}

@media (max-width: 767.98px) {
    .gs-platform {
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }

    .gs-platform-title {
        font-size: clamp(2.8rem, 12vw, 4rem);
    }

    .gs-platform-system {
        display: none;
    }

    .gs-platform-grid {
        grid-template-columns: 1fr;

        margin-top: 3rem;
    }

    .gs-platform-card {
        min-height: auto;
    }

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

@media (max-width: 575.98px) {
    .gs-platform-title {
        font-size: clamp(2.65rem, 12vw, 4rem);
    }

    .gs-platform-title-line {
        white-space: normal;
    }
}
