/* GS FRONTEND CORE 0.58.0 — QUIÉNES SOMOS */


/* ===== HERO ===== */
/* =========================================================
   GAMMERS STYLE
   QUIÉNES SOMOS — HERO
  
   ========================================================= */

#quienes-somos-inicio {
    --gs-bg: #02070f;
    --gs-bg-2: #05101b;

    --gs-cyan: #20d5f3;
    --gs-cyan-soft: #8ceeff;
    --gs-blue: #3286ff;
    --gs-violet: #8b5cf6;

    --gs-green: #43e58b;
    --gs-yellow: #ffc857;
    --gs-red: #ff637d;

    --gs-text: #edf8ff;
    --gs-muted: #91a8bb;
    --gs-muted-2: #687f92;

    position: relative;

    width: 100%;
    margin: 0;
    padding: 0;

    overflow: hidden;

    color: var(--gs-text);

    background:
        radial-gradient(
            circle at 13% 18%,
            rgba(32, 213, 243, 0.075),
            transparent 29%
        ),
        radial-gradient(
            circle at 86% 22%,
            rgba(139, 92, 246, 0.060),
            transparent 30%
        ),
        radial-gradient(
            circle at 70% 88%,
            rgba(67, 229, 139, 0.045),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #02070f 0%,
            #05101b 52%,
            #02070f 100%
        );

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    scroll-margin-top: 90px;
    writing-mode: horizontal-tb;
    word-break: normal;
    overflow-wrap: break-word;
}

#quienes-somos-inicio *,
#quienes-somos-inicio *::before,
#quienes-somos-inicio *::after {
    box-sizing: border-box;

    writing-mode: horizontal-tb;
    word-break: normal;
    overflow-wrap: break-word;
}


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

#quienes-somos-inicio .gsabout-grid {
    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.29;

    background-image:
        linear-gradient(
            rgba(42, 183, 255, 0.05) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(42, 183, 255, 0.05) 1px,
            transparent 1px
        );

    background-size: 46px 46px;

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 8%,
            #000 92%,
            transparent 100%
        );

    mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 8%,
            #000 92%,
            transparent 100%
        );
}


/* =========================================================
   DECORATIVE ORBITS
   ========================================================= */

#quienes-somos-inicio .gsabout-orbit {
    position: absolute;

    border-radius: 50%;

    pointer-events: none;
}

#quienes-somos-inicio
.gsabout-orbit.one {
    width: 520px;
    height: 520px;

    right: -250px;
    top: 70px;

    border:
        1px solid rgba(32, 213, 243, 0.045);

    animation:
        gsabout-spin
        52s linear infinite;
}

#quienes-somos-inicio
.gsabout-orbit.two {
    width: 390px;
    height: 390px;

    left: -190px;
    bottom: -160px;

    border:
        1px dashed rgba(139, 92, 246, 0.050);

    animation:
        gsabout-spin
        60s linear infinite reverse;
}

#quienes-somos-inicio
.gsabout-orbit.one::before,
#quienes-somos-inicio
.gsabout-orbit.one::after {
    content: "";

    position: absolute;

    border-radius: 50%;
}

#quienes-somos-inicio
.gsabout-orbit.one::before {
    inset: 84px;

    border:
        1px dashed rgba(139, 92, 246, 0.050);
}

#quienes-somos-inicio
.gsabout-orbit.one::after {
    inset: 168px;

    border:
        1px solid rgba(67, 229, 139, 0.040);
}

@keyframes gsabout-spin {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


/* =========================================================
   SCAN
   ========================================================= */

#quienes-somos-inicio .gsabout-scan {
    position: absolute;
    inset: 0;

    overflow: hidden;

    pointer-events: none;
}

#quienes-somos-inicio
.gsabout-scan::before {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    top: 0;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(32, 213, 243, 0.30),
            rgba(139, 92, 246, 0.16),
            transparent
        );

    box-shadow:
        0 0 18px
        rgba(32, 213, 243, 0.08);

    animation:
        gsabout-scanline
        10.8s linear infinite;
}

@keyframes gsabout-scanline {

    0% {
        transform: translateY(0);
        opacity: 0;
    }

    8% {
        opacity: 0.42;
    }

    92% {
        opacity: 0.18;
    }

    100% {
        transform: translateY(1250px);
        opacity: 0;
    }
}


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

#quienes-somos-inicio .gsabout-shell {
    position: relative;
    z-index: 2;

    width: min(
        1180px,
        calc(100% - 48px)
    );

    min-height: 700px;

    margin: 0 auto;

    padding: 88px 0 76px;

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


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

#quienes-somos-inicio .gsabout-main {
    display: grid;

    grid-template-columns:
        minmax(0, 1.02fr)
        minmax(440px, 0.98fr);

    gap: 54px;

    align-items: center;
}


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

#quienes-somos-inicio
.gsabout-copy {
    min-width: 0;
}


/* =========================================================
   KICKER
   ========================================================= */

#quienes-somos-inicio
.gsabout-kicker {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-bottom: 17px;
    padding: 7px 11px;

    border:
        1px solid rgba(32, 213, 243, 0.19);

    border-radius: 999px;

    background:
        rgba(7, 28, 41, 0.42);

    color: #9cefff;

    font-size: 10px;
    line-height: 1.2;
    font-weight: 600;

    letter-spacing: 0.12em;
    text-transform: uppercase;
}

#quienes-somos-inicio
.gsabout-kicker-dot {
    width: 6px;
    height: 6px;

    flex: 0 0 6px;

    border-radius: 50%;

    background: var(--gs-cyan);

    box-shadow:
        0 0 8px rgba(32, 213, 243, 0.80),
        0 0 17px rgba(32, 213, 243, 0.22);
}


/* =========================================================
   TITLE
   ========================================================= */

#quienes-somos-inicio
.gsabout-title {
    max-width: 710px;

    margin: 0;

    color: #f5fbff;

    font-size:
        clamp(
            40px,
            5.6vw,
            67px
        );

    line-height: 1.025;
    font-weight: 700;

    letter-spacing: -0.048em;
}

#quienes-somos-inicio
.gsabout-title span {
    color: var(--gs-cyan);
}


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

#quienes-somos-inicio
.gsabout-intro {
    max-width: 680px;

    margin: 21px 0 0;

    color: var(--gs-muted);

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

#quienes-somos-inicio
.gsabout-intro strong {
    color: #dcecf6;

    font-weight: 600;
}


/* =========================================================
   IDENTITY STATEMENT
   ========================================================= */

#quienes-somos-inicio
.gsabout-statement {
    display: flex;
    align-items: flex-start;

    gap: 11px;

    max-width: 670px;

    margin-top: 21px;
    padding: 15px 16px;

    border:
        1px solid rgba(67, 229, 139, 0.13);

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            rgba(67, 229, 139, 0.035),
            rgba(32, 213, 243, 0.025)
        );

    color: #9aafbb;

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

#quienes-somos-inicio
.gsabout-statement-icon {
    display: grid;
    place-items: center;

    width: 21px;
    height: 21px;

    flex: 0 0 21px;

    margin-top: 1px;

    border:
        1px solid rgba(67, 229, 139, 0.22);

    border-radius: 50%;

    color: var(--gs-green);

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

#quienes-somos-inicio
.gsabout-statement strong {
    color: #dcf7e8;

    font-weight: 600;
}


/* =========================================================
   QUICK BADGES
   ========================================================= */

#quienes-somos-inicio
.gsabout-badges {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    margin-top: 19px;
}

#quienes-somos-inicio
.gsabout-badge {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    min-height: 32px;

    padding: 7px 10px;

    border:
        1px solid rgba(92, 208, 255, 0.09);

    border-radius: 9px;

    background:
        rgba(6, 18, 31, 0.51);

    color: #8199a9;

    font-size: 9px;
    line-height: 1.35;
    font-weight: 500;
}

#quienes-somos-inicio
.gsabout-badge::before {
    content: "";

    width: 5px;
    height: 5px;

    flex: 0 0 5px;

    border-radius: 50%;

    background: var(--badge-color);

    box-shadow:
        0 0 6px
        var(--badge-color);
}

#quienes-somos-inicio
.gsabout-badge.since {
    --badge-color: #20d5f3;
}

#quienes-somos-inicio
.gsabout-badge.devices {
    --badge-color: #43e58b;
}

#quienes-somos-inicio
.gsabout-badge.independent {
    --badge-color: #8b5cf6;
}

#quienes-somos-inicio
.gsabout-badge.mexico {
    --badge-color: #ffc857;
}


/* =========================================================
   HUD PANEL
   ========================================================= */

#quienes-somos-inicio
.gsabout-hud-panel {
    position: relative;

    min-width: 0;

    padding: 23px;

    overflow: hidden;

    border:
        1px solid rgba(139, 92, 246, 0.17);

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            rgba(24, 18, 45, 0.40),
            rgba(4, 12, 22, 0.96)
        );

    box-shadow:
        0 24px 60px
        rgba(0, 0, 0, 0.22),
        inset 0 1px 0
        rgba(255,255,255,0.025);
}

#quienes-somos-inicio
.gsabout-hud-panel::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        radial-gradient(
            circle at 50% 30%,
            rgba(32, 213, 243, 0.075),
            transparent 34%
        ),
        radial-gradient(
            circle at 50% 70%,
            rgba(67, 229, 139, 0.045),
            transparent 39%
        );
}


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

#quienes-somos-inicio
.gsabout-hud-head {
    position: relative;
    z-index: 3;

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

    gap: 10px;
}

#quienes-somos-inicio
.gsabout-hud-code {
    color: #bcaeff;

    font-size: 10px;
    line-height: 1.3;
    font-weight: 700;

    letter-spacing: 0.065em;
    text-transform: uppercase;
}

#quienes-somos-inicio
.gsabout-hud-state {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    flex-shrink: 0;

    padding: 5px 8px;

    border:
        1px solid rgba(67, 229, 139, 0.17);

    border-radius: 999px;

    background:
        rgba(67, 229, 139, 0.035);

    color: #96efbd;

    font-size: 9px;
    line-height: 1.2;
    font-weight: 600;
}

#quienes-somos-inicio
.gsabout-hud-state::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--gs-green);

    box-shadow:
        0 0 7px
        rgba(67, 229, 139, 0.62);

    animation:
        gsabout-status-pulse
        2.5s ease-in-out infinite;
}

@keyframes gsabout-status-pulse {

    0%,
    100% {
        opacity: 0.50;
    }

    50% {
        opacity: 1;
    }
}


/* =========================================================
   HUD SCREEN
   ========================================================= */

#quienes-somos-inicio
.gsabout-hud-screen {
    position: relative;
    z-index: 2;

    min-height: 400px;

    margin-top: 17px;

    overflow: hidden;

    border:
        1px solid rgba(92, 208, 255, 0.08);

    border-radius: 16px;

    background:
        radial-gradient(
            circle at 50% 45%,
            rgba(32, 213, 243, 0.08),
            transparent 33%
        ),
        radial-gradient(
            circle at 50% 50%,
            rgba(139, 92, 246, 0.045),
            transparent 55%
        ),
        rgba(3, 12, 22, 0.68);
}

#quienes-somos-inicio
.gsabout-hud-screen::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.28;

    background-image:
        linear-gradient(
            rgba(32, 213, 243, 0.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(32, 213, 243, 0.035) 1px,
            transparent 1px
        );

    background-size: 27px 27px;
}


/* =========================================================
   HUD RINGS
   ========================================================= */

#quienes-somos-inicio
.gsabout-ring {
    position: absolute;

    left: 50%;
    top: 43%;

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

    border-radius: 50%;

    pointer-events: none;
}

#quienes-somos-inicio
.gsabout-ring.one {
    width: 225px;
    height: 225px;

    border:
        1px solid rgba(32, 213, 243, 0.10);

    box-shadow:
        inset 0 0 25px
        rgba(32, 213, 243, 0.025);

    animation:
        gsabout-ring-spin
        18s linear infinite;
}

#quienes-somos-inicio
.gsabout-ring.two {
    width: 304px;
    height: 304px;

    border:
        1px dashed rgba(139, 92, 246, 0.08);

    animation:
        gsabout-ring-spin
        28s linear infinite reverse;
}

@keyframes gsabout-ring-spin {

    from {
        transform:
            translate(-50%, -50%)
            rotate(0deg);
    }

    to {
        transform:
            translate(-50%, -50%)
            rotate(360deg);
    }
}


/* =========================================================
   LOGO CORE
   ========================================================= */

#quienes-somos-inicio
.gsabout-core {
    position: absolute;

    z-index: 8;

    left: 50%;
    top: 43%;

    width: 160px;
    height: 160px;

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

    display: grid;
    place-items: center;

    border:
        1px solid rgba(32, 213, 243, 0.29);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(32, 213, 243, 0.12),
            rgba(50, 134, 255, 0.055) 45%,
            rgba(5, 16, 29, 0.97) 76%
        );

    box-shadow:
        0 0 25px rgba(32, 213, 243, 0.08),
        0 0 55px rgba(32, 213, 243, 0.06),
        inset 0 0 24px rgba(32, 213, 243, 0.04);

    animation:
        gsabout-core-breathe
        4.5s ease-in-out infinite;
}


/* =========================================================
   LOGO FRAME
   ========================================================= */

#quienes-somos-inicio
.gsabout-logo-frame {
    position: relative;

    width: 122px;
    height: 122px;

    display: grid;
    place-items: center;

    overflow: hidden;

    border:
        1px solid rgba(141, 238, 255, 0.33);

    border-radius: 50%;

    background:
        #101d54;

    box-shadow:
        0 0 16px rgba(32, 213, 243, 0.15),
        0 0 34px rgba(32, 213, 243, 0.08),
        inset 0 0 18px rgba(255,255,255,0.025);

    animation:
        gsabout-logo-float
        6s ease-in-out infinite;
}


/* rotating thin highlight */

#quienes-somos-inicio
.gsabout-logo-frame::before {
    content: "";

    position: absolute;

    inset: -3px;

    z-index: 1;

    border-radius: 50%;

    background:
        conic-gradient(
            from 0deg,
            transparent 0deg,
            transparent 285deg,
            rgba(32, 213, 243, 0.00) 292deg,
            rgba(32, 213, 243, 0.55) 315deg,
            rgba(139, 92, 246, 0.35) 335deg,
            transparent 360deg
        );

    animation:
        gsabout-logo-sweep
        8s linear infinite;
}


/* inner cover preserves thin ring */

#quienes-somos-inicio
.gsabout-logo-frame::after {
    content: "";

    position: absolute;

    inset: 2px;

    z-index: 2;

    border-radius: 50%;

    background:
        #101d54;
}


/* =========================================================
   REAL LOGO IMAGE
   ========================================================= */

#quienes-somos-inicio
.gsabout-logo {
    position: relative;
    z-index: 3;

    display: block;

    width: 100%;
    height: 100%;

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

    border-radius: 50%;

    transform:
        scale(1.025);

    filter:
        contrast(1.04)
        brightness(1.05);

    user-select: none;

    -webkit-user-drag: none;
}


/* =========================================================
   LOGO MICRO SCAN
   ========================================================= */

#quienes-somos-inicio
.gsabout-logo-scan {
    position: absolute;

    z-index: 4;

    left: 8%;
    right: 8%;
    top: 14%;

    height: 1px;

    pointer-events: none;

    opacity: 0;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,0.55),
            rgba(32, 213, 243,0.65),
            transparent
        );

    box-shadow:
        0 0 8px
        rgba(32, 213, 243, 0.28);

    animation:
        gsabout-logo-scan
        5.4s ease-in-out infinite;
}


/* =========================================================
   LOGO ANIMATIONS
   ========================================================= */

@keyframes gsabout-core-breathe {

    0%,
    100% {
        box-shadow:
            0 0 25px rgba(32, 213, 243, 0.06),
            0 0 48px rgba(32, 213, 243, 0.045),
            inset 0 0 24px rgba(32, 213, 243, 0.03);
    }

    50% {
        box-shadow:
            0 0 30px rgba(32, 213, 243, 0.14),
            0 0 70px rgba(32, 213, 243, 0.09),
            inset 0 0 30px rgba(32, 213, 243, 0.05);
    }
}

@keyframes gsabout-logo-float {

    0%,
    100% {
        transform:
            translateY(0)
            rotate(-0.4deg);
    }

    50% {
        transform:
            translateY(-5px)
            rotate(0.7deg);
    }
}

@keyframes gsabout-logo-sweep {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes gsabout-logo-scan {

    0%,
    18% {
        top: 12%;
        opacity: 0;
    }

    25% {
        opacity: 0.55;
    }

    52% {
        opacity: 0.28;
    }

    65% {
        top: 86%;
        opacity: 0;
    }

    100% {
        top: 86%;
        opacity: 0;
    }
}


/* =========================================================
   NODES
   ========================================================= */

#quienes-somos-inicio
.gsabout-node {
    position: absolute;

    z-index: 9;

    display: flex;
    align-items: center;

    gap: 6px;

    padding: 7px 9px;

    border-radius: 8px;

    background:
        rgba(5, 16, 29, 0.93);

    color: #91a7b7;

    font-size: 8px;
    line-height: 1.2;
    font-weight: 600;

    text-transform: uppercase;
}

#quienes-somos-inicio
.gsabout-node::before {
    content: "";

    width: 5px;
    height: 5px;

    flex: 0 0 5px;

    border-radius: 50%;

    background: var(--node-color);

    box-shadow:
        0 0 6px
        var(--node-color);
}

#quienes-somos-inicio
.gsabout-node.since {
    --node-color: #20d5f3;

    left: 6%;
    top: 13%;

    border:
        1px solid rgba(32, 213, 243, 0.17);
}

#quienes-somos-inicio
.gsabout-node.devices {
    --node-color: #43e58b;

    right: 6%;
    top: 13%;

    border:
        1px solid rgba(67, 229, 139, 0.17);
}

#quienes-somos-inicio
.gsabout-node.independent {
    --node-color: #8b5cf6;

    left: 6%;
    bottom: 25%;

    border:
        1px solid rgba(139, 92, 246, 0.17);
}

#quienes-somos-inicio
.gsabout-node.mexico {
    --node-color: #ffc857;

    right: 6%;
    bottom: 25%;

    border:
        1px solid rgba(255, 200, 87, 0.17);
}


/* =========================================================
   PATHS
   ========================================================= */

#quienes-somos-inicio
.gsabout-path {
    position: absolute;

    z-index: 3;

    height: 1px;

    transform-origin:
        left center;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(32, 213, 243, 0.40),
            transparent
        );

    animation:
        gsabout-path-pulse
        3s ease-in-out infinite;
}

#quienes-somos-inicio
.gsabout-path.p1 {
    left: 20%;
    top: 28%;

    width: 34%;

    transform: rotate(22deg);
}

#quienes-somos-inicio
.gsabout-path.p2 {
    left: 50%;
    top: 43%;

    width: 33%;

    transform: rotate(-24deg);
}

#quienes-somos-inicio
.gsabout-path.p3 {
    left: 20%;
    bottom: 34%;

    width: 34%;

    transform: rotate(-21deg);
}

#quienes-somos-inicio
.gsabout-path.p4 {
    left: 49%;
    bottom: 34%;

    width: 34%;

    transform: rotate(22deg);
}

@keyframes gsabout-path-pulse {

    0%,
    100% {
        opacity: 0.17;
    }

    50% {
        opacity: 0.80;
    }
}


/* =========================================================
   HUD TIMELINE
   ========================================================= */

#quienes-somos-inicio
.gsabout-timeline {
    position: absolute;

    left: 14px;
    right: 14px;
    bottom: 14px;

    z-index: 10;

    display: grid;

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

    gap: 5px;
}

#quienes-somos-inicio
.gsabout-time-step {
    position: relative;

    min-width: 0;

    padding: 7px 5px;

    border:
        1px solid rgba(92, 208, 255, 0.075);

    border-radius: 7px;

    background:
        rgba(5, 17, 30, 0.82);

    color: #758d9d;

    text-align: center;

    font-size: 7.5px;
    line-height: 1.35;
    font-weight: 600;
}

#quienes-somos-inicio
.gsabout-time-step:not(:last-child)::after {
    content: "›";

    position: absolute;

    right: -5px;
    top: 50%;

    z-index: 5;

    transform:
        translateY(-50%);

    color:
        rgba(32, 213, 243, 0.42);
}


/* =========================================================
   HUD FOOT
   ========================================================= */

#quienes-somos-inicio
.gsabout-hud-foot {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: flex-start;

    gap: 9px;

    margin-top: 12px;
    padding: 11px 12px;

    border:
        1px solid rgba(67, 229, 139, 0.10);

    border-radius: 9px;

    background:
        rgba(67, 229, 139, 0.025);

    color: #748b98;

    font-size: 9px;
    line-height: 1.50;
}

#quienes-somos-inicio
.gsabout-hud-foot::before {
    content: "✓";

    display: grid;
    place-items: center;

    width: 18px;
    height: 18px;

    flex: 0 0 18px;

    margin-top: 1px;

    border:
        1px solid rgba(67, 229, 139, 0.20);

    border-radius: 50%;

    color: var(--gs-green);

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


/* =========================================================
   METRICS
   ========================================================= */

#quienes-somos-inicio
.gsabout-metrics {
    display: grid;

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

    gap: 10px;

    margin-top: 24px;
}

#quienes-somos-inicio
.gsabout-metric {
    --metric-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding: 17px 15px;

    overflow: hidden;

    border-radius: 13px;

    background:
        linear-gradient(
            145deg,
            rgba(8, 22, 39, 0.89),
            rgba(4, 12, 22, 0.97)
        );
}

#quienes-somos-inicio
.gsabout-metric.since {
    --metric-color: #20d5f3;

    border:
        1px solid rgba(32, 213, 243, 0.13);
}

#quienes-somos-inicio
.gsabout-metric.devices {
    --metric-color: #43e58b;

    border:
        1px solid rgba(67, 229, 139, 0.13);
}

#quienes-somos-inicio
.gsabout-metric.independent {
    --metric-color: #8b5cf6;

    border:
        1px solid rgba(139, 92, 246, 0.13);
}

#quienes-somos-inicio
.gsabout-metric.mexico {
    --metric-color: #ffc857;

    border:
        1px solid rgba(255, 200, 87, 0.13);
}

#quienes-somos-inicio
.gsabout-metric::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 70px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--metric-color),
            transparent
        );
}

#quienes-somos-inicio
.gsabout-metric-code {
    display: block;

    margin-bottom: 7px;

    color: var(--metric-color);

    font-size: 10px;
    line-height: 1.25;
    font-weight: 700;

    letter-spacing: 0.05em;
    text-transform: uppercase;
}

#quienes-somos-inicio
.gsabout-metric-title {
    display: block;

    margin-bottom: 5px;

    color: #dfeef5;

    font-size: 11px;
    line-height: 1.4;
    font-weight: 600;
}

#quienes-somos-inicio
.gsabout-metric-copy {
    display: block;

    color: #758d9e;

    font-size: 9px;
    line-height: 1.55;
}


/* =========================================================
   LOWER LINE
   ========================================================= */

#quienes-somos-inicio
.gsabout-lower {
    display: grid;

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

    gap: 20px;

    align-items: center;

    margin-top: 18px;
    padding: 15px 17px;

    border:
        1px solid rgba(92, 208, 255, 0.09);

    border-radius: 13px;

    background:
        rgba(5, 16, 29, 0.46);
}

#quienes-somos-inicio
.gsabout-lower-copy {
    min-width: 0;

    color: #778f9f;

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

#quienes-somos-inicio
.gsabout-lower-copy strong {
    color: #cfe2ed;

    font-weight: 600;
}

#quienes-somos-inicio
.gsabout-lower-status {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    flex-shrink: 0;

    color: #9deebe;

    font-size: 9px;
    line-height: 1.35;
    font-weight: 600;

    letter-spacing: 0.04em;
    text-transform: uppercase;
}

#quienes-somos-inicio
.gsabout-lower-status::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--gs-green);

    box-shadow:
        0 0 7px
        rgba(67, 229, 139, 0.58);
}


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

@media (max-width: 1024px) {

    #quienes-somos-inicio
    .gsabout-shell {
        width:
            min(
                100% - 40px,
                920px
            );

        min-height: 0;

        padding:
            88px 0 82px;
    }

    #quienes-somos-inicio
    .gsabout-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 38px;
    }

    #quienes-somos-inicio
    .gsabout-copy {
        max-width: 780px;
    }

    #quienes-somos-inicio
    .gsabout-hud-panel {
        width: 100%;
        max-width: 760px;

        margin: 0 auto;
    }

    #quienes-somos-inicio
    .gsabout-metrics {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


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

@media (max-width: 767px) {

    #quienes-somos-inicio {
        overflow: hidden;
    }

    #quienes-somos-inicio
    .gsabout-grid {
        opacity: 0.18;

        background-size:
            32px 32px;
    }

    #quienes-somos-inicio
    .gsabout-orbit,
    #quienes-somos-inicio
    .gsabout-scan {
        display: none;
    }

    #quienes-somos-inicio
    .gsabout-shell {
        width:
            calc(100% - 30px);

        max-width: 100%;

        min-height: 0;

        padding:
            68px 0 66px;
    }

    #quienes-somos-inicio
    .gsabout-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 30px;
    }

    #quienes-somos-inicio
    .gsabout-kicker {
        margin-bottom: 14px;

        font-size: 10px;

        letter-spacing: 0.09em;
    }

    #quienes-somos-inicio
    .gsabout-title {
        font-size:
            clamp(
                35px,
                11vw,
                46px
            );

        line-height: 1.04;

        letter-spacing: -0.038em;
    }

    #quienes-somos-inicio
    .gsabout-intro {
        margin-top: 17px;

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

    #quienes-somos-inicio
    .gsabout-statement {
        padding: 13px;

        font-size: 10px;
    }

    #quienes-somos-inicio
    .gsabout-badges {
        display: grid;

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

        gap: 7px;
    }

    #quienes-somos-inicio
    .gsabout-badge {
        min-width: 0;

        font-size: 8.5px;
    }

    #quienes-somos-inicio
    .gsabout-hud-panel {
        width: 100%;
        min-width: 0;

        padding: 18px 14px;

        border-radius: 17px;
    }

    #quienes-somos-inicio
    .gsabout-hud-head {
        flex-direction: column;
        align-items: flex-start;

        gap: 8px;
    }

    #quienes-somos-inicio
    .gsabout-hud-screen {
        min-height: 340px;
    }

    #quienes-somos-inicio
    .gsabout-core,
    #quienes-somos-inicio
    .gsabout-ring,
    #quienes-somos-inicio
    .gsabout-path {
        animation: none;
    }

    #quienes-somos-inicio
    .gsabout-core {
        width: 118px;
        height: 118px;
    }

    #quienes-somos-inicio
    .gsabout-logo-frame {
        width: 90px;
        height: 90px;

        animation:
            gsabout-logo-mobile
            6s ease-in-out infinite;
    }

    @keyframes gsabout-logo-mobile {

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

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

    #quienes-somos-inicio
    .gsabout-ring.one {
        width: 170px;
        height: 170px;
    }

    #quienes-somos-inicio
    .gsabout-ring.two {
        width: 226px;
        height: 226px;
    }

    #quienes-somos-inicio
    .gsabout-node {
        padding: 5px 6px;

        font-size: 6.5px;
    }

    #quienes-somos-inicio
    .gsabout-timeline {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 4px;
    }

    #quienes-somos-inicio
    .gsabout-time-step {
        text-align: left;

        padding:
            5px 7px;
    }

    #quienes-somos-inicio
    .gsabout-time-step::after {
        display: none;
    }

    #quienes-somos-inicio
    .gsabout-metrics {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;

        margin-top: 14px;
    }

    #quienes-somos-inicio
    .gsabout-lower {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 9px;

        margin-top: 12px;
    }

    #quienes-somos-inicio
    .gsabout-lower-status {
        width: fit-content;
    }
}


/* =========================================================
   390 PX
   ========================================================= */

@media (max-width: 390px) {

    #quienes-somos-inicio
    .gsabout-shell {
        width:
            calc(100% - 24px);
    }

    #quienes-somos-inicio
    .gsabout-badges {
        grid-template-columns:
            minmax(0, 1fr);
    }

    #quienes-somos-inicio
    .gsabout-hud-panel {
        padding-left: 12px;
        padding-right: 12px;
    }

    #quienes-somos-inicio
    .gsabout-hud-screen {
        min-height: 325px;
    }

    #quienes-somos-inicio
    .gsabout-core {
        width: 102px;
        height: 102px;
    }

    #quienes-somos-inicio
    .gsabout-logo-frame {
        width: 78px;
        height: 78px;
    }

    #quienes-somos-inicio
    .gsabout-ring.one {
        width: 148px;
        height: 148px;
    }

    #quienes-somos-inicio
    .gsabout-ring.two {
        width: 196px;
        height: 196px;
    }

    #quienes-somos-inicio
    .gsabout-node {
        padding:
            4px 5px;

        font-size: 5.8px;
    }
}


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

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

    #quienes-somos-inicio,
    #quienes-somos-inicio *,
    #quienes-somos-inicio *::before,
    #quienes-somos-inicio *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }

    #quienes-somos-inicio .gsabout-scan {
        display: none !important;
    }
}


/* ===== FORMA ===== */
#forma-trabajo-quienes-somos {
    --gsw-cyan: #20d5f3;
    --gsw-blue: #3286ff;
    --gsw-violet: #8b5cf6;
    --gsw-green: #43e58b;
    --gsw-yellow: #ffc857;
    --gsw-text: #edf8ff;
    --gsw-muted: #91a8bb;

    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    margin: 0;
    padding: clamp(76px, 8vw, 108px) 24px;
    color: var(--gsw-text);
    background:
      radial-gradient(circle at 10% 15%, rgba(32,213,243,.085), transparent 30%),
      radial-gradient(circle at 92% 20%, rgba(139,92,246,.065), transparent 32%),
      radial-gradient(circle at 74% 88%, rgba(67,229,139,.045), transparent 28%),
      linear-gradient(180deg, #030811 0%, #05101b 50%, #030811 100%);
    font-family: "Poppins", Arial, sans-serif;
    scroll-margin-top: 90px;
  }

  #forma-trabajo-quienes-somos *,
  #forma-trabajo-quienes-somos *::before,
  #forma-trabajo-quienes-somos *::after {
    box-sizing: border-box;
  }

  #forma-trabajo-quienes-somos svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsw__grid {
    position: absolute;
    z-index: -3;
    inset: 0;
    opacity: .27;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(42,183,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(42,183,255,.05) 1px, transparent 1px),
      radial-gradient(circle, rgba(32,213,243,.16) 1px, transparent 1.5px);
    background-size: 46px 46px, 46px 46px, 34px 34px;
  }

  .gsw__glow {
    position: absolute;
    z-index: -2;
    width: 460px;
    height: 460px;
    border-radius: 50%;
    filter: blur(140px);
    pointer-events: none;
  }

  .gsw__glow--cyan {
    top: 0;
    left: -230px;
    opacity: .11;
    background: var(--gsw-cyan);
  }

  .gsw__glow--violet {
    right: -230px;
    bottom: 4%;
    opacity: .12;
    background: var(--gsw-violet);
  }

  .gsw__wrap {
    width: min(1180px, 100%);
    margin: 0 auto;
  }

  /* ENCABEZADO */

  .gsw__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .52fr);
    gap: clamp(30px, 5vw, 48px);
    align-items: end;
    margin-bottom: 34px;
  }

  .gsw__kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    padding: 7px 11px;
    border: 1px solid rgba(32,213,243,.19);
    border-radius: 999px;
    color: #9eeeff;
    background: rgba(7,28,41,.40);
    font-size: 10px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
  }

  .gsw__kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gsw-cyan);
    box-shadow: 0 0 8px rgba(32,213,243,.8), 0 0 17px rgba(32,213,243,.22);
  }

  .gsw__title {
    max-width: 850px;
    margin: 0;
    color: #f4fbff;
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1.08;
    font-weight: 750;
    letter-spacing: -.038em;
  }

  .gsw__title span {
    color: var(--gsw-cyan);
  }

  .gsw__intro {
    max-width: 850px;
    margin: 17px 0 0;
    color: var(--gsw-muted);
    font-size: 15px;
    line-height: 1.78;
  }

  .gsw__status {
    position: relative;
    min-width: 0;
    padding: 18px 19px;
    overflow: hidden;
    border: 1px solid rgba(67,229,139,.15);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(10,39,28,.27), rgba(4,13,23,.88));
  }

  .gsw__status::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 2px;
    background: linear-gradient(180deg, transparent, var(--gsw-green), transparent);
  }

  .gsw__status-label {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #97efbe;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gsw__status-label::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gsw-green);
    box-shadow: 0 0 8px rgba(67,229,139,.55);
    animation: gswPulse 2.4s ease-in-out infinite;
  }

  .gsw__status p {
    margin: 0;
    color: #b5c8d6;
    font-size: 12px;
    line-height: 1.65;
  }

  /* MENSAJE CENTRAL */

  .gsw__statement {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    margin-bottom: 20px;
    padding: 17px;
    border: 1px solid rgba(32,213,243,.16);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(32,213,243,.055), rgba(67,229,139,.025));
  }

  .gsw__statement-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(32,213,243,.24);
    border-radius: 15px;
    color: #9ceeff;
    background: rgba(32,213,243,.05);
  }

  .gsw__statement-icon svg {
    width: 28px;
    height: 28px;
  }

  .gsw__statement strong,
  .gsw__statement span {
    display: block;
  }

  .gsw__statement strong {
    color: #e1f8ff;
    font-size: 14px;
    line-height: 1.4;
  }

  .gsw__statement-copy span {
    margin-top: 5px;
    color: #8ba3b3;
    font-size: 11px;
    line-height: 1.6;
  }

  .gsw__statement-state {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid rgba(67,229,139,.16);
    border-radius: 999px;
    color: #94efbc;
    background: rgba(67,229,139,.035);
    font-size: 9px;
    font-weight: 700;
    white-space: nowrap;
  }

  .gsw__statement-state::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsw-green);
    box-shadow: 0 0 7px rgba(67,229,139,.60);
  }

  /* FLUJO PRINCIPAL */

  .gsw__flow-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    color: #687f94;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
  }

  .gsw__flow-label::after {
    content: "";
    width: 105px;
    height: 1px;
    background: linear-gradient(90deg, rgba(32,213,243,.48), rgba(67,229,139,.32), transparent);
  }

  .gsw__stages {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
  }

  .gsw__stage {
    --stage: var(--gsw-cyan);
    position: relative;
    min-width: 0;
    min-height: 238px;
    padding: 18px 16px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--stage) 22%, transparent);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(8,22,39,.90), rgba(4,12,22,.97));
  }

  .gsw__stage:nth-child(2) { --stage: var(--gsw-blue); }
  .gsw__stage:nth-child(3) { --stage: var(--gsw-violet); }
  .gsw__stage:nth-child(4) { --stage: var(--gsw-green); }

  .gsw__stage::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 82px;
    height: 2px;
    background: linear-gradient(90deg, var(--stage), transparent);
  }

  .gsw__stage-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
  }

  .gsw__stage-number {
    color: var(--stage);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
  }

  .gsw__stage-visual {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(92,208,255,.10);
    border-radius: 12px;
    color: var(--stage);
    background: rgba(5,17,30,.66);
    animation: gswFloat 4s ease-in-out infinite;
  }

  .gsw__stage:nth-child(2) .gsw__stage-visual { animation-delay: -.8s; }
  .gsw__stage:nth-child(3) .gsw__stage-visual { animation-delay: -1.6s; }
  .gsw__stage:nth-child(4) .gsw__stage-visual { animation-delay: -2.4s; }

  .gsw__stage-visual svg {
    width: 25px;
    height: 25px;
  }

  .gsw__stage h3 {
    margin: 15px 0 7px;
    color: #e2eef5;
    font-size: 14px;
    line-height: 1.38;
  }

  .gsw__stage p {
    margin: 0;
    color: #7d95a5;
    font-size: 10px;
    line-height: 1.62;
  }

  /* BLOQUE COMPARACIÓN + VISUAL */

  .gsw__main {
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
    gap: 14px;
    margin-top: 16px;
    align-items: stretch;
  }

  .gsw__panel {
    min-width: 0;
    padding: 23px;
    border: 1px solid rgba(92,208,255,.14);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(8,22,39,.92), rgba(4,12,22,.97));
  }

  .gsw__panel-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px;
    color: #8ceeff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
  }

  .gsw__panel-label::before {
    content: "";
    width: 14px;
    height: 1px;
    background: currentColor;
    box-shadow: 0 0 8px currentColor;
  }

  .gsw__panel h3 {
    margin: 0;
    color: #f2faff;
    font-size: 21px;
    line-height: 1.32;
  }

  .gsw__panel > p {
    margin: 10px 0 0;
    color: var(--gsw-muted);
    font-size: 12px;
    line-height: 1.7;
  }

  .gsw__compare-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 17px;
  }

  .gsw__compare-card {
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(255,200,87,.13);
    border-radius: 13px;
    background: rgba(6,18,31,.56);
  }

  .gsw__compare-card:last-child {
    border-color: rgba(67,229,139,.13);
  }

  .gsw__compare-card small,
  .gsw__compare-card strong,
  .gsw__compare-card span {
    display: block;
  }

  .gsw__compare-card small {
    color: var(--gsw-yellow);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .gsw__compare-card:last-child small {
    color: var(--gsw-green);
  }

  .gsw__compare-card strong {
    margin-top: 7px;
    color: #ddebf3;
    font-size: 12px;
    line-height: 1.4;
  }

  .gsw__compare-card span {
    margin-top: 6px;
    color: #7d94a4;
    font-size: 10px;
    line-height: 1.6;
  }

  .gsw__example {
    margin-top: 12px;
    padding: 14px;
    border: 1px solid rgba(255,200,87,.13);
    border-radius: 12px;
    background: rgba(255,200,87,.025);
  }

  .gsw__example strong {
    color: #dce9f0;
  }

  .gsw__example p {
    margin: 0;
    color: #899da9;
    font-size: 10px;
    line-height: 1.65;
  }

  .gsw__causes {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
  }

  .gsw__causes span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 6px 8px;
    border: 1px solid rgba(92,208,255,.08);
    border-radius: 8px;
    color: #839aa9;
    background: rgba(3,12,22,.48);
    font-size: 9px;
  }

  .gsw__causes span::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsw-cyan);
  }

  /* VISUAL SEGURO: SIN TARJETAS SUPERPUESTAS */

  .gsw__visual {
    position: relative;
    overflow: hidden;
    min-width: 0;
    padding: 23px;
    border: 1px solid rgba(139,92,246,.17);
    border-radius: 20px;
    background:
      radial-gradient(circle at 50% 42%, rgba(32,213,243,.07), transparent 36%),
      linear-gradient(145deg, rgba(24,18,45,.38), rgba(4,12,22,.97));
  }

  .gsw__visual-grid {
    position: absolute;
    inset: 0;
    opacity: .3;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(32,213,243,.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(32,213,243,.035) 1px, transparent 1px);
    background-size: 27px 27px;
  }

  .gsw__visual > *:not(.gsw__visual-grid) {
    position: relative;
    z-index: 2;
  }

  .gsw__visual-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
  }

  .gsw__visual-head > span {
    color: #bdadff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .gsw__visual-head > strong {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border: 1px solid rgba(67,229,139,.17);
    border-radius: 999px;
    color: #94efbc;
    background: rgba(67,229,139,.035);
    font-size: 8px;
  }

  .gsw__visual-head > strong::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsw-green);
    box-shadow: 0 0 7px rgba(67,229,139,.62);
    animation: gswPulse 2.4s ease-in-out infinite;
  }

  .gsw__visual-stage {
    position: relative;
    overflow: hidden;
    margin-top: 14px;
    padding: 14px;
    border: 1px solid rgba(92,208,255,.08);
    border-radius: 15px;
    background: rgba(3,12,22,.68);
  }

  .gsw__scanline {
    position: absolute;
    z-index: 1;
    left: 10px;
    right: 10px;
    top: 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(32,213,243,.65), transparent);
    box-shadow: 0 0 12px rgba(32,213,243,.25);
    animation: gswScan 5.2s ease-in-out infinite;
  }

  .gsw__visual-cards {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .gsw__visual-card {
    min-width: 0;
    min-height: 148px;
    display: flex;
    flex-direction: column;
    padding: 13px;
    border: 1px solid rgba(92,208,255,.11);
    border-radius: 13px;
    background: rgba(5,17,30,.88);
  }

  .gsw__visual-icon {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: var(--gsw-cyan);
    background: rgba(32,213,243,.06);
    animation: gswFloat 4.2s ease-in-out infinite;
  }

  .gsw__visual-card:nth-child(2) .gsw__visual-icon {
    color: var(--gsw-blue);
    animation-delay: -.9s;
  }

  .gsw__visual-card:nth-child(3) .gsw__visual-icon {
    color: var(--gsw-violet);
    animation-delay: -1.8s;
  }

  .gsw__visual-card:nth-child(4) .gsw__visual-icon {
    color: var(--gsw-green);
    animation-delay: -2.7s;
  }

  .gsw__visual-icon svg {
    width: 23px;
    height: 23px;
  }

  .gsw__visual-card small,
  .gsw__visual-card strong {
    display: block;
  }

  .gsw__visual-card small {
    margin-top: 11px;
    color: #71889d;
    font-size: 8px;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .gsw__visual-card strong {
    margin-top: 4px;
    color: #dcebf3;
    font-size: 11px;
    line-height: 1.42;
  }

  .gsw__visual-route {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin-top: 10px;
  }

  .gsw__visual-route span {
    min-width: 0;
    padding: 7px 5px;
    border: 1px solid rgba(92,208,255,.075);
    border-radius: 7px;
    color: #758d9d;
    background: rgba(5,17,30,.82);
    font-size: 7px;
    line-height: 1.3;
    font-weight: 650;
    text-align: center;
  }

  /* PRINCIPIOS */

  .gsw__principles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
  }

  .gsw__principle {
    --principle: var(--gsw-cyan);
    position: relative;
    min-width: 0;
    padding: 17px 15px;
    border: 1px solid color-mix(in srgb, var(--principle) 20%, transparent);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(8,22,39,.89), rgba(4,12,22,.97));
  }

  .gsw__principle:nth-child(2) { --principle: var(--gsw-yellow); }
  .gsw__principle:nth-child(3) { --principle: var(--gsw-green); }

  .gsw__principle::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 68px;
    height: 2px;
    background: linear-gradient(90deg, var(--principle), transparent);
  }

  .gsw__principle small,
  .gsw__principle strong,
  .gsw__principle span {
    display: block;
  }

  .gsw__principle small {
    color: var(--principle);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .gsw__principle strong {
    margin-top: 7px;
    color: #dfeef5;
    font-size: 11px;
    line-height: 1.4;
  }

  .gsw__principle span {
    margin-top: 6px;
    color: #758d9e;
    font-size: 9.5px;
    line-height: 1.58;
  }

  /* RESUMEN */

  .gsw__summary {
    margin-top: 16px;
    overflow: hidden;
    border: 1px solid rgba(139,92,246,.18);
    border-radius: 17px;
    background: linear-gradient(155deg, rgba(10,18,38,.95), rgba(4,9,20,.98));
  }

  .gsw__summary-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    padding: 9px 13px;
    border-bottom: 1px solid rgba(118,167,255,.10);
    color: #71889d;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  .gsw__summary-head strong {
    color: #9cefc0;
    font-size: 8px;
  }

  .gsw__summary-body {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 17px;
  }

  .gsw__summary-body span {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 6px 9px;
    border: 1px solid rgba(92,208,255,.08);
    border-radius: 7px;
    color: #879eae;
    background: rgba(6,18,31,.52);
    font-size: 9px;
  }

  .gsw__summary-body span:last-child {
    border-color: rgba(67,229,139,.14);
    color: #9cefc0;
    background: rgba(67,229,139,.035);
  }

  .gsw__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
    padding: 0 3px;
    color: #60788c;
    font-size: 9px;
    line-height: 1.45;
    font-weight: 650;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .gsw__footer-status {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #7791a5;
  }

  .gsw__footer-status::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsw-green);
    box-shadow: 0 0 7px rgba(67,229,139,.50);
  }

  @keyframes gswPulse {
    0%, 100% { opacity: .45; transform: scale(.88); }
    50% { opacity: 1; transform: scale(1.12); }
  }

  @keyframes gswFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
  }

  @keyframes gswScan {
    0%, 100% { top: 10%; opacity: .12; }
    50% { top: 88%; opacity: .70; }
  }

  @media (max-width: 1024px) {
    .gsw__heading {
      grid-template-columns: 1fr;
      gap: 20px;
    }

    .gsw__status {
      max-width: 650px;
    }

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

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

  @media (max-width: 767px) {
    #forma-trabajo-quienes-somos {
      padding: 64px 17px 70px;
    }

    .gsw__title {
      font-size: clamp(30px, 9.5vw, 40px);
    }

    .gsw__intro {
      font-size: 14px;
      line-height: 1.7;
    }

    .gsw__statement {
      grid-template-columns: 52px minmax(0, 1fr);
      gap: 12px;
    }

    .gsw__statement-state {
      grid-column: 1 / -1;
      width: fit-content;
    }

    .gsw__stages,
    .gsw__principles {
      grid-template-columns: 1fr;
    }

    .gsw__stage {
      min-height: 0;
    }

    .gsw__panel,
    .gsw__visual {
      padding: 18px 16px;
    }
  }

  @media (max-width: 520px) {
    .gsw__compare-grid,
    .gsw__visual-cards,
    .gsw__visual-route {
      grid-template-columns: 1fr;
    }

    .gsw__visual-card {
      min-height: 0;
    }

    .gsw__visual-head {
      align-items: flex-start;
    }
  }

  @media (max-width: 390px) {
    #forma-trabajo-quienes-somos {
      padding-right: 14px;
      padding-left: 14px;
    }

    .gsw__panel,
    .gsw__visual {
      padding-right: 13px;
      padding-left: 13px;
    }

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

  @media (prefers-reduced-motion: reduce) {
    #forma-trabajo-quienes-somos,
    #forma-trabajo-quienes-somos *,
    #forma-trabajo-quienes-somos *::before,
    #forma-trabajo-quienes-somos *::after {
      animation: none !important;
      transition: none !important;
      scroll-behavior: auto !important;
    }
  }


/* ===== CAPACIDAD ===== */
#capacidad-tecnica-quienes-somos {
    --gscap-cyan: #20d5f3;
    --gscap-blue: #3286ff;
    --gscap-violet: #8b5cf6;
    --gscap-green: #43e58b;
    --gscap-yellow: #ffc857;
    --gscap-orange: #ff9f43;
    --gscap-text: #edf8ff;
    --gscap-muted: #91a8bb;

    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    margin: 0;
    padding: clamp(76px, 8vw, 108px) 24px;
    color: var(--gscap-text);
    background:
      radial-gradient(circle at 10% 14%, rgba(32,213,243,.085), transparent 30%),
      radial-gradient(circle at 92% 20%, rgba(139,92,246,.065), transparent 31%),
      radial-gradient(circle at 74% 88%, rgba(67,229,139,.045), transparent 29%),
      linear-gradient(180deg, #030811 0%, #05101b 51%, #030811 100%);
    font-family: "Poppins", Arial, sans-serif;
    scroll-margin-top: 90px;
  }

  #capacidad-tecnica-quienes-somos *,
  #capacidad-tecnica-quienes-somos *::before,
  #capacidad-tecnica-quienes-somos *::after {
    box-sizing: border-box;
  }

  #capacidad-tecnica-quienes-somos svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gscapx__grid {
    position: absolute;
    z-index: -3;
    inset: 0;
    opacity: .26;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(42,183,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(42,183,255,.05) 1px, transparent 1px),
      radial-gradient(circle, rgba(32,213,243,.15) 1px, transparent 1.5px);
    background-size: 46px 46px, 46px 46px, 34px 34px;
  }

  .gscapx__glow {
    position: absolute;
    z-index: -2;
    width: 470px;
    height: 470px;
    border-radius: 50%;
    filter: blur(145px);
    pointer-events: none;
  }

  .gscapx__glow--cyan {
    top: 2%;
    left: -240px;
    opacity: .11;
    background: var(--gscap-cyan);
  }

  .gscapx__glow--violet {
    right: -240px;
    bottom: 3%;
    opacity: .12;
    background: var(--gscap-violet);
  }

  .gscapx__wrap {
    width: min(1180px, 100%);
    margin: 0 auto;
  }

  /* ENCABEZADO */

  .gscapx__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .52fr);
    gap: clamp(30px, 5vw, 48px);
    align-items: end;
    margin-bottom: 32px;
  }

  .gscapx__kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    padding: 7px 11px;
    border: 1px solid rgba(32,213,243,.19);
    border-radius: 999px;
    color: #9eeeff;
    background: rgba(7,28,41,.40);
    font-size: 10px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
  }

  .gscapx__kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gscap-cyan);
    box-shadow: 0 0 8px rgba(32,213,243,.80), 0 0 17px rgba(32,213,243,.22);
  }

  .gscapx__title {
    max-width: 850px;
    margin: 0;
    color: #f4fbff;
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1.08;
    font-weight: 750;
    letter-spacing: -.038em;
  }

  .gscapx__title span {
    color: var(--gscap-cyan);
  }

  .gscapx__intro {
    max-width: 850px;
    margin: 17px 0 0;
    color: var(--gscap-muted);
    font-size: 15px;
    line-height: 1.78;
  }

  .gscapx__status {
    position: relative;
    min-width: 0;
    padding: 18px 19px;
    overflow: hidden;
    border: 1px solid rgba(67,229,139,.15);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(10,39,28,.27), rgba(4,13,23,.88));
  }

  .gscapx__status::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 2px;
    background: linear-gradient(180deg, transparent, var(--gscap-green), transparent);
  }

  .gscapx__status-label {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #97efbe;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gscapx__status-label::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gscap-green);
    box-shadow: 0 0 8px rgba(67,229,139,.55);
    animation: gscapxPulse 2.4s ease-in-out infinite;
  }

  .gscapx__status p {
    margin: 0;
    color: #b5c8d6;
    font-size: 12px;
    line-height: 1.65;
  }

  /* PRINCIPIO CENTRAL */

  .gscapx__statement {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    margin-bottom: 20px;
    padding: 17px;
    border: 1px solid rgba(32,213,243,.16);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(32,213,243,.055), rgba(67,229,139,.025));
  }

  .gscapx__statement-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(32,213,243,.24);
    border-radius: 15px;
    color: #9ceeff;
    background: rgba(32,213,243,.05);
  }

  .gscapx__statement-icon svg {
    width: 29px;
    height: 29px;
  }

  .gscapx__statement strong,
  .gscapx__statement span {
    display: block;
  }

  .gscapx__statement strong {
    color: #e1f8ff;
    font-size: 14px;
    line-height: 1.4;
  }

  .gscapx__statement-copy span {
    margin-top: 5px;
    color: #8ba3b3;
    font-size: 11px;
    line-height: 1.6;
  }

  .gscapx__statement-state {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid rgba(67,229,139,.16);
    border-radius: 999px;
    color: #94efbc;
    background: rgba(67,229,139,.035);
    font-size: 9px;
    font-weight: 700;
    white-space: nowrap;
  }

  .gscapx__statement-state::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gscap-green);
    box-shadow: 0 0 7px rgba(67,229,139,.60);
  }

  /* CAPACIDADES */

  .gscapx__capabilities {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
  }

  .gscapx__capability {
    --cap-color: var(--gscap-cyan);
    position: relative;
    min-width: 0;
    min-height: 225px;
    padding: 18px 16px;
    overflow: hidden;
    border: 1px solid rgba(32,213,243,.14);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(8,22,39,.90), rgba(4,12,22,.97));
  }

  .gscapx__capability:nth-child(2) {
    --cap-color: var(--gscap-blue);
    border-color: rgba(50,134,255,.14);
  }

  .gscapx__capability:nth-child(3) {
    --cap-color: var(--gscap-violet);
    border-color: rgba(139,92,246,.14);
  }

  .gscapx__capability:nth-child(4) {
    --cap-color: var(--gscap-green);
    border-color: rgba(67,229,139,.14);
  }

  .gscapx__capability::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 80px;
    height: 2px;
    background: linear-gradient(90deg, var(--cap-color), transparent);
  }

  .gscapx__cap-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
  }

  .gscapx__cap-code {
    color: var(--cap-color);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .gscapx__cap-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(92,208,255,.10);
    border-radius: 12px;
    color: var(--cap-color);
    background: rgba(5,17,30,.66);
    animation: gscapxFloat 4s ease-in-out infinite;
  }

  .gscapx__capability:nth-child(2) .gscapx__cap-icon { animation-delay: -.8s; }
  .gscapx__capability:nth-child(3) .gscapx__cap-icon { animation-delay: -1.6s; }
  .gscapx__capability:nth-child(4) .gscapx__cap-icon { animation-delay: -2.4s; }

  .gscapx__cap-icon svg {
    width: 25px;
    height: 25px;
  }

  .gscapx__capability h3 {
    margin: 15px 0 7px;
    color: #e2eef5;
    font-size: 14px;
    line-height: 1.38;
  }

  .gscapx__capability p {
    margin: 0;
    color: #7d95a5;
    font-size: 10px;
    line-height: 1.62;
  }

  /* INFRAESTRUCTURA + VISUAL */

  .gscapx__main {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
    gap: 14px;
    margin-top: 16px;
    align-items: stretch;
  }

  .gscapx__infra,
  .gscapx__visual {
    min-width: 0;
    padding: 23px;
    border-radius: 20px;
  }

  .gscapx__infra {
    border: 1px solid rgba(92,208,255,.14);
    background: linear-gradient(145deg, rgba(8,22,39,.92), rgba(4,12,22,.97));
  }

  .gscapx__panel-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px;
    color: #8ceeff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
  }

  .gscapx__panel-label::before {
    content: "";
    width: 14px;
    height: 1px;
    background: currentColor;
    box-shadow: 0 0 8px currentColor;
  }

  .gscapx__infra h3 {
    margin: 0;
    color: #f2faff;
    font-size: 21px;
    line-height: 1.32;
  }

  .gscapx__infra > p {
    margin: 10px 0 0;
    color: var(--gscap-muted);
    font-size: 12px;
    line-height: 1.7;
  }

  .gscapx__tools {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 17px;
  }

  .gscapx__tool {
    --tool-color: var(--gscap-cyan);
    min-width: 0;
    display: grid;
    grid-template-columns: 45px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    padding: 13px;
    border: 1px solid rgba(32,213,243,.12);
    border-radius: 13px;
    background: rgba(6,18,31,.54);
  }

  .gscapx__tool:nth-child(2) {
    --tool-color: var(--gscap-blue);
    border-color: rgba(50,134,255,.12);
  }

  .gscapx__tool:nth-child(3) {
    --tool-color: var(--gscap-orange);
    border-color: rgba(255,159,67,.12);
  }

  .gscapx__tool:nth-child(4) {
    --tool-color: var(--gscap-violet);
    border-color: rgba(139,92,246,.12);
  }

  .gscapx__tool:nth-child(5) {
    --tool-color: var(--gscap-green);
    border-color: rgba(67,229,139,.12);
  }

  .gscapx__tool:nth-child(6) {
    --tool-color: var(--gscap-yellow);
    border-color: rgba(255,200,87,.12);
  }

  .gscapx__tool-icon {
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: var(--tool-color);
    background: rgba(255,255,255,.025);
    animation: gscapxFloat 4.4s ease-in-out infinite;
  }

  .gscapx__tool:nth-child(2) .gscapx__tool-icon { animation-delay: -.6s; }
  .gscapx__tool:nth-child(3) .gscapx__tool-icon { animation-delay: -1.2s; }
  .gscapx__tool:nth-child(4) .gscapx__tool-icon { animation-delay: -1.8s; }
  .gscapx__tool:nth-child(5) .gscapx__tool-icon { animation-delay: -2.4s; }
  .gscapx__tool:nth-child(6) .gscapx__tool-icon { animation-delay: -3s; }

  .gscapx__tool-icon svg {
    width: 25px;
    height: 25px;
  }

  .gscapx__tool small,
  .gscapx__tool strong,
  .gscapx__tool span {
    display: block;
  }

  .gscapx__tool small {
    color: var(--tool-color);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
  }

  .gscapx__tool strong {
    margin-top: 4px;
    color: #dcecf6;
    font-size: 11px;
    line-height: 1.4;
  }

  .gscapx__tool span {
    margin-top: 5px;
    color: #7890a3;
    font-size: 9px;
    line-height: 1.55;
  }

  .gscapx__tool-note {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    margin-top: 13px;
    padding: 12px;
    border: 1px solid rgba(67,229,139,.13);
    border-radius: 12px;
    background: rgba(67,229,139,.03);
  }

  .gscapx__tool-note > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: var(--gscap-green);
    background: rgba(67,229,139,.055);
  }

  .gscapx__tool-note svg {
    width: 21px;
    height: 21px;
  }

  .gscapx__tool-note p {
    margin: 0;
    color: #9badb7;
    font-size: 10px;
    line-height: 1.6;
  }

  .gscapx__tool-note strong {
    color: #dcf7e8;
  }

  /* VISUAL DE MESA DE DIAGNÓSTICO */

  .gscapx__visual {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(139,92,246,.17);
    background:
      radial-gradient(circle at 50% 42%, rgba(32,213,243,.08), transparent 36%),
      linear-gradient(145deg, rgba(24,18,45,.38), rgba(4,12,22,.97));
  }

  .gscapx__visual-grid {
    position: absolute;
    inset: 0;
    opacity: .31;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(32,213,243,.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(32,213,243,.035) 1px, transparent 1px);
    background-size: 27px 27px;
  }

  .gscapx__visual > *:not(.gscapx__visual-grid) {
    position: relative;
    z-index: 2;
  }

  .gscapx__visual-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .gscapx__visual-head > span {
    color: #bdadff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .gscapx__visual-head > strong {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border: 1px solid rgba(67,229,139,.17);
    border-radius: 999px;
    color: #94efbc;
    background: rgba(67,229,139,.035);
    font-size: 8px;
  }

  .gscapx__visual-head > strong::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gscap-green);
    box-shadow: 0 0 7px rgba(67,229,139,.62);
    animation: gscapxPulse 2.4s ease-in-out infinite;
  }

  .gscapx__bench {
    position: relative;
    overflow: hidden;
    min-height: 338px;
    display: grid;
    place-items: center;
    margin-top: 14px;
    padding: 20px;
    border: 1px solid rgba(92,208,255,.08);
    border-radius: 15px;
    background: rgba(3,12,22,.68);
  }

  .gscapx__scanline {
    position: absolute;
    z-index: 1;
    left: 12px;
    right: 12px;
    top: 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(32,213,243,.68), transparent);
    box-shadow: 0 0 12px rgba(32,213,243,.24);
    animation: gscapxScan 5.4s ease-in-out infinite;
  }

  .gscapx__bench svg {
    position: relative;
    z-index: 2;
    width: min(350px, 100%);
    height: auto;
    color: rgba(32,213,243,.76);
    filter: drop-shadow(0 0 12px rgba(32,213,243,.10));
    animation: gscapxFloat 4.8s ease-in-out infinite;
  }

  .gscapx__bench .gscapx-svg-accent {
    stroke: rgba(139,92,246,.72);
  }

  .gscapx__bench .gscapx-svg-green {
    stroke: rgba(67,229,139,.78);
  }

  .gscapx__bench .gscapx-svg-yellow {
    stroke: rgba(255,200,87,.78);
  }

  .gscapx__visual-legend {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
  }

  .gscapx__visual-legend article {
    min-width: 0;
    padding: 10px;
    border: 1px solid rgba(92,208,255,.08);
    border-radius: 11px;
    background: rgba(255,255,255,.016);
  }

  .gscapx__visual-legend small,
  .gscapx__visual-legend strong {
    display: block;
  }

  .gscapx__visual-legend small {
    color: #6f899d;
    font-size: 7px;
    text-transform: uppercase;
  }

  .gscapx__visual-legend strong {
    margin-top: 3px;
    color: #d5e3ed;
    font-size: 9px;
    line-height: 1.4;
  }

  /* PRINCIPIOS */

  .gscapx__principles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
  }

  .gscapx__principle {
    --principle-color: var(--gscap-cyan);
    position: relative;
    min-width: 0;
    padding: 17px 15px;
    border: 1px solid rgba(32,213,243,.13);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(8,22,39,.89), rgba(4,12,22,.97));
  }

  .gscapx__principle:nth-child(2) {
    --principle-color: var(--gscap-violet);
    border-color: rgba(139,92,246,.13);
  }

  .gscapx__principle:nth-child(3) {
    --principle-color: var(--gscap-green);
    border-color: rgba(67,229,139,.13);
  }

  .gscapx__principle::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 68px;
    height: 2px;
    background: linear-gradient(90deg, var(--principle-color), transparent);
  }

  .gscapx__principle small,
  .gscapx__principle strong,
  .gscapx__principle span {
    display: block;
  }

  .gscapx__principle small {
    color: var(--principle-color);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .gscapx__principle strong {
    margin-top: 7px;
    color: #dfeef5;
    font-size: 11px;
    line-height: 1.4;
  }

  .gscapx__principle span {
    margin-top: 6px;
    color: #758d9e;
    font-size: 9.5px;
    line-height: 1.58;
  }

  /* RESUMEN */

  .gscapx__summary {
    margin-top: 16px;
    overflow: hidden;
    border: 1px solid rgba(139,92,246,.18);
    border-radius: 17px;
    background: linear-gradient(155deg, rgba(10,18,38,.95), rgba(4,9,20,.98));
  }

  .gscapx__summary-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    padding: 9px 13px;
    border-bottom: 1px solid rgba(118,167,255,.10);
    color: #71889d;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  .gscapx__summary-head strong {
    color: #9cefc0;
    font-size: 8px;
  }

  .gscapx__summary-body {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 17px;
  }

  .gscapx__summary-body span {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 6px 9px;
    border: 1px solid rgba(92,208,255,.08);
    border-radius: 7px;
    color: #879eae;
    background: rgba(6,18,31,.52);
    font-size: 9px;
  }

  .gscapx__summary-body span:last-child {
    border-color: rgba(67,229,139,.14);
    color: #9cefc0;
    background: rgba(67,229,139,.035);
  }

  .gscapx__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
    padding: 0 3px;
    color: #60788c;
    font-size: 9px;
    line-height: 1.45;
    font-weight: 650;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .gscapx__footer-status {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #7791a5;
  }

  .gscapx__footer-status::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gscap-green);
    box-shadow: 0 0 7px rgba(67,229,139,.50);
  }

  @keyframes gscapxPulse {
    0%, 100% { opacity: .45; transform: scale(.88); }
    50% { opacity: 1; transform: scale(1.12); }
  }

  @keyframes gscapxFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
  }

  @keyframes gscapxScan {
    0%, 100% { top: 10%; opacity: .12; }
    50% { top: 88%; opacity: .72; }
  }

  @media (max-width: 1024px) {
    .gscapx__heading {
      grid-template-columns: 1fr;
      gap: 20px;
    }

    .gscapx__status {
      max-width: 650px;
    }

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

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

  @media (max-width: 767px) {
    #capacidad-tecnica-quienes-somos {
      padding: 64px 17px 70px;
    }

    .gscapx__title {
      font-size: clamp(30px, 9.5vw, 40px);
    }

    .gscapx__intro {
      font-size: 14px;
      line-height: 1.7;
    }

    .gscapx__statement {
      grid-template-columns: 52px minmax(0, 1fr);
      gap: 12px;
    }

    .gscapx__statement-state {
      grid-column: 1 / -1;
      width: fit-content;
    }

    .gscapx__capabilities,
    .gscapx__principles {
      grid-template-columns: 1fr;
    }

    .gscapx__capability {
      min-height: 0;
    }

    .gscapx__infra,
    .gscapx__visual {
      padding: 18px 16px;
    }

    .gscapx__bench {
      min-height: 300px;
    }
  }

  @media (max-width: 560px) {
    .gscapx__tools,
    .gscapx__visual-legend {
      grid-template-columns: 1fr;
    }

    .gscapx__tool {
      grid-template-columns: 43px minmax(0, 1fr);
    }

    .gscapx__visual-head {
      align-items: flex-start;
    }
  }

  @media (max-width: 390px) {
    #capacidad-tecnica-quienes-somos {
      padding-right: 14px;
      padding-left: 14px;
    }

    .gscapx__infra,
    .gscapx__visual {
      padding-right: 13px;
      padding-left: 13px;
    }

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

    .gscapx__bench {
      min-height: 265px;
      padding: 14px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #capacidad-tecnica-quienes-somos,
    #capacidad-tecnica-quienes-somos *,
    #capacidad-tecnica-quienes-somos *::before,
    #capacidad-tecnica-quienes-somos *::after {
      animation: none !important;
      transition: none !important;
      scroll-behavior: auto !important;
    }
  }


/* ===== PRINCIPIOS ===== */
#principios-servicio-quienes-somos {
    --gsp-cyan: #20d5f3;
    --gsp-blue: #3286ff;
    --gsp-violet: #8b5cf6;
    --gsp-green: #43e58b;
    --gsp-yellow: #ffc857;
    --gsp-red: #ff637d;
    --gsp-text: #edf8ff;
    --gsp-muted: #91a8bb;

    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    margin: 0;
    padding: clamp(76px, 8vw, 108px) 24px;
    color: var(--gsp-text);
    background:
      radial-gradient(circle at 12% 15%, rgba(32,213,243,.075), transparent 30%),
      radial-gradient(circle at 90% 22%, rgba(139,92,246,.060), transparent 31%),
      radial-gradient(circle at 75% 88%, rgba(67,229,139,.042), transparent 29%),
      linear-gradient(180deg, #030811 0%, #05101b 50%, #030811 100%);
    font-family: "Poppins", Arial, sans-serif;
    scroll-margin-top: 90px;
  }

  #principios-servicio-quienes-somos *,
  #principios-servicio-quienes-somos *::before,
  #principios-servicio-quienes-somos *::after {
    box-sizing: border-box;
  }

  #principios-servicio-quienes-somos svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsp__grid {
    position: absolute;
    z-index: -3;
    inset: 0;
    opacity: .26;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(42,183,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(42,183,255,.05) 1px, transparent 1px),
      radial-gradient(circle, rgba(32,213,243,.14) 1px, transparent 1.5px);
    background-size: 46px 46px, 46px 46px, 34px 34px;
  }

  .gsp__glow {
    position: absolute;
    z-index: -2;
    width: 470px;
    height: 470px;
    border-radius: 50%;
    filter: blur(145px);
    pointer-events: none;
  }

  .gsp__glow--cyan {
    top: 2%;
    left: -240px;
    opacity: .10;
    background: var(--gsp-cyan);
  }

  .gsp__glow--violet {
    right: -240px;
    bottom: 4%;
    opacity: .11;
    background: var(--gsp-violet);
  }

  .gsp__wrap {
    width: min(1180px, 100%);
    margin: 0 auto;
  }

  /* ENCABEZADO */

  .gsp__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .52fr);
    gap: clamp(30px, 5vw, 48px);
    align-items: end;
    margin-bottom: 32px;
  }

  .gsp__kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    padding: 7px 11px;
    border: 1px solid rgba(32,213,243,.19);
    border-radius: 999px;
    color: #9eeeff;
    background: rgba(7,28,41,.40);
    font-size: 10px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
  }

  .gsp__kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gsp-cyan);
    box-shadow: 0 0 8px rgba(32,213,243,.8), 0 0 17px rgba(32,213,243,.22);
  }

  .gsp__title {
    max-width: 850px;
    margin: 0;
    color: #f4fbff;
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1.08;
    font-weight: 750;
    letter-spacing: -.038em;
  }

  .gsp__title span {
    color: var(--gsp-cyan);
  }

  .gsp__intro {
    max-width: 850px;
    margin: 17px 0 0;
    color: var(--gsp-muted);
    font-size: 15px;
    line-height: 1.78;
  }

  .gsp__status {
    position: relative;
    min-width: 0;
    padding: 18px 19px;
    overflow: hidden;
    border: 1px solid rgba(67,229,139,.15);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(10,39,28,.27), rgba(4,13,23,.88));
  }

  .gsp__status::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 2px;
    background: linear-gradient(180deg, transparent, var(--gsp-green), transparent);
  }

  .gsp__status-label {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #97efbe;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gsp__status-label::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gsp-green);
    box-shadow: 0 0 8px rgba(67,229,139,.55);
    animation: gspPulse 2.4s ease-in-out infinite;
  }

  .gsp__status p {
    margin: 0;
    color: #b5c8d6;
    font-size: 12px;
    line-height: 1.65;
  }

  /* PRINCIPIO CENTRAL */

  .gsp__statement {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    margin-bottom: 20px;
    padding: 17px;
    border: 1px solid rgba(32,213,243,.16);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(32,213,243,.055), rgba(67,229,139,.025));
  }

  .gsp__statement-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(32,213,243,.24);
    border-radius: 15px;
    color: #9ceeff;
    background: rgba(32,213,243,.05);
  }

  .gsp__statement-icon svg {
    width: 29px;
    height: 29px;
  }

  .gsp__statement strong,
  .gsp__statement span {
    display: block;
  }

  .gsp__statement strong {
    color: #e1f8ff;
    font-size: 14px;
    line-height: 1.4;
  }

  .gsp__statement-copy span {
    margin-top: 5px;
    color: #8ba3b3;
    font-size: 11px;
    line-height: 1.6;
  }

  .gsp__statement-state {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid rgba(67,229,139,.16);
    border-radius: 999px;
    color: #94efbc;
    background: rgba(67,229,139,.035);
    font-size: 9px;
    font-weight: 700;
    white-space: nowrap;
  }

  .gsp__statement-state::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsp-green);
    box-shadow: 0 0 7px rgba(67,229,139,.60);
  }

  /* CUATRO PRINCIPIOS */

  .gsp__cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
  }

  .gsp__card {
    --principle: var(--gsp-cyan);
    position: relative;
    min-width: 0;
    min-height: 230px;
    padding: 18px 16px;
    overflow: hidden;
    border: 1px solid rgba(32,213,243,.14);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(8,22,39,.90), rgba(4,12,22,.97));
  }

  .gsp__card:nth-child(2) {
    --principle: var(--gsp-blue);
    border-color: rgba(50,134,255,.14);
  }

  .gsp__card:nth-child(3) {
    --principle: var(--gsp-violet);
    border-color: rgba(139,92,246,.14);
  }

  .gsp__card:nth-child(4) {
    --principle: var(--gsp-green);
    border-color: rgba(67,229,139,.14);
  }

  .gsp__card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 80px;
    height: 2px;
    background: linear-gradient(90deg, var(--principle), transparent);
  }

  .gsp__card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
  }

  .gsp__card-code {
    color: var(--principle);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .gsp__card-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(92,208,255,.10);
    border-radius: 12px;
    color: var(--principle);
    background: rgba(5,17,30,.66);
    animation: gspFloat 4s ease-in-out infinite;
  }

  .gsp__card:nth-child(2) .gsp__card-icon { animation-delay: -.8s; }
  .gsp__card:nth-child(3) .gsp__card-icon { animation-delay: -1.6s; }
  .gsp__card:nth-child(4) .gsp__card-icon { animation-delay: -2.4s; }

  .gsp__card-icon svg {
    width: 25px;
    height: 25px;
  }

  .gsp__card h3 {
    margin: 15px 0 7px;
    color: #e2eef5;
    font-size: 14px;
    line-height: 1.38;
  }

  .gsp__card p {
    margin: 0;
    color: #7d95a5;
    font-size: 10px;
    line-height: 1.62;
  }

  /* CONDUCTA + VISUAL */

  .gsp__main {
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(360px, .97fr);
    gap: 14px;
    margin-top: 16px;
    align-items: stretch;
  }

  .gsp__conduct,
  .gsp__visual {
    min-width: 0;
    padding: 23px;
    border-radius: 20px;
  }

  .gsp__conduct {
    border: 1px solid rgba(92,208,255,.14);
    background: linear-gradient(145deg, rgba(8,22,39,.92), rgba(4,12,22,.97));
  }

  .gsp__panel-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px;
    color: #8ceeff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
  }

  .gsp__panel-label::before {
    content: "";
    width: 14px;
    height: 1px;
    background: currentColor;
    box-shadow: 0 0 8px currentColor;
  }

  .gsp__conduct h3 {
    margin: 0;
    color: #f2faff;
    font-size: 21px;
    line-height: 1.32;
  }

  .gsp__conduct > p {
    margin: 10px 0 0;
    color: var(--gsp-muted);
    font-size: 12px;
    line-height: 1.7;
  }

  .gsp__compare {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 17px;
  }

  .gsp__compare-card {
    --compare: var(--gsp-green);
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(67,229,139,.13);
    border-radius: 13px;
    background: rgba(6,18,31,.56);
  }

  .gsp__compare-card:last-child {
    --compare: var(--gsp-yellow);
    border-color: rgba(255,200,87,.13);
  }

  .gsp__compare-card > small {
    display: block;
    margin-bottom: 10px;
    color: var(--compare);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .gsp__list {
    display: grid;
    gap: 8px;
  }

  .gsp__list-item {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    color: #8197a6;
    font-size: 10px;
    line-height: 1.55;
  }

  .gsp__list-item > span:first-child {
    width: 18px;
    height: 18px;
    display: grid;
    place-items: center;
    margin-top: 1px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
    color: var(--compare);
    font-size: 8px;
    font-weight: 800;
  }

  .gsp__change {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    margin-top: 12px;
    padding: 13px;
    border: 1px solid rgba(139,92,246,.14);
    border-radius: 12px;
    background: rgba(139,92,246,.03);
  }

  .gsp__change-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: #c5b9ff;
    background: rgba(139,92,246,.055);
  }

  .gsp__change-icon svg {
    width: 23px;
    height: 23px;
  }

  .gsp__change small,
  .gsp__change strong {
    display: block;
  }

  .gsp__change small {
    color: #b9aaff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .gsp__change strong {
    margin-top: 4px;
    color: #e1dfff;
    font-size: 11px;
    line-height: 1.52;
  }

  .gsp__change p {
    margin: 5px 0 0;
    color: #899da9;
    font-size: 10px;
    line-height: 1.62;
  }

  /* VISUAL LIMPIO */

  .gsp__visual {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(139,92,246,.17);
    background:
      radial-gradient(circle at 50% 43%, rgba(32,213,243,.075), transparent 38%),
      linear-gradient(145deg, rgba(24,18,45,.38), rgba(4,12,22,.97));
  }

  .gsp__visual-grid {
    position: absolute;
    inset: 0;
    opacity: .31;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(32,213,243,.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(32,213,243,.035) 1px, transparent 1px);
    background-size: 27px 27px;
  }

  .gsp__visual > *:not(.gsp__visual-grid) {
    position: relative;
    z-index: 2;
  }

  .gsp__visual-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .gsp__visual-head > span {
    color: #bdadff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .gsp__visual-head > strong {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border: 1px solid rgba(67,229,139,.17);
    border-radius: 999px;
    color: #94efbc;
    background: rgba(67,229,139,.035);
    font-size: 8px;
  }

  .gsp__visual-head > strong::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsp-green);
    box-shadow: 0 0 7px rgba(67,229,139,.62);
    animation: gspPulse 2.4s ease-in-out infinite;
  }

  .gsp__visual-stage {
    position: relative;
    overflow: hidden;
    margin-top: 14px;
    padding: 16px;
    border: 1px solid rgba(92,208,255,.08);
    border-radius: 15px;
    background: rgba(3,12,22,.68);
  }

  .gsp__scanline {
    position: absolute;
    z-index: 1;
    left: 12px;
    right: 12px;
    top: 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(32,213,243,.68), transparent);
    box-shadow: 0 0 12px rgba(32,213,243,.24);
    animation: gspScan 5.4s ease-in-out infinite;
  }

  .gsp__visual-icon {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: 205px;
    display: grid;
    place-items: center;
  }

  .gsp__visual-icon svg {
    width: min(300px, 82%);
    height: auto;
    color: rgba(32,213,243,.80);
    filter: drop-shadow(0 0 13px rgba(32,213,243,.12));
    animation: gspFloat 4.8s ease-in-out infinite;
  }

  .gsp__visual-icon .gsp-svg-violet { stroke: rgba(139,92,246,.72); }
  .gsp__visual-icon .gsp-svg-green { stroke: rgba(67,229,139,.78); }
  .gsp__visual-icon .gsp-svg-yellow { stroke: rgba(255,200,87,.78); }

  .gsp__route {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    margin-top: 10px;
  }

  .gsp__route article {
    min-width: 0;
    padding: 9px 7px;
    border: 1px solid rgba(92,208,255,.08);
    border-radius: 9px;
    background: rgba(5,17,30,.82);
  }

  .gsp__route small,
  .gsp__route strong {
    display: block;
  }

  .gsp__route small {
    color: var(--gsp-cyan);
    font-size: 7px;
    font-weight: 800;
  }

  .gsp__route strong {
    margin-top: 3px;
    color: #cddde8;
    font-size: 8px;
    line-height: 1.35;
  }

  /* VALORES */

  .gsp__values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
  }

  .gsp__value {
    --value: var(--gsp-cyan);
    position: relative;
    min-width: 0;
    padding: 17px 15px;
    border: 1px solid rgba(32,213,243,.13);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(8,22,39,.89), rgba(4,12,22,.97));
  }

  .gsp__value:nth-child(2) {
    --value: var(--gsp-violet);
    border-color: rgba(139,92,246,.13);
  }

  .gsp__value:nth-child(3) {
    --value: var(--gsp-green);
    border-color: rgba(67,229,139,.13);
  }

  .gsp__value::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 68px;
    height: 2px;
    background: linear-gradient(90deg, var(--value), transparent);
  }

  .gsp__value small,
  .gsp__value strong,
  .gsp__value span {
    display: block;
  }

  .gsp__value small {
    color: var(--value);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .gsp__value strong {
    margin-top: 7px;
    color: #dfeef5;
    font-size: 11px;
    line-height: 1.4;
  }

  .gsp__value span {
    margin-top: 6px;
    color: #758d9e;
    font-size: 9.5px;
    line-height: 1.58;
  }

  .gsp__limits {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin-top: 14px;
    padding: 15px;
    border: 1px solid rgba(67,229,139,.12);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(67,229,139,.032), rgba(32,213,243,.022));
  }

  .gsp__limits-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--gsp-green);
    background: rgba(67,229,139,.055);
  }

  .gsp__limits-icon svg {
    width: 24px;
    height: 24px;
  }

  .gsp__limits strong {
    display: block;
    color: #dbeee5;
    font-size: 11px;
    line-height: 1.45;
  }

  .gsp__limits p {
    margin: 5px 0 0;
    color: #849aaa;
    font-size: 10px;
    line-height: 1.6;
  }

  .gsp__limits-state {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #9cefc0;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .gsp__limits-state::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gsp-green);
    box-shadow: 0 0 7px rgba(67,229,139,.55);
  }

  /* RESUMEN */

  .gsp__summary {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid rgba(139,92,246,.18);
    border-radius: 17px;
    background: linear-gradient(155deg, rgba(10,18,38,.95), rgba(4,9,20,.98));
  }

  .gsp__summary-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    padding: 9px 13px;
    border-bottom: 1px solid rgba(118,167,255,.10);
    color: #71889d;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  .gsp__summary-head strong {
    color: #9cefc0;
    font-size: 8px;
  }

  .gsp__summary-body {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 17px;
  }

  .gsp__summary-body span {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 6px 9px;
    border: 1px solid rgba(92,208,255,.08);
    border-radius: 7px;
    color: #879eae;
    background: rgba(6,18,31,.52);
    font-size: 9px;
  }

  .gsp__summary-body span:last-child {
    border-color: rgba(67,229,139,.14);
    color: #9cefc0;
    background: rgba(67,229,139,.035);
  }

  .gsp__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
    padding: 0 3px;
    color: #60788c;
    font-size: 9px;
    line-height: 1.45;
    font-weight: 650;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .gsp__footer-status {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #7791a5;
  }

  .gsp__footer-status::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsp-green);
    box-shadow: 0 0 7px rgba(67,229,139,.50);
  }

  @keyframes gspPulse {
    0%, 100% { opacity: .45; transform: scale(.88); }
    50% { opacity: 1; transform: scale(1.12); }
  }

  @keyframes gspFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
  }

  @keyframes gspScan {
    0%, 100% { top: 10%; opacity: .12; }
    50% { top: 88%; opacity: .72; }
  }

  @media (max-width: 1024px) {
    .gsp__heading {
      grid-template-columns: 1fr;
      gap: 20px;
    }

    .gsp__status {
      max-width: 650px;
    }

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

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

  @media (max-width: 767px) {
    #principios-servicio-quienes-somos {
      padding: 64px 17px 70px;
    }

    .gsp__title {
      font-size: clamp(30px, 9.5vw, 40px);
    }

    .gsp__intro {
      font-size: 14px;
      line-height: 1.7;
    }

    .gsp__statement {
      grid-template-columns: 52px minmax(0, 1fr);
      gap: 12px;
    }

    .gsp__statement-state {
      grid-column: 1 / -1;
      width: fit-content;
    }

    .gsp__cards,
    .gsp__values {
      grid-template-columns: 1fr;
    }

    .gsp__card {
      min-height: 0;
    }

    .gsp__conduct,
    .gsp__visual {
      padding: 18px 16px;
    }

    .gsp__limits {
      grid-template-columns: 48px minmax(0, 1fr);
    }

    .gsp__limits-state {
      grid-column: 1 / -1;
      width: fit-content;
    }
  }

  @media (max-width: 560px) {
    .gsp__compare,
    .gsp__route {
      grid-template-columns: 1fr;
    }

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

    .gsp__visual-head {
      align-items: flex-start;
    }
  }

  @media (max-width: 390px) {
    #principios-servicio-quienes-somos {
      padding-right: 14px;
      padding-left: 14px;
    }

    .gsp__conduct,
    .gsp__visual {
      padding-right: 13px;
      padding-left: 13px;
    }

    .gsp__statement,
    .gsp__limits {
      grid-template-columns: 1fr;
    }

    .gsp__visual-stage {
      padding-right: 12px;
      padding-left: 12px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #principios-servicio-quienes-somos,
    #principios-servicio-quienes-somos *,
    #principios-servicio-quienes-somos *::before,
    #principios-servicio-quienes-somos *::after {
      animation: none !important;
      transition: none !important;
      scroll-behavior: auto !important;
    }
  }


/* ===== INDEPENDIENTE ===== */
#servicio-independiente-quienes-somos {
    --gsi-cyan: #20d5f3;
    --gsi-blue: #3286ff;
    --gsi-violet: #8b5cf6;
    --gsi-green: #43e58b;
    --gsi-yellow: #ffc857;
    --gsi-text: #edf8ff;
    --gsi-muted: #91a8bb;

    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    margin: 0;
    padding: clamp(76px, 8vw, 108px) 24px;
    color: var(--gsi-text);
    background:
      radial-gradient(circle at 12% 15%, rgba(32,213,243,.080), transparent 30%),
      radial-gradient(circle at 90% 22%, rgba(139,92,246,.060), transparent 31%),
      radial-gradient(circle at 74% 88%, rgba(67,229,139,.042), transparent 29%),
      linear-gradient(180deg, #030811 0%, #05101b 50%, #030811 100%);
    font-family: "Poppins", Arial, sans-serif;
    scroll-margin-top: 90px;
  }

  #servicio-independiente-quienes-somos *,
  #servicio-independiente-quienes-somos *::before,
  #servicio-independiente-quienes-somos *::after {
    box-sizing: border-box;
  }

  #servicio-independiente-quienes-somos svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsi__grid {
    position: absolute;
    z-index: -3;
    inset: 0;
    opacity: .26;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(42,183,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(42,183,255,.05) 1px, transparent 1px),
      radial-gradient(circle, rgba(32,213,243,.14) 1px, transparent 1.5px);
    background-size: 46px 46px, 46px 46px, 34px 34px;
  }

  .gsi__glow {
    position: absolute;
    z-index: -2;
    width: 470px;
    height: 470px;
    border-radius: 50%;
    filter: blur(145px);
    pointer-events: none;
  }

  .gsi__glow--cyan {
    top: 2%;
    left: -240px;
    opacity: .10;
    background: var(--gsi-cyan);
  }

  .gsi__glow--violet {
    right: -240px;
    bottom: 4%;
    opacity: .11;
    background: var(--gsi-violet);
  }

  .gsi__wrap {
    width: min(1180px, 100%);
    margin: 0 auto;
  }

  /* ENCABEZADO */

  .gsi__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .52fr);
    gap: clamp(30px, 5vw, 48px);
    align-items: end;
    margin-bottom: 32px;
  }

  .gsi__kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    padding: 7px 11px;
    border: 1px solid rgba(32,213,243,.19);
    border-radius: 999px;
    color: #9eeeff;
    background: rgba(7,28,41,.40);
    font-size: 10px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
  }

  .gsi__kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gsi-cyan);
    box-shadow: 0 0 8px rgba(32,213,243,.8), 0 0 17px rgba(32,213,243,.22);
  }

  .gsi__title {
    max-width: 850px;
    margin: 0;
    color: #f4fbff;
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1.08;
    font-weight: 750;
    letter-spacing: -.038em;
  }

  .gsi__title span {
    color: var(--gsi-cyan);
  }

  .gsi__intro {
    max-width: 850px;
    margin: 17px 0 0;
    color: var(--gsi-muted);
    font-size: 15px;
    line-height: 1.78;
  }

  .gsi__status {
    position: relative;
    min-width: 0;
    padding: 18px 19px;
    overflow: hidden;
    border: 1px solid rgba(67,229,139,.15);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(10,39,28,.27), rgba(4,13,23,.88));
  }

  .gsi__status::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 2px;
    background: linear-gradient(180deg, transparent, var(--gsi-green), transparent);
  }

  .gsi__status-label {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #97efbe;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gsi__status-label::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gsi-green);
    box-shadow: 0 0 8px rgba(67,229,139,.55);
    animation: gsiPulse 2.4s ease-in-out infinite;
  }

  .gsi__status p {
    margin: 0;
    color: #b5c8d6;
    font-size: 12px;
    line-height: 1.65;
  }

  /* MENSAJE CENTRAL */

  .gsi__statement {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    margin-bottom: 20px;
    padding: 17px;
    border: 1px solid rgba(32,213,243,.16);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(32,213,243,.055), rgba(139,92,246,.025));
  }

  .gsi__statement-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(32,213,243,.24);
    border-radius: 15px;
    color: #9ceeff;
    background: rgba(32,213,243,.05);
  }

  .gsi__statement-icon svg {
    width: 29px;
    height: 29px;
  }

  .gsi__statement strong,
  .gsi__statement span {
    display: block;
  }

  .gsi__statement strong {
    color: #e1f8ff;
    font-size: 14px;
    line-height: 1.4;
  }

  .gsi__statement-copy span {
    margin-top: 5px;
    color: #8ba3b3;
    font-size: 11px;
    line-height: 1.6;
  }

  .gsi__statement-state {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid rgba(67,229,139,.16);
    border-radius: 999px;
    color: #94efbc;
    background: rgba(67,229,139,.035);
    font-size: 9px;
    font-weight: 700;
    white-space: nowrap;
  }

  .gsi__statement-state::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsi-green);
    box-shadow: 0 0 7px rgba(67,229,139,.60);
  }

  /* CATEGORÍAS */

  .gsi__devices {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
  }

  .gsi__device {
    --device: var(--gsi-cyan);
    position: relative;
    min-width: 0;
    min-height: 226px;
    padding: 18px 16px;
    overflow: hidden;
    border: 1px solid rgba(32,213,243,.14);
    border-radius: 16px;
    color: inherit;
    background: linear-gradient(145deg, rgba(8,22,39,.90), rgba(4,12,22,.97));
    text-decoration: none !important;
    cursor: pointer;
    transition:
      transform .22s ease,
      border-color .22s ease,
      box-shadow .22s ease,
      background .22s ease;
  }

  .gsi__device:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 34px rgba(0,0,0,.24);
    text-decoration: none !important;
  }

  .gsi__device:focus-visible {
    outline: 2px solid var(--device);
    outline-offset: 4px;
    transform: translateY(-3px);
    box-shadow:
      0 0 0 4px rgba(3,8,17,.90),
      0 0 0 6px color-mix(in srgb, var(--device) 35%, transparent);
    text-decoration: none !important;
  }

  #servicio-independiente-quienes-somos a.gsi__device,
  #servicio-independiente-quienes-somos a.gsi__device:hover,
  #servicio-independiente-quienes-somos a.gsi__device:focus,
  #servicio-independiente-quienes-somos a.gsi__device:active,
  #servicio-independiente-quienes-somos a.gsi__device:visited {
    text-decoration: none !important;
  }

  .gsi__device:nth-child(2) {
    --device: var(--gsi-blue);
    border-color: rgba(50,134,255,.14);
  }

  .gsi__device:nth-child(3) {
    --device: var(--gsi-violet);
    border-color: rgba(139,92,246,.14);
  }

  .gsi__device:nth-child(4) {
    --device: var(--gsi-green);
    border-color: rgba(67,229,139,.14);
  }

  .gsi__device::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 80px;
    height: 2px;
    background: linear-gradient(90deg, var(--device), transparent);
  }

  .gsi__device-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
  }

  .gsi__device-code {
    color: var(--device);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .gsi__device-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(92,208,255,.10);
    border-radius: 12px;
    color: var(--device);
    background: rgba(5,17,30,.66);
    animation: gsiFloat 4s ease-in-out infinite;
  }

  .gsi__device:nth-child(2) .gsi__device-icon { animation-delay: -.8s; }
  .gsi__device:nth-child(3) .gsi__device-icon { animation-delay: -1.6s; }
  .gsi__device:nth-child(4) .gsi__device-icon { animation-delay: -2.4s; }

  .gsi__device-icon svg {
    width: 27px;
    height: 27px;
  }

  .gsi__device h3 {
    margin: 15px 0 7px;
    color: #e2eef5;
    font-size: 14px;
    line-height: 1.38;
  }

  .gsi__device p {
    margin: 0;
    color: #7d95a5;
    font-size: 10px;
    line-height: 1.62;
  }

  /* CONTENIDO PRINCIPAL */

  .gsi__main {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
    gap: 14px;
    margin-top: 16px;
    align-items: stretch;
  }

  .gsi__info,
  .gsi__visual {
    min-width: 0;
    padding: 23px;
    border-radius: 20px;
  }

  .gsi__info {
    border: 1px solid rgba(92,208,255,.14);
    background: linear-gradient(145deg, rgba(8,22,39,.92), rgba(4,12,22,.97));
  }

  .gsi__panel-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px;
    color: #8ceeff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
  }

  .gsi__panel-label::before {
    content: "";
    width: 14px;
    height: 1px;
    background: currentColor;
    box-shadow: 0 0 8px currentColor;
  }

  .gsi__info h3 {
    margin: 0;
    color: #f2faff;
    font-size: 21px;
    line-height: 1.32;
  }

  .gsi__info > p {
    margin: 10px 0 0;
    color: var(--gsi-muted);
    font-size: 12px;
    line-height: 1.7;
  }

  .gsi__compare {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 17px;
  }

  .gsi__compare-card {
    --compare: var(--gsi-cyan);
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(32,213,243,.13);
    border-radius: 13px;
    background: rgba(6,18,31,.56);
  }

  .gsi__compare-card:last-child {
    --compare: var(--gsi-yellow);
    border-color: rgba(255,200,87,.13);
  }

  .gsi__compare-card small,
  .gsi__compare-card strong,
  .gsi__compare-card span {
    display: block;
  }

  .gsi__compare-card small {
    color: var(--compare);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .gsi__compare-card strong {
    margin-top: 7px;
    color: #ddebf3;
    font-size: 12px;
    line-height: 1.42;
  }

  .gsi__compare-card span {
    margin-top: 6px;
    color: #7d94a4;
    font-size: 10px;
    line-height: 1.62;
  }

  .gsi__clarification {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    margin-top: 12px;
    padding: 13px;
    border: 1px solid rgba(139,92,246,.14);
    border-radius: 12px;
    background: rgba(139,92,246,.03);
  }

  .gsi__clarification-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: #c5b9ff;
    background: rgba(139,92,246,.055);
  }

  .gsi__clarification-icon svg {
    width: 23px;
    height: 23px;
  }

  .gsi__clarification strong {
    display: block;
    color: #e1dfff;
    font-size: 11px;
    line-height: 1.48;
  }

  .gsi__clarification p {
    margin: 5px 0 0;
    color: #899da9;
    font-size: 10px;
    line-height: 1.62;
  }

  .gsi__brands {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
  }

  .gsi__brand {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 6px 8px;
    border: 1px solid rgba(92,208,255,.08);
    border-radius: 8px;
    color: #839aa9;
    background: rgba(3,12,22,.48);
    font-size: 9px;
  }

  .gsi__brand::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsi-cyan);
  }

  /* ILUSTRACIÓN MULTIEQUIPO: SIN TEXTOS SUPERPUESTOS */

  .gsi__visual {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(139,92,246,.17);
    background:
      radial-gradient(circle at 50% 43%, rgba(32,213,243,.075), transparent 38%),
      linear-gradient(145deg, rgba(24,18,45,.38), rgba(4,12,22,.97));
  }

  .gsi__visual-grid {
    position: absolute;
    inset: 0;
    opacity: .31;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(32,213,243,.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(32,213,243,.035) 1px, transparent 1px);
    background-size: 27px 27px;
  }

  .gsi__visual > *:not(.gsi__visual-grid) {
    position: relative;
    z-index: 2;
  }

  .gsi__visual-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .gsi__visual-head > span {
    color: #bdadff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .gsi__visual-head > strong {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border: 1px solid rgba(67,229,139,.17);
    border-radius: 999px;
    color: #94efbc;
    background: rgba(67,229,139,.035);
    font-size: 8px;
  }

  .gsi__visual-head > strong::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsi-green);
    box-shadow: 0 0 7px rgba(67,229,139,.62);
    animation: gsiPulse 2.4s ease-in-out infinite;
  }

  .gsi__visual-stage {
    position: relative;
    overflow: hidden;
    margin-top: 14px;
    padding: 15px;
    border: 1px solid rgba(92,208,255,.08);
    border-radius: 15px;
    background: rgba(3,12,22,.68);
  }

  .gsi__scanline {
    position: absolute;
    z-index: 1;
    left: 12px;
    right: 12px;
    top: 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(32,213,243,.68), transparent);
    box-shadow: 0 0 12px rgba(32,213,243,.24);
    animation: gsiScan 5.4s ease-in-out infinite;
  }

  .gsi__visual-cards {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .gsi__visual-card {
    --visual: var(--gsi-cyan);
    min-width: 0;
    min-height: 145px;
    display: grid;
    place-items: center;
    padding: 13px;
    border: 1px solid rgba(92,208,255,.10);
    border-radius: 13px;
    background: rgba(5,17,30,.88);
    text-align: center;
  }

  .gsi__visual-card:nth-child(2) { --visual: var(--gsi-blue); }
  .gsi__visual-card:nth-child(3) { --visual: var(--gsi-violet); }
  .gsi__visual-card:nth-child(4) { --visual: var(--gsi-green); }

  .gsi__visual-card svg {
    width: 66px;
    height: 66px;
    color: var(--visual);
    filter: drop-shadow(0 0 11px rgba(32,213,243,.10));
    animation: gsiFloat 4.5s ease-in-out infinite;
  }

  .gsi__visual-card:nth-child(2) svg { animation-delay: -.8s; }
  .gsi__visual-card:nth-child(3) svg { animation-delay: -1.6s; }
  .gsi__visual-card:nth-child(4) svg { animation-delay: -2.4s; }

  .gsi__visual-card strong {
    display: block;
    margin-top: 7px;
    color: #d6e6ef;
    font-size: 9px;
    line-height: 1.35;
  }

  .gsi__visual-hub {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    margin-top: 10px;
    padding: 11px;
    border: 1px solid rgba(67,229,139,.12);
    border-radius: 11px;
    background: rgba(67,229,139,.025);
  }

  .gsi__visual-hub-mark {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(32,213,243,.18);
    border-radius: 12px;
    color: var(--gsi-cyan);
    background: rgba(32,213,243,.055);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
  }

  .gsi__visual-hub small,
  .gsi__visual-hub strong {
    display: block;
  }

  .gsi__visual-hub small {
    color: #7090a2;
    font-size: 7px;
    text-transform: uppercase;
  }

  .gsi__visual-hub strong {
    margin-top: 3px;
    color: #dcebf3;
    font-size: 9px;
    line-height: 1.4;
  }

  /* CRITERIOS */

  .gsi__guidelines {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
  }

  .gsi__guideline {
    --guide: var(--gsi-cyan);
    position: relative;
    min-width: 0;
    padding: 17px 15px;
    border: 1px solid rgba(32,213,243,.13);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(8,22,39,.89), rgba(4,12,22,.97));
  }

  .gsi__guideline:nth-child(2) {
    --guide: var(--gsi-yellow);
    border-color: rgba(255,200,87,.13);
  }

  .gsi__guideline:nth-child(3) {
    --guide: var(--gsi-green);
    border-color: rgba(67,229,139,.13);
  }

  .gsi__guideline::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 68px;
    height: 2px;
    background: linear-gradient(90deg, var(--guide), transparent);
  }

  .gsi__guideline small,
  .gsi__guideline strong,
  .gsi__guideline span {
    display: block;
  }

  .gsi__guideline small {
    color: var(--guide);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .gsi__guideline strong {
    margin-top: 7px;
    color: #dfeef5;
    font-size: 11px;
    line-height: 1.4;
  }

  .gsi__guideline span {
    margin-top: 6px;
    color: #758d9e;
    font-size: 9.5px;
    line-height: 1.58;
  }

  /* LÍMITES */

  .gsi__limits {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin-top: 14px;
    padding: 15px;
    border: 1px solid rgba(67,229,139,.12);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(67,229,139,.032), rgba(32,213,243,.022));
  }

  .gsi__limits-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--gsi-green);
    background: rgba(67,229,139,.055);
  }

  .gsi__limits-icon svg {
    width: 24px;
    height: 24px;
  }

  .gsi__limits strong {
    display: block;
    color: #dbeee5;
    font-size: 11px;
    line-height: 1.45;
  }

  .gsi__limits p {
    margin: 5px 0 0;
    color: #849aaa;
    font-size: 10px;
    line-height: 1.6;
  }

  .gsi__limits-state {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #9cefc0;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .gsi__limits-state::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gsi-green);
    box-shadow: 0 0 7px rgba(67,229,139,.55);
  }

  /* RESUMEN */

  .gsi__summary {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid rgba(139,92,246,.18);
    border-radius: 17px;
    background: linear-gradient(155deg, rgba(10,18,38,.95), rgba(4,9,20,.98));
  }

  .gsi__summary-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    padding: 9px 13px;
    border-bottom: 1px solid rgba(118,167,255,.10);
    color: #71889d;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  .gsi__summary-head strong {
    color: #9cefc0;
    font-size: 8px;
  }

  .gsi__summary-body {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 17px;
  }

  .gsi__summary-body span {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 6px 9px;
    border: 1px solid rgba(92,208,255,.08);
    border-radius: 7px;
    color: #879eae;
    background: rgba(6,18,31,.52);
    font-size: 9px;
  }

  .gsi__summary-body span:last-child {
    border-color: rgba(67,229,139,.14);
    color: #9cefc0;
    background: rgba(67,229,139,.035);
  }

  .gsi__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
    padding: 0 3px;
    color: #60788c;
    font-size: 9px;
    line-height: 1.45;
    font-weight: 650;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .gsi__footer-status {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #7791a5;
  }

  .gsi__footer-status::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsi-green);
    box-shadow: 0 0 7px rgba(67,229,139,.50);
  }

  @keyframes gsiPulse {
    0%, 100% { opacity: .45; transform: scale(.88); }
    50% { opacity: 1; transform: scale(1.12); }
  }

  @keyframes gsiFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
  }

  @keyframes gsiScan {
    0%, 100% { top: 10%; opacity: .12; }
    50% { top: 88%; opacity: .72; }
  }

  @media (max-width: 1024px) {
    .gsi__heading {
      grid-template-columns: 1fr;
      gap: 20px;
    }

    .gsi__status {
      max-width: 650px;
    }

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

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

  @media (max-width: 767px) {
    #servicio-independiente-quienes-somos {
      padding: 64px 17px 70px;
    }

    .gsi__title {
      font-size: clamp(30px, 9.5vw, 40px);
    }

    .gsi__intro {
      font-size: 14px;
      line-height: 1.7;
    }

    .gsi__statement {
      grid-template-columns: 52px minmax(0, 1fr);
      gap: 12px;
    }

    .gsi__statement-state {
      grid-column: 1 / -1;
      width: fit-content;
    }

    .gsi__devices,
    .gsi__guidelines {
      grid-template-columns: 1fr;
    }

    .gsi__device {
      min-height: 0;
    }

    .gsi__info,
    .gsi__visual {
      padding: 18px 16px;
    }

    .gsi__limits {
      grid-template-columns: 48px minmax(0, 1fr);
    }

    .gsi__limits-state {
      grid-column: 1 / -1;
      width: fit-content;
    }
  }

  @media (max-width: 560px) {
    .gsi__compare,
    .gsi__visual-cards {
      grid-template-columns: 1fr;
    }

    .gsi__visual-card {
      min-height: 0;
    }

    .gsi__clarification,
    .gsi__visual-hub {
      grid-template-columns: 1fr;
    }

    .gsi__visual-head {
      align-items: flex-start;
    }
  }

  @media (max-width: 390px) {
    #servicio-independiente-quienes-somos {
      padding-right: 14px;
      padding-left: 14px;
    }

    .gsi__info,
    .gsi__visual {
      padding-right: 13px;
      padding-left: 13px;
    }

    .gsi__statement,
    .gsi__limits {
      grid-template-columns: 1fr;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #servicio-independiente-quienes-somos,
    #servicio-independiente-quienes-somos *,
    #servicio-independiente-quienes-somos *::before,
    #servicio-independiente-quienes-somos *::after {
      animation: none !important;
      transition: none !important;
      scroll-behavior: auto !important;
    }
  }


/* ===== PUEBLA ===== */
#puebla-servicio-nacional-quienes-somos {
    --gsn-cyan: #20d5f3;
    --gsn-blue: #3286ff;
    --gsn-violet: #8b5cf6;
    --gsn-green: #43e58b;
    --gsn-yellow: #ffc857;
    --gsn-red: #ff637d;
    --gsn-text: #edf8ff;
    --gsn-muted: #91a8bb;

    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    margin: 0;
    padding: clamp(76px, 8vw, 108px) 24px;
    color: var(--gsn-text);
    background:
      radial-gradient(circle at 10% 14%, rgba(32,213,243,.085), transparent 30%),
      radial-gradient(circle at 91% 22%, rgba(139,92,246,.065), transparent 31%),
      radial-gradient(circle at 72% 88%, rgba(67,229,139,.045), transparent 29%),
      linear-gradient(180deg, #030811 0%, #05101b 50%, #030811 100%);
    font-family: "Poppins", Arial, sans-serif;
    scroll-margin-top: 90px;
  }

  #puebla-servicio-nacional-quienes-somos *,
  #puebla-servicio-nacional-quienes-somos *::before,
  #puebla-servicio-nacional-quienes-somos *::after {
    box-sizing: border-box;
  }

  #puebla-servicio-nacional-quienes-somos svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsn__grid {
    position: absolute;
    z-index: -3;
    inset: 0;
    opacity: .26;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(42,183,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(42,183,255,.05) 1px, transparent 1px),
      radial-gradient(circle, rgba(32,213,243,.14) 1px, transparent 1.5px);
    background-size: 46px 46px, 46px 46px, 34px 34px;
  }

  .gsn__glow {
    position: absolute;
    z-index: -2;
    width: 470px;
    height: 470px;
    border-radius: 50%;
    filter: blur(145px);
    pointer-events: none;
  }

  .gsn__glow--cyan {
    top: 2%;
    left: -240px;
    opacity: .10;
    background: var(--gsn-cyan);
  }

  .gsn__glow--violet {
    right: -240px;
    bottom: 4%;
    opacity: .11;
    background: var(--gsn-violet);
  }

  .gsn__wrap {
    width: min(1180px, 100%);
    margin: 0 auto;
  }

  /* ENCABEZADO */

  .gsn__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .52fr);
    gap: clamp(30px, 5vw, 48px);
    align-items: end;
    margin-bottom: 32px;
  }

  .gsn__kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    padding: 7px 11px;
    border: 1px solid rgba(32,213,243,.19);
    border-radius: 999px;
    color: #9eeeff;
    background: rgba(7,28,41,.40);
    font-size: 10px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
  }

  .gsn__kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gsn-cyan);
    box-shadow: 0 0 8px rgba(32,213,243,.8), 0 0 17px rgba(32,213,243,.22);
  }

  .gsn__title {
    max-width: 850px;
    margin: 0;
    color: #f4fbff;
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1.08;
    font-weight: 750;
    letter-spacing: -.038em;
  }

  .gsn__title span {
    color: var(--gsn-cyan);
  }

  .gsn__intro {
    max-width: 860px;
    margin: 17px 0 0;
    color: var(--gsn-muted);
    font-size: 15px;
    line-height: 1.78;
  }

  .gsn__status {
    position: relative;
    min-width: 0;
    padding: 18px 19px;
    overflow: hidden;
    border: 1px solid rgba(67,229,139,.15);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(10,39,28,.27), rgba(4,13,23,.88));
  }

  .gsn__status::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 2px;
    background: linear-gradient(180deg, transparent, var(--gsn-green), transparent);
  }

  .gsn__status-label {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #97efbe;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gsn__status-label::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gsn-green);
    box-shadow: 0 0 8px rgba(67,229,139,.55);
    animation: gsnPulse 2.4s ease-in-out infinite;
  }

  .gsn__status p {
    margin: 0;
    color: #b5c8d6;
    font-size: 12px;
    line-height: 1.65;
  }

  /* MENSAJE CENTRAL */

  .gsn__statement {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    margin-bottom: 20px;
    padding: 17px;
    border: 1px solid rgba(32,213,243,.16);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(32,213,243,.055), rgba(67,229,139,.025));
  }

  .gsn__statement-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(32,213,243,.24);
    border-radius: 15px;
    color: #9ceeff;
    background: rgba(32,213,243,.05);
  }

  .gsn__statement-icon svg {
    width: 29px;
    height: 29px;
  }

  .gsn__statement strong,
  .gsn__statement span {
    display: block;
  }

  .gsn__statement strong {
    color: #e1f8ff;
    font-size: 14px;
    line-height: 1.4;
  }

  .gsn__statement-copy span {
    margin-top: 5px;
    color: #8ba3b3;
    font-size: 11px;
    line-height: 1.6;
  }

  .gsn__statement-state {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid rgba(67,229,139,.16);
    border-radius: 999px;
    color: #94efbc;
    background: rgba(67,229,139,.035);
    font-size: 9px;
    font-weight: 700;
    white-space: nowrap;
  }

  .gsn__statement-state::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsn-green);
    box-shadow: 0 0 7px rgba(67,229,139,.60);
  }

  /* DOS RUTAS */

  .gsn__routes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .gsn__route {
    --route: var(--gsn-cyan);
    position: relative;
    min-width: 0;
    padding: 24px;
    overflow: hidden;
    border: 1px solid rgba(32,213,243,.15);
    border-radius: 20px;
    background:
      radial-gradient(circle at 100% 0%, rgba(32,213,243,.045), transparent 34%),
      linear-gradient(145deg, rgba(8,22,39,.92), rgba(4,12,22,.97));
  }

  .gsn__route--national {
    --route: var(--gsn-green);
    border-color: rgba(67,229,139,.15);
    background:
      radial-gradient(circle at 100% 0%, rgba(67,229,139,.040), transparent 34%),
      linear-gradient(145deg, rgba(8,22,39,.92), rgba(4,12,22,.97));
  }

  .gsn__route::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 95px;
    height: 2px;
    background: linear-gradient(90deg, var(--route), transparent);
  }

  .gsn__route-code {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--route);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  .gsn__route-code::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--route);
    box-shadow: 0 0 7px var(--route);
  }

  .gsn__route h3 {
    margin: 10px 0 0;
    color: #f1f9ff;
    font-size: 21px;
    line-height: 1.3;
  }

  .gsn__route > p {
    margin: 9px 0 0;
    color: #889faf;
    font-size: 11px;
    line-height: 1.7;
  }

  /* DATOS PUEBLA */

  .gsn__local-data {
    display: grid;
    gap: 8px;
    margin-top: 16px;
  }

  .gsn__data-row {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-width: 0;
    padding: 11px;
    border: 1px solid rgba(92,208,255,.075);
    border-radius: 11px;
    background: rgba(5,17,30,.52);
  }

  .gsn__data-icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(32,213,243,.15);
    border-radius: 10px;
    color: #9eeeff;
  }

  .gsn__data-icon svg {
    width: 21px;
    height: 21px;
  }

  .gsn__data-content small,
  .gsn__data-content strong,
  .gsn__data-content span,
  .gsn__data-content a {
    display: block;
  }

  .gsn__data-content small {
    color: #6f899d;
    font-size: 8px;
    text-transform: uppercase;
  }

  .gsn__data-content strong,
  .gsn__data-content a {
    margin-top: 3px;
    color: #d6e6ef;
    font-size: 10px;
    line-height: 1.5;
    text-decoration: none !important;
  }

  .gsn__data-content span {
    margin-top: 3px;
    color: #8499aa;
    font-size: 9px;
    line-height: 1.5;
  }

  .gsn__data-content a:hover {
    color: #a8efff;
  }

  .gsn__buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
  }

  .gsn__button {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 10px 12px;
    border-radius: 11px;
    text-decoration: none !important;
    font-size: 9px;
    line-height: 1.4;
    font-weight: 700;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
  }

  .gsn__button:hover {
    transform: translateY(-3px);
  }

  .gsn__button:focus-visible,
  .gsn__data-content a:focus-visible {
    outline: 2px solid var(--gsn-cyan);
    outline-offset: 3px;
  }

  .gsn__button--map {
    border: 1px solid rgba(32,213,243,.18);
    color: #b9f3fd !important;
    background: rgba(32,213,243,.035);
  }

  .gsn__button--whatsapp {
    border: 1px solid rgba(67,229,139,.23);
    color: #fff !important;
    background: linear-gradient(110deg, #078f5c, #12c57e);
    box-shadow: 0 14px 28px rgba(16,191,124,.12);
  }

  .gsn__button--whatsapp:hover {
    color: #fff !important;
    box-shadow: 0 18px 32px rgba(16,191,124,.20);
  }

  .gsn__button--whatsapp .gs-global-wa-icon {
    margin-right: 0 !important;
    flex: 0 0 auto;
  }

  /* RUTA NACIONAL */

  .gsn__national-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    margin-top: 16px;
  }

  .gsn__national-flow article {
    min-width: 0;
    padding: 10px 7px;
    border: 1px solid rgba(67,229,139,.085);
    border-radius: 9px;
    background: rgba(5,17,30,.57);
    text-align: center;
  }

  .gsn__national-flow small,
  .gsn__national-flow strong {
    display: block;
  }

  .gsn__national-flow small {
    color: var(--gsn-green);
    font-size: 7px;
    font-weight: 800;
  }

  .gsn__national-flow strong {
    margin-top: 3px;
    color: #cfe0d7;
    font-size: 8px;
    line-height: 1.35;
  }

  .gsn__shipping {
    margin-top: 12px;
    padding: 14px;
    border: 1px solid rgba(255,200,87,.13);
    border-radius: 12px;
    background: rgba(255,200,87,.025);
  }

  .gsn__shipping-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
  }

  .gsn__shipping small,
  .gsn__shipping strong,
  .gsn__shipping span {
    display: block;
  }

  .gsn__shipping small {
    color: #b39a60;
    font-size: 8px;
    text-transform: uppercase;
  }

  .gsn__shipping strong {
    margin-top: 4px;
    color: #f1dfb5;
    font-size: 10px;
    line-height: 1.45;
  }

  .gsn__shipping span {
    margin-top: 4px;
    color: #91836a;
    font-size: 9px;
    line-height: 1.55;
  }

  .gsn__price {
    color: #ffe19b;
    font-size: 15px;
    font-weight: 800;
    white-space: nowrap;
  }

  .gsn__price em {
    display: block;
    margin-top: 3px;
    color: #7e755f;
    font-size: 7px;
    font-style: normal;
    font-weight: 500;
    text-align: right;
  }

  .gsn__carriers {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 11px;
  }

  .gsn__carrier {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 6px 9px;
    border: 1px solid rgba(67,229,139,.08);
    border-radius: 8px;
    color: #81988a;
    background: rgba(3,12,22,.48);
    font-size: 9px;
  }

  .gsn__carrier::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsn-green);
  }

  .gsn__national-note {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    margin-top: 11px;
    padding: 11px;
    border: 1px solid rgba(67,229,139,.12);
    border-radius: 11px;
    background: rgba(67,229,139,.025);
  }

  .gsn__national-note > span {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--gsn-green);
    background: rgba(67,229,139,.055);
  }

  .gsn__national-note svg {
    width: 20px;
    height: 20px;
  }

  .gsn__national-note p {
    margin: 0;
    color: #879c90;
    font-size: 9px;
    line-height: 1.6;
  }

  /* CONDICIONES + VISUAL */

  .gsn__main {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr);
    gap: 14px;
    margin-top: 16px;
    align-items: stretch;
  }

  .gsn__policies,
  .gsn__visual {
    min-width: 0;
    padding: 23px;
    border-radius: 20px;
  }

  .gsn__policies {
    border: 1px solid rgba(92,208,255,.14);
    background: linear-gradient(145deg, rgba(8,22,39,.92), rgba(4,12,22,.97));
  }

  .gsn__panel-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px;
    color: #8ceeff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
  }

  .gsn__panel-label::before {
    content: "";
    width: 14px;
    height: 1px;
    background: currentColor;
    box-shadow: 0 0 8px currentColor;
  }

  .gsn__policies h3 {
    margin: 0;
    color: #f2faff;
    font-size: 21px;
    line-height: 1.32;
  }

  .gsn__policies > p {
    margin: 10px 0 0;
    color: var(--gsn-muted);
    font-size: 12px;
    line-height: 1.7;
  }

  .gsn__policy-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 17px;
  }

  .gsn__policy {
    --policy: var(--gsn-cyan);
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(32,213,243,.12);
    border-radius: 13px;
    background: rgba(6,18,31,.56);
  }

  .gsn__policy:nth-child(2) {
    --policy: var(--gsn-yellow);
    border-color: rgba(255,200,87,.12);
  }

  .gsn__policy:nth-child(3) {
    --policy: var(--gsn-green);
    border-color: rgba(67,229,139,.12);
  }

  .gsn__policy:nth-child(4) {
    --policy: var(--gsn-violet);
    border-color: rgba(139,92,246,.12);
  }

  .gsn__policy:nth-child(5) {
    --policy: var(--gsn-blue);
    border-color: rgba(50,134,255,.12);
  }

  .gsn__policy:nth-child(6) {
    --policy: var(--gsn-green);
    border-color: rgba(67,229,139,.12);
  }

  .gsn__policy small,
  .gsn__policy strong,
  .gsn__policy span {
    display: block;
  }

  .gsn__policy small {
    color: var(--policy);
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
  }

  .gsn__policy strong {
    margin-top: 5px;
    color: #dcebf4;
    font-size: 10px;
    line-height: 1.45;
  }

  .gsn__policy span {
    margin-top: 5px;
    color: #778f9f;
    font-size: 9px;
    line-height: 1.6;
  }

  .gsn__intervened {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    margin-top: 12px;
    padding: 12px;
    border: 1px solid rgba(255,200,87,.13);
    border-radius: 12px;
    background: rgba(255,200,87,.025);
  }

  .gsn__intervened > span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: var(--gsn-yellow);
    background: rgba(255,200,87,.06);
  }

  .gsn__intervened svg {
    width: 22px;
    height: 22px;
  }

  .gsn__intervened strong {
    display: block;
    color: #eadfca;
    font-size: 10px;
    line-height: 1.45;
  }

  .gsn__intervened p {
    margin: 4px 0 0;
    color: #a1947c;
    font-size: 9px;
    line-height: 1.6;
  }

  /* VISUAL NACIONAL LIMPIO */

  .gsn__visual {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(139,92,246,.17);
    background:
      radial-gradient(circle at 50% 43%, rgba(32,213,243,.075), transparent 38%),
      linear-gradient(145deg, rgba(24,18,45,.38), rgba(4,12,22,.97));
  }

  .gsn__visual-grid {
    position: absolute;
    inset: 0;
    opacity: .31;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(32,213,243,.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(32,213,243,.035) 1px, transparent 1px);
    background-size: 27px 27px;
  }

  .gsn__visual > *:not(.gsn__visual-grid) {
    position: relative;
    z-index: 2;
  }

  .gsn__visual-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .gsn__visual-head > span {
    color: #bdadff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .gsn__visual-head > strong {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border: 1px solid rgba(67,229,139,.17);
    border-radius: 999px;
    color: #94efbc;
    background: rgba(67,229,139,.035);
    font-size: 8px;
  }

  .gsn__visual-head > strong::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsn-green);
    box-shadow: 0 0 7px rgba(67,229,139,.62);
    animation: gsnPulse 2.4s ease-in-out infinite;
  }

  .gsn__visual-stage {
    position: relative;
    overflow: hidden;
    margin-top: 14px;
    padding: 16px;
    border: 1px solid rgba(92,208,255,.08);
    border-radius: 15px;
    background: rgba(3,12,22,.68);
  }

  .gsn__scanline {
    position: absolute;
    z-index: 1;
    left: 12px;
    right: 12px;
    top: 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(32,213,243,.68), transparent);
    box-shadow: 0 0 12px rgba(32,213,243,.24);
    animation: gsnScan 5.4s ease-in-out infinite;
  }

  .gsn__map {
    position: relative;
    z-index: 2;
    min-height: 220px;
    display: grid;
    place-items: center;
  }

  .gsn__map svg {
    width: min(330px, 86%);
    height: auto;
    color: rgba(32,213,243,.76);
    filter: drop-shadow(0 0 13px rgba(32,213,243,.12));
    animation: gsnFloat 4.8s ease-in-out infinite;
  }

  .gsn__map .gsn-svg-green { stroke: rgba(67,229,139,.80); }
  .gsn__map .gsn-svg-violet { stroke: rgba(139,92,246,.72); }
  .gsn__map .gsn-svg-yellow { stroke: rgba(255,200,87,.76); }

  .gsn__visual-route {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    margin-top: 8px;
  }

  .gsn__visual-route article {
    min-width: 0;
    padding: 9px 6px;
    border: 1px solid rgba(92,208,255,.08);
    border-radius: 9px;
    background: rgba(5,17,30,.82);
    text-align: center;
  }

  .gsn__visual-route small,
  .gsn__visual-route strong {
    display: block;
  }

  .gsn__visual-route small {
    color: var(--gsn-cyan);
    font-size: 7px;
    font-weight: 800;
  }

  .gsn__visual-route strong {
    margin-top: 3px;
    color: #cddde8;
    font-size: 8px;
    line-height: 1.35;
  }

  /* FLUJO COMPLETO */

  .gsn__full-flow {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 7px;
    margin-top: 16px;
  }

  .gsn__full-flow article {
    min-width: 0;
    padding: 10px 6px;
    border: 1px solid rgba(92,208,255,.075);
    border-radius: 9px;
    background: rgba(5,17,30,.61);
    text-align: center;
  }

  .gsn__full-flow small,
  .gsn__full-flow strong {
    display: block;
  }

  .gsn__full-flow small {
    color: #6c8a9c;
    font-size: 7px;
  }

  .gsn__full-flow strong {
    margin-top: 3px;
    color: #c2d4df;
    font-size: 8px;
    line-height: 1.35;
  }

  .gsn__return {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin-top: 14px;
    padding: 15px;
    border: 1px solid rgba(67,229,139,.12);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(67,229,139,.032), rgba(32,213,243,.022));
  }

  .gsn__return-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--gsn-green);
    background: rgba(67,229,139,.055);
  }

  .gsn__return-icon svg {
    width: 24px;
    height: 24px;
  }

  .gsn__return strong {
    display: block;
    color: #dbeee5;
    font-size: 10px;
    line-height: 1.45;
  }

  .gsn__return p {
    margin: 5px 0 0;
    color: #849aaa;
    font-size: 9px;
    line-height: 1.62;
  }

  .gsn__return-state {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #9cefc0;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .gsn__return-state::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gsn-green);
    box-shadow: 0 0 7px rgba(67,229,139,.55);
  }

  /* RESUMEN */

  .gsn__summary {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid rgba(139,92,246,.18);
    border-radius: 17px;
    background: linear-gradient(155deg, rgba(10,18,38,.95), rgba(4,9,20,.98));
  }

  .gsn__summary-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    padding: 9px 13px;
    border-bottom: 1px solid rgba(118,167,255,.10);
    color: #71889d;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  .gsn__summary-head strong {
    color: #9cefc0;
    font-size: 8px;
  }

  .gsn__summary-body {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 17px;
  }

  .gsn__summary-body span {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 6px 9px;
    border: 1px solid rgba(92,208,255,.08);
    border-radius: 7px;
    color: #879eae;
    background: rgba(6,18,31,.52);
    font-size: 9px;
  }

  .gsn__summary-body span:last-child {
    border-color: rgba(67,229,139,.14);
    color: #9cefc0;
    background: rgba(67,229,139,.035);
  }

  .gsn__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
    padding: 0 3px;
    color: #60788c;
    font-size: 9px;
    line-height: 1.45;
    font-weight: 650;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .gsn__footer-status {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #7791a5;
  }

  .gsn__footer-status::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsn-green);
    box-shadow: 0 0 7px rgba(67,229,139,.50);
  }

  @keyframes gsnPulse {
    0%, 100% { opacity: .45; transform: scale(.88); }
    50% { opacity: 1; transform: scale(1.12); }
  }

  @keyframes gsnFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
  }

  @keyframes gsnScan {
    0%, 100% { top: 10%; opacity: .12; }
    50% { top: 88%; opacity: .72; }
  }

  @media (max-width: 1024px) {
    .gsn__heading {
      grid-template-columns: 1fr;
      gap: 20px;
    }

    .gsn__status {
      max-width: 650px;
    }

    .gsn__routes,
    .gsn__main {
      grid-template-columns: 1fr;
    }

    .gsn__full-flow {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  @media (max-width: 767px) {
    #puebla-servicio-nacional-quienes-somos {
      padding: 64px 17px 70px;
    }

    .gsn__title {
      font-size: clamp(30px, 9.5vw, 40px);
    }

    .gsn__intro {
      font-size: 14px;
      line-height: 1.7;
    }

    .gsn__statement {
      grid-template-columns: 52px minmax(0, 1fr);
      gap: 12px;
    }

    .gsn__statement-state {
      grid-column: 1 / -1;
      width: fit-content;
    }

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

    .gsn__policies,
    .gsn__visual,
    .gsn__route {
      padding: 18px 16px;
    }

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

    .gsn__return {
      grid-template-columns: 48px minmax(0, 1fr);
    }

    .gsn__return-state {
      grid-column: 1 / -1;
      width: fit-content;
    }
  }

  @media (max-width: 560px) {
    .gsn__buttons,
    .gsn__national-flow,
    .gsn__visual-route,
    .gsn__full-flow {
      grid-template-columns: 1fr;
    }

    .gsn__shipping-grid,
    .gsn__national-note {
      grid-template-columns: 1fr;
    }

    .gsn__price em {
      text-align: left;
    }

    .gsn__visual-head {
      align-items: flex-start;
    }
  }

  @media (max-width: 390px) {
    #puebla-servicio-nacional-quienes-somos {
      padding-right: 14px;
      padding-left: 14px;
    }

    .gsn__route,
    .gsn__policies,
    .gsn__visual {
      padding-right: 13px;
      padding-left: 13px;
    }

    .gsn__statement,
    .gsn__return {
      grid-template-columns: 1fr;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #puebla-servicio-nacional-quienes-somos,
    #puebla-servicio-nacional-quienes-somos *,
    #puebla-servicio-nacional-quienes-somos *::before,
    #puebla-servicio-nacional-quienes-somos *::after {
      animation: none !important;
      transition: none !important;
      scroll-behavior: auto !important;
    }
  }


/* ===== FAQS ===== */
#preguntas-quienes-somos {
    --gsf-cyan: #20d5f3;
    --gsf-blue: #3286ff;
    --gsf-violet: #8b5cf6;
    --gsf-green: #43e58b;
    --gsf-yellow: #ffc857;
    --gsf-red: #ff637d;
    --gsf-text: #edf8ff;
    --gsf-muted: #91a8bb;

    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    margin: 0;
    padding: clamp(76px, 8vw, 108px) 24px;
    color: var(--gsf-text);
    background:
      radial-gradient(circle at 11% 14%, rgba(32,213,243,.078), transparent 30%),
      radial-gradient(circle at 90% 21%, rgba(139,92,246,.060), transparent 31%),
      radial-gradient(circle at 73% 89%, rgba(67,229,139,.043), transparent 29%),
      linear-gradient(180deg, #030811 0%, #05101b 50%, #030811 100%);
    font-family: "Poppins", Arial, sans-serif;
    scroll-margin-top: 90px;
  }

  #preguntas-quienes-somos *,
  #preguntas-quienes-somos *::before,
  #preguntas-quienes-somos *::after {
    box-sizing: border-box;
  }

  #preguntas-quienes-somos svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsf__grid {
    position: absolute;
    z-index: -3;
    inset: 0;
    opacity: .26;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(42,183,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(42,183,255,.05) 1px, transparent 1px),
      radial-gradient(circle, rgba(32,213,243,.14) 1px, transparent 1.5px);
    background-size: 46px 46px, 46px 46px, 34px 34px;
  }

  .gsf__glow {
    position: absolute;
    z-index: -2;
    width: 470px;
    height: 470px;
    border-radius: 50%;
    filter: blur(145px);
    pointer-events: none;
  }

  .gsf__glow--cyan {
    top: 2%;
    left: -240px;
    opacity: .10;
    background: var(--gsf-cyan);
  }

  .gsf__glow--violet {
    right: -240px;
    bottom: 4%;
    opacity: .11;
    background: var(--gsf-violet);
  }

  .gsf__wrap {
    width: min(1180px, 100%);
    margin: 0 auto;
  }

  /* ENCABEZADO */

  .gsf__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .48fr);
    gap: clamp(28px, 5vw, 46px);
    align-items: center;
    margin-bottom: 28px;
  }

  .gsf__kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    padding: 7px 11px;
    border: 1px solid rgba(32,213,243,.19);
    border-radius: 999px;
    color: #9eeeff;
    background: rgba(7,28,41,.40);
    font-size: 10px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
  }

  .gsf__kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gsf-cyan);
    box-shadow: 0 0 8px rgba(32,213,243,.8), 0 0 17px rgba(32,213,243,.22);
  }

  .gsf__title {
    max-width: 850px;
    margin: 0;
    color: #f4fbff;
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1.08;
    font-weight: 750;
    letter-spacing: -.038em;
  }

  .gsf__title span {
    color: var(--gsf-cyan);
  }

  .gsf__intro {
    max-width: 850px;
    margin: 17px 0 0;
    color: var(--gsf-muted);
    font-size: 15px;
    line-height: 1.78;
  }

  /* VISUAL DEL ENCABEZADO */

  .gsf__visual {
    position: relative;
    min-height: 235px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(139,92,246,.16);
    border-radius: 20px;
    background:
      radial-gradient(circle at 50% 50%, rgba(32,213,243,.075), transparent 40%),
      linear-gradient(145deg, rgba(24,18,45,.37), rgba(4,12,22,.97));
  }

  .gsf__visual::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .30;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(32,213,243,.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(32,213,243,.035) 1px, transparent 1px);
    background-size: 27px 27px;
  }

  .gsf__scan {
    position: absolute;
    z-index: 1;
    left: 14px;
    right: 14px;
    top: 12%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(32,213,243,.68), transparent);
    box-shadow: 0 0 12px rgba(32,213,243,.24);
    animation: gsfScan 5.4s ease-in-out infinite;
  }

  .gsf__visual svg {
    position: relative;
    z-index: 2;
    width: min(235px, 73%);
    height: auto;
    color: rgba(32,213,243,.82);
    filter: drop-shadow(0 0 15px rgba(32,213,243,.12));
    animation: gsfFloat 4.8s ease-in-out infinite;
  }

  .gsf__visual .gsf-svg-violet { stroke: rgba(139,92,246,.76); }
  .gsf__visual .gsf-svg-green { stroke: rgba(67,229,139,.80); }
  .gsf__visual .gsf-svg-yellow { stroke: rgba(255,200,87,.76); }

  .gsf__visual-state {
    position: absolute;
    z-index: 3;
    right: 14px;
    bottom: 14px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid rgba(67,229,139,.16);
    border-radius: 999px;
    color: #94efbc;
    background: rgba(5,17,30,.88);
    font-size: 8px;
    font-weight: 700;
    text-transform: uppercase;
  }

  .gsf__visual-state::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsf-green);
    box-shadow: 0 0 7px rgba(67,229,139,.60);
    animation: gsfPulse 2.4s ease-in-out infinite;
  }

  /* RESUMEN */

  .gsf__statement {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    margin-bottom: 18px;
    padding: 17px;
    border: 1px solid rgba(32,213,243,.16);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(32,213,243,.055), rgba(67,229,139,.025));
  }

  .gsf__statement-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(32,213,243,.24);
    border-radius: 15px;
    color: #9ceeff;
    background: rgba(32,213,243,.05);
  }

  .gsf__statement-icon svg {
    width: 29px;
    height: 29px;
  }

  .gsf__statement strong,
  .gsf__statement span {
    display: block;
  }

  .gsf__statement strong {
    color: #e1f8ff;
    font-size: 14px;
    line-height: 1.4;
  }

  .gsf__statement-copy span {
    margin-top: 5px;
    color: #8ba3b3;
    font-size: 11px;
    line-height: 1.6;
  }

  .gsf__statement-state {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid rgba(67,229,139,.16);
    border-radius: 999px;
    color: #94efbc;
    background: rgba(67,229,139,.035);
    font-size: 9px;
    font-weight: 700;
    white-space: nowrap;
  }

  .gsf__statement-state::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsf-green);
    box-shadow: 0 0 7px rgba(67,229,139,.60);
  }

  /* TARJETAS DE REFERENCIA */

  .gsf__facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
  }

  .gsf__fact {
    --fact: var(--gsf-cyan);
    position: relative;
    min-width: 0;
    padding: 15px;
    overflow: hidden;
    border: 1px solid rgba(32,213,243,.12);
    border-radius: 13px;
    background: linear-gradient(145deg, rgba(8,22,39,.90), rgba(4,12,22,.97));
  }

  .gsf__fact:nth-child(2) {
    --fact: var(--gsf-violet);
    border-color: rgba(139,92,246,.12);
  }

  .gsf__fact:nth-child(3) {
    --fact: var(--gsf-green);
    border-color: rgba(67,229,139,.12);
  }

  .gsf__fact:nth-child(4) {
    --fact: var(--gsf-yellow);
    border-color: rgba(255,200,87,.12);
  }

  .gsf__fact::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 64px;
    height: 2px;
    background: linear-gradient(90deg, var(--fact), transparent);
  }

  .gsf__fact small,
  .gsf__fact strong,
  .gsf__fact span {
    display: block;
  }

  .gsf__fact small {
    color: var(--fact);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .gsf__fact strong {
    margin-top: 6px;
    color: #dcebf4;
    font-size: 10px;
    line-height: 1.42;
  }

  .gsf__fact span {
    margin-top: 5px;
    color: #778f9f;
    font-size: 9px;
    line-height: 1.58;
  }

  /* PREGUNTAS */

  .gsf__faq-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin: 24px 0 13px;
  }

  .gsf__faq-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #8ceeff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
  }

  .gsf__faq-label::before {
    content: "";
    width: 14px;
    height: 1px;
    background: currentColor;
    box-shadow: 0 0 8px currentColor;
  }

  .gsf__faq-head h3 {
    margin: 0;
    color: #f2faff;
    font-size: 21px;
    line-height: 1.32;
  }

  .gsf__faq-head p {
    max-width: 470px;
    margin: 0;
    color: #7f96a6;
    font-size: 10px;
    line-height: 1.6;
    text-align: right;
  }

  .gsf__columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
  }

  .gsf__column {
    display: grid;
    gap: 10px;
    min-width: 0;
  }

  .gsf__item {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(92,208,255,.12);
    border-radius: 15px;
    background: linear-gradient(145deg, rgba(8,22,39,.91), rgba(4,12,22,.97));
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
  }

  .gsf__item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 74px;
    height: 2px;
    background: linear-gradient(90deg, var(--gsf-cyan), transparent);
    opacity: .68;
  }

  .gsf__item[open] {
    border-color: rgba(32,213,243,.24);
    background: linear-gradient(145deg, rgba(9,30,47,.94), rgba(4,12,22,.98));
  }

  .gsf__question {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 28px;
    gap: 12px;
    align-items: center;
    min-width: 0;
    padding: 17px 17px;
    cursor: pointer;
    list-style: none;
    user-select: none;
  }

  .gsf__question::-webkit-details-marker {
    display: none;
  }

  .gsf__question::marker {
    content: "";
  }

  .gsf__question:focus-visible {
    outline: 2px solid rgba(32,213,243,.70);
    outline-offset: -3px;
    border-radius: 14px;
  }

  .gsf__number {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(32,213,243,.16);
    border-radius: 9px;
    color: #9deeff;
    background: rgba(32,213,243,.035);
    font-size: 9px;
    font-weight: 800;
  }

  .gsf__question-text {
    min-width: 0;
    color: #deedf6;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 650;
  }

  .gsf__toggle {
    position: relative;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(139,92,246,.15);
    border-radius: 8px;
    background: rgba(139,92,246,.035);
  }

  .gsf__toggle::before,
  .gsf__toggle::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 1px;
    transform: translate(-50%, -50%);
    background: #b9abff;
    transition: transform .18s ease, opacity .18s ease;
  }

  .gsf__toggle::after {
    transform: translate(-50%, -50%) rotate(90deg);
  }

  .gsf__item[open] .gsf__toggle::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(0deg);
  }

  .gsf__answer {
    position: relative;
    padding: 0 18px 18px 63px;
    color: #849baa;
    font-size: 10px;
    line-height: 1.72;
  }

  .gsf__answer::before {
    content: "";
    position: absolute;
    left: 17px;
    right: 17px;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(32,213,243,.12), rgba(139,92,246,.06), transparent);
  }

  .gsf__answer-inner {
    padding-top: 14px;
  }

  .gsf__answer strong {
    color: #dceef5;
    font-weight: 650;
  }

  /* RECORDATORIO */

  .gsf__note {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin-top: 16px;
    padding: 15px;
    border: 1px solid rgba(67,229,139,.12);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(67,229,139,.032), rgba(32,213,243,.022));
  }

  .gsf__note-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--gsf-green);
    background: rgba(67,229,139,.055);
  }

  .gsf__note-icon svg {
    width: 24px;
    height: 24px;
  }

  .gsf__note strong {
    display: block;
    color: #dbeee5;
    font-size: 10px;
    line-height: 1.45;
  }

  .gsf__note p {
    margin: 5px 0 0;
    color: #849aaa;
    font-size: 9px;
    line-height: 1.62;
  }

  .gsf__note-state {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #9cefc0;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .gsf__note-state::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gsf-green);
    box-shadow: 0 0 7px rgba(67,229,139,.55);
  }

  /* CIERRE */

  .gsf__summary {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid rgba(139,92,246,.18);
    border-radius: 17px;
    background: linear-gradient(155deg, rgba(10,18,38,.95), rgba(4,9,20,.98));
  }

  .gsf__summary-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    padding: 9px 13px;
    border-bottom: 1px solid rgba(118,167,255,.10);
    color: #71889d;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  .gsf__summary-head strong {
    color: #9cefc0;
    font-size: 8px;
  }

  .gsf__summary-body {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 17px;
  }

  .gsf__summary-body span {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 6px 9px;
    border: 1px solid rgba(92,208,255,.08);
    border-radius: 7px;
    color: #879eae;
    background: rgba(6,18,31,.52);
    font-size: 9px;
  }

  .gsf__summary-body span:last-child {
    border-color: rgba(67,229,139,.14);
    color: #9cefc0;
    background: rgba(67,229,139,.035);
  }

  .gsf__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
    padding: 0 3px;
    color: #60788c;
    font-size: 9px;
    line-height: 1.45;
    font-weight: 650;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .gsf__footer-status {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #7791a5;
  }

  .gsf__footer-status::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gsf-green);
    box-shadow: 0 0 7px rgba(67,229,139,.50);
  }

  @keyframes gsfPulse {
    0%, 100% { opacity: .45; transform: scale(.88); }
    50% { opacity: 1; transform: scale(1.12); }
  }

  @keyframes gsfFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
  }

  @keyframes gsfScan {
    0%, 100% { top: 12%; opacity: .12; }
    50% { top: 88%; opacity: .72; }
  }

  @media (max-width: 1024px) {
    .gsf__heading {
      grid-template-columns: 1fr;
      gap: 20px;
    }

    .gsf__visual {
      width: 100%;
      max-width: 650px;
      min-height: 215px;
    }

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

  @media (max-width: 767px) {
    #preguntas-quienes-somos {
      padding: 64px 17px 70px;
    }

    .gsf__title {
      font-size: clamp(30px, 9.5vw, 40px);
    }

    .gsf__intro {
      font-size: 14px;
      line-height: 1.7;
    }

    .gsf__statement {
      grid-template-columns: 52px minmax(0, 1fr);
      gap: 12px;
    }

    .gsf__statement-state {
      grid-column: 1 / -1;
      width: fit-content;
    }

    .gsf__facts,
    .gsf__columns {
      grid-template-columns: 1fr;
    }

    .gsf__faq-head {
      display: block;
    }

    .gsf__faq-head p {
      margin-top: 8px;
      max-width: none;
      text-align: left;
    }

    .gsf__question {
      grid-template-columns: 30px minmax(0, 1fr) 26px;
      gap: 9px;
      padding: 15px 14px;
    }

    .gsf__number {
      width: 30px;
      height: 30px;
    }

    .gsf__toggle {
      width: 26px;
      height: 26px;
    }

    .gsf__answer {
      padding: 0 15px 16px;
      font-size: 10px;
      line-height: 1.68;
    }

    .gsf__answer::before {
      left: 14px;
      right: 14px;
    }

    .gsf__note {
      grid-template-columns: 48px minmax(0, 1fr);
    }

    .gsf__note-state {
      grid-column: 1 / -1;
      width: fit-content;
    }
  }

  @media (max-width: 390px) {
    #preguntas-quienes-somos {
      padding-right: 14px;
      padding-left: 14px;
    }

    .gsf__statement,
    .gsf__note {
      grid-template-columns: 1fr;
    }

    .gsf__question {
      grid-template-columns: 28px minmax(0, 1fr) 24px;
      gap: 8px;
      padding: 14px 11px;
    }

    .gsf__number {
      width: 28px;
      height: 28px;
    }

    .gsf__toggle {
      width: 24px;
      height: 24px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #preguntas-quienes-somos,
    #preguntas-quienes-somos *,
    #preguntas-quienes-somos *::before,
    #preguntas-quienes-somos *::after {
      animation: none !important;
      transition: none !important;
      scroll-behavior: auto !important;
    }
  }


/* ===== CTA ===== */
#cta-quienes-somos{
  --c:#20d5f3;--b:#3286ff;--v:#8b5cf6;--g:#43e58b;--y:#ffc857;--t:#edf8ff;--m:#91a8bb;
  position:relative;isolation:isolate;overflow:hidden;width:100%;margin:0;
  padding:clamp(76px,8vw,108px) 24px;color:var(--t);
  background:radial-gradient(circle at 12% 15%,rgba(32,213,243,.085),transparent 30%),radial-gradient(circle at 89% 20%,rgba(139,92,246,.067),transparent 31%),linear-gradient(180deg,#030811 0%,#05101b 50%,#02070e 100%);
  font-family:"Poppins",Arial,sans-serif;scroll-margin-top:90px;
}
#cta-quienes-somos *,#cta-quienes-somos *::before,#cta-quienes-somos *::after{box-sizing:border-box}
#cta-quienes-somos svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gscta-grid{position:absolute;z-index:-3;inset:0;opacity:.27;pointer-events:none;background-image:linear-gradient(rgba(42,183,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(42,183,255,.05) 1px,transparent 1px);background-size:46px 46px}
.gscta-wrap{width:min(1180px,100%);margin:0 auto}
.gscta-panel{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:28px;padding:clamp(24px,3vw,34px);overflow:hidden;border:1px solid rgba(32,213,243,.17);border-radius:26px;background:linear-gradient(145deg,rgba(8,25,42,.93),rgba(4,12,23,.98));box-shadow:0 22px 70px rgba(0,0,0,.28)}
.gscta-panel::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 3% 5%,rgba(32,213,243,.10),transparent 31%),radial-gradient(circle at 96% 96%,rgba(139,92,246,.07),transparent 34%)}
.gscta-panel::after{content:"";position:absolute;left:0;top:0;width:180px;height:2px;background:linear-gradient(90deg,var(--c),var(--b),transparent)}
.gscta-copy,.gscta-visual{position:relative;z-index:2;min-width:0}
.gscta-copy{display:flex;flex-direction:column;justify-content:center;padding:8px 2px}
.gscta-kicker{display:inline-flex;align-items:center;gap:9px;width:fit-content;margin-bottom:16px;padding:7px 11px;border:1px solid rgba(32,213,243,.19);border-radius:999px;color:#9eeeff;background:rgba(7,28,41,.42);font-size:10px;font-weight:700;letter-spacing:.10em;text-transform:uppercase}
.gscta-kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--g);box-shadow:0 0 8px rgba(67,229,139,.75);animation:gsctaPulse 2.4s ease-in-out infinite}
.gscta-title{max-width:720px;margin:0;color:#f4fbff;font-size:clamp(34px,4.5vw,55px);line-height:1.06;font-weight:750;letter-spacing:-.04em}
.gscta-title span{color:var(--c)}
.gscta-lead{max-width:700px;margin:19px 0 0;color:#9bb0c0;font-size:15px;line-height:1.78}
.gscta-message{margin-top:20px;padding:15px 16px;border:1px solid rgba(32,213,243,.13);border-radius:14px;color:#8ea6b5;background:linear-gradient(135deg,rgba(32,213,243,.045),rgba(67,229,139,.022));font-size:10px;line-height:1.65}
.gscta-message strong{display:block;margin-bottom:4px;color:#dff7ff;font-size:11px}
.gscta-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:20px}
.gscta-action{--a:var(--c);display:flex;align-items:center;min-width:0;min-height:64px;gap:10px;padding:11px 12px;border:1px solid rgba(32,213,243,.18);border-radius:13px;color:inherit;background:linear-gradient(135deg,rgba(32,213,243,.065),rgba(50,134,255,.025));text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease}
.gscta-action:hover{transform:translateY(-4px);box-shadow:0 15px 28px rgba(0,0,0,.20);text-decoration:none!important}
.gscta-action:focus-visible{outline:2px solid var(--a);outline-offset:4px;text-decoration:none!important}
.gscta-action.wa{--a:var(--g);border-color:rgba(67,229,139,.22);background:linear-gradient(135deg,rgba(67,229,139,.08),rgba(67,229,139,.025))}
.gscta-action.maps{--a:var(--v);border-color:rgba(139,92,246,.20);background:linear-gradient(135deg,rgba(139,92,246,.07),rgba(139,92,246,.025))}
.gscta-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--a) 28%,transparent);border-radius:10px;color:var(--a);background:rgba(3,12,22,.56);font-size:8px;font-weight:750}
.gscta-action.wa .gs-global-wa-icon{margin-right:0!important;flex:0 0 auto}
.gscta-action-copy{min-width:0}.gscta-action-copy strong,.gscta-action-copy span{display:block}.gscta-action-copy strong{color:#e5f3fa;font-size:10px;line-height:1.35}.gscta-action-copy span{margin-top:3px;color:var(--a);font-size:8.5px;line-height:1.38;font-weight:650}
.gscta-visual{overflow:hidden;padding:20px;border:1px solid rgba(139,92,246,.18);border-radius:20px;background:radial-gradient(circle at 50% 42%,rgba(32,213,243,.08),transparent 38%),linear-gradient(145deg,rgba(22,19,44,.50),rgba(3,12,22,.95))}
.gscta-visual::before{content:"";position:absolute;inset:0;opacity:.30;pointer-events:none;background-image:linear-gradient(rgba(32,213,243,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(32,213,243,.035) 1px,transparent 1px);background-size:26px 26px}
.gscta-visual-head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px}.gscta-visual-head>span{color:#bdadff;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.gscta-visual-head>strong{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid rgba(67,229,139,.17);border-radius:999px;color:#94efbc;background:rgba(67,229,139,.035);font-size:8px}
.gscta-visual-head>strong::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--g);box-shadow:0 0 7px rgba(67,229,139,.62);animation:gsctaPulse 2.4s ease-in-out infinite}
.gscta-screen{position:relative;overflow:hidden;min-height:310px;display:grid;place-items:center;margin-top:14px;padding:18px;border:1px solid rgba(92,208,255,.08);border-radius:15px;background:rgba(3,12,22,.69)}
.gscta-scan{position:absolute;z-index:1;left:12px;right:12px;top:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(32,213,243,.68),transparent);box-shadow:0 0 12px rgba(32,213,243,.24);animation:gsctaScan 5.4s ease-in-out infinite}
.gscta-screen svg{position:relative;z-index:2;width:min(310px,82%);height:auto;color:rgba(32,213,243,.80);filter:drop-shadow(0 0 13px rgba(32,213,243,.12));animation:gsctaFloat 4.8s ease-in-out infinite}.gscta-screen .violet{stroke:rgba(139,92,246,.76)}.gscta-screen .green{stroke:rgba(67,229,139,.82)}.gscta-screen .yellow{stroke:rgba(255,200,87,.78)}
.gscta-route{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}.gscta-route article{min-width:0;padding:9px 6px;border:1px solid rgba(92,208,255,.08);border-radius:9px;background:rgba(5,17,30,.82);text-align:center}.gscta-route small,.gscta-route strong{display:block}.gscta-route small{color:var(--c);font-size:7px;font-weight:800}.gscta-route strong{margin-top:3px;color:#cddde8;font-size:8px;line-height:1.35}
.gscta-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.gscta-trust-card{--x:var(--c);position:relative;min-width:0;padding:17px 15px;overflow:hidden;border:1px solid rgba(32,213,243,.13);border-radius:14px;background:linear-gradient(145deg,rgba(8,22,39,.88),rgba(4,12,22,.97))}.gscta-trust-card:nth-child(2){--x:var(--b);border-color:rgba(50,134,255,.13)}.gscta-trust-card:nth-child(3){--x:var(--g);border-color:rgba(67,229,139,.13)}.gscta-trust-card:nth-child(4){--x:var(--v);border-color:rgba(139,92,246,.13)}.gscta-trust-card::before{content:"";position:absolute;left:0;top:0;width:70px;height:2px;background:linear-gradient(90deg,var(--x),transparent)}.gscta-trust-card small,.gscta-trust-card strong,.gscta-trust-card span{display:block}.gscta-trust-card small{color:var(--x);font-size:9px;font-weight:800;text-transform:uppercase}.gscta-trust-card strong{margin-top:7px;color:#e0eef5;font-size:11px;line-height:1.4}.gscta-trust-card span{margin-top:5px;color:#778f9f;font-size:9px;line-height:1.58}
.gscta-condition{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:14px;padding:14px;border:1px solid rgba(255,200,87,.13);border-radius:13px;background:linear-gradient(135deg,rgba(255,200,87,.027),rgba(32,213,243,.018))}.gscta-condition-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,200,87,.20);border-radius:11px;color:#ffe09a;background:rgba(255,200,87,.035)}.gscta-condition-icon svg{width:22px;height:22px}.gscta-condition strong{display:block;color:#f1e7cb;font-size:10px;line-height:1.45}.gscta-condition p{margin:5px 0 0;color:#908873;font-size:9px;line-height:1.62}.gscta-condition-state{color:#c8b87f;font-size:8.5px;font-weight:700;text-transform:uppercase;white-space:nowrap}
.gscta-terminal{margin-top:14px;overflow:hidden;border:1px solid rgba(139,92,246,.17);border-radius:17px;background:linear-gradient(155deg,rgba(10,18,38,.95),rgba(4,9,20,.98))}.gscta-terminal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:9px 13px;border-bottom:1px solid rgba(118,167,255,.10);color:#71889d;font-size:9px;font-weight:700;text-transform:uppercase}.gscta-terminal-head strong{color:#9cefc0;font-size:8px}.gscta-terminal-body{display:flex;flex-wrap:wrap;gap:7px;padding:16px}.gscta-terminal-body span{display:inline-flex;align-items:center;min-height:29px;padding:6px 9px;border:1px solid rgba(92,208,255,.08);border-radius:7px;color:#879eae;background:rgba(6,18,31,.52);font-size:9px}.gscta-terminal-body span:last-child{border-color:rgba(67,229,139,.14);color:#9cefc0;background:rgba(67,229,139,.035)}
.gscta-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:0 3px;color:#60788c;font-size:9px;font-weight:650;text-transform:uppercase}.gscta-footer-status{display:flex;align-items:center;gap:7px;color:#7791a5}.gscta-footer-status::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--g);box-shadow:0 0 7px rgba(67,229,139,.50)}
@keyframes gsctaPulse{0%,100%{opacity:.45;transform:scale(.88)}50%{opacity:1;transform:scale(1.12)}}@keyframes gsctaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes gsctaScan{0%,100%{top:10%;opacity:.12}50%{top:88%;opacity:.72}}
@media(max-width:1024px){.gscta-panel{grid-template-columns:1fr}.gscta-visual{width:100%;max-width:720px;margin:0 auto}.gscta-trust{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){#cta-quienes-somos{padding:64px 17px 70px}.gscta-panel{padding:22px 16px;border-radius:21px}.gscta-title{font-size:clamp(31px,9.5vw,41px);line-height:1.08}.gscta-lead{font-size:14px;line-height:1.72}.gscta-actions,.gscta-trust{grid-template-columns:1fr}.gscta-visual{padding:18px 14px}.gscta-screen{min-height:270px}.gscta-condition{grid-template-columns:44px minmax(0,1fr)}.gscta-condition-state{grid-column:1/-1;width:fit-content}.gscta-footer{flex-direction:column;align-items:flex-start;gap:7px}}
@media(max-width:560px){.gscta-route{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){#cta-quienes-somos{padding-left:14px;padding-right:14px}.gscta-panel{padding-left:13px;padding-right:13px}.gscta-visual{padding-left:11px;padding-right:11px}.gscta-condition{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#cta-quienes-somos,#cta-quienes-somos *,#cta-quienes-somos *::before,#cta-quienes-somos *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* Estado de hidratación de visuales secundarios */
#quienes-somos-inicio .gsqs__loading,
#forma-trabajo-quienes-somos .gsqs__loading,
#capacidad-tecnica-quienes-somos .gsqs__loading,
#principios-servicio-quienes-somos .gsqs__loading,
#servicio-independiente-quienes-somos .gsqs__loading,
#puebla-servicio-nacional-quienes-somos .gsqs__loading,
#cta-quienes-somos .gsqs__loading {
    margin: auto;
    padding: 18px;
    color: #91a8bb;
    font-size: 11px;
    line-height: 1.6;
    text-align: center;
}
@media (prefers-reduced-motion: reduce) {
  #quienes-somos-inicio *, #quienes-somos-inicio *::before, #quienes-somos-inicio *::after,
  #forma-trabajo-quienes-somos *, #forma-trabajo-quienes-somos *::before, #forma-trabajo-quienes-somos *::after,
  #capacidad-tecnica-quienes-somos *, #capacidad-tecnica-quienes-somos *::before, #capacidad-tecnica-quienes-somos *::after,
  #principios-servicio-quienes-somos *, #principios-servicio-quienes-somos *::before, #principios-servicio-quienes-somos *::after,
  #servicio-independiente-quienes-somos *, #servicio-independiente-quienes-somos *::before, #servicio-independiente-quienes-somos *::after,
  #puebla-servicio-nacional-quienes-somos *, #puebla-servicio-nacional-quienes-somos *::before, #puebla-servicio-nacional-quienes-somos *::after,
  #preguntas-quienes-somos *, #preguntas-quienes-somos *::before, #preguntas-quienes-somos *::after,
  #cta-quienes-somos *, #cta-quienes-somos *::before, #cta-quienes-somos *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
