/* =========================================================
   reballing-inicio
   ========================================================= */
/* =========================================================
   GAMMERS STYLE
   REBALLING — HERO
   ID INTERNO HTML: reballing-inicio
   ========================================================= */

#reballing-inicio {
    --rb-bg: #020710;
    --rb-bg-2: #05101b;

    --rb-cyan: #20d5f3;
    --rb-cyan-soft: #9cefff;
    --rb-blue: #3286ff;
    --rb-violet: #8b5cf6;

    --rb-green: #43e58b;
    --rb-yellow: #ffc857;
    --rb-orange: #ff9f43;
    --rb-red: #ff637d;

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

    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    color: var(--rb-text);
    background:
        radial-gradient(circle at 12% 18%, rgba(32, 213, 243, 0.085), transparent 30%),
        radial-gradient(circle at 87% 20%, rgba(139, 92, 246, 0.075), transparent 31%),
        radial-gradient(circle at 73% 87%, rgba(67, 229, 139, 0.040), transparent 28%),
        linear-gradient(180deg, #020710 0%, #05101b 51%, #020710 100%);
    font-family: "Poppins", system-ui, sans-serif;
    writing-mode: horizontal-tb;
    word-break: normal;
    overflow-wrap: break-word;
}

#reballing-inicio *,
#reballing-inicio *::before,
#reballing-inicio *::after {
    box-sizing: border-box;
    writing-mode: horizontal-tb;
    word-break: normal;
    overflow-wrap: break-word;
}

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

#reballing-inicio .gsrbhero-grid {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.30;
    background-image:
        linear-gradient(rgba(32, 213, 243, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(32, 213, 243, 0.045) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%);
}

/* =========================================================
   DECORATIVE ORBIT
   ========================================================= */

#reballing-inicio .gsrbhero-orbit {
    position: absolute;
    right: -280px;
    top: 170px;
    width: 590px;
    height: 590px;
    border: 1px solid rgba(32, 213, 243, 0.045);
    border-radius: 50%;
    pointer-events: none;
    animation: gsrbhero-orbit-spin 50s linear infinite;
}

#reballing-inicio .gsrbhero-orbit::before,
#reballing-inicio .gsrbhero-orbit::after {
    content: "";
    position: absolute;
    border-radius: 50%;
}

#reballing-inicio .gsrbhero-orbit::before {
    inset: 86px;
    border: 1px dashed rgba(139, 92, 246, 0.050);
}

#reballing-inicio .gsrbhero-orbit::after {
    inset: 178px;
    border: 1px solid rgba(67, 229, 139, 0.035);
}

@keyframes gsrbhero-orbit-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

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

#reballing-inicio .gsrbhero-page-scan {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

#reballing-inicio .gsrbhero-page-scan::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(32, 213, 243, 0.32),
            rgba(139, 92, 246, 0.18),
            transparent
        );
    box-shadow: 0 0 20px rgba(32, 213, 243, 0.09);
    animation: gsrbhero-page-scan 10.5s linear infinite;
}

@keyframes gsrbhero-page-scan {
    0% {
        transform: translateY(0);
        opacity: 0;
    }
    8% {
        opacity: 0.45;
    }
    92% {
        opacity: 0.16;
    }
    100% {
        transform: translateY(1500px);
        opacity: 0;
    }
}

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

#reballing-inicio .gsrbhero-shell {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 104px 0 94px;
}

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

#reballing-inicio .gsrbhero-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(440px, 0.97fr);
    gap: 46px;
    align-items: center;
}

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

#reballing-inicio .gsrbhero-copy {
    min-width: 0;
}

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

#reballing-inicio .gsrbhero-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: #9eeeff;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

#reballing-inicio .gsrbhero-kicker-dot {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: var(--rb-green);
    box-shadow:
        0 0 8px rgba(67, 229, 139, 0.75),
        0 0 17px rgba(67, 229, 139, 0.20);
}

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

#reballing-inicio .gsrbhero-title {
    max-width: 760px;
    margin: 0;
    color: #f4fbff;
    font-size: clamp(40px, 5.4vw, 66px);
    line-height: 1.01;
    font-weight: 700;
    letter-spacing: -0.048em;
}

#reballing-inicio .gsrbhero-title span {
    color: var(--rb-cyan);
}

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

#reballing-inicio .gsrbhero-lead {
    max-width: 720px;
    margin: 21px 0 0;
    color: #9bb1c1;
    font-size: 15px;
    line-height: 1.8;
}

/* =========================================================
   PRINCIPLE
   ========================================================= */

#reballing-inicio .gsrbhero-principle {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    max-width: 720px;
    margin-top: 22px;
    padding: 16px;
    border: 1px solid rgba(32, 213, 243, 0.14);
    border-radius: 14px;
    background:
        linear-gradient(
            135deg,
            rgba(32, 213, 243, 0.050),
            rgba(139, 92, 246, 0.024)
        );
}

#reballing-inicio .gsrbhero-principle-icon {
    display: grid;
    place-items: center;
    width: 33px;
    height: 33px;
    flex: 0 0 33px;
    border: 1px solid rgba(32, 213, 243, 0.20);
    border-radius: 9px;
    color: #9cefff;
    font-size: 9px;
    font-weight: 700;
}

#reballing-inicio .gsrbhero-principle-copy {
    min-width: 0;
    color: #849baa;
    font-size: 11px;
    line-height: 1.67;
}

#reballing-inicio .gsrbhero-principle-copy strong {
    display: block;
    margin-bottom: 3px;
    color: #def6ff;
    font-size: 12px;
    font-weight: 600;
}

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

#reballing-inicio .gsrbhero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 23px;
}

#reballing-inicio .gsrbhero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    gap: 8px;
    padding: 10px 15px;
    border-radius: 11px;
    text-decoration: none !important;
    font-size: 10px;
    line-height: 1.35;
    font-weight: 600;
    transition:
        transform 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        background 0.18s ease;
}

#reballing-inicio .gsrbhero-btn:hover {
    transform: translateY(-2px);
}


#reballing-inicio .gsrbhero-btn:focus-visible {
    outline: 2px solid rgba(32, 213, 243, 0.82);
    outline-offset: 3px;
}

#reballing-inicio .gsrbhero-btn.primary {
    border: 1px solid rgba(67, 229, 139, 0.24);
    background:
        linear-gradient(
            135deg,
            rgba(67, 229, 139, 0.12),
            rgba(67, 229, 139, 0.045)
        );
    color: #a4f3c4;
}

#reballing-inicio .gsrbhero-btn.primary:hover {
    border-color: rgba(67, 229, 139, 0.42);
    box-shadow: 0 8px 28px rgba(67, 229, 139, 0.08);
}

#reballing-inicio .gsrbhero-btn.primary .gs-global-wa-icon {
    margin-right: 0 !important;
    flex: 0 0 auto;
}

#reballing-inicio .gsrbhero-btn.secondary {
    border: 1px solid rgba(32, 213, 243, 0.18);
    background: rgba(32, 213, 243, 0.035);
    color: #9deeff;
}

#reballing-inicio .gsrbhero-btn.secondary:hover {
    border-color: rgba(32, 213, 243, 0.34);
    box-shadow: 0 8px 28px rgba(32, 213, 243, 0.07);
}

/* =========================================================
   MICRO BADGES
   ========================================================= */

#reballing-inicio .gsrbhero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 18px;
}

#reballing-inicio .gsrbhero-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 29px;
    padding: 6px 9px;
    border: 1px solid rgba(92, 208, 255, 0.085);
    border-radius: 8px;
    background: rgba(5, 17, 30, 0.52);
    color: #8098a8;
    font-size: 10px;
    line-height: 1.35;
    font-weight: 500;
}

#reballing-inicio .gsrbhero-badge::before {
    content: "";
    width: 5px;
    height: 5px;
    flex: 0 0 5px;
    border-radius: 50%;
    background: var(--badge-color);
}

#reballing-inicio .gsrbhero-badge.diagnosis { --badge-color: #20d5f3; }
#reballing-inicio .gsrbhero-badge.bga { --badge-color: #8b5cf6; }
#reballing-inicio .gsrbhero-badge.verify { --badge-color: #43e58b; }
#reballing-inicio .gsrbhero-badge.mexico { --badge-color: #ffc857; }

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

#reballing-inicio .gsrbhero-visual {
    position: relative;
    min-width: 0;
    padding: 23px;
    overflow: hidden;
    border: 1px solid rgba(139, 92, 246, 0.18);
    border-radius: 24px;
    background:
        linear-gradient(
            145deg,
            rgba(23, 18, 46, 0.45),
            rgba(4, 13, 23, 0.97)
        );
    box-shadow: 0 22px 65px rgba(0, 0, 0, 0.27);
}

#reballing-inicio .gsrbhero-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 35%, rgba(32, 213, 243, 0.085), transparent 34%),
        radial-gradient(circle at 50% 77%, rgba(139, 92, 246, 0.050), transparent 42%);
}

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

#reballing-inicio .gsrbhero-visual-head {
    position: relative;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

#reballing-inicio .gsrbhero-visual-code {
    color: #bcaeff;
    font-size: 10px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

#reballing-inicio .gsrbhero-visual-state {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    padding: 5px 8px;
    border: 1px solid rgba(255, 200, 87, 0.17);
    border-radius: 999px;
    background: rgba(255, 200, 87, 0.030);
    color: #ead08b;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 600;
}

#reballing-inicio .gsrbhero-visual-state::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--rb-yellow);
    box-shadow: 0 0 7px rgba(255, 200, 87, 0.56);
}

/* =========================================================
   BGA SCREEN
   ========================================================= */

#reballing-inicio .gsrbhero-bga-screen {
    position: relative;
    z-index: 3;
    min-height: 440px;
    margin-top: 17px;
    overflow: hidden;
    border: 1px solid rgba(92, 208, 255, 0.085);
    border-radius: 17px;
    background:
        radial-gradient(circle at 50% 45%, rgba(32, 213, 243, 0.085), transparent 31%),
        rgba(3, 12, 22, 0.71);
}

#reballing-inicio .gsrbhero-bga-screen::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.27;
    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;
}

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

#reballing-inicio .gsrbhero-board-path {
    position: absolute;
    height: 1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(32, 213, 243, 0.36),
            rgba(139, 92, 246, 0.25),
            transparent
        );
    transform-origin: left center;
    pointer-events: none;
    animation: gsrbhero-path-pulse 3s ease-in-out infinite;
}

#reballing-inicio .gsrbhero-board-path.p1 {
    left: 6%;
    top: 21%;
    width: 41%;
    transform: rotate(17deg);
}

#reballing-inicio .gsrbhero-board-path.p2 {
    left: 52%;
    top: 40%;
    width: 39%;
    transform: rotate(-19deg);
}

#reballing-inicio .gsrbhero-board-path.p3 {
    left: 8%;
    bottom: 30%;
    width: 40%;
    transform: rotate(-18deg);
}

#reballing-inicio .gsrbhero-board-path.p4 {
    left: 51%;
    bottom: 29%;
    width: 40%;
    transform: rotate(19deg);
}

@keyframes gsrbhero-path-pulse {
    0%, 100% { opacity: 0.17; }
    50% { opacity: 0.78; }
}

/* =========================================================
   REAL CHIP IMAGE
   ========================================================= */

#reballing-inicio .gsrbhero-chip-photo-wrap {
    position: absolute;
    z-index: 7;
    left: 50%;
    top: 43%;
    width: min(86%, 430px);
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

#reballing-inicio .gsrbhero-chip-photo-wrap::before {
    content: "";
    position: absolute;
    width: 84%;
    height: 84%;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(32, 213, 243, 0.22) 0%,
            rgba(50, 134, 255, 0.10) 38%,
            rgba(139, 92, 246, 0.08) 58%,
            transparent 76%
        );
    filter: blur(14px);
    animation: gsrbhero-photo-glow 4.8s ease-in-out infinite;
}

#reballing-inicio .gsrbhero-chip-photo-wrap::after {
    content: "";
    position: absolute;
    inset: 7% 12%;
    border: 1px solid rgba(32, 213, 243, 0.14);
    border-radius: 26px;
    box-shadow:
        0 0 0 1px rgba(139, 92, 246, 0.08) inset,
        0 0 34px rgba(32, 213, 243, 0.08);
    animation: gsrbhero-frame-breathe 5.3s ease-in-out infinite;
}

#reballing-inicio .gsrbhero-chip-photo {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 390px;
    animation: gsrbhero-photo-float 5.2s ease-in-out infinite;
    filter:
        drop-shadow(0 22px 26px rgba(0, 0, 0, 0.36))
        drop-shadow(0 0 26px rgba(32, 213, 243, 0.14));
}

#reballing-inicio .gsrbhero-chip-photo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

@keyframes gsrbhero-photo-float {
    0%, 100% {
        transform: translateY(0px) scale(1);
    }
    50% {
        transform: translateY(-8px) scale(1.012);
    }
}

@keyframes gsrbhero-photo-glow {
    0%, 100% {
        opacity: 0.72;
        transform: scale(1);
    }
    50% {
        opacity: 1;
        transform: scale(1.04);
    }
}

@keyframes gsrbhero-frame-breathe {
    0%, 100% {
        opacity: 0.55;
        transform: scale(1);
    }
    50% {
        opacity: 0.95;
        transform: scale(1.012);
    }
}

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

#reballing-inicio .gsrbhero-node {
    position: absolute;
    z-index: 9;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 9px;
    border-radius: 8px;
    background: rgba(4, 15, 27, 0.94);
    color: #8fa7b5;
    font-size: 9px;
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase;
}

#reballing-inicio .gsrbhero-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);
}

#reballing-inicio .gsrbhero-node.symptom {
    --node-color: #ffc857;
    left: 6%;
    top: 13%;
    border: 1px solid rgba(255, 200, 87, 0.16);
}

#reballing-inicio .gsrbhero-node.measure {
    --node-color: #20d5f3;
    right: 6%;
    top: 13%;
    border: 1px solid rgba(32, 213, 243, 0.16);
}

#reballing-inicio .gsrbhero-node.bga {
    --node-color: #8b5cf6;
    left: 6%;
    bottom: 24%;
    border: 1px solid rgba(139, 92, 246, 0.16);
}

#reballing-inicio .gsrbhero-node.verify {
    --node-color: #43e58b;
    right: 6%;
    bottom: 24%;
    border: 1px solid rgba(67, 229, 139, 0.16);
}

/* =========================================================
   ROUTE
   ========================================================= */

#reballing-inicio .gsrbhero-route {
    position: absolute;
    z-index: 10;
    left: 13px;
    right: 13px;
    bottom: 13px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 4px;
}

#reballing-inicio .gsrbhero-route-step {
    min-width: 0;
    padding: 7px 3px;
    border: 1px solid rgba(92, 208, 255, 0.08);
    border-radius: 7px;
    background: rgba(5, 17, 30, 0.84);
    color: #758e9e;
    text-align: center;
    font-size: 8px;
    line-height: 1.35;
    font-weight: 600;
}

/* =========================================================
   VISUAL FOOTNOTE
   ========================================================= */

#reballing-inicio .gsrbhero-visual-note {
    position: relative;
    z-index: 5;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    margin-top: 13px;
    padding: 13px;
    border: 1px solid rgba(255, 200, 87, 0.12);
    border-radius: 11px;
    background: rgba(255, 200, 87, 0.025);
    color: #918970;
    font-size: 10px;
    line-height: 1.58;
}

#reballing-inicio .gsrbhero-visual-note-icon {
    display: grid;
    place-items: center;
    width: 19px;
    height: 19px;
    flex: 0 0 19px;
    margin-top: 1px;
    border: 1px solid rgba(255, 200, 87, 0.18);
    border-radius: 50%;
    color: #ffe09b;
    font-size: 8px;
    font-weight: 700;
}

/* =========================================================
   TRUST STRIP
   ========================================================= */

#reballing-inicio .gsrbhero-trust {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 24px;
}

#reballing-inicio .gsrbhero-trust-card {
    --trust-color: #20d5f3;
    position: relative;
    min-width: 0;
    padding: 17px 15px 15px;
    overflow: hidden;
    border-radius: 14px;
    background:
        linear-gradient(
            145deg,
            rgba(8, 22, 39, 0.88),
            rgba(4, 12, 22, 0.97)
        );
}

#reballing-inicio .gsrbhero-trust-card.diagnosis {
    --trust-color: #20d5f3;
    border: 1px solid rgba(32, 213, 243, 0.13);
}

#reballing-inicio .gsrbhero-trust-card.control {
    --trust-color: #8b5cf6;
    border: 1px solid rgba(139, 92, 246, 0.13);
}

#reballing-inicio .gsrbhero-trust-card.verify {
    --trust-color: #43e58b;
    border: 1px solid rgba(67, 229, 139, 0.13);
}

#reballing-inicio .gsrbhero-trust-card.scope {
    --trust-color: #ffc857;
    border: 1px solid rgba(255, 200, 87, 0.13);
}

#reballing-inicio .gsrbhero-trust-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 67px;
    height: 2px;
    background: linear-gradient(90deg, var(--trust-color), transparent);
}

#reballing-inicio .gsrbhero-trust-code {
    display: block;
    margin-bottom: 7px;
    color: var(--trust-color);
    font-size: 10px;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

#reballing-inicio .gsrbhero-trust-title {
    display: block;
    margin-bottom: 5px;
    color: #e0eef5;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 600;
}

#reballing-inicio .gsrbhero-trust-copy {
    display: block;
    color: #758d9e;
    font-size: 10px;
    line-height: 1.58;
}

/* =========================================================
   TERMINAL
   ========================================================= */

#reballing-inicio .gsrbhero-terminal {
    margin-top: 18px;
    overflow: hidden;
    border: 1px solid rgba(139, 92, 246, 0.17);
    border-radius: 17px;
    background:
        linear-gradient(
            155deg,
            rgba(10, 18, 38, 0.95),
            rgba(4, 9, 20, 0.98)
        );
}

#reballing-inicio .gsrbhero-terminal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 43px;
    padding: 10px 14px;
    border-bottom: 1px solid rgba(118, 167, 255, 0.10);
    background: rgba(8, 18, 34, 0.75);
}

#reballing-inicio .gsrbhero-terminal-dots {
    display: flex;
    gap: 6px;
}

#reballing-inicio .gsrbhero-terminal-dots span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
}

#reballing-inicio .gsrbhero-terminal-dots span:nth-child(1) {
    background: var(--rb-red);
}

#reballing-inicio .gsrbhero-terminal-dots span:nth-child(2) {
    background: var(--rb-yellow);
}

#reballing-inicio .gsrbhero-terminal-dots span:nth-child(3) {
    background: var(--rb-green);
}

#reballing-inicio .gsrbhero-terminal-name {
    color: #71889d;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#reballing-inicio .gsrbhero-terminal-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    padding: 18px 20px;
}

#reballing-inicio .gsrbhero-terminal-route {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

#reballing-inicio .gsrbhero-terminal-route span {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 6px 9px;
    border: 1px solid rgba(92, 208, 255, 0.08);
    border-radius: 7px;
    background: rgba(6, 18, 31, 0.52);
    color: #879eae;
    font-size: 10px;
    line-height: 1.35;
    font-weight: 500;
}

#reballing-inicio .gsrbhero-terminal-state {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex-shrink: 0;
    padding: 8px 10px;
    border: 1px solid rgba(67, 229, 139, 0.14);
    border-radius: 9px;
    background: rgba(67, 229, 139, 0.035);
    color: #9cefc0;
    font-size: 10px;
    line-height: 1.35;
    font-weight: 600;
}

#reballing-inicio .gsrbhero-terminal-state::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--rb-green);
    box-shadow: 0 0 7px rgba(67, 229, 139, 0.55);
}

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

#reballing-inicio .gsrbhero-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 20px;
    padding: 0 3px;
    color: #60788c;
    font-size: 10px;
    line-height: 1.45;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

#reballing-inicio .gsrbhero-footer-status {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #7791a5;
}

#reballing-inicio .gsrbhero-footer-status::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--rb-green);
    box-shadow: 0 0 7px rgba(67, 229, 139, 0.50);
}

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

@media (max-width: 1024px) {

    #reballing-inicio .gsrbhero-shell {
        width: min(100% - 40px, 920px);
        padding: 84px 0 82px;
    }

    #reballing-inicio .gsrbhero-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    #reballing-inicio .gsrbhero-copy {
        max-width: 800px;
    }

    #reballing-inicio .gsrbhero-visual {
        width: 100%;
        max-width: 730px;
        margin: 0 auto;
    }

    #reballing-inicio .gsrbhero-trust {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

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

@media (max-width: 767px) {

    #reballing-inicio {
        overflow: hidden;
    }

    #reballing-inicio .gsrbhero-grid {
        opacity: 0.18;
        background-size: 32px 32px;
    }

    #reballing-inicio .gsrbhero-orbit,
    #reballing-inicio .gsrbhero-page-scan {
        display: none;
    }

    #reballing-inicio .gsrbhero-shell {
        width: calc(100% - 30px);
        max-width: 100%;
        padding: 66px 0 68px;
    }

    #reballing-inicio .gsrbhero-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    #reballing-inicio .gsrbhero-title {
        font-size: clamp(35px, 11vw, 48px);
        line-height: 1.03;
    }

    #reballing-inicio .gsrbhero-lead {
        font-size: 14px;
        line-height: 1.72;
    }

    #reballing-inicio .gsrbhero-principle {
        grid-template-columns: minmax(0, 1fr);
        gap: 9px;
    }

    #reballing-inicio .gsrbhero-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    #reballing-inicio .gsrbhero-btn {
        width: 100%;
    }

    #reballing-inicio .gsrbhero-badges {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #reballing-inicio .gsrbhero-visual {
        width: 100%;
        padding: 18px 14px;
        border-radius: 18px;
    }

    #reballing-inicio .gsrbhero-visual-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    #reballing-inicio .gsrbhero-bga-screen {
        min-height: 355px;
    }

    #reballing-inicio .gsrbhero-chip-photo-wrap,
    #reballing-inicio .gsrbhero-board-path {
        animation: none;
    }

    #reballing-inicio .gsrbhero-chip-photo-wrap {
        width: min(88%, 300px);
    }

    #reballing-inicio .gsrbhero-chip-photo {
        max-width: 280px;
        animation: none;
    }

    #reballing-inicio .gsrbhero-chip-photo-wrap::before,
    #reballing-inicio .gsrbhero-chip-photo-wrap::after {
        animation: none;
    }

    #reballing-inicio .gsrbhero-node {
        padding: 5px 6px;
        font-size: 8px;
    }

    #reballing-inicio .gsrbhero-route {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4px;
    }

    #reballing-inicio .gsrbhero-route-step {
        text-align: left;
        font-size: 8px;
    }

    #reballing-inicio .gsrbhero-trust {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    #reballing-inicio .gsrbhero-terminal-body {
        grid-template-columns: minmax(0, 1fr);
        gap: 13px;
        padding: 17px 14px;
    }

    #reballing-inicio .gsrbhero-terminal-state {
        width: fit-content;
    }

    #reballing-inicio .gsrbhero-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 7px;
    }
}

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

@media (max-width: 390px) {

    #reballing-inicio .gsrbhero-shell {
        width: calc(100% - 24px);
    }

    #reballing-inicio .gsrbhero-badges {
        grid-template-columns: minmax(0, 1fr);
    }

    #reballing-inicio .gsrbhero-visual {
        padding-left: 11px;
        padding-right: 11px;
    }

    #reballing-inicio .gsrbhero-bga-screen {
        min-height: 330px;
    }

    #reballing-inicio .gsrbhero-chip-photo-wrap {
        width: min(90%, 245px);
    }

    #reballing-inicio .gsrbhero-chip-photo {
        max-width: 230px;
    }

    #reballing-inicio .gsrbhero-node {
        padding: 4px 5px;
        font-size: 8px;
    }

    #reballing-inicio .gsrbhero-route {
        grid-template-columns: minmax(0, 1fr);
    }
}

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

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

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

    #reballing-inicio .gsrbhero-page-scan {
        display: none !important;
    }
}


/* =========================================================
   que-es-reballing
   ========================================================= */
/* =========================================================
   GAMMERS STYLE
   REBALLING — QUÉ ES EL REBALLING
   ID INTERNO HTML: que-es-reballing
   ========================================================= */

#que-es-reballing {
    --rb-bg: #030811;
    --rb-bg-2: #05101b;

    --rb-cyan: #20d5f3;
    --rb-cyan-soft: #9cefff;
    --rb-blue: #3286ff;
    --rb-violet: #8b5cf6;

    --rb-green: #43e58b;
    --rb-yellow: #ffc857;
    --rb-orange: #ff9f43;
    --rb-red: #ff637d;

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

    position: relative;
    isolation: isolate;

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

    overflow: hidden;

    color: var(--rb-text);

    background:
        radial-gradient(
            circle at 14% 16%,
            rgba(32, 213, 243, 0.060),
            transparent 30%
        ),
        radial-gradient(
            circle at 87% 22%,
            rgba(139, 92, 246, 0.054),
            transparent 30%
        ),
        radial-gradient(
            circle at 71% 88%,
            rgba(67, 229, 139, 0.037),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #030811 0%,
            #05101b 50%,
            #030811 100%
        );

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

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

#que-es-reballing *,
#que-es-reballing *::before,
#que-es-reballing *::after {
    box-sizing: border-box;

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


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

#que-es-reballing .gsrbwhat-grid {
    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.27;

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

    background-size: 46px 46px;

    mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 9%,
            #000 91%,
            transparent 100%
        );

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 9%,
            #000 91%,
            transparent 100%
        );
}


/* =========================================================
   DECORATION
   ========================================================= */

#que-es-reballing .gsrbwhat-orbit {
    position: absolute;

    left: -250px;
    top: 430px;

    width: 510px;
    height: 510px;

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

    border-radius: 50%;

    pointer-events: none;

    animation:
        gsrbwhat-orbit-spin
        54s linear infinite;
}

#que-es-reballing .gsrbwhat-orbit::before,
#que-es-reballing .gsrbwhat-orbit::after {
    content: "";

    position: absolute;

    border-radius: 50%;
}

#que-es-reballing .gsrbwhat-orbit::before {
    inset: 82px;

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

#que-es-reballing .gsrbwhat-orbit::after {
    inset: 165px;

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

@keyframes gsrbwhat-orbit-spin {

    from {
        transform: rotate(0deg);
    }

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


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

#que-es-reballing .gsrbwhat-scan {
    position: absolute;
    inset: 0;

    pointer-events: none;
    overflow: hidden;
}

#que-es-reballing .gsrbwhat-scan::before {
    content: "";

    position: absolute;

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

    height: 1px;

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

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

    animation:
        gsrbwhat-scan-move
        11.2s linear infinite;
}

@keyframes gsrbwhat-scan-move {

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

    9% {
        opacity: 0.40;
    }

    92% {
        opacity: 0.16;
    }

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


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

#que-es-reballing .gsrbwhat-shell {
    position: relative;
    z-index: 2;

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

    margin: 0 auto;

    padding:
        94px 0 98px;
}


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

#que-es-reballing .gsrbwhat-heading {
    display: grid;

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

    gap: 48px;

    align-items: end;

    margin-bottom: 40px;
}

#que-es-reballing .gsrbwhat-heading-main {
    min-width: 0;
}


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

#que-es-reballing .gsrbwhat-kicker {
    display: inline-flex;
    align-items: center;

    gap: 9px;

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

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

    border-radius: 999px;

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

    color: #9eeeff;

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

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

#que-es-reballing .gsrbwhat-kicker-dot {
    width: 6px;
    height: 6px;

    flex: 0 0 6px;

    border-radius: 50%;

    background: var(--rb-cyan);

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


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

#que-es-reballing .gsrbwhat-title {
    max-width: 900px;

    margin: 0;

    color: #f4fbff;

    font-size:
        clamp(
            30px,
            4vw,
            48px
        );

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

    letter-spacing: -0.035em;
}

#que-es-reballing .gsrbwhat-title span {
    color: var(--rb-cyan);
}

#que-es-reballing .gsrbwhat-intro {
    max-width: 850px;

    margin: 17px 0 0;

    color: var(--rb-muted);

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


/* =========================================================
   STATUS
   ========================================================= */

#que-es-reballing .gsrbwhat-status {
    position: relative;

    min-width: 0;

    padding: 18px 19px;

    overflow: hidden;

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

    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            rgba(10, 39, 28, 0.27),
            rgba(4, 13, 23, 0.88)
        );
}

#que-es-reballing .gsrbwhat-status::before {
    content: "";

    position: absolute;

    left: 0;
    top: 12px;
    bottom: 12px;

    width: 2px;

    background:
        linear-gradient(
            180deg,
            transparent,
            var(--rb-green),
            transparent
        );
}

#que-es-reballing .gsrbwhat-status-label {
    display: flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 8px;

    color: #97efbe;

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

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

#que-es-reballing .gsrbwhat-status-label::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--rb-green);

    box-shadow:
        0 0 8px rgba(67, 229, 139, 0.55);
}

#que-es-reballing .gsrbwhat-status-copy {
    margin: 0;

    color: #b5c8d6;

    font-size: 12px;
    line-height: 1.62;
}


/* =========================================================
   CORE STATEMENT
   ========================================================= */

#que-es-reballing .gsrbwhat-core {
    position: relative;

    display: grid;

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

    gap: 18px;

    align-items: center;

    margin-bottom: 22px;
    padding: 18px;

    overflow: hidden;

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

    border-radius: 15px;

    background:
        linear-gradient(
            135deg,
            rgba(32, 213, 243, 0.055),
            rgba(139, 92, 246, 0.025)
        );
}

#que-es-reballing .gsrbwhat-core::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 118px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--rb-cyan),
            transparent
        );
}


/* =========================================================
   CORE ICON
   ========================================================= */

#que-es-reballing .gsrbwhat-core-icon {
    position: relative;

    display: grid;
    place-items: center;

    width: 66px;
    height: 66px;

    flex: 0 0 66px;

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

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            rgba(32, 213, 243, 0.08),
            rgba(139, 92, 246, 0.035)
        );

    color: #a3efff;

    font-size: 11px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.04em;
}

#que-es-reballing .gsrbwhat-core-icon::before,
#que-es-reballing .gsrbwhat-core-icon::after {
    content: "";

    position: absolute;

    border-radius: 50%;

    background: var(--rb-cyan);
}

#que-es-reballing .gsrbwhat-core-icon::before {
    width: 5px;
    height: 5px;

    left: 12px;
    bottom: 12px;

    box-shadow:
        11px 0 var(--rb-cyan),
        22px 0 var(--rb-cyan),
        33px 0 var(--rb-cyan);
}

#que-es-reballing .gsrbwhat-core-icon::after {
    width: 4px;
    height: 4px;

    left: 13px;
    top: 12px;

    opacity: 0.45;

    box-shadow:
        10px 0 var(--rb-violet),
        20px 0 var(--rb-cyan),
        30px 0 var(--rb-violet);
}

#que-es-reballing .gsrbwhat-core-copy {
    min-width: 0;
}

#que-es-reballing .gsrbwhat-core-copy strong {
    display: block;

    margin-bottom: 5px;

    color: #e1f8ff;

    font-size: 14px;
    line-height: 1.42;
    font-weight: 600;
}

#que-es-reballing .gsrbwhat-core-copy span {
    display: block;

    color: #8ba3b3;

    font-size: 11px;
    line-height: 1.65;
}

#que-es-reballing .gsrbwhat-core-state {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    flex-shrink: 0;

    padding: 7px 10px;

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

    border-radius: 999px;

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

    color: #94efbc;

    font-size: 10px;
    line-height: 1.3;
    font-weight: 600;
}

#que-es-reballing .gsrbwhat-core-state::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

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


/* =========================================================
   THREE PROCEDURES
   ========================================================= */

#que-es-reballing .gsrbwhat-methods {
    display: grid;

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

    gap: 12px;
}

#que-es-reballing .gsrbwhat-method {
    --method-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding: 23px 20px 21px;

    overflow: hidden;

    border-radius: 17px;

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

#que-es-reballing .gsrbwhat-method.reflow {
    --method-color: #ffc857;

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

#que-es-reballing .gsrbwhat-method.reballing {
    --method-color: #20d5f3;

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

#que-es-reballing .gsrbwhat-method.replacement {
    --method-color: #8b5cf6;

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

#que-es-reballing .gsrbwhat-method::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 88px;
    height: 2px;

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

#que-es-reballing .gsrbwhat-method-number {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 12px;

    color: var(--method-color);

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

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

#que-es-reballing .gsrbwhat-method-number::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: currentColor;

    box-shadow:
        0 0 7px currentColor;
}

#que-es-reballing .gsrbwhat-method-title {
    margin: 0;

    color: #f0f8fc;

    font-size: 18px;
    line-height: 1.32;
    font-weight: 700;
}

#que-es-reballing .gsrbwhat-method-copy {
    margin: 9px 0 0;

    color: #8199a9;

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


/* =========================================================
   METHOD TECH LINE
   ========================================================= */

#que-es-reballing .gsrbwhat-method-tech {
    display: grid;

    gap: 6px;

    margin-top: 16px;
}

#que-es-reballing .gsrbwhat-tech-row {
    display: grid;

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

    gap: 8px;

    align-items: center;

    min-width: 0;

    padding: 8px 9px;

    border:
        1px solid rgba(255,255,255,0.055);

    border-radius: 8px;

    background:
        rgba(3, 12, 22, 0.47);

    color: #768d9c;

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

#que-es-reballing .gsrbwhat-tech-state {
    display: grid;
    place-items: center;

    width: 19px;
    height: 19px;

    flex: 0 0 19px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--method-color) 25%,
            transparent
        );

    border-radius: 50%;

    color: var(--method-color);

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


/* =========================================================
   REBALLING EMPHASIS
   ========================================================= */

#que-es-reballing .gsrbwhat-method.reballing {
    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(32, 213, 243, 0.075),
            transparent 36%
        ),
        linear-gradient(
            145deg,
            rgba(8, 25, 42, 0.95),
            rgba(4, 12, 22, 0.98)
        );

    box-shadow:
        0 0 32px rgba(32, 213, 243, 0.035);
}

#que-es-reballing .gsrbwhat-method-badge {
    display: inline-flex;
    align-items: center;

    margin-top: 14px;
    padding: 6px 9px;

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

    border-radius: 999px;

    background:
        rgba(32, 213, 243, 0.035);

    color: #9cefff;

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

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


/* =========================================================
   MAIN AREA
   ========================================================= */

#que-es-reballing .gsrbwhat-main {
    display: grid;

    grid-template-columns:
        minmax(0, 0.93fr)
        minmax(430px, 1.07fr);

    gap: 18px;

    margin-top: 18px;
}


/* =========================================================
   STRUCTURE PANEL
   ========================================================= */

#que-es-reballing .gsrbwhat-structure {
    position: relative;

    min-width: 0;

    padding: 25px;

    overflow: hidden;

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

    border-radius: 20px;

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

#que-es-reballing .gsrbwhat-panel-label {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 10px;

    color: var(--rb-cyan-soft);

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

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

#que-es-reballing .gsrbwhat-panel-label::before {
    content: "";

    width: 14px;
    height: 1px;

    background: currentColor;

    box-shadow:
        0 0 8px currentColor;
}

#que-es-reballing .gsrbwhat-panel-title {
    margin: 0;

    color: #f2faff;

    font-size: 21px;
    line-height: 1.34;
    font-weight: 700;
}

#que-es-reballing .gsrbwhat-panel-copy {
    margin: 9px 0 0;

    color: #879eae;

    font-size: 11px;
    line-height: 1.68;
}


/* =========================================================
   BGA STACK
   ========================================================= */

#que-es-reballing .gsrbwhat-stack {
    position: relative;

    display: grid;

    gap: 7px;

    margin-top: 20px;
    padding: 18px;

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

    border-radius: 14px;

    background:
        rgba(3, 12, 22, 0.55);
}

#que-es-reballing .gsrbwhat-layer {
    --layer-color: #20d5f3;

    position: relative;

    display: grid;

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

    gap: 13px;

    align-items: center;

    min-width: 0;

    padding: 12px 13px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--layer-color) 13%,
            transparent
        );

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            color-mix(
                in srgb,
                var(--layer-color) 4%,
                transparent
            ),
            rgba(5, 17, 30, 0.68)
        );
}

#que-es-reballing .gsrbwhat-layer.chip {
    --layer-color: #8b5cf6;
}

#que-es-reballing .gsrbwhat-layer.balls {
    --layer-color: #20d5f3;
}

#que-es-reballing .gsrbwhat-layer.pads {
    --layer-color: #43e58b;
}

#que-es-reballing .gsrbwhat-layer.pcb {
    --layer-color: #ffc857;
}

#que-es-reballing .gsrbwhat-layer-code {
    display: grid;
    place-items: center;

    min-height: 32px;

    padding: 6px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--layer-color) 20%,
            transparent
        );

    border-radius: 8px;

    color: var(--layer-color);

    font-size: 9px;
    line-height: 1.2;
    font-weight: 700;

    text-align: center;
    text-transform: uppercase;
}

#que-es-reballing .gsrbwhat-layer-copy {
    min-width: 0;
}

#que-es-reballing .gsrbwhat-layer-copy strong {
    display: block;

    margin-bottom: 3px;

    color: #dcebf4;

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

#que-es-reballing .gsrbwhat-layer-copy span {
    display: block;

    color: #778f9f;

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


/* =========================================================
   STACK CONNECTORS
   ========================================================= */

#que-es-reballing .gsrbwhat-stack-arrow {
    display: grid;
    place-items: center;

    height: 11px;

    color: rgba(32, 213, 243, 0.40);

    font-size: 11px;
    line-height: 1;
}


/* =========================================================
   STRUCTURE NOTE
   ========================================================= */

#que-es-reballing .gsrbwhat-structure-note {
    display: flex;
    align-items: flex-start;

    gap: 9px;

    margin-top: 13px;
    padding: 13px;

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

    border-radius: 10px;

    background:
        rgba(255, 200, 87, 0.025);

    color: #8c856e;

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

#que-es-reballing .gsrbwhat-structure-note::before {
    content: "!";

    display: grid;
    place-items: center;

    width: 19px;
    height: 19px;

    flex: 0 0 19px;

    margin-top: 1px;

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

    border-radius: 50%;

    color: #ffe09a;

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


/* =========================================================
   DECISION HUD
   ========================================================= */

#que-es-reballing .gsrbwhat-hud {
    position: relative;

    min-width: 0;

    padding: 23px;

    overflow: hidden;

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

    border-radius: 21px;

    background:
        linear-gradient(
            145deg,
            rgba(24, 18, 45, 0.38),
            rgba(4, 12, 22, 0.97)
        );
}

#que-es-reballing .gsrbwhat-hud::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        radial-gradient(
            circle at 50% 32%,
            rgba(32, 213, 243, 0.075),
            transparent 35%
        ),
        radial-gradient(
            circle at 50% 72%,
            rgba(139, 92, 246, 0.050),
            transparent 40%
        );
}


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

#que-es-reballing .gsrbwhat-hud-head {
    position: relative;
    z-index: 4;

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

    gap: 10px;
}

#que-es-reballing .gsrbwhat-hud-code {
    color: #bdadff;

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

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

#que-es-reballing .gsrbwhat-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: #94efbc;

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

#que-es-reballing .gsrbwhat-hud-state::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

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


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

#que-es-reballing .gsrbwhat-hud-screen {
    position: relative;
    z-index: 2;

    min-height: 420px;

    margin-top: 17px;

    overflow: hidden;

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

    border-radius: 15px;

    background:
        radial-gradient(
            circle at 50% 45%,
            rgba(32, 213, 243, 0.085),
            transparent 32%
        ),
        rgba(3, 12, 22, 0.68);
}

#que-es-reballing .gsrbwhat-hud-screen::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.27;

    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;
}


/* =========================================================
   DECISION CORE
   ========================================================= */

#que-es-reballing .gsrbwhat-decision-core {
    position: absolute;

    z-index: 8;

    left: 50%;
    top: 43%;

    width: 148px;
    height: 148px;

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

    display: grid;
    place-items: center;

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

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(32, 213, 243, 0.12),
            rgba(139, 92, 246, 0.045) 47%,
            rgba(5, 16, 29, 0.97) 76%
        );

    box-shadow:
        0 0 48px rgba(32, 213, 243, 0.09);

    animation:
        gsrbwhat-core-pulse
        4.2s ease-in-out infinite;
}

#que-es-reballing .gsrbwhat-decision-core div {
    text-align: center;
}

#que-es-reballing .gsrbwhat-decision-core strong {
    display: block;

    color: #dcf9ff;

    font-size: 12px;
    line-height: 1.18;
    font-weight: 700;

    text-transform: uppercase;
}

#que-es-reballing .gsrbwhat-decision-core span {
    display: block;

    margin-top: 6px;

    color: #829aa9;

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

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

@keyframes gsrbwhat-core-pulse {

    0%,
    100% {
        box-shadow:
            0 0 28px rgba(32, 213, 243, 0.05);
    }

    50% {
        box-shadow:
            0 0 58px rgba(32, 213, 243, 0.14);
    }
}


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

#que-es-reballing .gsrbwhat-ring {
    position: absolute;

    left: 50%;
    top: 43%;

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

    border-radius: 50%;

    pointer-events: none;
}

#que-es-reballing .gsrbwhat-ring.one {
    width: 220px;
    height: 220px;

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

    animation:
        gsrbwhat-ring-spin
        20s linear infinite;
}

#que-es-reballing .gsrbwhat-ring.two {
    width: 296px;
    height: 296px;

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

    animation:
        gsrbwhat-ring-spin
        30s linear infinite reverse;
}

@keyframes gsrbwhat-ring-spin {

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

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


/* =========================================================
   HUD DECISIONS
   ========================================================= */

#que-es-reballing .gsrbwhat-decision {
    position: absolute;

    z-index: 9;

    width: 135px;

    padding: 11px;

    border-radius: 10px;

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

#que-es-reballing .gsrbwhat-decision.joints {
    left: 5%;
    top: 16%;

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

#que-es-reballing .gsrbwhat-decision.component {
    right: 5%;
    top: 16%;

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

#que-es-reballing .gsrbwhat-decision.reball {
    left: 5%;
    bottom: 22%;

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

#que-es-reballing .gsrbwhat-decision.replace {
    right: 5%;
    bottom: 22%;

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

#que-es-reballing .gsrbwhat-decision-code {
    display: block;

    margin-bottom: 4px;

    color: var(--decision-color);

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

    text-transform: uppercase;
}

#que-es-reballing .gsrbwhat-decision.joints {
    --decision-color: #20d5f3;
}

#que-es-reballing .gsrbwhat-decision.component {
    --decision-color: #8b5cf6;
}

#que-es-reballing .gsrbwhat-decision.reball {
    --decision-color: #43e58b;
}

#que-es-reballing .gsrbwhat-decision.replace {
    --decision-color: #ffc857;
}

#que-es-reballing .gsrbwhat-decision strong {
    display: block;

    color: #d8e9f1;

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

#que-es-reballing .gsrbwhat-decision span {
    display: block;

    margin-top: 4px;

    color: #748c9c;

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


/* =========================================================
   CONNECTIONS
   ========================================================= */

#que-es-reballing .gsrbwhat-path {
    position: absolute;

    z-index: 4;

    height: 1px;

    transform-origin:
        left center;

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

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

#que-es-reballing .gsrbwhat-path.p1 {
    left: 21%;
    top: 29%;

    width: 34%;

    transform:
        rotate(21deg);
}

#que-es-reballing .gsrbwhat-path.p2 {
    left: 50%;
    top: 43%;

    width: 33%;

    transform:
        rotate(-22deg);
}

#que-es-reballing .gsrbwhat-path.p3 {
    left: 21%;
    bottom: 32%;

    width: 34%;

    transform:
        rotate(-20deg);
}

#que-es-reballing .gsrbwhat-path.p4 {
    left: 49%;
    bottom: 32%;

    width: 34%;

    transform:
        rotate(21deg);
}

@keyframes gsrbwhat-path-pulse {

    0%,
    100% {
        opacity: 0.16;
    }

    50% {
        opacity: 0.80;
    }
}


/* =========================================================
   HUD ROUTE
   ========================================================= */

#que-es-reballing .gsrbwhat-hud-route {
    position: absolute;

    z-index: 10;

    left: 13px;
    right: 13px;
    bottom: 13px;

    display: grid;

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

    gap: 4px;
}

#que-es-reballing .gsrbwhat-hud-step {
    min-width: 0;

    padding: 7px 3px;

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

    border-radius: 7px;

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

    color: #758e9e;

    text-align: center;

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


/* =========================================================
   IMPORTANT DISTINCTION
   ========================================================= */

#que-es-reballing .gsrbwhat-distinction {
    display: grid;

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

    gap: 10px;

    margin-top: 18px;
}

#que-es-reballing .gsrbwhat-distinction-card {
    --dist-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding: 17px 15px;

    overflow: hidden;

    border-radius: 14px;

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

#que-es-reballing .gsrbwhat-distinction-card.symptom {
    --dist-color: #ffc857;

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

#que-es-reballing .gsrbwhat-distinction-card.diagnosis {
    --dist-color: #20d5f3;

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

#que-es-reballing .gsrbwhat-distinction-card.action {
    --dist-color: #43e58b;

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

#que-es-reballing .gsrbwhat-distinction-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 68px;
    height: 2px;

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

#que-es-reballing .gsrbwhat-distinction-code {
    display: block;

    margin-bottom: 7px;

    color: var(--dist-color);

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

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

#que-es-reballing .gsrbwhat-distinction-title {
    display: block;

    margin-bottom: 5px;

    color: #dfeef5;

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

#que-es-reballing .gsrbwhat-distinction-copy {
    display: block;

    color: #778f9f;

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


/* =========================================================
   WARNING STRIP
   ========================================================= */

#que-es-reballing .gsrbwhat-warning {
    display: grid;

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

    gap: 13px;

    align-items: center;

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

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

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 200, 87, 0.028),
            rgba(139, 92, 246, 0.018)
        );
}

#que-es-reballing .gsrbwhat-warning-icon {
    display: grid;
    place-items: center;

    width: 32px;
    height: 32px;

    flex: 0 0 32px;

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

    border-radius: 9px;

    color: #ffe09a;

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

#que-es-reballing .gsrbwhat-warning-copy {
    min-width: 0;

    color: #918974;

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

#que-es-reballing .gsrbwhat-warning-copy strong {
    color: #f1e7cb;

    font-weight: 600;
}

#que-es-reballing .gsrbwhat-warning-state {
    flex-shrink: 0;

    color: #c7b67c;

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

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


/* =========================================================
   TERMINAL
   ========================================================= */

#que-es-reballing .gsrbwhat-terminal {
    margin-top: 18px;

    overflow: hidden;

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

    border-radius: 18px;

    background:
        linear-gradient(
            155deg,
            rgba(10, 18, 38, 0.95),
            rgba(4, 9, 20, 0.98)
        );
}

#que-es-reballing .gsrbwhat-terminal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    min-height: 44px;

    padding: 10px 14px;

    border-bottom:
        1px solid rgba(118, 167, 255, 0.10);

    background:
        rgba(8, 18, 34, 0.75);
}

#que-es-reballing .gsrbwhat-terminal-dots {
    display: flex;

    gap: 6px;
}

#que-es-reballing .gsrbwhat-terminal-dots span {
    width: 6px;
    height: 6px;

    border-radius: 50%;
}

#que-es-reballing .gsrbwhat-terminal-dots span:nth-child(1) {
    background: var(--rb-red);
}

#que-es-reballing .gsrbwhat-terminal-dots span:nth-child(2) {
    background: var(--rb-yellow);
}

#que-es-reballing .gsrbwhat-terminal-dots span:nth-child(3) {
    background: var(--rb-green);
}

#que-es-reballing .gsrbwhat-terminal-name {
    color: #71889d;

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

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

#que-es-reballing .gsrbwhat-terminal-body {
    display: grid;

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

    gap: 22px;

    align-items: center;

    padding: 20px 21px;
}

#que-es-reballing .gsrbwhat-terminal-route {
    display: flex;
    flex-wrap: wrap;

    gap: 7px;
}

#que-es-reballing .gsrbwhat-terminal-route span {
    display: inline-flex;
    align-items: center;

    min-height: 29px;

    padding: 6px 9px;

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

    border-radius: 7px;

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

    color: #879eae;

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

#que-es-reballing .gsrbwhat-terminal-state {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    flex-shrink: 0;

    padding: 8px 10px;

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

    border-radius: 9px;

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

    color: #9cefc0;

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

#que-es-reballing .gsrbwhat-terminal-state::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--rb-green);

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


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

#que-es-reballing .gsrbwhat-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin-top: 22px;
    padding: 0 3px;

    color: #60788c;

    font-size: 10px;
    line-height: 1.45;
    font-weight: 500;

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

#que-es-reballing .gsrbwhat-footer-status {
    display: flex;
    align-items: center;

    gap: 7px;

    color: #7791a5;
}

#que-es-reballing .gsrbwhat-footer-status::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

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


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

@media (max-width: 1024px) {

    #que-es-reballing .gsrbwhat-shell {
        width:
            min(
                100% - 40px,
                920px
            );

        padding:
            78px 0 82px;
    }

    #que-es-reballing .gsrbwhat-heading {
        grid-template-columns: 1fr;

        gap: 22px;
    }

    #que-es-reballing .gsrbwhat-status {
        max-width: 650px;
    }

    #que-es-reballing .gsrbwhat-methods {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 10px;
    }

    #que-es-reballing .gsrbwhat-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 14px;
    }

    #que-es-reballing .gsrbwhat-hud {
        width: 100%;
        max-width: 740px;

        margin: 0 auto;
    }
}


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

@media (max-width: 767px) {

    #que-es-reballing {
        overflow: hidden;
    }

    #que-es-reballing .gsrbwhat-grid {
        opacity: 0.18;

        background-size: 32px 32px;
    }

    #que-es-reballing .gsrbwhat-orbit,
    #que-es-reballing .gsrbwhat-scan {
        display: none;
    }

    #que-es-reballing .gsrbwhat-shell {
        width:
            calc(100% - 30px);

        max-width: 100%;

        padding:
            62px 0 66px;
    }

    #que-es-reballing .gsrbwhat-heading {
        display: block;

        margin-bottom: 30px;
    }

    #que-es-reballing .gsrbwhat-status {
        margin-top: 21px;

        padding: 15px 16px;

        border-radius: 14px;
    }

    #que-es-reballing .gsrbwhat-title {
        font-size:
            clamp(
                29px,
                9.3vw,
                38px
            );

        line-height: 1.1;
    }

    #que-es-reballing .gsrbwhat-intro {
        font-size: 14px;
        line-height: 1.7;
    }

    #que-es-reballing .gsrbwhat-core {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 10px;

        padding: 15px;
    }

    #que-es-reballing .gsrbwhat-core-state {
        width: fit-content;
    }

    #que-es-reballing .gsrbwhat-methods {
        grid-template-columns:
            minmax(0, 1fr);
    }

    #que-es-reballing .gsrbwhat-method {
        padding: 20px 16px;
    }

    #que-es-reballing .gsrbwhat-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 12px;
    }

    #que-es-reballing .gsrbwhat-structure,
    #que-es-reballing .gsrbwhat-hud {
        width: 100%;
        min-width: 0;

        padding: 20px 16px;

        border-radius: 17px;
    }

    #que-es-reballing .gsrbwhat-stack {
        padding: 13px;
    }

    #que-es-reballing .gsrbwhat-layer {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 7px;
    }

    #que-es-reballing .gsrbwhat-layer-code {
        width: fit-content;
        min-width: 74px;
    }

    #que-es-reballing .gsrbwhat-hud-head {
        flex-direction: column;
        align-items: flex-start;

        gap: 8px;
    }

    #que-es-reballing .gsrbwhat-hud-screen {
        min-height: 350px;
    }

    #que-es-reballing .gsrbwhat-decision-core,
    #que-es-reballing .gsrbwhat-ring,
    #que-es-reballing .gsrbwhat-path {
        animation: none;
    }

    #que-es-reballing .gsrbwhat-decision-core {
        width: 105px;
        height: 105px;
    }

    #que-es-reballing .gsrbwhat-decision-core strong {
        font-size: 9px;
    }

    #que-es-reballing .gsrbwhat-decision-core span {
        font-size: 8px;
    }

    #que-es-reballing .gsrbwhat-ring.one {
        width: 164px;
        height: 164px;
    }

    #que-es-reballing .gsrbwhat-ring.two {
        width: 220px;
        height: 220px;
    }

    #que-es-reballing .gsrbwhat-decision {
        width: 102px;

        padding: 7px;
    }

    #que-es-reballing .gsrbwhat-decision-code {
        font-size: 8px;
    }

    #que-es-reballing .gsrbwhat-decision strong {
        font-size: 8.5px;
    }

    #que-es-reballing .gsrbwhat-decision span {
        display: none;
    }

    #que-es-reballing .gsrbwhat-hud-route {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 4px;
    }

    #que-es-reballing .gsrbwhat-hud-step {
        text-align: left;

        font-size: 8px;
    }

    #que-es-reballing .gsrbwhat-distinction {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #que-es-reballing .gsrbwhat-warning {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 9px;
    }

    #que-es-reballing .gsrbwhat-warning-state {
        width: fit-content;
    }

    #que-es-reballing .gsrbwhat-terminal-body {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 14px;

        padding: 18px 15px;
    }

    #que-es-reballing .gsrbwhat-terminal-state {
        width: fit-content;
    }

    #que-es-reballing .gsrbwhat-footer {
        flex-direction: column;
        align-items: flex-start;

        gap: 7px;

        margin-top: 18px;
    }
}



/* =========================================================
   MOBILE — HUD DE DECISIÓN SIN SUPERPOSICIONES
   ========================================================= */

@media (max-width: 767px) {

    #que-es-reballing .gsrbwhat-hud-screen {
        min-height: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 12px;
    }

    #que-es-reballing .gsrbwhat-ring,
    #que-es-reballing .gsrbwhat-path {
        display: none;
    }

    #que-es-reballing .gsrbwhat-decision {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        width: auto;
        min-width: 0;
        min-height: 112px;
        padding: 11px;
    }

    #que-es-reballing .gsrbwhat-decision span {
        display: block;
    }

    #que-es-reballing .gsrbwhat-decision-core {
        position: relative;
        left: auto;
        top: auto;
        grid-column: 1 / -1;
        width: 100%;
        height: auto;
        min-height: 92px;
        padding: 15px;
        transform: none;
        border-radius: 13px;
        animation: none;
    }

    #que-es-reballing .gsrbwhat-decision-core strong {
        font-size: 10px;
    }

    #que-es-reballing .gsrbwhat-decision-core span {
        font-size: 8.5px;
    }

    #que-es-reballing .gsrbwhat-hud-route {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
        margin-top: 2px;
    }

    #que-es-reballing .gsrbwhat-hud-step {
        padding: 8px;
        text-align: left;
        font-size: 8px;
    }
}


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

@media (max-width: 390px) {

    #que-es-reballing .gsrbwhat-hud-screen {
        grid-template-columns: minmax(0, 1fr);
    }

    #que-es-reballing .gsrbwhat-decision-core,
    #que-es-reballing .gsrbwhat-hud-route {
        grid-column: 1;
    }

    #que-es-reballing .gsrbwhat-hud-route {
        grid-template-columns: minmax(0, 1fr);
    }

    #que-es-reballing .gsrbwhat-shell {
        width:
            calc(100% - 24px);
    }

    #que-es-reballing .gsrbwhat-structure,
    #que-es-reballing .gsrbwhat-hud {
        padding-left: 13px;
        padding-right: 13px;
    }

    #que-es-reballing .gsrbwhat-hud-screen {
        min-height: 330px;
    }

    #que-es-reballing .gsrbwhat-decision-core {
        width: 88px;
        height: 88px;
    }

    #que-es-reballing .gsrbwhat-decision-core strong {
        font-size: 8.5px;
    }

    #que-es-reballing .gsrbwhat-decision-core span {
        font-size: 8px;
    }

    #que-es-reballing .gsrbwhat-ring.one {
        width: 138px;
        height: 138px;
    }

    #que-es-reballing .gsrbwhat-ring.two {
        width: 184px;
        height: 184px;
    }

    #que-es-reballing .gsrbwhat-decision {
        width: 88px;

        padding: 6px;
    }

    #que-es-reballing .gsrbwhat-decision-code {
        font-size: 8px;
    }

    #que-es-reballing .gsrbwhat-decision strong {
        font-size: 8px;
    }

    #que-es-reballing .gsrbwhat-hud-route {
        grid-template-columns:
            minmax(0, 1fr);
    }
}


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

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

    #que-es-reballing,
    #que-es-reballing *,
    #que-es-reballing *::before,
    #que-es-reballing *::after {
        scroll-behavior: auto !important;
        animation: none !important;
        transition: none !important;
    }

    #que-es-reballing .gsrbwhat-scan {
        display: none !important;
    }
}


/* =========================================================
   cuando-evaluar-bga
   ========================================================= */
/* =========================================================
   GAMMERS STYLE
   REBALLING — CUÁNDO EVALUAR BGA
   ID INTERNO HTML: cuando-evaluar-bga
   ========================================================= */

#cuando-evaluar-bga {
    --rb-bg: #030811;
    --rb-bg-2: #05101b;

    --rb-cyan: #20d5f3;
    --rb-cyan-soft: #9cefff;
    --rb-blue: #3286ff;
    --rb-violet: #8b5cf6;

    --rb-green: #43e58b;
    --rb-yellow: #ffc857;
    --rb-orange: #ff9f43;
    --rb-red: #ff637d;

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

    position: relative;
    isolation: isolate;

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

    overflow: hidden;

    color: var(--rb-text);

    background:
        radial-gradient(
            circle at 13% 17%,
            rgba(32, 213, 243, 0.060),
            transparent 30%
        ),
        radial-gradient(
            circle at 88% 20%,
            rgba(139, 92, 246, 0.055),
            transparent 30%
        ),
        radial-gradient(
            circle at 73% 87%,
            rgba(67, 229, 139, 0.037),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #030811 0%,
            #05101b 50%,
            #030811 100%
        );

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

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

#cuando-evaluar-bga *,
#cuando-evaluar-bga *::before,
#cuando-evaluar-bga *::after {
    box-sizing: border-box;

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


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

#cuando-evaluar-bga
.gsrbwhen-grid {
    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.27;

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

    background-size:
        46px 46px;

    mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 9%,
            #000 91%,
            transparent 100%
        );

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 9%,
            #000 91%,
            transparent 100%
        );
}


/* =========================================================
   DECORATION
   ========================================================= */

#cuando-evaluar-bga
.gsrbwhen-orbit {
    position: absolute;

    right: -260px;
    top: 500px;

    width: 520px;
    height: 520px;

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

    border-radius: 50%;

    pointer-events: none;

    animation:
        gsrbwhen-orbit-spin
        54s linear infinite;
}

#cuando-evaluar-bga
.gsrbwhen-orbit::before,
#cuando-evaluar-bga
.gsrbwhen-orbit::after {
    content: "";

    position: absolute;

    border-radius: 50%;
}

#cuando-evaluar-bga
.gsrbwhen-orbit::before {
    inset: 82px;

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

#cuando-evaluar-bga
.gsrbwhen-orbit::after {
    inset: 166px;

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

@keyframes gsrbwhen-orbit-spin {

    from {
        transform: rotate(0deg);
    }

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


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

#cuando-evaluar-bga
.gsrbwhen-scan {
    position: absolute;
    inset: 0;

    pointer-events: none;
    overflow: hidden;
}

#cuando-evaluar-bga
.gsrbwhen-scan::before {
    content: "";

    position: absolute;

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

    height: 1px;

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

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

    animation:
        gsrbwhen-scan-move
        11.5s linear infinite;
}

@keyframes gsrbwhen-scan-move {

    0% {
        transform:
            translateY(0);

        opacity: 0;
    }

    8% {
        opacity: 0.40;
    }

    92% {
        opacity: 0.16;
    }

    100% {
        transform:
            translateY(2800px);

        opacity: 0;
    }
}


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

#cuando-evaluar-bga
.gsrbwhen-shell {
    position: relative;
    z-index: 2;

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

    margin:
        0 auto;

    padding:
        94px 0 98px;
}


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

#cuando-evaluar-bga
.gsrbwhen-heading {
    display: grid;

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

    gap: 48px;

    align-items: end;

    margin-bottom: 40px;
}

#cuando-evaluar-bga
.gsrbwhen-heading-main {
    min-width: 0;
}


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

#cuando-evaluar-bga
.gsrbwhen-kicker {
    display: inline-flex;
    align-items: center;

    gap: 9px;

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

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

    border-radius: 999px;

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

    color: #9eeeff;

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

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

#cuando-evaluar-bga
.gsrbwhen-kicker-dot {
    width: 6px;
    height: 6px;

    flex:
        0 0 6px;

    border-radius: 50%;

    background:
        var(--rb-cyan);

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


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

#cuando-evaluar-bga
.gsrbwhen-title {
    max-width: 900px;

    margin: 0;

    color: #f4fbff;

    font-size:
        clamp(
            30px,
            4vw,
            48px
        );

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

    letter-spacing:
        -0.035em;
}

#cuando-evaluar-bga
.gsrbwhen-title span {
    color:
        var(--rb-cyan);
}

#cuando-evaluar-bga
.gsrbwhen-intro {
    max-width: 850px;

    margin:
        17px 0 0;

    color:
        var(--rb-muted);

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


/* =========================================================
   STATUS
   ========================================================= */

#cuando-evaluar-bga
.gsrbwhen-status {
    position: relative;

    min-width: 0;

    padding:
        18px 19px;

    overflow: hidden;

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

    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            rgba(48, 36, 10, 0.22),
            rgba(4, 13, 23, 0.88)
        );
}

#cuando-evaluar-bga
.gsrbwhen-status::before {
    content: "";

    position: absolute;

    left: 0;
    top: 12px;
    bottom: 12px;

    width: 2px;

    background:
        linear-gradient(
            180deg,
            transparent,
            var(--rb-yellow),
            transparent
        );
}

#cuando-evaluar-bga
.gsrbwhen-status-label {
    display: flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 8px;

    color: #ead08b;

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

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

#cuando-evaluar-bga
.gsrbwhen-status-label::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background:
        var(--rb-yellow);

    box-shadow:
        0 0 8px
        rgba(255, 200, 87, 0.55);
}

#cuando-evaluar-bga
.gsrbwhen-status-copy {
    margin: 0;

    color: #b5c8d6;

    font-size: 12px;
    line-height: 1.62;
}


/* =========================================================
   CORE STATEMENT
   ========================================================= */

#cuando-evaluar-bga
.gsrbwhen-core {
    position: relative;

    display: grid;

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

    gap: 18px;

    align-items: center;

    margin-bottom: 22px;
    padding: 18px;

    overflow: hidden;

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

    border-radius: 15px;

    background:
        linear-gradient(
            135deg,
            rgba(32, 213, 243, 0.055),
            rgba(139, 92, 246, 0.025)
        );
}

#cuando-evaluar-bga
.gsrbwhen-core::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 118px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--rb-cyan),
            transparent
        );
}

#cuando-evaluar-bga
.gsrbwhen-core-icon {
    display: grid;
    place-items: center;

    width: 66px;
    height: 66px;

    flex:
        0 0 66px;

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

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 200, 87, 0.06),
            rgba(32, 213, 243, 0.035)
        );

    color: #ffe09a;

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

    letter-spacing:
        0.03em;
}

#cuando-evaluar-bga
.gsrbwhen-core-copy {
    min-width: 0;
}

#cuando-evaluar-bga
.gsrbwhen-core-copy strong {
    display: block;

    margin-bottom: 5px;

    color: #e1f8ff;

    font-size: 14px;
    line-height: 1.42;
    font-weight: 600;
}

#cuando-evaluar-bga
.gsrbwhen-core-copy span {
    display: block;

    color: #8ba3b3;

    font-size: 11px;
    line-height: 1.65;
}

#cuando-evaluar-bga
.gsrbwhen-core-state {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    flex-shrink: 0;

    padding:
        7px 10px;

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

    border-radius: 999px;

    background:
        rgba(255, 200, 87, 0.025);

    color: #ead08b;

    font-size: 10px;
    line-height: 1.3;
    font-weight: 600;
}

#cuando-evaluar-bga
.gsrbwhen-core-state::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background:
        var(--rb-yellow);

    box-shadow:
        0 0 7px
        rgba(255, 200, 87, 0.55);
}


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

#cuando-evaluar-bga
.gsrbwhen-symptoms {
    display: grid;

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

    gap: 11px;
}

#cuando-evaluar-bga
.gsrbwhen-symptom {
    --sym-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding:
        21px 17px 19px;

    overflow: hidden;

    border-radius: 15px;

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

#cuando-evaluar-bga
.gsrbwhen-symptom.video {
    --sym-color: #20d5f3;

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

#cuando-evaluar-bga
.gsrbwhen-symptom.boot {
    --sym-color: #3286ff;

    border:
        1px solid rgba(50, 134, 255, 0.14);
}

#cuando-evaluar-bga
.gsrbwhen-symptom.stability {
    --sym-color: #8b5cf6;

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

#cuando-evaluar-bga
.gsrbwhen-symptom.thermal {
    --sym-color: #ffc857;

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

#cuando-evaluar-bga
.gsrbwhen-symptom::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 80px;
    height: 2px;

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

#cuando-evaluar-bga
.gsrbwhen-symptom-code {
    display: block;

    margin-bottom: 10px;

    color:
        var(--sym-color);

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

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

#cuando-evaluar-bga
.gsrbwhen-symptom-icon {
    display: grid;
    place-items: center;

    width: 39px;
    height: 39px;

    margin-bottom: 11px;

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

    border-radius: 10px;

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

    color:
        var(--sym-color);

    font-size: 8px;
    line-height: 1;
    font-weight: 700;
}

#cuando-evaluar-bga
.gsrbwhen-symptom-title {
    display: block;

    margin-bottom: 7px;

    color: #e2eef5;

    font-size: 13px;
    line-height: 1.42;
    font-weight: 600;
}

#cuando-evaluar-bga
.gsrbwhen-symptom-copy {
    display: block;

    color: #7d95a5;

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

#cuando-evaluar-bga
.gsrbwhen-symptom-note {
    display: block;

    margin-top: 10px;
    padding-top: 10px;

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

    color: #687f8f;

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


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

#cuando-evaluar-bga
.gsrbwhen-main {
    display: grid;

    grid-template-columns:
        minmax(0, 0.95fr)
        minmax(440px, 1.05fr);

    gap: 18px;

    margin-top: 18px;
}


/* =========================================================
   CORRELATION PANEL
   ========================================================= */

#cuando-evaluar-bga
.gsrbwhen-analysis {
    position: relative;

    min-width: 0;

    padding: 25px;

    overflow: hidden;

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

    border-radius: 20px;

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

#cuando-evaluar-bga
.gsrbwhen-panel-label {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 10px;

    color:
        var(--rb-cyan-soft);

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

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

#cuando-evaluar-bga
.gsrbwhen-panel-label::before {
    content: "";

    width: 14px;
    height: 1px;

    background:
        currentColor;

    box-shadow:
        0 0 8px
        currentColor;
}

#cuando-evaluar-bga
.gsrbwhen-panel-title {
    margin: 0;

    color: #f2faff;

    font-size: 21px;
    line-height: 1.34;
    font-weight: 700;
}

#cuando-evaluar-bga
.gsrbwhen-panel-copy {
    margin:
        9px 0 0;

    color: #879eae;

    font-size: 11px;
    line-height: 1.68;
}


/* =========================================================
   CORRELATION ROWS
   ========================================================= */

#cuando-evaluar-bga
.gsrbwhen-correlation {
    display: grid;

    gap: 8px;

    margin-top: 19px;
}

#cuando-evaluar-bga
.gsrbwhen-correlation-row {
    display: grid;

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

    gap: 12px;

    align-items: start;

    min-width: 0;

    padding:
        12px;

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

    border-radius: 10px;

    background:
        rgba(5, 17, 30, 0.55);
}

#cuando-evaluar-bga
.gsrbwhen-correlation-label {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    color:
        var(--row-color);

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

    text-transform: uppercase;
}

#cuando-evaluar-bga
.gsrbwhen-correlation-label::before {
    content: "";

    width: 5px;
    height: 5px;

    flex:
        0 0 5px;

    border-radius: 50%;

    background:
        var(--row-color);

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

#cuando-evaluar-bga
.gsrbwhen-correlation-row.symptom {
    --row-color: #ffc857;
}

#cuando-evaluar-bga
.gsrbwhen-correlation-row.areas {
    --row-color: #8b5cf6;
}

#cuando-evaluar-bga
.gsrbwhen-correlation-row.evidence {
    --row-color: #20d5f3;
}

#cuando-evaluar-bga
.gsrbwhen-correlation-row.decision {
    --row-color: #43e58b;
}

#cuando-evaluar-bga
.gsrbwhen-correlation-copy {
    min-width: 0;

    color: #7d95a5;

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

#cuando-evaluar-bga
.gsrbwhen-correlation-copy strong {
    color: #dbeaf2;

    font-weight: 600;
}


/* =========================================================
   POSSIBLE AREAS
   ========================================================= */

#cuando-evaluar-bga
.gsrbwhen-area-grid {
    display: grid;

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

    gap: 7px;

    margin-top: 14px;
}

#cuando-evaluar-bga
.gsrbwhen-area {
    min-width: 0;

    padding:
        10px 10px;

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

    border-radius: 9px;

    background:
        rgba(139, 92, 246, 0.025);
}

#cuando-evaluar-bga
.gsrbwhen-area strong {
    display: block;

    margin-bottom: 3px;

    color: #cec3ff;

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

#cuando-evaluar-bga
.gsrbwhen-area span {
    display: block;

    color: #766f8f;

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


/* =========================================================
   PANEL NOTE
   ========================================================= */

#cuando-evaluar-bga
.gsrbwhen-analysis-note {
    display: flex;
    align-items: flex-start;

    gap: 9px;

    margin-top: 14px;
    padding: 13px;

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

    border-radius: 10px;

    background:
        rgba(255, 200, 87, 0.025);

    color: #8c856e;

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

#cuando-evaluar-bga
.gsrbwhen-analysis-note::before {
    content: "!";

    display: grid;
    place-items: center;

    width: 19px;
    height: 19px;

    flex:
        0 0 19px;

    margin-top: 1px;

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

    border-radius: 50%;

    color: #ffe09a;

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


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

#cuando-evaluar-bga
.gsrbwhen-hud {
    position: relative;

    min-width: 0;

    padding: 23px;

    overflow: hidden;

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

    border-radius: 21px;

    background:
        linear-gradient(
            145deg,
            rgba(24, 18, 45, 0.38),
            rgba(4, 12, 22, 0.97)
        );
}

#cuando-evaluar-bga
.gsrbwhen-hud::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        radial-gradient(
            circle at 50% 32%,
            rgba(32, 213, 243, 0.075),
            transparent 35%
        ),
        radial-gradient(
            circle at 50% 72%,
            rgba(139, 92, 246, 0.050),
            transparent 40%
        );
}


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

#cuando-evaluar-bga
.gsrbwhen-hud-head {
    position: relative;
    z-index: 4;

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

    gap: 10px;
}

#cuando-evaluar-bga
.gsrbwhen-hud-code {
    color: #bdadff;

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

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

#cuando-evaluar-bga
.gsrbwhen-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: #94efbc;

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

#cuando-evaluar-bga
.gsrbwhen-hud-state::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background:
        var(--rb-green);

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


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

#cuando-evaluar-bga
.gsrbwhen-hud-screen {
    position: relative;
    z-index: 2;

    min-height: 430px;

    margin-top: 17px;

    overflow: hidden;

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

    border-radius: 15px;

    background:
        radial-gradient(
            circle at 50% 44%,
            rgba(32, 213, 243, 0.085),
            transparent 32%
        ),
        rgba(3, 12, 22, 0.68);
}

#cuando-evaluar-bga
.gsrbwhen-hud-screen::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.27;

    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
   ========================================================= */

#cuando-evaluar-bga
.gsrbwhen-ring {
    position: absolute;

    left: 50%;
    top: 43%;

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

    border-radius: 50%;

    pointer-events: none;
}

#cuando-evaluar-bga
.gsrbwhen-ring.one {
    width: 220px;
    height: 220px;

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

    animation:
        gsrbwhen-ring-spin
        20s linear infinite;
}

#cuando-evaluar-bga
.gsrbwhen-ring.two {
    width: 296px;
    height: 296px;

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

    animation:
        gsrbwhen-ring-spin
        30s linear infinite reverse;
}

@keyframes gsrbwhen-ring-spin {

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

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


/* =========================================================
   HUD CORE
   ========================================================= */

#cuando-evaluar-bga
.gsrbwhen-hud-core {
    position: absolute;

    z-index: 8;

    left: 50%;
    top: 43%;

    width: 150px;
    height: 150px;

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

    display: grid;
    place-items: center;

    padding: 18px;

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

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255, 200, 87, 0.065),
            rgba(32, 213, 243, 0.055) 46%,
            rgba(5, 16, 29, 0.97) 76%
        );

    box-shadow:
        0 0 48px
        rgba(32, 213, 243, 0.09);

    animation:
        gsrbwhen-core-pulse
        4.2s ease-in-out infinite;
}

#cuando-evaluar-bga
.gsrbwhen-hud-core div {
    text-align: center;
}

#cuando-evaluar-bga
.gsrbwhen-hud-core strong {
    display: block;

    color: #f4fbff;

    font-size: 16px;
    line-height: 1.06;
    font-weight: 700;

    letter-spacing:
        -0.03em;
}

#cuando-evaluar-bga
.gsrbwhen-hud-core span {
    display: block;

    margin-top: 8px;

    color: #8a9fab;

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

    letter-spacing:
        0.05em;

    text-transform: uppercase;
}

@keyframes gsrbwhen-core-pulse {

    0%,
    100% {
        box-shadow:
            0 0 28px rgba(32, 213, 243, 0.05);
    }

    50% {
        box-shadow:
            0 0 58px rgba(32, 213, 243, 0.14);
    }
}


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

#cuando-evaluar-bga
.gsrbwhen-node {
    position: absolute;

    z-index: 9;

    width: 132px;

    padding:
        10px;

    border-radius: 9px;

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

#cuando-evaluar-bga
.gsrbwhen-node.symptom {
    left: 5%;
    top: 15%;

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

#cuando-evaluar-bga
.gsrbwhen-node.areas {
    right: 5%;
    top: 15%;

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

#cuando-evaluar-bga
.gsrbwhen-node.evidence {
    left: 5%;
    bottom: 22%;

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

#cuando-evaluar-bga
.gsrbwhen-node.decision {
    right: 5%;
    bottom: 22%;

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

#cuando-evaluar-bga
.gsrbwhen-node-code {
    display: block;

    margin-bottom: 4px;

    color:
        var(--node-color);

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

    text-transform: uppercase;
}

#cuando-evaluar-bga
.gsrbwhen-node.symptom {
    --node-color: #ffc857;
}

#cuando-evaluar-bga
.gsrbwhen-node.areas {
    --node-color: #8b5cf6;
}

#cuando-evaluar-bga
.gsrbwhen-node.evidence {
    --node-color: #20d5f3;
}

#cuando-evaluar-bga
.gsrbwhen-node.decision {
    --node-color: #43e58b;
}

#cuando-evaluar-bga
.gsrbwhen-node strong {
    display: block;

    color: #d8e9f1;

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

#cuando-evaluar-bga
.gsrbwhen-node span:last-child {
    display: block;

    margin-top: 4px;

    color: #748c9c;

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


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

#cuando-evaluar-bga
.gsrbwhen-path {
    position: absolute;

    z-index: 4;

    height: 1px;

    transform-origin:
        left center;

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

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

#cuando-evaluar-bga
.gsrbwhen-path.p1 {
    left: 21%;
    top: 29%;

    width: 34%;

    transform:
        rotate(21deg);
}

#cuando-evaluar-bga
.gsrbwhen-path.p2 {
    left: 50%;
    top: 43%;

    width: 33%;

    transform:
        rotate(-22deg);
}

#cuando-evaluar-bga
.gsrbwhen-path.p3 {
    left: 21%;
    bottom: 32%;

    width: 34%;

    transform:
        rotate(-20deg);
}

#cuando-evaluar-bga
.gsrbwhen-path.p4 {
    left: 49%;
    bottom: 32%;

    width: 34%;

    transform:
        rotate(21deg);
}

@keyframes gsrbwhen-path-pulse {

    0%,
    100% {
        opacity: 0.16;
    }

    50% {
        opacity: 0.80;
    }
}


/* =========================================================
   HUD ROUTE
   ========================================================= */

#cuando-evaluar-bga
.gsrbwhen-hud-route {
    position: absolute;

    z-index: 10;

    left: 13px;
    right: 13px;
    bottom: 13px;

    display: grid;

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

    gap: 4px;
}

#cuando-evaluar-bga
.gsrbwhen-hud-step {
    min-width: 0;

    padding:
        7px 3px;

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

    border-radius: 7px;

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

    color: #758e9e;

    text-align: center;

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


/* =========================================================
   COMMON MISREADINGS
   ========================================================= */

#cuando-evaluar-bga
.gsrbwhen-misreadings {
    display: grid;

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

    gap: 10px;

    margin-top: 18px;
}

#cuando-evaluar-bga
.gsrbwhen-misreading {
    --mis-color: #ff637d;

    position: relative;

    min-width: 0;

    padding:
        18px 16px;

    overflow: hidden;

    border-radius: 14px;

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

#cuando-evaluar-bga
.gsrbwhen-misreading.video {
    --mis-color: #ff637d;

    border:
        1px solid rgba(255, 99, 125, 0.13);
}

#cuando-evaluar-bga
.gsrbwhen-misreading.heat {
    --mis-color: #ffc857;

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

#cuando-evaluar-bga
.gsrbwhen-misreading::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 75px;
    height: 2px;

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

#cuando-evaluar-bga
.gsrbwhen-misreading-code {
    display: block;

    margin-bottom: 8px;

    color:
        var(--mis-color);

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

    letter-spacing:
        0.05em;

    text-transform:
        uppercase;
}

#cuando-evaluar-bga
.gsrbwhen-misreading-title {
    display: block;

    margin-bottom: 6px;

    color: #e2eef5;

    font-size: 12px;
    line-height: 1.42;
    font-weight: 600;
}

#cuando-evaluar-bga
.gsrbwhen-misreading-copy {
    display: block;

    color: #778f9f;

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

#cuando-evaluar-bga
.gsrbwhen-misreading-result {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    margin-top: 11px;

    padding:
        6px 8px;

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

    border-radius: 8px;

    background:
        rgba(32, 213, 243, 0.025);

    color: #85a4b2;

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

#cuando-evaluar-bga
.gsrbwhen-misreading-result::before {
    content: "≠";

    color: #9cefff;

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


/* =========================================================
   EVIDENCE STRIP
   ========================================================= */

#cuando-evaluar-bga
.gsrbwhen-evidence {
    display: grid;

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

    gap: 9px;

    margin-top: 18px;
}

#cuando-evaluar-bga
.gsrbwhen-evidence-card {
    --ev-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding:
        16px 14px;

    overflow: hidden;

    border-radius: 13px;

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

#cuando-evaluar-bga
.gsrbwhen-evidence-card.inspect {
    --ev-color: #20d5f3;

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

#cuando-evaluar-bga
.gsrbwhen-evidence-card.measure {
    --ev-color: #3286ff;

    border:
        1px solid rgba(50, 134, 255, 0.13);
}

#cuando-evaluar-bga
.gsrbwhen-evidence-card.compare {
    --ev-color: #8b5cf6;

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

#cuando-evaluar-bga
.gsrbwhen-evidence-card.verify {
    --ev-color: #43e58b;

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

#cuando-evaluar-bga
.gsrbwhen-evidence-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 65px;
    height: 2px;

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

#cuando-evaluar-bga
.gsrbwhen-evidence-code {
    display: block;

    margin-bottom: 7px;

    color:
        var(--ev-color);

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

    text-transform: uppercase;
}

#cuando-evaluar-bga
.gsrbwhen-evidence-title {
    display: block;

    margin-bottom: 5px;

    color: #dcebf4;

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

#cuando-evaluar-bga
.gsrbwhen-evidence-copy {
    display: block;

    color: #758d9d;

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


/* =========================================================
   FINAL WARNING
   ========================================================= */

#cuando-evaluar-bga
.gsrbwhen-warning {
    display: grid;

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

    gap: 13px;

    align-items: center;

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

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

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 200, 87, 0.028),
            rgba(139, 92, 246, 0.018)
        );
}

#cuando-evaluar-bga
.gsrbwhen-warning-icon {
    display: grid;
    place-items: center;

    width: 32px;
    height: 32px;

    flex:
        0 0 32px;

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

    border-radius: 9px;

    color: #ffe09a;

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

#cuando-evaluar-bga
.gsrbwhen-warning-copy {
    min-width: 0;

    color: #918974;

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

#cuando-evaluar-bga
.gsrbwhen-warning-copy strong {
    color: #f1e7cb;

    font-weight: 600;
}

#cuando-evaluar-bga
.gsrbwhen-warning-state {
    flex-shrink: 0;

    color: #c7b67c;

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

    text-transform: uppercase;
}


/* =========================================================
   TERMINAL
   ========================================================= */

#cuando-evaluar-bga
.gsrbwhen-terminal {
    margin-top: 18px;

    overflow: hidden;

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

    border-radius: 18px;

    background:
        linear-gradient(
            155deg,
            rgba(10, 18, 38, 0.95),
            rgba(4, 9, 20, 0.98)
        );
}

#cuando-evaluar-bga
.gsrbwhen-terminal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    min-height: 44px;

    padding:
        10px 14px;

    border-bottom:
        1px solid rgba(118, 167, 255, 0.10);

    background:
        rgba(8, 18, 34, 0.75);
}

#cuando-evaluar-bga
.gsrbwhen-terminal-dots {
    display: flex;

    gap: 6px;
}

#cuando-evaluar-bga
.gsrbwhen-terminal-dots span {
    width: 6px;
    height: 6px;

    border-radius: 50%;
}

#cuando-evaluar-bga
.gsrbwhen-terminal-dots span:nth-child(1) {
    background:
        var(--rb-red);
}

#cuando-evaluar-bga
.gsrbwhen-terminal-dots span:nth-child(2) {
    background:
        var(--rb-yellow);
}

#cuando-evaluar-bga
.gsrbwhen-terminal-dots span:nth-child(3) {
    background:
        var(--rb-green);
}

#cuando-evaluar-bga
.gsrbwhen-terminal-name {
    color: #71889d;

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

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;
}

#cuando-evaluar-bga
.gsrbwhen-terminal-body {
    display: grid;

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

    gap: 22px;

    align-items: center;

    padding:
        20px 21px;
}

#cuando-evaluar-bga
.gsrbwhen-terminal-route {
    display: flex;
    flex-wrap: wrap;

    gap: 7px;
}

#cuando-evaluar-bga
.gsrbwhen-terminal-route span {
    display: inline-flex;
    align-items: center;

    min-height: 29px;

    padding:
        6px 9px;

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

    border-radius: 7px;

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

    color: #879eae;

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

#cuando-evaluar-bga
.gsrbwhen-terminal-state {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    flex-shrink: 0;

    padding:
        8px 10px;

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

    border-radius: 9px;

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

    color: #9cefc0;

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

#cuando-evaluar-bga
.gsrbwhen-terminal-state::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background:
        var(--rb-green);

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


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

#cuando-evaluar-bga
.gsrbwhen-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin-top: 22px;
    padding:
        0 3px;

    color: #60788c;

    font-size: 10px;
    line-height: 1.45;
    font-weight: 500;

    letter-spacing:
        0.05em;

    text-transform:
        uppercase;
}

#cuando-evaluar-bga
.gsrbwhen-footer-status {
    display: flex;
    align-items: center;

    gap: 7px;

    color: #7791a5;
}

#cuando-evaluar-bga
.gsrbwhen-footer-status::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background:
        var(--rb-green);

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


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

@media (max-width: 1024px) {

    #cuando-evaluar-bga
    .gsrbwhen-shell {
        width:
            min(
                100% - 40px,
                920px
            );

        padding:
            78px 0 82px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-heading {
        grid-template-columns: 1fr;

        gap: 22px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-status {
        max-width: 650px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-symptoms {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    #cuando-evaluar-bga
    .gsrbwhen-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 14px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud {
        width: 100%;
        max-width: 740px;

        margin:
            0 auto;
    }

    #cuando-evaluar-bga
    .gsrbwhen-evidence {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


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

@media (max-width: 767px) {

    #cuando-evaluar-bga {
        overflow: hidden;
    }

    #cuando-evaluar-bga
    .gsrbwhen-grid {
        opacity: 0.18;

        background-size:
            32px 32px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-orbit,
    #cuando-evaluar-bga
    .gsrbwhen-scan {
        display: none;
    }

    #cuando-evaluar-bga
    .gsrbwhen-shell {
        width:
            calc(100% - 30px);

        max-width: 100%;

        padding:
            62px 0 66px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-heading {
        display: block;

        margin-bottom: 30px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-status {
        margin-top: 21px;

        padding:
            15px 16px;

        border-radius: 14px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-title {
        font-size:
            clamp(
                29px,
                9.3vw,
                38px
            );

        line-height: 1.1;
    }

    #cuando-evaluar-bga
    .gsrbwhen-intro {
        font-size: 14px;
        line-height: 1.7;
    }

    #cuando-evaluar-bga
    .gsrbwhen-core {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 10px;

        padding: 15px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-core-state {
        width:
            fit-content;
    }

    #cuando-evaluar-bga
    .gsrbwhen-symptoms {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 12px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-analysis,
    #cuando-evaluar-bga
    .gsrbwhen-hud {
        width: 100%;
        min-width: 0;

        padding:
            20px 16px;

        border-radius: 17px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-correlation-row {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 6px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-area-grid {
        grid-template-columns:
            minmax(0, 1fr);
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-head {
        flex-direction: column;
        align-items: flex-start;

        gap: 8px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-screen {
        min-height: 350px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-core,
    #cuando-evaluar-bga
    .gsrbwhen-ring,
    #cuando-evaluar-bga
    .gsrbwhen-path {
        animation: none;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-core {
        width: 106px;
        height: 106px;

        padding: 11px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-core strong {
        font-size: 11px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-core span {
        font-size: 8px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-ring.one {
        width: 164px;
        height: 164px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-ring.two {
        width: 220px;
        height: 220px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-node {
        width: 101px;

        padding:
            7px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-node-code {
        font-size: 8px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-node strong {
        font-size: 8.5px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-node span:last-child {
        display: none;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-route {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 4px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-step {
        text-align: left;

        font-size: 8px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-misreadings {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-evidence {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-warning {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 9px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-warning-state {
        width:
            fit-content;
    }

    #cuando-evaluar-bga
    .gsrbwhen-terminal-body {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 14px;

        padding:
            18px 15px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-terminal-state {
        width:
            fit-content;
    }

    #cuando-evaluar-bga
    .gsrbwhen-footer {
        flex-direction: column;
        align-items: flex-start;

        gap: 7px;

        margin-top: 18px;
    }
}



/* =========================================================
   MOBILE — MATRIZ DE EVIDENCIA SIN SUPERPOSICIONES
   ========================================================= */

@media (max-width: 767px) {

    #cuando-evaluar-bga
    .gsrbwhen-hud-screen {
        min-height: 0;
        display: grid;
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 12px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-ring,
    #cuando-evaluar-bga
    .gsrbwhen-path {
        display: none;
    }

    #cuando-evaluar-bga
    .gsrbwhen-node {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;

        width: auto;
        min-width: 0;
        min-height: 112px;

        padding: 11px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-node span:last-child {
        display: block;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-core {
        position: relative;

        left: auto;
        top: auto;

        grid-column: 1 / -1;

        width: 100%;
        height: auto;
        min-height: 94px;

        padding: 15px;

        transform: none;
        border-radius: 13px;

        animation: none;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-core strong {
        font-size: 11px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-core span {
        font-size: 8.5px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-route {
        position: relative;

        left: auto;
        right: auto;
        bottom: auto;

        grid-column: 1 / -1;

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

        gap: 5px;
        margin-top: 2px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-step {
        padding: 8px;

        text-align: left;

        font-size: 8px;
    }
}


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

@media (max-width: 390px) {

    #cuando-evaluar-bga
    .gsrbwhen-hud-screen {
        grid-template-columns:
            minmax(0, 1fr);
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-core,
    #cuando-evaluar-bga
    .gsrbwhen-hud-route {
        grid-column: 1;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-route {
        grid-template-columns:
            minmax(0, 1fr);
    }

    #cuando-evaluar-bga
    .gsrbwhen-shell {
        width:
            calc(100% - 24px);
    }

    #cuando-evaluar-bga
    .gsrbwhen-analysis,
    #cuando-evaluar-bga
    .gsrbwhen-hud {
        padding-left: 13px;
        padding-right: 13px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-screen {
        min-height: 330px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-core {
        width: 88px;
        height: 88px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-core strong {
        font-size: 9px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-core span {
        font-size: 8px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-ring.one {
        width: 138px;
        height: 138px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-ring.two {
        width: 184px;
        height: 184px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-node {
        width: 87px;

        padding:
            6px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-node-code {
        font-size: 8px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-node strong {
        font-size: 8px;
    }

    #cuando-evaluar-bga
    .gsrbwhen-hud-route {
        grid-template-columns:
            minmax(0, 1fr);
    }
}


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

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

    #cuando-evaluar-bga,
    #cuando-evaluar-bga *,
    #cuando-evaluar-bga *::before,
    #cuando-evaluar-bga *::after {
        scroll-behavior: auto !important;
        animation: none !important;
        transition: none !important;
    }

    #cuando-evaluar-bga
    .gsrbwhen-scan {
        display: none !important;
    }
}


/* =========================================================
   proceso-reballing
   ========================================================= */
/* =========================================================
   GAMMERS STYLE
   REBALLING — PROCESO DE REBALLING
   ID INTERNO HTML: proceso-reballing
   ========================================================= */

#proceso-reballing {
    --rb-bg: #030811;
    --rb-bg-2: #05101b;

    --rb-cyan: #20d5f3;
    --rb-cyan-soft: #9cefff;
    --rb-blue: #3286ff;
    --rb-violet: #8b5cf6;

    --rb-green: #43e58b;
    --rb-yellow: #ffc857;
    --rb-orange: #ff9f43;
    --rb-red: #ff637d;

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

    position: relative;
    isolation: isolate;

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

    overflow: hidden;

    color: var(--rb-text);

    background:
        radial-gradient(
            circle at 12% 18%,
            rgba(32, 213, 243, 0.060),
            transparent 30%
        ),
        radial-gradient(
            circle at 88% 18%,
            rgba(139, 92, 246, 0.055),
            transparent 30%
        ),
        radial-gradient(
            circle at 72% 88%,
            rgba(67, 229, 139, 0.037),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #030811 0%,
            #05101b 50%,
            #030811 100%
        );

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

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

#proceso-reballing *,
#proceso-reballing *::before,
#proceso-reballing *::after {
    box-sizing: border-box;

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


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

#proceso-reballing .gsrbproc-grid {
    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.27;

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

    background-size: 46px 46px;

    mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 9%,
            #000 91%,
            transparent 100%
        );

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 9%,
            #000 91%,
            transparent 100%
        );
}


/* =========================================================
   ORBIT
   ========================================================= */

#proceso-reballing .gsrbproc-orbit {
    position: absolute;

    left: -250px;
    top: 610px;

    width: 520px;
    height: 520px;

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

    border-radius: 50%;

    pointer-events: none;

    animation:
        gsrbproc-orbit-spin
        56s linear infinite;
}

#proceso-reballing .gsrbproc-orbit::before,
#proceso-reballing .gsrbproc-orbit::after {
    content: "";

    position: absolute;

    border-radius: 50%;
}

#proceso-reballing .gsrbproc-orbit::before {
    inset: 82px;

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

#proceso-reballing .gsrbproc-orbit::after {
    inset: 166px;

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

@keyframes gsrbproc-orbit-spin {
    from {
        transform: rotate(0deg);
    }

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


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

#proceso-reballing .gsrbproc-scan {
    position: absolute;
    inset: 0;

    pointer-events: none;
    overflow: hidden;
}

#proceso-reballing .gsrbproc-scan::before {
    content: "";

    position: absolute;

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

    height: 1px;

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

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

    animation:
        gsrbproc-scan-move
        11.8s linear infinite;
}

@keyframes gsrbproc-scan-move {

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

    8% {
        opacity: 0.40;
    }

    92% {
        opacity: 0.16;
    }

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


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

#proceso-reballing .gsrbproc-shell {
    position: relative;
    z-index: 2;

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

    margin: 0 auto;

    padding:
        94px 0 98px;
}


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

#proceso-reballing .gsrbproc-heading {
    display: grid;

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

    gap: 48px;

    align-items: end;

    margin-bottom: 40px;
}

#proceso-reballing .gsrbproc-heading-main {
    min-width: 0;
}


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

#proceso-reballing .gsrbproc-kicker {
    display: inline-flex;
    align-items: center;

    gap: 9px;

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

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

    border-radius: 999px;

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

    color: #9eeeff;

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

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

#proceso-reballing .gsrbproc-kicker-dot {
    width: 6px;
    height: 6px;

    flex: 0 0 6px;

    border-radius: 50%;

    background: var(--rb-cyan);

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


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

#proceso-reballing .gsrbproc-title {
    max-width: 900px;

    margin: 0;

    color: #f4fbff;

    font-size:
        clamp(
            30px,
            4vw,
            48px
        );

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

    letter-spacing: -0.035em;
}

#proceso-reballing .gsrbproc-title span {
    color: var(--rb-cyan);
}

#proceso-reballing .gsrbproc-intro {
    max-width: 850px;

    margin: 17px 0 0;

    color: var(--rb-muted);

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


/* =========================================================
   STATUS
   ========================================================= */

#proceso-reballing .gsrbproc-status {
    position: relative;

    min-width: 0;

    padding: 18px 19px;

    overflow: hidden;

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

    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            rgba(10, 39, 28, 0.27),
            rgba(4, 13, 23, 0.88)
        );
}

#proceso-reballing .gsrbproc-status::before {
    content: "";

    position: absolute;

    left: 0;
    top: 12px;
    bottom: 12px;

    width: 2px;

    background:
        linear-gradient(
            180deg,
            transparent,
            var(--rb-green),
            transparent
        );
}

#proceso-reballing .gsrbproc-status-label {
    display: flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 8px;

    color: #97efbe;

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

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

#proceso-reballing .gsrbproc-status-label::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--rb-green);

    box-shadow:
        0 0 8px rgba(67, 229, 139, 0.55);
}

#proceso-reballing .gsrbproc-status-copy {
    margin: 0;

    color: #b5c8d6;

    font-size: 12px;
    line-height: 1.62;
}


/* =========================================================
   CORE STATEMENT
   ========================================================= */

#proceso-reballing .gsrbproc-core {
    position: relative;

    display: grid;

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

    gap: 18px;

    align-items: center;

    margin-bottom: 22px;
    padding: 18px;

    overflow: hidden;

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

    border-radius: 15px;

    background:
        linear-gradient(
            135deg,
            rgba(32, 213, 243, 0.055),
            rgba(139, 92, 246, 0.025)
        );
}

#proceso-reballing .gsrbproc-core::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 118px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--rb-cyan),
            transparent
        );
}

#proceso-reballing .gsrbproc-core-icon {
    display: grid;
    place-items: center;

    width: 66px;
    height: 66px;

    flex: 0 0 66px;

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

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            rgba(32, 213, 243, 0.07),
            rgba(139, 92, 246, 0.035)
        );

    color: #9cefff;

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

    letter-spacing: 0.03em;
}

#proceso-reballing .gsrbproc-core-copy {
    min-width: 0;
}

#proceso-reballing .gsrbproc-core-copy strong {
    display: block;

    margin-bottom: 5px;

    color: #e1f8ff;

    font-size: 14px;
    line-height: 1.42;
    font-weight: 600;
}

#proceso-reballing .gsrbproc-core-copy span {
    display: block;

    color: #8ba3b3;

    font-size: 11px;
    line-height: 1.65;
}

#proceso-reballing .gsrbproc-core-state {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    flex-shrink: 0;

    padding:
        7px 10px;

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

    border-radius: 999px;

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

    color: #94efbc;

    font-size: 10px;
    line-height: 1.3;
    font-weight: 600;
}

#proceso-reballing .gsrbproc-core-state::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

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


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

#proceso-reballing .gsrbproc-steps {
    display: grid;

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

    gap: 11px;
}

#proceso-reballing .gsrbproc-step {
    --step-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding:
        21px 18px 19px;

    overflow: hidden;

    border-radius: 15px;

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

#proceso-reballing .gsrbproc-step.prepare {
    --step-color: #20d5f3;

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

#proceso-reballing .gsrbproc-step.remove {
    --step-color: #3286ff;

    border:
        1px solid rgba(50, 134, 255, 0.14);
}

#proceso-reballing .gsrbproc-step.clean {
    --step-color: #8b5cf6;

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

#proceso-reballing .gsrbproc-step.reball {
    --step-color: #20d5f3;

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

#proceso-reballing .gsrbproc-step.align {
    --step-color: #ffc857;

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

#proceso-reballing .gsrbproc-step.verify {
    --step-color: #43e58b;

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

#proceso-reballing .gsrbproc-step::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 82px;
    height: 2px;

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

#proceso-reballing .gsrbproc-step-number {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 12px;

    color: var(--step-color);

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

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

#proceso-reballing .gsrbproc-step-number::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: currentColor;

    box-shadow:
        0 0 7px currentColor;
}

#proceso-reballing .gsrbproc-step-icon {
    display: grid;
    place-items: center;

    width: 40px;
    height: 40px;

    margin-bottom: 11px;

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

    border-radius: 10px;

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

    color: var(--step-color);

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

#proceso-reballing .gsrbproc-step-title {
    display: block;

    margin-bottom: 7px;

    color: #e2eef5;

    font-size: 13px;
    line-height: 1.42;
    font-weight: 600;
}

#proceso-reballing .gsrbproc-step-copy {
    display: block;

    color: #7d95a5;

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

#proceso-reballing .gsrbproc-step-note {
    display: block;

    margin-top: 10px;
    padding-top: 10px;

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

    color: #687f8f;

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


/* =========================================================
   MAIN AREA
   ========================================================= */

#proceso-reballing .gsrbproc-main {
    display: grid;

    grid-template-columns:
        minmax(0, 0.93fr)
        minmax(440px, 1.07fr);

    gap: 18px;

    margin-top: 18px;
}


/* =========================================================
   CONTROL PANEL
   ========================================================= */

#proceso-reballing .gsrbproc-control {
    position: relative;

    min-width: 0;

    padding: 25px;

    overflow: hidden;

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

    border-radius: 20px;

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

#proceso-reballing .gsrbproc-panel-label {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 10px;

    color: var(--rb-cyan-soft);

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

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

#proceso-reballing .gsrbproc-panel-label::before {
    content: "";

    width: 14px;
    height: 1px;

    background: currentColor;

    box-shadow:
        0 0 8px currentColor;
}

#proceso-reballing .gsrbproc-panel-title {
    margin: 0;

    color: #f2faff;

    font-size: 21px;
    line-height: 1.34;
    font-weight: 700;
}

#proceso-reballing .gsrbproc-panel-copy {
    margin: 9px 0 0;

    color: #879eae;

    font-size: 11px;
    line-height: 1.68;
}


/* =========================================================
   HEAT VS CONTROL
   ========================================================= */

#proceso-reballing .gsrbproc-compare {
    display: grid;

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

    gap: 9px;

    margin-top: 19px;
}

#proceso-reballing .gsrbproc-compare-card {
    --compare-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding:
        17px 15px;

    overflow: hidden;

    border-radius: 13px;

    background:
        rgba(5, 17, 30, 0.59);
}

#proceso-reballing .gsrbproc-compare-card.heat {
    --compare-color: #ffc857;

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

#proceso-reballing .gsrbproc-compare-card.controlled {
    --compare-color: #43e58b;

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

#proceso-reballing .gsrbproc-compare-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 65px;
    height: 2px;

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

#proceso-reballing .gsrbproc-compare-code {
    display: block;

    margin-bottom: 7px;

    color: var(--compare-color);

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

    text-transform: uppercase;
}

#proceso-reballing .gsrbproc-compare-title {
    display: block;

    margin-bottom: 5px;

    color: #dcebf4;

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

#proceso-reballing .gsrbproc-compare-copy {
    display: block;

    color: #758d9d;

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


/* =========================================================
   CONTROL FLOW
   ========================================================= */

#proceso-reballing .gsrbproc-control-flow {
    display: grid;

    gap: 7px;

    margin-top: 14px;
}

#proceso-reballing .gsrbproc-control-row {
    display: grid;

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

    gap: 10px;

    align-items: center;

    min-width: 0;

    padding:
        10px 11px;

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

    border-radius: 9px;

    background:
        rgba(5, 17, 30, 0.50);
}

#proceso-reballing .gsrbproc-control-label {
    color: var(--row-color);

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

    text-transform: uppercase;
}

#proceso-reballing .gsrbproc-control-row.prepare {
    --row-color: #20d5f3;
}

#proceso-reballing .gsrbproc-control-row.thermal {
    --row-color: #ffc857;
}

#proceso-reballing .gsrbproc-control-row.position {
    --row-color: #8b5cf6;
}

#proceso-reballing .gsrbproc-control-row.inspect {
    --row-color: #43e58b;
}

#proceso-reballing .gsrbproc-control-copy {
    color: #7d95a5;

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

#proceso-reballing .gsrbproc-control-copy strong {
    color: #dbeaf2;
    font-weight: 600;
}


/* =========================================================
   CONTROL NOTE
   ========================================================= */

#proceso-reballing .gsrbproc-control-note {
    display: flex;
    align-items: flex-start;

    gap: 9px;

    margin-top: 14px;
    padding: 13px;

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

    border-radius: 10px;

    background:
        rgba(255, 200, 87, 0.025);

    color: #8c856e;

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

#proceso-reballing .gsrbproc-control-note::before {
    content: "!";

    display: grid;
    place-items: center;

    width: 19px;
    height: 19px;

    flex: 0 0 19px;

    margin-top: 1px;

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

    border-radius: 50%;

    color: #ffe09a;

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


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

#proceso-reballing .gsrbproc-hud {
    position: relative;

    min-width: 0;

    padding: 23px;

    overflow: hidden;

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

    border-radius: 21px;

    background:
        linear-gradient(
            145deg,
            rgba(24, 18, 45, 0.38),
            rgba(4, 12, 22, 0.97)
        );
}

#proceso-reballing .gsrbproc-hud::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        radial-gradient(
            circle at 50% 32%,
            rgba(32, 213, 243, 0.075),
            transparent 35%
        ),
        radial-gradient(
            circle at 50% 72%,
            rgba(139, 92, 246, 0.050),
            transparent 40%
        );
}


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

#proceso-reballing .gsrbproc-hud-head {
    position: relative;
    z-index: 4;

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

    gap: 10px;
}

#proceso-reballing .gsrbproc-hud-code {
    color: #bdadff;

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

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

#proceso-reballing .gsrbproc-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: #94efbc;

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

#proceso-reballing .gsrbproc-hud-state::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

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


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

#proceso-reballing .gsrbproc-hud-screen {
    position: relative;
    z-index: 2;

    min-height: 438px;

    margin-top: 17px;

    overflow: hidden;

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

    border-radius: 15px;

    background:
        radial-gradient(
            circle at 50% 43%,
            rgba(32, 213, 243, 0.085),
            transparent 32%
        ),
        rgba(3, 12, 22, 0.68);
}

#proceso-reballing .gsrbproc-hud-screen::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.27;

    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 CORE
   ========================================================= */

#proceso-reballing .gsrbproc-hud-core {
    position: absolute;

    z-index: 8;

    left: 50%;
    top: 43%;

    width: 154px;
    height: 154px;

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

    display: grid;
    place-items: center;

    padding: 18px;

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

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(32, 213, 243, 0.11),
            rgba(139, 92, 246, 0.045) 46%,
            rgba(5, 16, 29, 0.97) 76%
        );

    box-shadow:
        0 0 48px rgba(32, 213, 243, 0.09);

    animation:
        gsrbproc-core-pulse
        4.3s ease-in-out infinite;
}

#proceso-reballing .gsrbproc-hud-core div {
    text-align: center;
}

#proceso-reballing .gsrbproc-hud-core strong {
    display: block;

    color: #e4faff;

    font-size: 12px;
    line-height: 1.18;
    font-weight: 700;

    text-transform: uppercase;
}

#proceso-reballing .gsrbproc-hud-core span {
    display: block;

    margin-top: 6px;

    color: #829aa9;

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

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

@keyframes gsrbproc-core-pulse {

    0%,
    100% {
        box-shadow:
            0 0 28px rgba(32, 213, 243, 0.05);
    }

    50% {
        box-shadow:
            0 0 58px rgba(32, 213, 243, 0.14);
    }
}


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

#proceso-reballing .gsrbproc-ring {
    position: absolute;

    left: 50%;
    top: 43%;

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

    border-radius: 50%;

    pointer-events: none;
}

#proceso-reballing .gsrbproc-ring.one {
    width: 224px;
    height: 224px;

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

    animation:
        gsrbproc-ring-spin
        21s linear infinite;
}

#proceso-reballing .gsrbproc-ring.two {
    width: 300px;
    height: 300px;

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

    animation:
        gsrbproc-ring-spin
        31s linear infinite reverse;
}

@keyframes gsrbproc-ring-spin {

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

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


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

#proceso-reballing .gsrbproc-node {
    position: absolute;

    z-index: 9;

    width: 130px;

    padding: 10px;

    border-radius: 9px;

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

#proceso-reballing .gsrbproc-node.prepare {
    left: 5%;
    top: 14%;

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

#proceso-reballing .gsrbproc-node.remove {
    right: 5%;
    top: 14%;

    border:
        1px solid rgba(50, 134, 255, 0.17);
}

#proceso-reballing .gsrbproc-node.reball {
    left: 5%;
    bottom: 22%;

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

#proceso-reballing .gsrbproc-node.verify {
    right: 5%;
    bottom: 22%;

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

#proceso-reballing .gsrbproc-node-code {
    display: block;

    margin-bottom: 4px;

    color: var(--node-color);

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

    text-transform: uppercase;
}

#proceso-reballing .gsrbproc-node.prepare {
    --node-color: #20d5f3;
}

#proceso-reballing .gsrbproc-node.remove {
    --node-color: #3286ff;
}

#proceso-reballing .gsrbproc-node.reball {
    --node-color: #8b5cf6;
}

#proceso-reballing .gsrbproc-node.verify {
    --node-color: #43e58b;
}

#proceso-reballing .gsrbproc-node strong {
    display: block;

    color: #d8e9f1;

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

#proceso-reballing .gsrbproc-node span:last-child {
    display: block;

    margin-top: 4px;

    color: #748c9c;

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


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

#proceso-reballing .gsrbproc-path {
    position: absolute;

    z-index: 4;

    height: 1px;

    transform-origin: left center;

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

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

#proceso-reballing .gsrbproc-path.p1 {
    left: 21%;
    top: 29%;

    width: 34%;

    transform:
        rotate(21deg);
}

#proceso-reballing .gsrbproc-path.p2 {
    left: 50%;
    top: 43%;

    width: 33%;

    transform:
        rotate(-22deg);
}

#proceso-reballing .gsrbproc-path.p3 {
    left: 21%;
    bottom: 32%;

    width: 34%;

    transform:
        rotate(-20deg);
}

#proceso-reballing .gsrbproc-path.p4 {
    left: 49%;
    bottom: 32%;

    width: 34%;

    transform:
        rotate(21deg);
}

@keyframes gsrbproc-path-pulse {

    0%,
    100% {
        opacity: 0.16;
    }

    50% {
        opacity: 0.80;
    }
}


/* =========================================================
   HUD ROUTE
   ========================================================= */

#proceso-reballing .gsrbproc-hud-route {
    position: absolute;

    z-index: 10;

    left: 13px;
    right: 13px;
    bottom: 13px;

    display: grid;

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

    gap: 4px;
}

#proceso-reballing .gsrbproc-hud-step {
    min-width: 0;

    padding:
        7px 3px;

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

    border-radius: 7px;

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

    color: #758e9e;

    text-align: center;

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


/* =========================================================
   QA STRIP
   ========================================================= */

#proceso-reballing .gsrbproc-quality {
    display: grid;

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

    gap: 9px;

    margin-top: 18px;
}

#proceso-reballing .gsrbproc-quality-card {
    --quality-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding:
        16px 14px;

    overflow: hidden;

    border-radius: 13px;

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

#proceso-reballing .gsrbproc-quality-card.area {
    --quality-color: #20d5f3;

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

#proceso-reballing .gsrbproc-quality-card.component {
    --quality-color: #8b5cf6;

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

#proceso-reballing .gsrbproc-quality-card.mount {
    --quality-color: #ffc857;

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

#proceso-reballing .gsrbproc-quality-card.test {
    --quality-color: #43e58b;

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

#proceso-reballing .gsrbproc-quality-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 65px;
    height: 2px;

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

#proceso-reballing .gsrbproc-quality-code {
    display: block;

    margin-bottom: 7px;

    color: var(--quality-color);

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

    text-transform: uppercase;
}

#proceso-reballing .gsrbproc-quality-title {
    display: block;

    margin-bottom: 5px;

    color: #dcebf4;

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

#proceso-reballing .gsrbproc-quality-copy {
    display: block;

    color: #758d9d;

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


/* =========================================================
   WARNING
   ========================================================= */

#proceso-reballing .gsrbproc-warning {
    display: grid;

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

    gap: 13px;

    align-items: center;

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

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

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 200, 87, 0.028),
            rgba(139, 92, 246, 0.018)
        );
}

#proceso-reballing .gsrbproc-warning-icon {
    display: grid;
    place-items: center;

    width: 32px;
    height: 32px;

    flex: 0 0 32px;

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

    border-radius: 9px;

    color: #ffe09a;

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

#proceso-reballing .gsrbproc-warning-copy {
    min-width: 0;

    color: #918974;

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

#proceso-reballing .gsrbproc-warning-copy strong {
    color: #f1e7cb;

    font-weight: 600;
}

#proceso-reballing .gsrbproc-warning-state {
    flex-shrink: 0;

    color: #c7b67c;

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

    text-transform: uppercase;
}


/* =========================================================
   TERMINAL
   ========================================================= */

#proceso-reballing .gsrbproc-terminal {
    margin-top: 18px;

    overflow: hidden;

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

    border-radius: 18px;

    background:
        linear-gradient(
            155deg,
            rgba(10, 18, 38, 0.95),
            rgba(4, 9, 20, 0.98)
        );
}

#proceso-reballing .gsrbproc-terminal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    min-height: 44px;

    padding:
        10px 14px;

    border-bottom:
        1px solid rgba(118, 167, 255, 0.10);

    background:
        rgba(8, 18, 34, 0.75);
}

#proceso-reballing .gsrbproc-terminal-dots {
    display: flex;

    gap: 6px;
}

#proceso-reballing .gsrbproc-terminal-dots span {
    width: 6px;
    height: 6px;

    border-radius: 50%;
}

#proceso-reballing .gsrbproc-terminal-dots span:nth-child(1) {
    background: var(--rb-red);
}

#proceso-reballing .gsrbproc-terminal-dots span:nth-child(2) {
    background: var(--rb-yellow);
}

#proceso-reballing .gsrbproc-terminal-dots span:nth-child(3) {
    background: var(--rb-green);
}

#proceso-reballing .gsrbproc-terminal-name {
    color: #71889d;

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

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

#proceso-reballing .gsrbproc-terminal-body {
    display: grid;

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

    gap: 22px;

    align-items: center;

    padding:
        20px 21px;
}

#proceso-reballing .gsrbproc-terminal-route {
    display: flex;
    flex-wrap: wrap;

    gap: 7px;
}

#proceso-reballing .gsrbproc-terminal-route span {
    display: inline-flex;
    align-items: center;

    min-height: 29px;

    padding:
        6px 9px;

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

    border-radius: 7px;

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

    color: #879eae;

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

#proceso-reballing .gsrbproc-terminal-state {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    flex-shrink: 0;

    padding:
        8px 10px;

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

    border-radius: 9px;

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

    color: #9cefc0;

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

#proceso-reballing .gsrbproc-terminal-state::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--rb-green);

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


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

#proceso-reballing .gsrbproc-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin-top: 22px;
    padding: 0 3px;

    color: #60788c;

    font-size: 10px;
    line-height: 1.45;
    font-weight: 500;

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

#proceso-reballing .gsrbproc-footer-status {
    display: flex;
    align-items: center;

    gap: 7px;

    color: #7791a5;
}

#proceso-reballing .gsrbproc-footer-status::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

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


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

@media (max-width: 1024px) {

    #proceso-reballing .gsrbproc-shell {
        width:
            min(
                100% - 40px,
                920px
            );

        padding:
            78px 0 82px;
    }

    #proceso-reballing .gsrbproc-heading {
        grid-template-columns: 1fr;

        gap: 22px;
    }

    #proceso-reballing .gsrbproc-status {
        max-width: 650px;
    }

    #proceso-reballing .gsrbproc-steps {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    #proceso-reballing .gsrbproc-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 14px;
    }

    #proceso-reballing .gsrbproc-hud {
        width: 100%;
        max-width: 740px;

        margin: 0 auto;
    }

    #proceso-reballing .gsrbproc-quality {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


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

@media (max-width: 767px) {

    #proceso-reballing {
        overflow: hidden;
    }

    #proceso-reballing .gsrbproc-grid {
        opacity: 0.18;

        background-size: 32px 32px;
    }

    #proceso-reballing .gsrbproc-orbit,
    #proceso-reballing .gsrbproc-scan {
        display: none;
    }

    #proceso-reballing .gsrbproc-shell {
        width:
            calc(100% - 30px);

        max-width: 100%;

        padding:
            62px 0 66px;
    }

    #proceso-reballing .gsrbproc-heading {
        display: block;

        margin-bottom: 30px;
    }

    #proceso-reballing .gsrbproc-status {
        margin-top: 21px;

        padding:
            15px 16px;

        border-radius: 14px;
    }

    #proceso-reballing .gsrbproc-title {
        font-size:
            clamp(
                29px,
                9.3vw,
                38px
            );

        line-height: 1.1;
    }

    #proceso-reballing .gsrbproc-intro {
        font-size: 14px;
        line-height: 1.7;
    }

    #proceso-reballing .gsrbproc-core {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 10px;

        padding: 15px;
    }

    #proceso-reballing .gsrbproc-core-state {
        width: fit-content;
    }

    #proceso-reballing .gsrbproc-steps {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #proceso-reballing .gsrbproc-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 12px;
    }

    #proceso-reballing .gsrbproc-control,
    #proceso-reballing .gsrbproc-hud {
        width: 100%;
        min-width: 0;

        padding:
            20px 16px;

        border-radius: 17px;
    }

    #proceso-reballing .gsrbproc-compare {
        grid-template-columns:
            minmax(0, 1fr);
    }

    #proceso-reballing .gsrbproc-control-row {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 5px;
    }

    #proceso-reballing .gsrbproc-hud-head {
        flex-direction: column;
        align-items: flex-start;

        gap: 8px;
    }

    #proceso-reballing .gsrbproc-hud-screen {
        min-height: 350px;
    }

    #proceso-reballing .gsrbproc-hud-core,
    #proceso-reballing .gsrbproc-ring,
    #proceso-reballing .gsrbproc-path {
        animation: none;
    }

    #proceso-reballing .gsrbproc-hud-core {
        width: 106px;
        height: 106px;

        padding: 11px;
    }

    #proceso-reballing .gsrbproc-hud-core strong {
        font-size: 9px;
    }

    #proceso-reballing .gsrbproc-hud-core span {
        font-size: 8px;
    }

    #proceso-reballing .gsrbproc-ring.one {
        width: 164px;
        height: 164px;
    }

    #proceso-reballing .gsrbproc-ring.two {
        width: 220px;
        height: 220px;
    }

    #proceso-reballing .gsrbproc-node {
        width: 101px;

        padding: 7px;
    }

    #proceso-reballing .gsrbproc-node-code {
        font-size: 8px;
    }

    #proceso-reballing .gsrbproc-node strong {
        font-size: 8.5px;
    }

    #proceso-reballing .gsrbproc-node span:last-child {
        display: none;
    }

    #proceso-reballing .gsrbproc-hud-route {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 4px;
    }

    #proceso-reballing .gsrbproc-hud-step {
        text-align: left;

        font-size: 8px;
    }

    #proceso-reballing .gsrbproc-quality {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #proceso-reballing .gsrbproc-warning {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 9px;
    }

    #proceso-reballing .gsrbproc-warning-state {
        width: fit-content;
    }

    #proceso-reballing .gsrbproc-terminal-body {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 14px;

        padding:
            18px 15px;
    }

    #proceso-reballing .gsrbproc-terminal-state {
        width: fit-content;
    }

    #proceso-reballing .gsrbproc-footer {
        flex-direction: column;
        align-items: flex-start;

        gap: 7px;

        margin-top: 18px;
    }
}


/* =========================================================
   MOBILE — FLUJO BGA SIN SUPERPOSICIONES
   ========================================================= */

@media (max-width: 767px) {

    #proceso-reballing .gsrbproc-hud-screen {
        min-height: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 12px;
    }

    #proceso-reballing .gsrbproc-ring,
    #proceso-reballing .gsrbproc-path {
        display: none;
    }

    #proceso-reballing .gsrbproc-node {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        width: auto;
        min-width: 0;
        min-height: 112px;
        padding: 11px;
    }

    #proceso-reballing .gsrbproc-node span:last-child {
        display: block;
    }

    #proceso-reballing .gsrbproc-hud-core {
        position: relative;
        left: auto;
        top: auto;
        grid-column: 1 / -1;
        width: 100%;
        height: auto;
        min-height: 94px;
        padding: 15px;
        transform: none;
        border-radius: 13px;
        animation: none;
    }

    #proceso-reballing .gsrbproc-hud-core strong { font-size: 11px; }
    #proceso-reballing .gsrbproc-hud-core span { font-size: 8.5px; }

    #proceso-reballing .gsrbproc-hud-route {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
        margin-top: 2px;
    }

    #proceso-reballing .gsrbproc-hud-step {
        padding: 8px;
        text-align: left;
        font-size: 8px;
    }
}


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

@media (max-width: 390px) {

    #proceso-reballing .gsrbproc-hud-screen {
        grid-template-columns: minmax(0, 1fr);
    }

    #proceso-reballing .gsrbproc-hud-core,
    #proceso-reballing .gsrbproc-hud-route {
        grid-column: 1;
    }

    #proceso-reballing .gsrbproc-hud-route {
        grid-template-columns: minmax(0, 1fr);
    }

    #proceso-reballing .gsrbproc-shell {
        width:
            calc(100% - 24px);
    }

    #proceso-reballing .gsrbproc-control,
    #proceso-reballing .gsrbproc-hud {
        padding-left: 13px;
        padding-right: 13px;
    }

    #proceso-reballing .gsrbproc-hud-screen {
        min-height: 330px;
    }

    #proceso-reballing .gsrbproc-hud-core {
        width: 88px;
        height: 88px;
    }

    #proceso-reballing .gsrbproc-hud-core strong {
        font-size: 8.5px;
    }

    #proceso-reballing .gsrbproc-hud-core span {
        font-size: 8px;
    }

    #proceso-reballing .gsrbproc-ring.one {
        width: 138px;
        height: 138px;
    }

    #proceso-reballing .gsrbproc-ring.two {
        width: 184px;
        height: 184px;
    }

    #proceso-reballing .gsrbproc-node {
        width: 87px;

        padding: 6px;
    }

    #proceso-reballing .gsrbproc-node-code {
        font-size: 8px;
    }

    #proceso-reballing .gsrbproc-node strong {
        font-size: 8px;
    }

    #proceso-reballing .gsrbproc-hud-route {
        grid-template-columns:
            minmax(0, 1fr);
    }
}


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

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

    #proceso-reballing,
    #proceso-reballing *,
    #proceso-reballing *::before,
    #proceso-reballing *::after {
        scroll-behavior: auto !important;
        animation: none !important;
        transition: none !important;
    }

    #proceso-reballing .gsrbproc-scan {
        display: none !important;
    }
}


/* =========================================================
   viabilidad-riesgos-reballing
   ========================================================= */
/* =========================================================
   GAMMERS STYLE
   REBALLING — VIABILIDAD Y RIESGOS BGA
   ID INTERNO HTML: viabilidad-riesgos-reballing
   ========================================================= */

#viabilidad-riesgos-reballing {
    --rb-bg: #030811;
    --rb-bg-2: #05101b;

    --rb-cyan: #20d5f3;
    --rb-blue: #3286ff;
    --rb-violet: #8b5cf6;

    --rb-green: #43e58b;
    --rb-yellow: #ffc857;
    --rb-orange: #ff9f43;
    --rb-red: #ff637d;

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

    position: relative;
    isolation: isolate;

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

    overflow: hidden;

    color: var(--rb-text);

    background:
        radial-gradient(
            circle at 14% 17%,
            rgba(32, 213, 243, 0.058),
            transparent 30%
        ),
        radial-gradient(
            circle at 86% 21%,
            rgba(139, 92, 246, 0.055),
            transparent 30%
        ),
        radial-gradient(
            circle at 73% 88%,
            rgba(255, 99, 125, 0.030),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #030811 0%,
            #05101b 50%,
            #030811 100%
        );

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

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

#viabilidad-riesgos-reballing *,
#viabilidad-riesgos-reballing *::before,
#viabilidad-riesgos-reballing *::after {
    box-sizing: border-box;

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


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

#viabilidad-riesgos-reballing
.gsrbviab-grid {
    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.27;

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

    background-size: 46px 46px;

    mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 9%,
            #000 91%,
            transparent 100%
        );

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 9%,
            #000 91%,
            transparent 100%
        );
}


/* =========================================================
   ORBIT
   ========================================================= */

#viabilidad-riesgos-reballing
.gsrbviab-orbit {
    position: absolute;

    right: -260px;
    top: 560px;

    width: 520px;
    height: 520px;

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

    border-radius: 50%;

    pointer-events: none;

    animation:
        gsrbviab-orbit-spin
        56s linear infinite;
}

#viabilidad-riesgos-reballing
.gsrbviab-orbit::before,
#viabilidad-riesgos-reballing
.gsrbviab-orbit::after {
    content: "";

    position: absolute;

    border-radius: 50%;
}

#viabilidad-riesgos-reballing
.gsrbviab-orbit::before {
    inset: 82px;

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

#viabilidad-riesgos-reballing
.gsrbviab-orbit::after {
    inset: 166px;

    border:
        1px solid rgba(255, 99, 125, 0.035);
}

@keyframes gsrbviab-orbit-spin {
    from {
        transform: rotate(0deg);
    }

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


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

#viabilidad-riesgos-reballing
.gsrbviab-scan {
    position: absolute;
    inset: 0;

    pointer-events: none;
    overflow: hidden;
}

#viabilidad-riesgos-reballing
.gsrbviab-scan::before {
    content: "";

    position: absolute;

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

    height: 1px;

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

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

    animation:
        gsrbviab-scan-move
        11.8s linear infinite;
}

@keyframes gsrbviab-scan-move {
    0% {
        transform: translateY(0);
        opacity: 0;
    }

    8% {
        opacity: 0.40;
    }

    92% {
        opacity: 0.16;
    }

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


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

#viabilidad-riesgos-reballing
.gsrbviab-shell {
    position: relative;
    z-index: 2;

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

    margin: 0 auto;

    padding:
        94px 0 98px;
}


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

#viabilidad-riesgos-reballing
.gsrbviab-heading {
    display: grid;

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

    gap: 48px;

    align-items: end;

    margin-bottom: 40px;
}

#viabilidad-riesgos-reballing
.gsrbviab-heading-main {
    min-width: 0;
}


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

#viabilidad-riesgos-reballing
.gsrbviab-kicker {
    display: inline-flex;
    align-items: center;

    gap: 9px;

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

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

    border-radius: 999px;

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

    color: #9eeeff;

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

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

#viabilidad-riesgos-reballing
.gsrbviab-kicker-dot {
    width: 6px;
    height: 6px;

    flex: 0 0 6px;

    border-radius: 50%;

    background: var(--rb-cyan);

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


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

#viabilidad-riesgos-reballing
.gsrbviab-title {
    max-width: 900px;

    margin: 0;

    color: #f4fbff;

    font-size:
        clamp(
            30px,
            4vw,
            48px
        );

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

    letter-spacing: -0.035em;
}

#viabilidad-riesgos-reballing
.gsrbviab-title span {
    color: var(--rb-cyan);
}

#viabilidad-riesgos-reballing
.gsrbviab-intro {
    max-width: 850px;

    margin: 17px 0 0;

    color: var(--rb-muted);

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


/* =========================================================
   STATUS
   ========================================================= */

#viabilidad-riesgos-reballing
.gsrbviab-status {
    position: relative;

    min-width: 0;

    padding: 18px 19px;

    overflow: hidden;

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

    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            rgba(48, 36, 10, 0.22),
            rgba(4, 13, 23, 0.88)
        );
}

#viabilidad-riesgos-reballing
.gsrbviab-status::before {
    content: "";

    position: absolute;

    left: 0;
    top: 12px;
    bottom: 12px;

    width: 2px;

    background:
        linear-gradient(
            180deg,
            transparent,
            var(--rb-yellow),
            transparent
        );
}

#viabilidad-riesgos-reballing
.gsrbviab-status-label {
    display: flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 8px;

    color: #ead08b;

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

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

#viabilidad-riesgos-reballing
.gsrbviab-status-label::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--rb-yellow);

    box-shadow:
        0 0 8px
        rgba(255, 200, 87, 0.55);
}

#viabilidad-riesgos-reballing
.gsrbviab-status-copy {
    margin: 0;

    color: #b5c8d6;

    font-size: 12px;
    line-height: 1.62;
}


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

#viabilidad-riesgos-reballing
.gsrbviab-core {
    position: relative;

    display: grid;

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

    gap: 18px;

    align-items: center;

    margin-bottom: 22px;
    padding: 18px;

    overflow: hidden;

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

    border-radius: 15px;

    background:
        linear-gradient(
            135deg,
            rgba(32, 213, 243, 0.055),
            rgba(139, 92, 246, 0.025)
        );
}

#viabilidad-riesgos-reballing
.gsrbviab-core::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 118px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--rb-cyan),
            transparent
        );
}

#viabilidad-riesgos-reballing
.gsrbviab-core-icon {
    display: grid;
    place-items: center;

    width: 66px;
    height: 66px;

    flex: 0 0 66px;

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

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            rgba(32, 213, 243, 0.07),
            rgba(139, 92, 246, 0.035)
        );

    color: #9cefff;

    font-size: 9px;
    line-height: 1;
    font-weight: 700;

    text-align: center;
}

#viabilidad-riesgos-reballing
.gsrbviab-core-copy {
    min-width: 0;
}

#viabilidad-riesgos-reballing
.gsrbviab-core-copy strong {
    display: block;

    margin-bottom: 5px;

    color: #e1f8ff;

    font-size: 14px;
    line-height: 1.42;
    font-weight: 600;
}

#viabilidad-riesgos-reballing
.gsrbviab-core-copy span {
    display: block;

    color: #8ba3b3;

    font-size: 11px;
    line-height: 1.65;
}

#viabilidad-riesgos-reballing
.gsrbviab-core-state {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    flex-shrink: 0;

    padding:
        7px 10px;

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

    border-radius: 999px;

    background:
        rgba(255, 200, 87, 0.025);

    color: #ead08b;

    font-size: 10px;
    line-height: 1.3;
    font-weight: 600;
}

#viabilidad-riesgos-reballing
.gsrbviab-core-state::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-yellow);

    box-shadow:
        0 0 7px
        rgba(255, 200, 87, 0.55);
}


/* =========================================================
   RISK FACTORS
   ========================================================= */

#viabilidad-riesgos-reballing
.gsrbviab-risks {
    display: grid;

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

    gap: 10px;
}

#viabilidad-riesgos-reballing
.gsrbviab-risk {
    --risk-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding:
        19px 16px 17px;

    overflow: hidden;

    border-radius: 14px;

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

#viabilidad-riesgos-reballing
.gsrbviab-risk.pads {
    --risk-color: #ff637d;

    border:
        1px solid rgba(255, 99, 125, 0.14);
}

#viabilidad-riesgos-reballing
.gsrbviab-risk.pcb {
    --risk-color: #ff9f43;

    border:
        1px solid rgba(255, 159, 67, 0.14);
}

#viabilidad-riesgos-reballing
.gsrbviab-risk.component {
    --risk-color: #8b5cf6;

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

#viabilidad-riesgos-reballing
.gsrbviab-risk.liquid {
    --risk-color: #3286ff;

    border:
        1px solid rgba(50, 134, 255, 0.14);
}

#viabilidad-riesgos-reballing
.gsrbviab-risk.previous {
    --risk-color: #ffc857;

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

#viabilidad-riesgos-reballing
.gsrbviab-risk.thermal {
    --risk-color: #ff9f43;

    border:
        1px solid rgba(255, 159, 67, 0.14);
}

#viabilidad-riesgos-reballing
.gsrbviab-risk.traces {
    --risk-color: #20d5f3;

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

#viabilidad-riesgos-reballing
.gsrbviab-risk.parts {
    --risk-color: #43e58b;

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

#viabilidad-riesgos-reballing
.gsrbviab-risk::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 72px;
    height: 2px;

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

#viabilidad-riesgos-reballing
.gsrbviab-risk-code {
    display: block;

    margin-bottom: 9px;

    color: var(--risk-color);

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

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

#viabilidad-riesgos-reballing
.gsrbviab-risk-title {
    display: block;

    margin-bottom: 6px;

    color: #e2eef5;

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

#viabilidad-riesgos-reballing
.gsrbviab-risk-copy {
    display: block;

    color: #788f9f;

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


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

#viabilidad-riesgos-reballing
.gsrbviab-main {
    display: grid;

    grid-template-columns:
        minmax(0, 0.95fr)
        minmax(440px, 1.05fr);

    gap: 18px;

    margin-top: 18px;
}


/* =========================================================
   ASSESSMENT PANEL
   ========================================================= */

#viabilidad-riesgos-reballing
.gsrbviab-assessment {
    position: relative;

    min-width: 0;

    padding: 25px;

    overflow: hidden;

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

    border-radius: 20px;

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

#viabilidad-riesgos-reballing
.gsrbviab-panel-label {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 10px;

    color: #9cefff;

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

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

#viabilidad-riesgos-reballing
.gsrbviab-panel-label::before {
    content: "";

    width: 14px;
    height: 1px;

    background: currentColor;

    box-shadow:
        0 0 8px currentColor;
}

#viabilidad-riesgos-reballing
.gsrbviab-panel-title {
    margin: 0;

    color: #f2faff;

    font-size: 21px;
    line-height: 1.34;
    font-weight: 700;
}

#viabilidad-riesgos-reballing
.gsrbviab-panel-copy {
    margin: 9px 0 0;

    color: #879eae;

    font-size: 11px;
    line-height: 1.68;
}


/* =========================================================
   ASSESSMENT ROWS
   ========================================================= */

#viabilidad-riesgos-reballing
.gsrbviab-assessment-flow {
    display: grid;

    gap: 8px;

    margin-top: 19px;
}

#viabilidad-riesgos-reballing
.gsrbviab-assessment-row {
    --row-color: #20d5f3;

    display: grid;

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

    gap: 11px;

    align-items: start;

    min-width: 0;

    padding: 11px;

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

    border-radius: 9px;

    background:
        rgba(5, 17, 30, 0.52);
}

#viabilidad-riesgos-reballing
.gsrbviab-assessment-row.pcb {
    --row-color: #20d5f3;
}

#viabilidad-riesgos-reballing
.gsrbviab-assessment-row.pads {
    --row-color: #3286ff;
}

#viabilidad-riesgos-reballing
.gsrbviab-assessment-row.component {
    --row-color: #8b5cf6;
}

#viabilidad-riesgos-reballing
.gsrbviab-assessment-row.previous {
    --row-color: #ffc857;
}

#viabilidad-riesgos-reballing
.gsrbviab-assessment-row.risk {
    --row-color: #ff9f43;
}

#viabilidad-riesgos-reballing
.gsrbviab-assessment-row.decision {
    --row-color: #43e58b;
}

#viabilidad-riesgos-reballing
.gsrbviab-assessment-label {
    color: var(--row-color);

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

    text-transform: uppercase;
}

#viabilidad-riesgos-reballing
.gsrbviab-assessment-copy {
    min-width: 0;

    color: #7d95a5;

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

#viabilidad-riesgos-reballing
.gsrbviab-assessment-copy strong {
    color: #dbeaf2;
    font-weight: 600;
}


/* =========================================================
   PRINCIPLE NOTE
   ========================================================= */

#viabilidad-riesgos-reballing
.gsrbviab-principle {
    display: flex;
    align-items: flex-start;

    gap: 9px;

    margin-top: 14px;
    padding: 13px;

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

    border-radius: 10px;

    background:
        rgba(255, 200, 87, 0.025);

    color: #8c856e;

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

#viabilidad-riesgos-reballing
.gsrbviab-principle::before {
    content: "!";

    display: grid;
    place-items: center;

    width: 19px;
    height: 19px;

    flex: 0 0 19px;

    margin-top: 1px;

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

    border-radius: 50%;

    color: #ffe09a;

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


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

#viabilidad-riesgos-reballing
.gsrbviab-hud {
    position: relative;

    min-width: 0;

    padding: 23px;

    overflow: hidden;

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

    border-radius: 21px;

    background:
        linear-gradient(
            145deg,
            rgba(24, 18, 45, 0.38),
            rgba(4, 12, 22, 0.97)
        );
}

#viabilidad-riesgos-reballing
.gsrbviab-hud::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        radial-gradient(
            circle at 50% 32%,
            rgba(32, 213, 243, 0.075),
            transparent 35%
        ),
        radial-gradient(
            circle at 50% 72%,
            rgba(139, 92, 246, 0.050),
            transparent 40%
        );
}


/* =========================================================
   HUD HEAD
   ========================================================= */

#viabilidad-riesgos-reballing
.gsrbviab-hud-head {
    position: relative;
    z-index: 4;

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

    gap: 10px;
}

#viabilidad-riesgos-reballing
.gsrbviab-hud-code {
    color: #bdadff;

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

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

#viabilidad-riesgos-reballing
.gsrbviab-hud-state {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    flex-shrink: 0;

    padding:
        5px 8px;

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

    border-radius: 999px;

    background:
        rgba(255, 200, 87, 0.030);

    color: #ead08b;

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

#viabilidad-riesgos-reballing
.gsrbviab-hud-state::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-yellow);

    box-shadow:
        0 0 7px rgba(255, 200, 87, 0.55);
}


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

#viabilidad-riesgos-reballing
.gsrbviab-hud-screen {
    position: relative;
    z-index: 2;

    min-height: 440px;

    margin-top: 17px;

    overflow: hidden;

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

    border-radius: 15px;

    background:
        radial-gradient(
            circle at 50% 43%,
            rgba(32, 213, 243, 0.085),
            transparent 32%
        ),
        rgba(3, 12, 22, 0.68);
}

#viabilidad-riesgos-reballing
.gsrbviab-hud-screen::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.27;

    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 CORE
   ========================================================= */

#viabilidad-riesgos-reballing
.gsrbviab-hud-core {
    position: absolute;

    z-index: 8;

    left: 50%;
    top: 43%;

    width: 158px;
    height: 158px;

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

    display: grid;
    place-items: center;

    padding: 18px;

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

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(32, 213, 243, 0.11),
            rgba(139, 92, 246, 0.045) 46%,
            rgba(5, 16, 29, 0.97) 76%
        );

    box-shadow:
        0 0 48px
        rgba(32, 213, 243, 0.09);

    animation:
        gsrbviab-core-pulse
        4.3s ease-in-out infinite;
}

#viabilidad-riesgos-reballing
.gsrbviab-hud-core div {
    text-align: center;
}

#viabilidad-riesgos-reballing
.gsrbviab-hud-core strong {
    display: block;

    color: #e4faff;

    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;

    text-transform: uppercase;
}

#viabilidad-riesgos-reballing
.gsrbviab-hud-core span {
    display: block;

    margin-top: 7px;

    color: #829aa9;

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

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

@keyframes gsrbviab-core-pulse {

    0%,
    100% {
        box-shadow:
            0 0 28px rgba(32, 213, 243, 0.05);
    }

    50% {
        box-shadow:
            0 0 58px rgba(32, 213, 243, 0.14);
    }
}


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

#viabilidad-riesgos-reballing
.gsrbviab-ring {
    position: absolute;

    left: 50%;
    top: 43%;

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

    border-radius: 50%;

    pointer-events: none;
}

#viabilidad-riesgos-reballing
.gsrbviab-ring.one {
    width: 226px;
    height: 226px;

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

    animation:
        gsrbviab-ring-spin
        21s linear infinite;
}

#viabilidad-riesgos-reballing
.gsrbviab-ring.two {
    width: 304px;
    height: 304px;

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

    animation:
        gsrbviab-ring-spin
        31s linear infinite reverse;
}

@keyframes gsrbviab-ring-spin {
    from {
        transform:
            translate(-50%, -50%)
            rotate(0deg);
    }

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


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

#viabilidad-riesgos-reballing
.gsrbviab-node {
    position: absolute;

    z-index: 9;

    width: 132px;

    padding: 10px;

    border-radius: 9px;

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

#viabilidad-riesgos-reballing
.gsrbviab-node.board {
    left: 5%;
    top: 14%;

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

#viabilidad-riesgos-reballing
.gsrbviab-node.component {
    right: 5%;
    top: 14%;

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

#viabilidad-riesgos-reballing
.gsrbviab-node.history {
    left: 5%;
    bottom: 22%;

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

#viabilidad-riesgos-reballing
.gsrbviab-node.decision {
    right: 5%;
    bottom: 22%;

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

#viabilidad-riesgos-reballing
.gsrbviab-node-code {
    display: block;

    margin-bottom: 4px;

    color: var(--node-color);

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

    text-transform: uppercase;
}

#viabilidad-riesgos-reballing
.gsrbviab-node.board {
    --node-color: #20d5f3;
}

#viabilidad-riesgos-reballing
.gsrbviab-node.component {
    --node-color: #8b5cf6;
}

#viabilidad-riesgos-reballing
.gsrbviab-node.history {
    --node-color: #ffc857;
}

#viabilidad-riesgos-reballing
.gsrbviab-node.decision {
    --node-color: #43e58b;
}

#viabilidad-riesgos-reballing
.gsrbviab-node strong {
    display: block;

    color: #d8e9f1;

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

#viabilidad-riesgos-reballing
.gsrbviab-node span:last-child {
    display: block;

    margin-top: 4px;

    color: #748c9c;

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


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

#viabilidad-riesgos-reballing
.gsrbviab-path {
    position: absolute;

    z-index: 4;

    height: 1px;

    transform-origin: left center;

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

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

#viabilidad-riesgos-reballing
.gsrbviab-path.p1 {
    left: 21%;
    top: 29%;

    width: 34%;

    transform:
        rotate(21deg);
}

#viabilidad-riesgos-reballing
.gsrbviab-path.p2 {
    left: 50%;
    top: 43%;

    width: 33%;

    transform:
        rotate(-22deg);
}

#viabilidad-riesgos-reballing
.gsrbviab-path.p3 {
    left: 21%;
    bottom: 32%;

    width: 34%;

    transform:
        rotate(-20deg);
}

#viabilidad-riesgos-reballing
.gsrbviab-path.p4 {
    left: 49%;
    bottom: 32%;

    width: 34%;

    transform:
        rotate(21deg);
}

@keyframes gsrbviab-path-pulse {

    0%,
    100% {
        opacity: 0.16;
    }

    50% {
        opacity: 0.80;
    }
}


/* =========================================================
   HUD ROUTE
   ========================================================= */

#viabilidad-riesgos-reballing
.gsrbviab-hud-route {
    position: absolute;

    z-index: 10;

    left: 13px;
    right: 13px;
    bottom: 13px;

    display: grid;

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

    gap: 4px;
}

#viabilidad-riesgos-reballing
.gsrbviab-hud-step {
    min-width: 0;

    padding:
        7px 3px;

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

    border-radius: 7px;

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

    color: #758e9e;

    text-align: center;

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


/* =========================================================
   VIABILITY RESULTS
   ========================================================= */

#viabilidad-riesgos-reballing
.gsrbviab-results {
    display: grid;

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

    gap: 10px;

    margin-top: 18px;
}

#viabilidad-riesgos-reballing
.gsrbviab-result {
    --result-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding:
        20px 17px 18px;

    overflow: hidden;

    border-radius: 15px;

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

#viabilidad-riesgos-reballing
.gsrbviab-result.viable {
    --result-color: #43e58b;

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

#viabilidad-riesgos-reballing
.gsrbviab-result.conditional {
    --result-color: #ffc857;

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

#viabilidad-riesgos-reballing
.gsrbviab-result.no {
    --result-color: #ff637d;

    border:
        1px solid rgba(255, 99, 125, 0.15);
}

#viabilidad-riesgos-reballing
.gsrbviab-result::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 90px;
    height: 2px;

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

#viabilidad-riesgos-reballing
.gsrbviab-result-state {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 10px;

    color: var(--result-color);

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

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

#viabilidad-riesgos-reballing
.gsrbviab-result-state::before {
    content: "";

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: currentColor;

    box-shadow:
        0 0 8px currentColor;
}

#viabilidad-riesgos-reballing
.gsrbviab-result-title {
    display: block;

    margin-bottom: 6px;

    color: #e2eef5;

    font-size: 13px;
    line-height: 1.42;
    font-weight: 600;
}

#viabilidad-riesgos-reballing
.gsrbviab-result-copy {
    display: block;

    color: #788f9f;

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


/* =========================================================
   WARNING
   ========================================================= */

#viabilidad-riesgos-reballing
.gsrbviab-warning {
    display: grid;

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

    gap: 13px;

    align-items: center;

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

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

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 200, 87, 0.028),
            rgba(255, 99, 125, 0.018)
        );
}

#viabilidad-riesgos-reballing
.gsrbviab-warning-icon {
    display: grid;
    place-items: center;

    width: 32px;
    height: 32px;

    flex: 0 0 32px;

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

    border-radius: 9px;

    color: #ffe09a;

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

#viabilidad-riesgos-reballing
.gsrbviab-warning-copy {
    min-width: 0;

    color: #918974;

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

#viabilidad-riesgos-reballing
.gsrbviab-warning-copy strong {
    color: #f1e7cb;

    font-weight: 600;
}

#viabilidad-riesgos-reballing
.gsrbviab-warning-state {
    flex-shrink: 0;

    color: #c7b67c;

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

    text-transform: uppercase;
}


/* =========================================================
   TERMINAL
   ========================================================= */

#viabilidad-riesgos-reballing
.gsrbviab-terminal {
    margin-top: 18px;

    overflow: hidden;

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

    border-radius: 18px;

    background:
        linear-gradient(
            155deg,
            rgba(10, 18, 38, 0.95),
            rgba(4, 9, 20, 0.98)
        );
}

#viabilidad-riesgos-reballing
.gsrbviab-terminal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    min-height: 44px;

    padding:
        10px 14px;

    border-bottom:
        1px solid rgba(118, 167, 255, 0.10);

    background:
        rgba(8, 18, 34, 0.75);
}

#viabilidad-riesgos-reballing
.gsrbviab-terminal-dots {
    display: flex;

    gap: 6px;
}

#viabilidad-riesgos-reballing
.gsrbviab-terminal-dots span {
    width: 6px;
    height: 6px;

    border-radius: 50%;
}

#viabilidad-riesgos-reballing
.gsrbviab-terminal-dots span:nth-child(1) {
    background: var(--rb-red);
}

#viabilidad-riesgos-reballing
.gsrbviab-terminal-dots span:nth-child(2) {
    background: var(--rb-yellow);
}

#viabilidad-riesgos-reballing
.gsrbviab-terminal-dots span:nth-child(3) {
    background: var(--rb-green);
}

#viabilidad-riesgos-reballing
.gsrbviab-terminal-name {
    color: #71889d;

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

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

#viabilidad-riesgos-reballing
.gsrbviab-terminal-body {
    display: grid;

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

    gap: 22px;

    align-items: center;

    padding:
        20px 21px;
}

#viabilidad-riesgos-reballing
.gsrbviab-terminal-route {
    display: flex;
    flex-wrap: wrap;

    gap: 7px;
}

#viabilidad-riesgos-reballing
.gsrbviab-terminal-route span {
    display: inline-flex;
    align-items: center;

    min-height: 29px;

    padding:
        6px 9px;

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

    border-radius: 7px;

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

    color: #879eae;

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

#viabilidad-riesgos-reballing
.gsrbviab-terminal-state {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    flex-shrink: 0;

    padding:
        8px 10px;

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

    border-radius: 9px;

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

    color: #9cefc0;

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

#viabilidad-riesgos-reballing
.gsrbviab-terminal-state::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--rb-green);

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


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

#viabilidad-riesgos-reballing
.gsrbviab-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin-top: 22px;
    padding: 0 3px;

    color: #60788c;

    font-size: 10px;
    line-height: 1.45;
    font-weight: 500;

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

#viabilidad-riesgos-reballing
.gsrbviab-footer-status {
    display: flex;
    align-items: center;

    gap: 7px;

    color: #7791a5;
}

#viabilidad-riesgos-reballing
.gsrbviab-footer-status::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

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


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

@media (max-width: 1024px) {

    #viabilidad-riesgos-reballing
    .gsrbviab-shell {
        width:
            min(
                100% - 40px,
                920px
            );

        padding:
            78px 0 82px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-heading {
        grid-template-columns: 1fr;

        gap: 22px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-status {
        max-width: 650px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-risks {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 14px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud {
        width: 100%;
        max-width: 740px;

        margin: 0 auto;
    }
}


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

@media (max-width: 767px) {

    #viabilidad-riesgos-reballing {
        overflow: hidden;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-grid {
        opacity: 0.18;

        background-size: 32px 32px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-orbit,
    #viabilidad-riesgos-reballing
    .gsrbviab-scan {
        display: none;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-shell {
        width:
            calc(100% - 30px);

        max-width: 100%;

        padding:
            62px 0 66px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-heading {
        display: block;

        margin-bottom: 30px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-status {
        margin-top: 21px;

        padding:
            15px 16px;

        border-radius: 14px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-title {
        font-size:
            clamp(
                29px,
                9.3vw,
                38px
            );

        line-height: 1.1;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-intro {
        font-size: 14px;
        line-height: 1.7;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-core {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 10px;

        padding: 15px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-core-state {
        width: fit-content;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-risks {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 12px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-assessment,
    #viabilidad-riesgos-reballing
    .gsrbviab-hud {
        width: 100%;
        min-width: 0;

        padding:
            20px 16px;

        border-radius: 17px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-assessment-row {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 5px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-head {
        flex-direction: column;
        align-items: flex-start;

        gap: 8px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-screen {
        min-height: 350px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-core,
    #viabilidad-riesgos-reballing
    .gsrbviab-ring,
    #viabilidad-riesgos-reballing
    .gsrbviab-path {
        animation: none;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-core {
        width: 106px;
        height: 106px;

        padding: 11px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-core strong {
        font-size: 9px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-core span {
        font-size: 8px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-ring.one {
        width: 164px;
        height: 164px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-ring.two {
        width: 220px;
        height: 220px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-node {
        width: 101px;

        padding: 7px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-node-code {
        font-size: 8px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-node strong {
        font-size: 8.5px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-node span:last-child {
        display: none;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-route {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 4px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-step {
        text-align: left;

        font-size: 8px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-results {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-warning {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 9px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-warning-state {
        width: fit-content;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-terminal-body {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 14px;

        padding:
            18px 15px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-terminal-state {
        width: fit-content;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-footer {
        flex-direction: column;
        align-items: flex-start;

        gap: 7px;

        margin-top: 18px;
    }
}



/* =========================================================
   MOBILE — EVALUACIÓN BGA SIN SUPERPOSICIONES
   ========================================================= */

@media (max-width: 767px) {

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-screen {
        min-height: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 12px;
    }

    #viabilidad-riesgos-reballing .gsrbviab-ring,
    #viabilidad-riesgos-reballing .gsrbviab-path {
        display: none;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-node {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        width: auto;
        min-width: 0;
        min-height: 112px;
        padding: 11px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-node span:last-child {
        display: block;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-core {
        position: relative;
        left: auto;
        top: auto;
        grid-column: 1 / -1;
        width: 100%;
        height: auto;
        min-height: 94px;
        padding: 15px;
        transform: none;
        border-radius: 13px;
        animation: none;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-core strong {
        font-size: 11px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-core span {
        font-size: 8.5px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-route {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
        margin-top: 2px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-step {
        padding: 8px;
        text-align: left;
        font-size: 8px;
    }
}


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

@media (max-width: 390px) {

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-screen {
        grid-template-columns: minmax(0, 1fr);
    }

    #viabilidad-riesgos-reballing .gsrbviab-hud-core,
    #viabilidad-riesgos-reballing .gsrbviab-hud-route {
        grid-column: 1;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-route {
        grid-template-columns: minmax(0, 1fr);
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-shell {
        width:
            calc(100% - 24px);
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-assessment,
    #viabilidad-riesgos-reballing
    .gsrbviab-hud {
        padding-left: 13px;
        padding-right: 13px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-screen {
        min-height: 330px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-core {
        width: 88px;
        height: 88px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-core strong {
        font-size: 8.5px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-core span {
        font-size: 8px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-ring.one {
        width: 138px;
        height: 138px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-ring.two {
        width: 184px;
        height: 184px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-node {
        width: 87px;

        padding: 6px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-node-code {
        font-size: 8px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-node strong {
        font-size: 8px;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-hud-route {
        grid-template-columns:
            minmax(0, 1fr);
    }
}


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

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

    #viabilidad-riesgos-reballing,
    #viabilidad-riesgos-reballing *,
    #viabilidad-riesgos-reballing *::before,
    #viabilidad-riesgos-reballing *::after {
        scroll-behavior: auto !important;
        animation: none !important;
        transition: none !important;
    }

    #viabilidad-riesgos-reballing
    .gsrbviab-scan {
        display: none !important;
    }
}


/* =========================================================
   aplicaciones-alcance-reballing
   ========================================================= */
/* =========================================================
   GAMMERS STYLE
   REBALLING — APLICACIONES Y ALCANCE BGA
   ID INTERNO HTML: aplicaciones-alcance-reballing
   ========================================================= */

#aplicaciones-alcance-reballing {
    --rb-bg: #030811;
    --rb-bg-2: #05101b;

    --rb-cyan: #20d5f3;
    --rb-blue: #3286ff;
    --rb-violet: #8b5cf6;

    --rb-green: #43e58b;
    --rb-yellow: #ffc857;
    --rb-orange: #ff9f43;
    --rb-red: #ff637d;

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

    position: relative;
    isolation: isolate;

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

    overflow: hidden;

    color: var(--rb-text);

    background:
        radial-gradient(
            circle at 13% 18%,
            rgba(32, 213, 243, 0.060),
            transparent 30%
        ),
        radial-gradient(
            circle at 87% 19%,
            rgba(139, 92, 246, 0.055),
            transparent 30%
        ),
        radial-gradient(
            circle at 72% 87%,
            rgba(67, 229, 139, 0.035),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #030811 0%,
            #05101b 50%,
            #030811 100%
        );

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

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

#aplicaciones-alcance-reballing *,
#aplicaciones-alcance-reballing *::before,
#aplicaciones-alcance-reballing *::after {
    box-sizing: border-box;

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


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

#aplicaciones-alcance-reballing .gsrbapp-grid {
    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.27;

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

    background-size: 46px 46px;

    mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 9%,
            #000 91%,
            transparent 100%
        );

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 9%,
            #000 91%,
            transparent 100%
        );
}


/* =========================================================
   DECORATIVE ORBIT
   ========================================================= */

#aplicaciones-alcance-reballing .gsrbapp-orbit {
    position: absolute;

    left: -260px;
    top: 580px;

    width: 520px;
    height: 520px;

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

    border-radius: 50%;

    pointer-events: none;

    animation:
        gsrbapp-orbit-spin
        56s linear infinite;
}

#aplicaciones-alcance-reballing .gsrbapp-orbit::before,
#aplicaciones-alcance-reballing .gsrbapp-orbit::after {
    content: "";

    position: absolute;

    border-radius: 50%;
}

#aplicaciones-alcance-reballing .gsrbapp-orbit::before {
    inset: 82px;

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

#aplicaciones-alcance-reballing .gsrbapp-orbit::after {
    inset: 166px;

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

@keyframes gsrbapp-orbit-spin {
    from {
        transform: rotate(0deg);
    }

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


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

#aplicaciones-alcance-reballing .gsrbapp-scan {
    position: absolute;
    inset: 0;

    pointer-events: none;
    overflow: hidden;
}

#aplicaciones-alcance-reballing .gsrbapp-scan::before {
    content: "";

    position: absolute;

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

    height: 1px;

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

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

    animation:
        gsrbapp-scan-move
        11.8s linear infinite;
}

@keyframes gsrbapp-scan-move {
    0% {
        transform: translateY(0);
        opacity: 0;
    }

    8% {
        opacity: 0.40;
    }

    92% {
        opacity: 0.16;
    }

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


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

#aplicaciones-alcance-reballing .gsrbapp-shell {
    position: relative;
    z-index: 2;

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

    margin: 0 auto;

    padding:
        94px 0 98px;
}


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

#aplicaciones-alcance-reballing .gsrbapp-heading {
    display: grid;

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

    gap: 48px;

    align-items: end;

    margin-bottom: 40px;
}

#aplicaciones-alcance-reballing .gsrbapp-heading-main {
    min-width: 0;
}


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

#aplicaciones-alcance-reballing .gsrbapp-kicker {
    display: inline-flex;
    align-items: center;

    gap: 9px;

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

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

    border-radius: 999px;

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

    color: #9eeeff;

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

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

#aplicaciones-alcance-reballing .gsrbapp-kicker-dot {
    width: 6px;
    height: 6px;

    flex: 0 0 6px;

    border-radius: 50%;

    background: var(--rb-cyan);

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


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

#aplicaciones-alcance-reballing .gsrbapp-title {
    max-width: 900px;

    margin: 0;

    color: #f4fbff;

    font-size:
        clamp(
            30px,
            4vw,
            48px
        );

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

    letter-spacing: -0.035em;
}

#aplicaciones-alcance-reballing .gsrbapp-title span {
    color: var(--rb-cyan);
}

#aplicaciones-alcance-reballing .gsrbapp-intro {
    max-width: 850px;

    margin: 17px 0 0;

    color: var(--rb-muted);

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


/* =========================================================
   STATUS
   ========================================================= */

#aplicaciones-alcance-reballing .gsrbapp-status {
    position: relative;

    min-width: 0;

    padding: 18px 19px;

    overflow: hidden;

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

    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            rgba(29, 20, 55, 0.27),
            rgba(4, 13, 23, 0.88)
        );
}

#aplicaciones-alcance-reballing .gsrbapp-status::before {
    content: "";

    position: absolute;

    left: 0;
    top: 12px;
    bottom: 12px;

    width: 2px;

    background:
        linear-gradient(
            180deg,
            transparent,
            var(--rb-violet),
            transparent
        );
}

#aplicaciones-alcance-reballing .gsrbapp-status-label {
    display: flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 8px;

    color: #c7baff;

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

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

#aplicaciones-alcance-reballing .gsrbapp-status-label::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--rb-violet);

    box-shadow:
        0 0 8px rgba(139, 92, 246, 0.60);
}

#aplicaciones-alcance-reballing .gsrbapp-status-copy {
    margin: 0;

    color: #b5c8d6;

    font-size: 12px;
    line-height: 1.62;
}


/* =========================================================
   CORE STATEMENT
   ========================================================= */

#aplicaciones-alcance-reballing .gsrbapp-core {
    position: relative;

    display: grid;

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

    gap: 18px;

    align-items: center;

    margin-bottom: 22px;
    padding: 18px;

    overflow: hidden;

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

    border-radius: 15px;

    background:
        linear-gradient(
            135deg,
            rgba(32, 213, 243, 0.055),
            rgba(139, 92, 246, 0.025)
        );
}

#aplicaciones-alcance-reballing .gsrbapp-core::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 118px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--rb-cyan),
            transparent
        );
}

#aplicaciones-alcance-reballing .gsrbapp-core-icon {
    display: grid;
    place-items: center;

    width: 66px;
    height: 66px;

    flex: 0 0 66px;

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

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            rgba(32, 213, 243, 0.07),
            rgba(139, 92, 246, 0.035)
        );

    color: #9cefff;

    font-size: 11px;
    line-height: 1;
    font-weight: 700;
}

#aplicaciones-alcance-reballing .gsrbapp-core-copy {
    min-width: 0;
}

#aplicaciones-alcance-reballing .gsrbapp-core-copy strong {
    display: block;

    margin-bottom: 5px;

    color: #e1f8ff;

    font-size: 14px;
    line-height: 1.42;
    font-weight: 600;
}

#aplicaciones-alcance-reballing .gsrbapp-core-copy span {
    display: block;

    color: #8ba3b3;

    font-size: 11px;
    line-height: 1.65;
}

#aplicaciones-alcance-reballing .gsrbapp-core-state {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    flex-shrink: 0;

    padding: 7px 10px;

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

    border-radius: 999px;

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

    color: #94efbc;

    font-size: 10px;
    line-height: 1.3;
    font-weight: 600;
}

#aplicaciones-alcance-reballing .gsrbapp-core-state::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

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


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

#aplicaciones-alcance-reballing .gsrbapp-components {
    display: grid;

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

    gap: 10px;
}

#aplicaciones-alcance-reballing .gsrbapp-component {
    --component-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding:
        19px 15px 17px;

    overflow: hidden;

    border-radius: 14px;

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

#aplicaciones-alcance-reballing .gsrbapp-component.gpu {
    --component-color: #20d5f3;

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

#aplicaciones-alcance-reballing .gsrbapp-component.cpu {
    --component-color: #3286ff;

    border:
        1px solid rgba(50, 134, 255, 0.14);
}

#aplicaciones-alcance-reballing .gsrbapp-component.chipset {
    --component-color: #8b5cf6;

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

#aplicaciones-alcance-reballing .gsrbapp-component.memory {
    --component-color: #ffc857;

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

#aplicaciones-alcance-reballing .gsrbapp-component.other {
    --component-color: #43e58b;

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

#aplicaciones-alcance-reballing .gsrbapp-component::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 72px;
    height: 2px;

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

#aplicaciones-alcance-reballing .gsrbapp-component-code {
    display: block;

    margin-bottom: 9px;

    color: var(--component-color);

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

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

#aplicaciones-alcance-reballing .gsrbapp-component-icon {
    display: grid;
    place-items: center;

    width: 38px;
    height: 38px;

    margin-bottom: 10px;

    border:
        1px solid rgba(255,255,255,0.07);

    border-radius: 10px;

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

    color: var(--component-color);

    font-size: 8px;
    line-height: 1;
    font-weight: 700;
}

#aplicaciones-alcance-reballing .gsrbapp-component-title {
    display: block;

    margin-bottom: 6px;

    color: #e2eef5;

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

#aplicaciones-alcance-reballing .gsrbapp-component-copy {
    display: block;

    color: #788f9f;

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


/* =========================================================
   DEVICE APPLICATIONS
   ========================================================= */

#aplicaciones-alcance-reballing .gsrbapp-devices {
    display: grid;

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

    gap: 10px;

    margin-top: 18px;
}

#aplicaciones-alcance-reballing .gsrbapp-device {
    --device-color: #20d5f3;

    position: relative;
    display: block;

    min-width: 0;

    padding:
        18px 16px;

    overflow: hidden;

    border-radius: 14px;

    color: inherit;
    text-decoration: none !important;
    cursor: pointer;

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

    transition:
        transform 0.20s ease,
        box-shadow 0.20s ease;
}

#aplicaciones-alcance-reballing a.gsrbapp-device,
#aplicaciones-alcance-reballing a.gsrbapp-device:hover,
#aplicaciones-alcance-reballing a.gsrbapp-device:focus,
#aplicaciones-alcance-reballing a.gsrbapp-device:active,
#aplicaciones-alcance-reballing a.gsrbapp-device:visited {
    color: inherit;
    text-decoration: none !important;
}

#aplicaciones-alcance-reballing .gsrbapp-device:hover {
    transform: translateY(-4px);

    box-shadow:
        0 15px 28px rgba(0, 0, 0, 0.20);
}

#aplicaciones-alcance-reballing .gsrbapp-device:focus-visible {
    outline:
        2px solid var(--device-color);

    outline-offset: 4px;
    transform: translateY(-2px);
}

#aplicaciones-alcance-reballing .gsrbapp-device.console {
    --device-color: #20d5f3;

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

#aplicaciones-alcance-reballing .gsrbapp-device.computer {
    --device-color: #3286ff;

    border:
        1px solid rgba(50, 134, 255, 0.13);
}

#aplicaciones-alcance-reballing .gsrbapp-device.phone {
    --device-color: #8b5cf6;

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

#aplicaciones-alcance-reballing .gsrbapp-device.tablet {
    --device-color: #43e58b;

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

#aplicaciones-alcance-reballing .gsrbapp-device::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 68px;
    height: 2px;

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

#aplicaciones-alcance-reballing .gsrbapp-device-code {
    display: block;

    margin-bottom: 7px;

    color: var(--device-color);

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

    text-transform: uppercase;
}

#aplicaciones-alcance-reballing .gsrbapp-device-title {
    display: block;

    margin-bottom: 5px;

    color: #dcebf4;

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

#aplicaciones-alcance-reballing .gsrbapp-device-copy {
    display: block;

    color: #758d9d;

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


/* =========================================================
   MAIN AREA
   ========================================================= */

#aplicaciones-alcance-reballing .gsrbapp-main {
    display: grid;

    grid-template-columns:
        minmax(0, 0.94fr)
        minmax(440px, 1.06fr);

    gap: 18px;

    margin-top: 18px;
}


/* =========================================================
   SCOPE PANEL
   ========================================================= */

#aplicaciones-alcance-reballing .gsrbapp-scope {
    position: relative;

    min-width: 0;

    padding: 25px;

    overflow: hidden;

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

    border-radius: 20px;

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

#aplicaciones-alcance-reballing .gsrbapp-panel-label {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 10px;

    color: #9cefff;

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

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

#aplicaciones-alcance-reballing .gsrbapp-panel-label::before {
    content: "";

    width: 14px;
    height: 1px;

    background: currentColor;

    box-shadow:
        0 0 8px currentColor;
}

#aplicaciones-alcance-reballing .gsrbapp-panel-title {
    margin: 0;

    color: #f2faff;

    font-size: 21px;
    line-height: 1.34;
    font-weight: 700;
}

#aplicaciones-alcance-reballing .gsrbapp-panel-copy {
    margin: 9px 0 0;

    color: #879eae;

    font-size: 11px;
    line-height: 1.68;
}


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

#aplicaciones-alcance-reballing .gsrbapp-matrix {
    display: grid;

    gap: 8px;

    margin-top: 19px;
}

#aplicaciones-alcance-reballing .gsrbapp-matrix-row {
    --matrix-color: #20d5f3;

    display: grid;

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

    gap: 11px;

    align-items: start;

    min-width: 0;

    padding: 11px;

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

    border-radius: 9px;

    background:
        rgba(5, 17, 30, 0.52);
}

#aplicaciones-alcance-reballing .gsrbapp-matrix-row.device {
    --matrix-color: #20d5f3;
}

#aplicaciones-alcance-reballing .gsrbapp-matrix-row.component {
    --matrix-color: #3286ff;
}

#aplicaciones-alcance-reballing .gsrbapp-matrix-row.diagnosis {
    --matrix-color: #8b5cf6;
}

#aplicaciones-alcance-reballing .gsrbapp-matrix-row.compatibility {
    --matrix-color: #ffc857;
}

#aplicaciones-alcance-reballing .gsrbapp-matrix-row.viability {
    --matrix-color: #43e58b;
}

#aplicaciones-alcance-reballing .gsrbapp-matrix-label {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    color: var(--matrix-color);

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

    text-transform: uppercase;
}

#aplicaciones-alcance-reballing .gsrbapp-matrix-label::before {
    content: "";

    width: 5px;
    height: 5px;

    flex: 0 0 5px;

    border-radius: 50%;

    background: currentColor;

    box-shadow:
        0 0 6px currentColor;
}

#aplicaciones-alcance-reballing .gsrbapp-matrix-copy {
    min-width: 0;

    color: #7d95a5;

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

#aplicaciones-alcance-reballing .gsrbapp-matrix-copy strong {
    color: #dbeaf2;

    font-weight: 600;
}


/* =========================================================
   SCOPE NOTE
   ========================================================= */

#aplicaciones-alcance-reballing .gsrbapp-scope-note {
    display: flex;
    align-items: flex-start;

    gap: 9px;

    margin-top: 14px;
    padding: 13px;

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

    border-radius: 10px;

    background:
        rgba(255, 200, 87, 0.025);

    color: #8c856e;

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

#aplicaciones-alcance-reballing .gsrbapp-scope-note::before {
    content: "!";

    display: grid;
    place-items: center;

    width: 19px;
    height: 19px;

    flex: 0 0 19px;

    margin-top: 1px;

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

    border-radius: 50%;

    color: #ffe09a;

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


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

#aplicaciones-alcance-reballing .gsrbapp-hud {
    position: relative;

    min-width: 0;

    padding: 23px;

    overflow: hidden;

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

    border-radius: 21px;

    background:
        linear-gradient(
            145deg,
            rgba(24, 18, 45, 0.38),
            rgba(4, 12, 22, 0.97)
        );
}

#aplicaciones-alcance-reballing .gsrbapp-hud::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        radial-gradient(
            circle at 50% 32%,
            rgba(32, 213, 243, 0.075),
            transparent 35%
        ),
        radial-gradient(
            circle at 50% 72%,
            rgba(139, 92, 246, 0.050),
            transparent 40%
        );
}


/* =========================================================
   HUD HEAD
   ========================================================= */

#aplicaciones-alcance-reballing .gsrbapp-hud-head {
    position: relative;
    z-index: 4;

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

    gap: 10px;
}

#aplicaciones-alcance-reballing .gsrbapp-hud-code {
    color: #bdadff;

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

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

#aplicaciones-alcance-reballing .gsrbapp-hud-state {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    flex-shrink: 0;

    padding: 5px 8px;

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

    border-radius: 999px;

    background:
        rgba(255, 200, 87, 0.030);

    color: #ead08b;

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

#aplicaciones-alcance-reballing .gsrbapp-hud-state::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-yellow);

    box-shadow:
        0 0 7px rgba(255, 200, 87, 0.55);
}


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

#aplicaciones-alcance-reballing .gsrbapp-hud-screen {
    position: relative;
    z-index: 2;

    min-height: 440px;

    margin-top: 17px;

    overflow: hidden;

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

    border-radius: 15px;

    background:
        radial-gradient(
            circle at 50% 43%,
            rgba(32, 213, 243, 0.085),
            transparent 32%
        ),
        rgba(3, 12, 22, 0.68);
}

#aplicaciones-alcance-reballing .gsrbapp-hud-screen::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.27;

    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 CORE
   ========================================================= */

#aplicaciones-alcance-reballing .gsrbapp-hud-core {
    position: absolute;

    z-index: 8;

    left: 50%;
    top: 43%;

    width: 158px;
    height: 158px;

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

    display: grid;
    place-items: center;

    padding: 18px;

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

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(32, 213, 243, 0.11),
            rgba(139, 92, 246, 0.045) 46%,
            rgba(5, 16, 29, 0.97) 76%
        );

    box-shadow:
        0 0 48px
        rgba(32, 213, 243, 0.09);

    animation:
        gsrbapp-core-pulse
        4.3s ease-in-out infinite;
}

#aplicaciones-alcance-reballing .gsrbapp-hud-core div {
    text-align: center;
}

#aplicaciones-alcance-reballing .gsrbapp-hud-core strong {
    display: block;

    color: #e4faff;

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

    text-transform: uppercase;
}

#aplicaciones-alcance-reballing .gsrbapp-hud-core span {
    display: block;

    margin-top: 7px;

    color: #829aa9;

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

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

@keyframes gsrbapp-core-pulse {

    0%,
    100% {
        box-shadow:
            0 0 28px rgba(32, 213, 243, 0.05);
    }

    50% {
        box-shadow:
            0 0 58px rgba(32, 213, 243, 0.14);
    }
}


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

#aplicaciones-alcance-reballing .gsrbapp-ring {
    position: absolute;

    left: 50%;
    top: 43%;

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

    border-radius: 50%;

    pointer-events: none;
}

#aplicaciones-alcance-reballing .gsrbapp-ring.one {
    width: 226px;
    height: 226px;

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

    animation:
        gsrbapp-ring-spin
        21s linear infinite;
}

#aplicaciones-alcance-reballing .gsrbapp-ring.two {
    width: 304px;
    height: 304px;

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

    animation:
        gsrbapp-ring-spin
        31s linear infinite reverse;
}

@keyframes gsrbapp-ring-spin {

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

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


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

#aplicaciones-alcance-reballing .gsrbapp-node {
    position: absolute;

    z-index: 9;

    width: 132px;

    padding: 10px;

    border-radius: 9px;

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

#aplicaciones-alcance-reballing .gsrbapp-node.device {
    left: 5%;
    top: 14%;

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

#aplicaciones-alcance-reballing .gsrbapp-node.architecture {
    right: 5%;
    top: 14%;

    border:
        1px solid rgba(50, 134, 255, 0.17);
}

#aplicaciones-alcance-reballing .gsrbapp-node.bga {
    left: 5%;
    bottom: 22%;

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

#aplicaciones-alcance-reballing .gsrbapp-node.compatibility {
    right: 5%;
    bottom: 22%;

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

#aplicaciones-alcance-reballing .gsrbapp-node-code {
    display: block;

    margin-bottom: 4px;

    color: var(--node-color);

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

    text-transform: uppercase;
}

#aplicaciones-alcance-reballing .gsrbapp-node.device {
    --node-color: #20d5f3;
}

#aplicaciones-alcance-reballing .gsrbapp-node.architecture {
    --node-color: #3286ff;
}

#aplicaciones-alcance-reballing .gsrbapp-node.bga {
    --node-color: #8b5cf6;
}

#aplicaciones-alcance-reballing .gsrbapp-node.compatibility {
    --node-color: #ffc857;
}

#aplicaciones-alcance-reballing .gsrbapp-node strong {
    display: block;

    color: #d8e9f1;

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

#aplicaciones-alcance-reballing .gsrbapp-node span:last-child {
    display: block;

    margin-top: 4px;

    color: #748c9c;

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


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

#aplicaciones-alcance-reballing .gsrbapp-path {
    position: absolute;

    z-index: 4;

    height: 1px;

    transform-origin: left center;

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

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

#aplicaciones-alcance-reballing .gsrbapp-path.p1 {
    left: 21%;
    top: 29%;

    width: 34%;

    transform: rotate(21deg);
}

#aplicaciones-alcance-reballing .gsrbapp-path.p2 {
    left: 50%;
    top: 43%;

    width: 33%;

    transform: rotate(-22deg);
}

#aplicaciones-alcance-reballing .gsrbapp-path.p3 {
    left: 21%;
    bottom: 32%;

    width: 34%;

    transform: rotate(-20deg);
}

#aplicaciones-alcance-reballing .gsrbapp-path.p4 {
    left: 49%;
    bottom: 32%;

    width: 34%;

    transform: rotate(21deg);
}

@keyframes gsrbapp-path-pulse {

    0%,
    100% {
        opacity: 0.16;
    }

    50% {
        opacity: 0.80;
    }
}


/* =========================================================
   HUD ROUTE
   ========================================================= */

#aplicaciones-alcance-reballing .gsrbapp-hud-route {
    position: absolute;

    z-index: 10;

    left: 13px;
    right: 13px;
    bottom: 13px;

    display: grid;

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

    gap: 4px;
}

#aplicaciones-alcance-reballing .gsrbapp-hud-step {
    min-width: 0;

    padding: 7px 3px;

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

    border-radius: 7px;

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

    color: #758e9e;

    text-align: center;

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


/* =========================================================
   COMPATIBILITY CONDITIONS
   ========================================================= */

#aplicaciones-alcance-reballing .gsrbapp-conditions {
    display: grid;

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

    gap: 9px;

    margin-top: 18px;
}

#aplicaciones-alcance-reballing .gsrbapp-condition {
    --condition-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding:
        16px 14px;

    overflow: hidden;

    border-radius: 13px;

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

#aplicaciones-alcance-reballing .gsrbapp-condition.programming {
    --condition-color: #20d5f3;

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

#aplicaciones-alcance-reballing .gsrbapp-condition.pairing {
    --condition-color: #8b5cf6;

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

#aplicaciones-alcance-reballing .gsrbapp-condition.compatibility {
    --condition-color: #ffc857;

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

#aplicaciones-alcance-reballing .gsrbapp-condition.availability {
    --condition-color: #43e58b;

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

#aplicaciones-alcance-reballing .gsrbapp-condition::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 65px;
    height: 2px;

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

#aplicaciones-alcance-reballing .gsrbapp-condition-code {
    display: block;

    margin-bottom: 7px;

    color: var(--condition-color);

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

    text-transform: uppercase;
}

#aplicaciones-alcance-reballing .gsrbapp-condition-title {
    display: block;

    margin-bottom: 5px;

    color: #dcebf4;

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

#aplicaciones-alcance-reballing .gsrbapp-condition-copy {
    display: block;

    color: #758d9d;

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


/* =========================================================
   IMPORTANT WARNING
   ========================================================= */

#aplicaciones-alcance-reballing .gsrbapp-warning {
    display: grid;

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

    gap: 13px;

    align-items: center;

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

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

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 200, 87, 0.028),
            rgba(139, 92, 246, 0.018)
        );
}

#aplicaciones-alcance-reballing .gsrbapp-warning-icon {
    display: grid;
    place-items: center;

    width: 32px;
    height: 32px;

    flex: 0 0 32px;

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

    border-radius: 9px;

    color: #ffe09a;

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

#aplicaciones-alcance-reballing .gsrbapp-warning-copy {
    min-width: 0;

    color: #918974;

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

#aplicaciones-alcance-reballing .gsrbapp-warning-copy strong {
    color: #f1e7cb;

    font-weight: 600;
}

#aplicaciones-alcance-reballing .gsrbapp-warning-state {
    flex-shrink: 0;

    color: #c7b67c;

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

    text-transform: uppercase;
}


/* =========================================================
   OUTCOME STRIP
   ========================================================= */

#aplicaciones-alcance-reballing .gsrbapp-outcomes {
    display: grid;

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

    gap: 10px;

    margin-top: 18px;
}

#aplicaciones-alcance-reballing .gsrbapp-outcome {
    --outcome-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding:
        18px 16px;

    overflow: hidden;

    border-radius: 14px;

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

#aplicaciones-alcance-reballing .gsrbapp-outcome.evaluate {
    --outcome-color: #20d5f3;

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

#aplicaciones-alcance-reballing .gsrbapp-outcome.repair {
    --outcome-color: #43e58b;

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

#aplicaciones-alcance-reballing .gsrbapp-outcome.limit {
    --outcome-color: #ffc857;

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

#aplicaciones-alcance-reballing .gsrbapp-outcome::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 72px;
    height: 2px;

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

#aplicaciones-alcance-reballing .gsrbapp-outcome-code {
    display: block;

    margin-bottom: 7px;

    color: var(--outcome-color);

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

    text-transform: uppercase;
}

#aplicaciones-alcance-reballing .gsrbapp-outcome-title {
    display: block;

    margin-bottom: 5px;

    color: #dcebf4;

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

#aplicaciones-alcance-reballing .gsrbapp-outcome-copy {
    display: block;

    color: #758d9d;

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


/* =========================================================
   TERMINAL
   ========================================================= */

#aplicaciones-alcance-reballing .gsrbapp-terminal {
    margin-top: 18px;

    overflow: hidden;

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

    border-radius: 18px;

    background:
        linear-gradient(
            155deg,
            rgba(10, 18, 38, 0.95),
            rgba(4, 9, 20, 0.98)
        );
}

#aplicaciones-alcance-reballing .gsrbapp-terminal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    min-height: 44px;

    padding:
        10px 14px;

    border-bottom:
        1px solid rgba(118, 167, 255, 0.10);

    background:
        rgba(8, 18, 34, 0.75);
}

#aplicaciones-alcance-reballing .gsrbapp-terminal-dots {
    display: flex;

    gap: 6px;
}

#aplicaciones-alcance-reballing .gsrbapp-terminal-dots span {
    width: 6px;
    height: 6px;

    border-radius: 50%;
}

#aplicaciones-alcance-reballing
.gsrbapp-terminal-dots span:nth-child(1) {
    background: var(--rb-red);
}

#aplicaciones-alcance-reballing
.gsrbapp-terminal-dots span:nth-child(2) {
    background: var(--rb-yellow);
}

#aplicaciones-alcance-reballing
.gsrbapp-terminal-dots span:nth-child(3) {
    background: var(--rb-green);
}

#aplicaciones-alcance-reballing .gsrbapp-terminal-name {
    color: #71889d;

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

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

#aplicaciones-alcance-reballing .gsrbapp-terminal-body {
    display: grid;

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

    gap: 22px;

    align-items: center;

    padding:
        20px 21px;
}

#aplicaciones-alcance-reballing .gsrbapp-terminal-route {
    display: flex;
    flex-wrap: wrap;

    gap: 7px;
}

#aplicaciones-alcance-reballing .gsrbapp-terminal-route span {
    display: inline-flex;
    align-items: center;

    min-height: 29px;

    padding:
        6px 9px;

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

    border-radius: 7px;

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

    color: #879eae;

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

#aplicaciones-alcance-reballing .gsrbapp-terminal-state {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    flex-shrink: 0;

    padding:
        8px 10px;

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

    border-radius: 9px;

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

    color: #9cefc0;

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

#aplicaciones-alcance-reballing .gsrbapp-terminal-state::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--rb-green);

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


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

#aplicaciones-alcance-reballing .gsrbapp-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin-top: 22px;
    padding: 0 3px;

    color: #60788c;

    font-size: 10px;
    line-height: 1.45;
    font-weight: 500;

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

#aplicaciones-alcance-reballing .gsrbapp-footer-status {
    display: flex;
    align-items: center;

    gap: 7px;

    color: #7791a5;
}

#aplicaciones-alcance-reballing .gsrbapp-footer-status::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

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


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

@media (max-width: 1024px) {

    #aplicaciones-alcance-reballing .gsrbapp-shell {
        width:
            min(
                100% - 40px,
                920px
            );

        padding:
            78px 0 82px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-heading {
        grid-template-columns: 1fr;

        gap: 22px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-status {
        max-width: 650px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-components {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    #aplicaciones-alcance-reballing
    .gsrbapp-component.other {
        grid-column:
            1 / -1;
    }

    #aplicaciones-alcance-reballing .gsrbapp-devices {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    #aplicaciones-alcance-reballing .gsrbapp-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 14px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-hud {
        width: 100%;
        max-width: 740px;

        margin: 0 auto;
    }

    #aplicaciones-alcance-reballing .gsrbapp-conditions {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


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

@media (max-width: 767px) {

    #aplicaciones-alcance-reballing {
        overflow: hidden;
    }

    #aplicaciones-alcance-reballing .gsrbapp-grid {
        opacity: 0.18;

        background-size: 32px 32px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-orbit,
    #aplicaciones-alcance-reballing .gsrbapp-scan {
        display: none;
    }

    #aplicaciones-alcance-reballing .gsrbapp-shell {
        width:
            calc(100% - 30px);

        max-width: 100%;

        padding:
            62px 0 66px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-heading {
        display: block;

        margin-bottom: 30px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-status {
        margin-top: 21px;

        padding:
            15px 16px;

        border-radius: 14px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-title {
        font-size:
            clamp(
                29px,
                9.3vw,
                38px
            );

        line-height: 1.1;
    }

    #aplicaciones-alcance-reballing .gsrbapp-intro {
        font-size: 14px;
        line-height: 1.7;
    }

    #aplicaciones-alcance-reballing .gsrbapp-core {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 10px;

        padding: 15px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-core-state {
        width: fit-content;
    }

    #aplicaciones-alcance-reballing .gsrbapp-components,
    #aplicaciones-alcance-reballing .gsrbapp-devices {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #aplicaciones-alcance-reballing
    .gsrbapp-component.other {
        grid-column: auto;
    }

    #aplicaciones-alcance-reballing .gsrbapp-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 12px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-scope,
    #aplicaciones-alcance-reballing .gsrbapp-hud {
        width: 100%;
        min-width: 0;

        padding:
            20px 16px;

        border-radius: 17px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-matrix-row {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 5px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-hud-head {
        flex-direction: column;
        align-items: flex-start;

        gap: 8px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-hud-screen {
        min-height: 350px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-hud-core,
    #aplicaciones-alcance-reballing .gsrbapp-ring,
    #aplicaciones-alcance-reballing .gsrbapp-path {
        animation: none;
    }

    #aplicaciones-alcance-reballing .gsrbapp-hud-core {
        width: 106px;
        height: 106px;

        padding: 11px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-hud-core strong {
        font-size: 9px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-hud-core span {
        font-size: 8px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-ring.one {
        width: 164px;
        height: 164px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-ring.two {
        width: 220px;
        height: 220px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-node {
        width: 101px;

        padding: 7px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-node-code {
        font-size: 8px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-node strong {
        font-size: 8.5px;
    }

    #aplicaciones-alcance-reballing
    .gsrbapp-node span:last-child {
        display: none;
    }

    #aplicaciones-alcance-reballing .gsrbapp-hud-route {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 4px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-hud-step {
        text-align: left;

        font-size: 8px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-conditions {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-outcomes {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-warning {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 9px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-warning-state {
        width: fit-content;
    }

    #aplicaciones-alcance-reballing .gsrbapp-terminal-body {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 14px;

        padding:
            18px 15px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-terminal-state {
        width: fit-content;
    }

    #aplicaciones-alcance-reballing .gsrbapp-footer {
        flex-direction: column;
        align-items: flex-start;

        gap: 7px;

        margin-top: 18px;
    }
}



/* =========================================================
   MOBILE — MATRIZ BGA SIN SUPERPOSICIONES
   ========================================================= */

@media (max-width: 767px) {

    #aplicaciones-alcance-reballing
    .gsrbapp-hud-screen {
        min-height: 0;
        display: grid;
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 12px;
    }

    #aplicaciones-alcance-reballing .gsrbapp-ring,
    #aplicaciones-alcance-reballing .gsrbapp-path {
        display: none;
    }

    #aplicaciones-alcance-reballing
    .gsrbapp-node {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;

        width: auto;
        min-width: 0;
        min-height: 112px;

        padding: 11px;
    }

    #aplicaciones-alcance-reballing
    .gsrbapp-node span:last-child {
        display: block;
    }

    #aplicaciones-alcance-reballing
    .gsrbapp-hud-core {
        position: relative;
        left: auto;
        top: auto;

        grid-column: 1 / -1;

        width: 100%;
        height: auto;
        min-height: 94px;

        padding: 15px;

        transform: none;
        border-radius: 13px;
        animation: none;
    }

    #aplicaciones-alcance-reballing
    .gsrbapp-hud-core strong {
        font-size: 10px;
    }

    #aplicaciones-alcance-reballing
    .gsrbapp-hud-core span {
        font-size: 8.5px;
    }

    #aplicaciones-alcance-reballing
    .gsrbapp-hud-route {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;

        grid-column: 1 / -1;

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

        gap: 5px;
        margin-top: 2px;
    }

    #aplicaciones-alcance-reballing
    .gsrbapp-hud-step {
        padding: 8px;
        text-align: left;
        font-size: 8px;
    }
}


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

@media (max-width: 390px) {

    #aplicaciones-alcance-reballing .gsrbapp-shell {
        width:
            calc(100% - 24px);
    }

    #aplicaciones-alcance-reballing .gsrbapp-scope,
    #aplicaciones-alcance-reballing .gsrbapp-hud {
        padding-left: 13px;
        padding-right: 13px;
    }

    #aplicaciones-alcance-reballing
    .gsrbapp-hud-screen {
        grid-template-columns:
            minmax(0, 1fr);
    }

    #aplicaciones-alcance-reballing .gsrbapp-hud-core,
    #aplicaciones-alcance-reballing .gsrbapp-hud-route {
        grid-column: 1;
    }

    #aplicaciones-alcance-reballing
    .gsrbapp-hud-route {
        grid-template-columns:
            minmax(0, 1fr);
    }
}


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

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

    #aplicaciones-alcance-reballing,
    #aplicaciones-alcance-reballing *,
    #aplicaciones-alcance-reballing *::before,
    #aplicaciones-alcance-reballing *::after {
        scroll-behavior: auto !important;
        animation: none !important;
        transition: none !important;
    }

    #aplicaciones-alcance-reballing .gsrbapp-scan {
        display: none !important;
    }

    #aplicaciones-alcance-reballing .gsrbapp-device:hover,
    #aplicaciones-alcance-reballing .gsrbapp-device:focus-visible {
        transform: none !important;
    }
}


/* =========================================================
   diagnostico-garantia-reballing
   ========================================================= */
/* =========================================================
   GAMMERS STYLE
   REBALLING — DIAGNÓSTICO / AUTORIZACIÓN / GARANTÍA
   ID INTERNO HTML: diagnostico-garantia-reballing
   ========================================================= */

#diagnostico-garantia-reballing {
    --rb-bg: #030811;
    --rb-bg-2: #05101b;

    --rb-cyan: #20d5f3;
    --rb-cyan-soft: #9cefff;
    --rb-blue: #3286ff;
    --rb-violet: #8b5cf6;

    --rb-green: #43e58b;
    --rb-yellow: #ffc857;
    --rb-orange: #ff9f43;
    --rb-red: #ff637d;

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

    position: relative;
    isolation: isolate;

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

    overflow: hidden;

    color: var(--rb-text);

    background:
        radial-gradient(
            circle at 14% 17%,
            rgba(32, 213, 243, 0.060),
            transparent 30%
        ),
        radial-gradient(
            circle at 87% 20%,
            rgba(139, 92, 246, 0.055),
            transparent 30%
        ),
        radial-gradient(
            circle at 74% 88%,
            rgba(67, 229, 139, 0.038),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #030811 0%,
            #05101b 50%,
            #030811 100%
        );

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

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

#diagnostico-garantia-reballing *,
#diagnostico-garantia-reballing *::before,
#diagnostico-garantia-reballing *::after {
    box-sizing: border-box;

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


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

#diagnostico-garantia-reballing .gsrbsvc-grid {
    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.27;

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

    background-size: 46px 46px;

    mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 9%,
            #000 91%,
            transparent 100%
        );

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 9%,
            #000 91%,
            transparent 100%
        );
}


/* =========================================================
   DECORATIVE ORBIT
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-orbit {
    position: absolute;

    right: -260px;
    top: 600px;

    width: 520px;
    height: 520px;

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

    border-radius: 50%;

    pointer-events: none;

    animation:
        gsrbsvc-orbit-spin
        56s linear infinite;
}

#diagnostico-garantia-reballing .gsrbsvc-orbit::before,
#diagnostico-garantia-reballing .gsrbsvc-orbit::after {
    content: "";

    position: absolute;

    border-radius: 50%;
}

#diagnostico-garantia-reballing .gsrbsvc-orbit::before {
    inset: 82px;

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

#diagnostico-garantia-reballing .gsrbsvc-orbit::after {
    inset: 166px;

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

@keyframes gsrbsvc-orbit-spin {

    from {
        transform: rotate(0deg);
    }

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


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

#diagnostico-garantia-reballing .gsrbsvc-scan {
    position: absolute;
    inset: 0;

    pointer-events: none;
    overflow: hidden;
}

#diagnostico-garantia-reballing .gsrbsvc-scan::before {
    content: "";

    position: absolute;

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

    height: 1px;

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

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

    animation:
        gsrbsvc-scan-move
        11.8s linear infinite;
}

@keyframes gsrbsvc-scan-move {

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

    8% {
        opacity: 0.40;
    }

    92% {
        opacity: 0.16;
    }

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


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

#diagnostico-garantia-reballing .gsrbsvc-shell {
    position: relative;
    z-index: 2;

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

    margin: 0 auto;

    padding:
        94px 0 98px;
}


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

#diagnostico-garantia-reballing .gsrbsvc-heading {
    display: grid;

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

    gap: 48px;

    align-items: end;

    margin-bottom: 40px;
}

#diagnostico-garantia-reballing .gsrbsvc-heading-main {
    min-width: 0;
}


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

#diagnostico-garantia-reballing .gsrbsvc-kicker {
    display: inline-flex;
    align-items: center;

    gap: 9px;

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

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

    border-radius: 999px;

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

    color: #9eeeff;

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

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

#diagnostico-garantia-reballing .gsrbsvc-kicker-dot {
    width: 6px;
    height: 6px;

    flex: 0 0 6px;

    border-radius: 50%;

    background: var(--rb-cyan);

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


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

#diagnostico-garantia-reballing .gsrbsvc-title {
    max-width: 900px;

    margin: 0;

    color: #f4fbff;

    font-size:
        clamp(
            30px,
            4vw,
            48px
        );

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

    letter-spacing: -0.035em;
}

#diagnostico-garantia-reballing .gsrbsvc-title span {
    color: var(--rb-cyan);
}

#diagnostico-garantia-reballing .gsrbsvc-intro {
    max-width: 850px;

    margin: 17px 0 0;

    color: var(--rb-muted);

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


/* =========================================================
   STATUS
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-status {
    position: relative;

    min-width: 0;

    padding: 18px 19px;

    overflow: hidden;

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

    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            rgba(10, 39, 28, 0.27),
            rgba(4, 13, 23, 0.88)
        );
}

#diagnostico-garantia-reballing .gsrbsvc-status::before {
    content: "";

    position: absolute;

    left: 0;
    top: 12px;
    bottom: 12px;

    width: 2px;

    background:
        linear-gradient(
            180deg,
            transparent,
            var(--rb-green),
            transparent
        );
}

#diagnostico-garantia-reballing .gsrbsvc-status-label {
    display: flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 8px;

    color: #97efbe;

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

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

#diagnostico-garantia-reballing .gsrbsvc-status-label::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--rb-green);

    box-shadow:
        0 0 8px rgba(67, 229, 139, 0.55);
}

#diagnostico-garantia-reballing .gsrbsvc-status-copy {
    margin: 0;

    color: #b5c8d6;

    font-size: 12px;
    line-height: 1.62;
}


/* =========================================================
   CORE PRINCIPLE
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-core {
    position: relative;

    display: grid;

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

    gap: 18px;

    align-items: center;

    margin-bottom: 22px;
    padding: 18px;

    overflow: hidden;

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

    border-radius: 15px;

    background:
        linear-gradient(
            135deg,
            rgba(32, 213, 243, 0.055),
            rgba(139, 92, 246, 0.025)
        );
}

#diagnostico-garantia-reballing .gsrbsvc-core::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 118px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--rb-cyan),
            transparent
        );
}

#diagnostico-garantia-reballing .gsrbsvc-core-icon {
    display: grid;
    place-items: center;

    width: 66px;
    height: 66px;

    flex: 0 0 66px;

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

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            rgba(32, 213, 243, 0.07),
            rgba(139, 92, 246, 0.035)
        );

    color: #9cefff;

    font-size: 9px;
    line-height: 1.1;
    font-weight: 700;

    text-align: center;
}

#diagnostico-garantia-reballing .gsrbsvc-core-copy {
    min-width: 0;
}

#diagnostico-garantia-reballing .gsrbsvc-core-copy strong {
    display: block;

    margin-bottom: 5px;

    color: #e1f8ff;

    font-size: 14px;
    line-height: 1.42;
    font-weight: 600;
}

#diagnostico-garantia-reballing .gsrbsvc-core-copy span {
    display: block;

    color: #8ba3b3;

    font-size: 11px;
    line-height: 1.65;
}

#diagnostico-garantia-reballing .gsrbsvc-core-state {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    flex-shrink: 0;

    padding: 7px 10px;

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

    border-radius: 999px;

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

    color: #94efbc;

    font-size: 10px;
    line-height: 1.3;
    font-weight: 600;
}

#diagnostico-garantia-reballing .gsrbsvc-core-state::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

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


/* =========================================================
   FOUR SERVICE PILLARS
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-pillars {
    display: grid;

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

    gap: 10px;
}

#diagnostico-garantia-reballing .gsrbsvc-pillar {
    --pillar-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding:
        21px 17px 19px;

    overflow: hidden;

    border-radius: 15px;

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

#diagnostico-garantia-reballing .gsrbsvc-pillar.diagnosis {
    --pillar-color: #20d5f3;

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

#diagnostico-garantia-reballing .gsrbsvc-pillar.authorization {
    --pillar-color: #8b5cf6;

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

#diagnostico-garantia-reballing .gsrbsvc-pillar.payment {
    --pillar-color: #ffc857;

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

#diagnostico-garantia-reballing .gsrbsvc-pillar.warranty {
    --pillar-color: #43e58b;

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

#diagnostico-garantia-reballing .gsrbsvc-pillar::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 78px;
    height: 2px;

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

#diagnostico-garantia-reballing .gsrbsvc-pillar-code {
    display: block;

    margin-bottom: 10px;

    color: var(--pillar-color);

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

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

#diagnostico-garantia-reballing .gsrbsvc-pillar-icon {
    display: grid;
    place-items: center;

    width: 40px;
    height: 40px;

    margin-bottom: 11px;

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

    border-radius: 10px;

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

    color: var(--pillar-color);

    font-size: 8px;
    line-height: 1;
    font-weight: 700;
}

#diagnostico-garantia-reballing .gsrbsvc-pillar-title {
    display: block;

    margin-bottom: 7px;

    color: #e2eef5;

    font-size: 13px;
    line-height: 1.42;
    font-weight: 600;
}

#diagnostico-garantia-reballing .gsrbsvc-pillar-copy {
    display: block;

    color: #7d95a5;

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

#diagnostico-garantia-reballing .gsrbsvc-pillar-note {
    display: block;

    margin-top: 10px;
    padding-top: 10px;

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

    color: #687f8f;

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


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

#diagnostico-garantia-reballing .gsrbsvc-main {
    display: grid;

    grid-template-columns:
        minmax(0, 0.94fr)
        minmax(440px, 1.06fr);

    gap: 18px;

    margin-top: 18px;
}


/* =========================================================
   SERVICE ROUTE PANEL
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-route-panel {
    position: relative;

    min-width: 0;

    padding: 25px;

    overflow: hidden;

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

    border-radius: 20px;

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

#diagnostico-garantia-reballing .gsrbsvc-panel-label {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 10px;

    color: #9cefff;

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

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

#diagnostico-garantia-reballing .gsrbsvc-panel-label::before {
    content: "";

    width: 14px;
    height: 1px;

    background: currentColor;

    box-shadow:
        0 0 8px currentColor;
}

#diagnostico-garantia-reballing .gsrbsvc-panel-title {
    margin: 0;

    color: #f2faff;

    font-size: 21px;
    line-height: 1.34;
    font-weight: 700;
}

#diagnostico-garantia-reballing .gsrbsvc-panel-copy {
    margin: 9px 0 0;

    color: #879eae;

    font-size: 11px;
    line-height: 1.68;
}


/* =========================================================
   ROUTE STEPS
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-route {
    display: grid;

    gap: 7px;

    margin-top: 19px;
}

#diagnostico-garantia-reballing .gsrbsvc-route-row {
    --row-color: #20d5f3;

    display: grid;

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

    gap: 11px;

    align-items: start;

    min-width: 0;

    padding: 11px;

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

    border-radius: 9px;

    background:
        rgba(5, 17, 30, 0.52);
}

#diagnostico-garantia-reballing .gsrbsvc-route-row.receive {
    --row-color: #20d5f3;
}

#diagnostico-garantia-reballing .gsrbsvc-route-row.diagnose {
    --row-color: #3286ff;
}

#diagnostico-garantia-reballing .gsrbsvc-route-row.evaluate {
    --row-color: #8b5cf6;
}

#diagnostico-garantia-reballing .gsrbsvc-route-row.quote {
    --row-color: #ffc857;
}

#diagnostico-garantia-reballing .gsrbsvc-route-row.authorize {
    --row-color: #43e58b;
}

#diagnostico-garantia-reballing .gsrbsvc-route-row.repair {
    --row-color: #20d5f3;
}

#diagnostico-garantia-reballing .gsrbsvc-route-row.verify {
    --row-color: #3286ff;
}

#diagnostico-garantia-reballing .gsrbsvc-route-row.payment {
    --row-color: #ffc857;
}

#diagnostico-garantia-reballing .gsrbsvc-route-row.warranty {
    --row-color: #43e58b;
}

#diagnostico-garantia-reballing .gsrbsvc-route-label {
    color: var(--row-color);

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

    text-transform: uppercase;
}

#diagnostico-garantia-reballing .gsrbsvc-route-copy {
    min-width: 0;

    color: #7d95a5;

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

#diagnostico-garantia-reballing .gsrbsvc-route-copy strong {
    color: #dbeaf2;

    font-weight: 600;
}


/* =========================================================
   ROUTE PRINCIPLE
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-route-note {
    display: flex;
    align-items: flex-start;

    gap: 9px;

    margin-top: 14px;
    padding: 13px;

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

    border-radius: 10px;

    background:
        rgba(255, 200, 87, 0.025);

    color: #8c856e;

    font-size: 10px;
    line-height: 1.58;
}

#diagnostico-garantia-reballing .gsrbsvc-route-note::before {
    content: "!";

    display: grid;
    place-items: center;

    width: 19px;
    height: 19px;

    flex: 0 0 19px;

    margin-top: 1px;

    border:
        1px solid rgba(255, 200, 87, 0.18);

    border-radius: 50%;

    color: #ffe09a;

    font-size: 8px;
    font-weight: 700;
}


/* =========================================================
   HUD
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-hud {
    position: relative;

    min-width: 0;

    padding: 23px;

    overflow: hidden;

    border:
        1px solid rgba(139, 92, 246, 0.17);

    border-radius: 21px;

    background:
        linear-gradient(
            145deg,
            rgba(24, 18, 45, 0.38),
            rgba(4, 12, 22, 0.97)
        );
}

#diagnostico-garantia-reballing .gsrbsvc-hud::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        radial-gradient(
            circle at 50% 32%,
            rgba(32, 213, 243, 0.075),
            transparent 35%
        ),
        radial-gradient(
            circle at 50% 72%,
            rgba(139, 92, 246, 0.050),
            transparent 40%
        );
}


/* =========================================================
   HUD HEADER
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-hud-head {
    position: relative;
    z-index: 4;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;
}

#diagnostico-garantia-reballing .gsrbsvc-hud-code {
    color: #bdadff;

    font-size: 10px;
    line-height: 1.3;
    font-weight: 700;

    letter-spacing: 0.07em;
    text-transform: uppercase;
}

#diagnostico-garantia-reballing .gsrbsvc-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: #94efbc;

    font-size: 9px;
    line-height: 1.2;
    font-weight: 600;
}

#diagnostico-garantia-reballing .gsrbsvc-hud-state::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

    box-shadow:
        0 0 7px rgba(67, 229, 139, 0.62);
}


/* =========================================================
   HUD SCREEN
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-hud-screen {
    position: relative;
    z-index: 2;

    min-height: 440px;

    margin-top: 17px;

    overflow: hidden;

    border:
        1px solid rgba(92, 208, 255, 0.08);

    border-radius: 15px;

    background:
        radial-gradient(
            circle at 50% 43%,
            rgba(32, 213, 243, 0.085),
            transparent 32%
        ),
        rgba(3, 12, 22, 0.68);
}

#diagnostico-garantia-reballing .gsrbsvc-hud-screen::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.27;

    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 CORE
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-hud-core {
    position: absolute;

    z-index: 8;

    left: 50%;
    top: 43%;

    width: 158px;
    height: 158px;

    transform:
        translate(-50%, -50%);

    display: grid;
    place-items: center;

    padding: 18px;

    border:
        1px solid rgba(32, 213, 243, 0.24);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(32, 213, 243, 0.11),
            rgba(139, 92, 246, 0.045) 46%,
            rgba(5, 16, 29, 0.97) 76%
        );

    box-shadow:
        0 0 48px rgba(32, 213, 243, 0.09);

    animation:
        gsrbsvc-core-pulse
        4.3s ease-in-out infinite;
}

#diagnostico-garantia-reballing .gsrbsvc-hud-core div {
    text-align: center;
}

#diagnostico-garantia-reballing .gsrbsvc-hud-core strong {
    display: block;

    color: #e4faff;

    font-size: 10px;
    line-height: 1.23;
    font-weight: 700;

    text-transform: uppercase;
}

#diagnostico-garantia-reballing .gsrbsvc-hud-core span {
    display: block;

    margin-top: 7px;

    color: #829aa9;

    font-size: 10px;
    line-height: 1.35;
    font-weight: 600;

    letter-spacing: 0.04em;
    text-transform: uppercase;
}

@keyframes gsrbsvc-core-pulse {

    0%,
    100% {
        box-shadow:
            0 0 28px rgba(32, 213, 243, 0.05);
    }

    50% {
        box-shadow:
            0 0 58px rgba(32, 213, 243, 0.14);
    }
}


/* =========================================================
   HUD RINGS
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-ring {
    position: absolute;

    left: 50%;
    top: 43%;

    transform:
        translate(-50%, -50%);

    border-radius: 50%;

    pointer-events: none;
}

#diagnostico-garantia-reballing .gsrbsvc-ring.one {
    width: 226px;
    height: 226px;

    border:
        1px solid rgba(32, 213, 243, 0.08);

    animation:
        gsrbsvc-ring-spin
        21s linear infinite;
}

#diagnostico-garantia-reballing .gsrbsvc-ring.two {
    width: 304px;
    height: 304px;

    border:
        1px dashed rgba(139, 92, 246, 0.075);

    animation:
        gsrbsvc-ring-spin
        31s linear infinite reverse;
}

@keyframes gsrbsvc-ring-spin {

    from {
        transform:
            translate(-50%, -50%)
            rotate(0deg);
    }

    to {
        transform:
            translate(-50%, -50%)
            rotate(360deg);
    }
}


/* =========================================================
   HUD NODES
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-node {
    position: absolute;

    z-index: 9;

    width: 132px;

    padding: 10px;

    border-radius: 9px;

    background:
        rgba(5, 16, 29, 0.94);
}

#diagnostico-garantia-reballing .gsrbsvc-node.diagnosis {
    left: 5%;
    top: 14%;

    border:
        1px solid rgba(32, 213, 243, 0.17);
}

#diagnostico-garantia-reballing .gsrbsvc-node.authorization {
    right: 5%;
    top: 14%;

    border:
        1px solid rgba(139, 92, 246, 0.17);
}

#diagnostico-garantia-reballing .gsrbsvc-node.repair {
    left: 5%;
    bottom: 22%;

    border:
        1px solid rgba(255, 200, 87, 0.17);
}

#diagnostico-garantia-reballing .gsrbsvc-node.warranty {
    right: 5%;
    bottom: 22%;

    border:
        1px solid rgba(67, 229, 139, 0.17);
}

#diagnostico-garantia-reballing .gsrbsvc-node-code {
    display: block;

    margin-bottom: 4px;

    color: var(--node-color);

    font-size: 9px;
    line-height: 1.25;
    font-weight: 700;

    text-transform: uppercase;
}

#diagnostico-garantia-reballing .gsrbsvc-node.diagnosis {
    --node-color: #20d5f3;
}

#diagnostico-garantia-reballing .gsrbsvc-node.authorization {
    --node-color: #8b5cf6;
}

#diagnostico-garantia-reballing .gsrbsvc-node.repair {
    --node-color: #ffc857;
}

#diagnostico-garantia-reballing .gsrbsvc-node.warranty {
    --node-color: #43e58b;
}

#diagnostico-garantia-reballing .gsrbsvc-node strong {
    display: block;

    color: #d8e9f1;

    font-size: 10px;
    line-height: 1.35;
    font-weight: 600;
}

#diagnostico-garantia-reballing .gsrbsvc-node span:last-child {
    display: block;

    margin-top: 4px;

    color: #748c9c;

    font-size: 9px;
    line-height: 1.42;
}


/* =========================================================
   HUD PATHS
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-path {
    position: absolute;

    z-index: 4;

    height: 1px;

    transform-origin: left center;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(32, 213, 243, 0.36),
            transparent
        );

    animation:
        gsrbsvc-path-pulse
        3s ease-in-out infinite;
}

#diagnostico-garantia-reballing .gsrbsvc-path.p1 {
    left: 21%;
    top: 29%;

    width: 34%;

    transform: rotate(21deg);
}

#diagnostico-garantia-reballing .gsrbsvc-path.p2 {
    left: 50%;
    top: 43%;

    width: 33%;

    transform: rotate(-22deg);
}

#diagnostico-garantia-reballing .gsrbsvc-path.p3 {
    left: 21%;
    bottom: 32%;

    width: 34%;

    transform: rotate(-20deg);
}

#diagnostico-garantia-reballing .gsrbsvc-path.p4 {
    left: 49%;
    bottom: 32%;

    width: 34%;

    transform: rotate(21deg);
}

@keyframes gsrbsvc-path-pulse {

    0%,
    100% {
        opacity: 0.16;
    }

    50% {
        opacity: 0.80;
    }
}


/* =========================================================
   HUD ROUTE
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-hud-route {
    position: absolute;

    z-index: 10;

    left: 13px;
    right: 13px;
    bottom: 13px;

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 4px;
}

#diagnostico-garantia-reballing .gsrbsvc-hud-step {
    min-width: 0;

    padding: 7px 3px;

    border:
        1px solid rgba(92, 208, 255, 0.08);

    border-radius: 7px;

    background:
        rgba(5, 17, 30, 0.84);

    color: #758e9e;

    text-align: center;

    font-size: 10px;
    line-height: 1.35;
    font-weight: 600;
}


/* =========================================================
   DIAGNOSTIC POLICY
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-diagnostic-policy {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;

    margin-top: 18px;
}

#diagnostico-garantia-reballing .gsrbsvc-policy {
    --policy-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding:
        19px 17px;

    overflow: hidden;

    border-radius: 14px;

    background:
        linear-gradient(
            145deg,
            rgba(8, 22, 39, 0.89),
            rgba(4, 12, 22, 0.97)
        );
}

#diagnostico-garantia-reballing .gsrbsvc-policy.original {
    --policy-color: #43e58b;

    border:
        1px solid rgba(67, 229, 139, 0.14);
}

#diagnostico-garantia-reballing .gsrbsvc-policy.previous {
    --policy-color: #ffc857;

    border:
        1px solid rgba(255, 200, 87, 0.14);
}

#diagnostico-garantia-reballing .gsrbsvc-policy::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 80px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--policy-color),
            transparent
        );
}

#diagnostico-garantia-reballing .gsrbsvc-policy-code {
    display: block;

    margin-bottom: 8px;

    color: var(--policy-color);

    font-size: 10px;
    line-height: 1.25;
    font-weight: 700;

    text-transform: uppercase;
}

#diagnostico-garantia-reballing .gsrbsvc-policy-title {
    display: block;

    margin-bottom: 6px;

    color: #e2eef5;

    font-size: 12px;
    line-height: 1.42;
    font-weight: 600;
}

#diagnostico-garantia-reballing .gsrbsvc-policy-copy {
    display: block;

    color: #788f9f;

    font-size: 10px;
    line-height: 1.62;
}

#diagnostico-garantia-reballing .gsrbsvc-policy-state {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    margin-top: 11px;
    padding: 6px 8px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--policy-color) 15%,
            transparent
        );

    border-radius: 8px;

    color: var(--policy-color);

    background:
        color-mix(
            in srgb,
            var(--policy-color) 3%,
            transparent
        );

    font-size: 10px;
    line-height: 1.35;
    font-weight: 600;
}


/* =========================================================
   WARRANTY BLOCK
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-warranty {
    position: relative;

    margin-top: 18px;
    padding: 24px;

    overflow: hidden;

    border:
        1px solid rgba(67, 229, 139, 0.15);

    border-radius: 19px;

    background:
        radial-gradient(
            circle at 13% 0%,
            rgba(67, 229, 139, 0.055),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            rgba(8, 28, 27, 0.45),
            rgba(4, 12, 22, 0.97)
        );
}

#diagnostico-garantia-reballing .gsrbsvc-warranty-head {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr) auto;

    gap: 20px;

    align-items: center;
}

#diagnostico-garantia-reballing .gsrbsvc-warranty-kicker {
    display: block;

    margin-bottom: 6px;

    color: #94efbc;

    font-size: 10px;
    line-height: 1.3;
    font-weight: 700;

    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#diagnostico-garantia-reballing .gsrbsvc-warranty-title {
    margin: 0;

    color: #effff6;

    font-size: 22px;
    line-height: 1.32;
    font-weight: 700;
}

#diagnostico-garantia-reballing .gsrbsvc-warranty-copy {
    max-width: 760px;

    margin: 8px 0 0;

    color: #90aa9c;

    font-size: 11px;
    line-height: 1.67;
}

#diagnostico-garantia-reballing .gsrbsvc-warranty-days {
    display: grid;
    place-items: center;

    min-width: 118px;
    min-height: 94px;

    padding: 12px;

    border:
        1px solid rgba(67, 229, 139, 0.20);

    border-radius: 15px;

    background:
        rgba(67, 229, 139, 0.045);

    text-align: center;
}

#diagnostico-garantia-reballing .gsrbsvc-warranty-days strong {
    display: block;

    color: #a0f5c5;

    font-size: 30px;
    line-height: 1;
    font-weight: 700;
}

#diagnostico-garantia-reballing .gsrbsvc-warranty-days span {
    display: block;

    margin-top: 6px;

    color: #749783;

    font-size: 9px;
    line-height: 1.3;
    font-weight: 600;

    text-transform: uppercase;
    letter-spacing: 0.06em;
}


/* =========================================================
   WARRANTY DETAILS
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-warranty-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 9px;

    margin-top: 18px;
}

#diagnostico-garantia-reballing .gsrbsvc-warranty-card {
    --warranty-color: #43e58b;

    position: relative;

    min-width: 0;

    padding:
        16px 14px;

    overflow: hidden;

    border:
        1px solid rgba(67, 229, 139, 0.10);

    border-radius: 12px;

    background:
        rgba(4, 16, 22, 0.58);
}

#diagnostico-garantia-reballing .gsrbsvc-warranty-card.relation {
    --warranty-color: #43e58b;
}

#diagnostico-garantia-reballing .gsrbsvc-warranty-card.scope {
    --warranty-color: #20d5f3;

    border-color:
        rgba(32, 213, 243, 0.10);
}

#diagnostico-garantia-reballing .gsrbsvc-warranty-card.review {
    --warranty-color: #ffc857;

    border-color:
        rgba(255, 200, 87, 0.10);
}

#diagnostico-garantia-reballing .gsrbsvc-warranty-code {
    display: block;

    margin-bottom: 7px;

    color: var(--warranty-color);

    font-size: 10px;
    line-height: 1.3;
    font-weight: 700;

    text-transform: uppercase;
}

#diagnostico-garantia-reballing .gsrbsvc-warranty-card strong {
    display: block;

    margin-bottom: 5px;

    color: #dcebf4;

    font-size: 10px;
    line-height: 1.42;
    font-weight: 600;
}

#diagnostico-garantia-reballing .gsrbsvc-warranty-card span:last-child {
    display: block;

    color: #758d81;

    font-size: 10px;
    line-height: 1.58;
}


/* =========================================================
   AUTHORIZATION STRIP
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-auth {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 10px;

    margin-top: 18px;
}

#diagnostico-garantia-reballing .gsrbsvc-auth-card {
    --auth-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding:
        17px 15px;

    overflow: hidden;

    border-radius: 13px;

    background:
        linear-gradient(
            145deg,
            rgba(8, 22, 39, 0.88),
            rgba(4, 12, 22, 0.97)
        );
}

#diagnostico-garantia-reballing .gsrbsvc-auth-card.finding {
    --auth-color: #20d5f3;

    border:
        1px solid rgba(32, 213, 243, 0.13);
}

#diagnostico-garantia-reballing .gsrbsvc-auth-card.inform {
    --auth-color: #8b5cf6;

    border:
        1px solid rgba(139, 92, 246, 0.13);
}

#diagnostico-garantia-reballing .gsrbsvc-auth-card.approve {
    --auth-color: #43e58b;

    border:
        1px solid rgba(67, 229, 139, 0.13);
}

#diagnostico-garantia-reballing .gsrbsvc-auth-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 68px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--auth-color),
            transparent
        );
}

#diagnostico-garantia-reballing .gsrbsvc-auth-code {
    display: block;

    margin-bottom: 7px;

    color: var(--auth-color);

    font-size: 9px;
    line-height: 1.25;
    font-weight: 700;

    text-transform: uppercase;
}

#diagnostico-garantia-reballing .gsrbsvc-auth-title {
    display: block;

    margin-bottom: 5px;

    color: #dcebf4;

    font-size: 10px;
    line-height: 1.42;
    font-weight: 600;
}

#diagnostico-garantia-reballing .gsrbsvc-auth-copy {
    display: block;

    color: #758d9d;

    font-size: 10px;
    line-height: 1.58;
}


/* =========================================================
   WARNING
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-warning {
    display: grid;

    grid-template-columns:
        auto minmax(0, 1fr) auto;

    gap: 13px;

    align-items: center;

    margin-top: 18px;
    padding:
        16px 17px;

    border:
        1px solid rgba(255, 200, 87, 0.13);

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 200, 87, 0.028),
            rgba(139, 92, 246, 0.018)
        );
}

#diagnostico-garantia-reballing .gsrbsvc-warning-icon {
    display: grid;
    place-items: center;

    width: 32px;
    height: 32px;

    flex: 0 0 32px;

    border:
        1px solid rgba(255, 200, 87, 0.20);

    border-radius: 9px;

    color: #ffe09a;

    font-size: 10px;
    font-weight: 700;
}

#diagnostico-garantia-reballing .gsrbsvc-warning-copy {
    min-width: 0;

    color: #918974;

    font-size: 10px;
    line-height: 1.62;
}

#diagnostico-garantia-reballing .gsrbsvc-warning-copy strong {
    color: #f1e7cb;

    font-weight: 600;
}

#diagnostico-garantia-reballing .gsrbsvc-warning-state {
    flex-shrink: 0;

    color: #c7b67c;

    font-size: 10px;
    line-height: 1.35;
    font-weight: 600;

    text-transform: uppercase;
}


/* =========================================================
   LEGAL NOTE
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-legal {
    display: grid;

    grid-template-columns:
        auto minmax(0, 1fr);

    gap: 11px;

    align-items: start;

    margin-top: 12px;
    padding:
        12px 14px;

    border:
        1px solid rgba(32, 213, 243, 0.08);

    border-radius: 10px;

    background:
        rgba(4, 15, 25, 0.48);
}

#diagnostico-garantia-reballing .gsrbsvc-legal-code {
    color: #739bae;

    font-size: 8px;
    line-height: 1.45;
    font-weight: 700;

    text-transform: uppercase;
}

#diagnostico-garantia-reballing .gsrbsvc-legal-copy {
    color: #607888;

    font-size: 10px;
    line-height: 1.55;
}


/* =========================================================
   TERMINAL
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-terminal {
    margin-top: 18px;

    overflow: hidden;

    border:
        1px solid rgba(139, 92, 246, 0.18);

    border-radius: 18px;

    background:
        linear-gradient(
            155deg,
            rgba(10, 18, 38, 0.95),
            rgba(4, 9, 20, 0.98)
        );
}

#diagnostico-garantia-reballing .gsrbsvc-terminal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    min-height: 44px;

    padding:
        10px 14px;

    border-bottom:
        1px solid rgba(118, 167, 255, 0.10);

    background:
        rgba(8, 18, 34, 0.75);
}

#diagnostico-garantia-reballing .gsrbsvc-terminal-dots {
    display: flex;

    gap: 6px;
}

#diagnostico-garantia-reballing .gsrbsvc-terminal-dots span {
    width: 6px;
    height: 6px;

    border-radius: 50%;
}

#diagnostico-garantia-reballing
.gsrbsvc-terminal-dots span:nth-child(1) {
    background: var(--rb-red);
}

#diagnostico-garantia-reballing
.gsrbsvc-terminal-dots span:nth-child(2) {
    background: var(--rb-yellow);
}

#diagnostico-garantia-reballing
.gsrbsvc-terminal-dots span:nth-child(3) {
    background: var(--rb-green);
}

#diagnostico-garantia-reballing .gsrbsvc-terminal-name {
    color: #71889d;

    font-size: 10px;
    line-height: 1.2;
    font-weight: 600;

    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#diagnostico-garantia-reballing .gsrbsvc-terminal-body {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr) auto;

    gap: 22px;

    align-items: center;

    padding:
        20px 21px;
}

#diagnostico-garantia-reballing .gsrbsvc-terminal-route {
    display: flex;
    flex-wrap: wrap;

    gap: 7px;
}

#diagnostico-garantia-reballing .gsrbsvc-terminal-route span {
    display: inline-flex;
    align-items: center;

    min-height: 29px;

    padding:
        6px 9px;

    border:
        1px solid rgba(92, 208, 255, 0.08);

    border-radius: 7px;

    background:
        rgba(6, 18, 31, 0.52);

    color: #879eae;

    font-size: 10px;
    line-height: 1.35;
    font-weight: 500;
}

#diagnostico-garantia-reballing .gsrbsvc-terminal-state {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    flex-shrink: 0;

    padding:
        8px 10px;

    border:
        1px solid rgba(67, 229, 139, 0.14);

    border-radius: 9px;

    background:
        rgba(67, 229, 139, 0.035);

    color: #9cefc0;

    font-size: 10px;
    line-height: 1.35;
    font-weight: 600;
}

#diagnostico-garantia-reballing .gsrbsvc-terminal-state::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--rb-green);

    box-shadow:
        0 0 7px rgba(67, 229, 139, 0.55);
}


/* =========================================================
   FOOTER
   ========================================================= */

#diagnostico-garantia-reballing .gsrbsvc-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin-top: 22px;
    padding: 0 3px;

    color: #60788c;

    font-size: 10px;
    line-height: 1.45;
    font-weight: 500;

    letter-spacing: 0.05em;
    text-transform: uppercase;
}

#diagnostico-garantia-reballing .gsrbsvc-footer-status {
    display: flex;
    align-items: center;

    gap: 7px;

    color: #7791a5;
}

#diagnostico-garantia-reballing .gsrbsvc-footer-status::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

    box-shadow:
        0 0 7px rgba(67, 229, 139, 0.50);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    #diagnostico-garantia-reballing .gsrbsvc-shell {
        width:
            min(
                100% - 40px,
                920px
            );

        padding:
            78px 0 82px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-heading {
        grid-template-columns: 1fr;

        gap: 22px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-status {
        max-width: 650px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-pillars {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    #diagnostico-garantia-reballing .gsrbsvc-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 14px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-hud {
        width: 100%;
        max-width: 740px;

        margin: 0 auto;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    #diagnostico-garantia-reballing {
        overflow: hidden;
    }

    #diagnostico-garantia-reballing .gsrbsvc-grid {
        opacity: 0.18;

        background-size: 32px 32px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-orbit,
    #diagnostico-garantia-reballing .gsrbsvc-scan {
        display: none;
    }

    #diagnostico-garantia-reballing .gsrbsvc-shell {
        width:
            calc(100% - 30px);

        max-width: 100%;

        padding:
            62px 0 66px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-heading {
        display: block;

        margin-bottom: 30px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-status {
        margin-top: 21px;

        padding:
            15px 16px;

        border-radius: 14px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-title {
        font-size:
            clamp(
                29px,
                9.3vw,
                38px
            );

        line-height: 1.1;
    }

    #diagnostico-garantia-reballing .gsrbsvc-intro {
        font-size: 14px;
        line-height: 1.7;
    }

    #diagnostico-garantia-reballing .gsrbsvc-core {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 10px;

        padding: 15px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-core-state {
        width: fit-content;
    }

    #diagnostico-garantia-reballing .gsrbsvc-pillars {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 12px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-route-panel,
    #diagnostico-garantia-reballing .gsrbsvc-hud {
        width: 100%;
        min-width: 0;

        padding:
            20px 16px;

        border-radius: 17px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-route-row {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 5px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-hud-head {
        flex-direction: column;
        align-items: flex-start;

        gap: 8px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-hud-screen {
        min-height: 350px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-hud-core,
    #diagnostico-garantia-reballing .gsrbsvc-ring,
    #diagnostico-garantia-reballing .gsrbsvc-path {
        animation: none;
    }

    #diagnostico-garantia-reballing .gsrbsvc-hud-core {
        width: 106px;
        height: 106px;

        padding: 11px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-hud-core strong {
        font-size: 8.5px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-hud-core span {
        font-size: 8px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-ring.one {
        width: 164px;
        height: 164px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-ring.two {
        width: 220px;
        height: 220px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-node {
        width: 101px;

        padding: 7px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-node-code {
        font-size: 8px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-node strong {
        font-size: 8.5px;
    }

    #diagnostico-garantia-reballing
    .gsrbsvc-node span:last-child {
        display: none;
    }

    #diagnostico-garantia-reballing .gsrbsvc-hud-route {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 4px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-hud-step {
        text-align: left;

        font-size: 8px;
    }

    #diagnostico-garantia-reballing
    .gsrbsvc-diagnostic-policy {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-warranty {
        padding:
            20px 16px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-warranty-head {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 14px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-warranty-days {
        width: 100%;
        min-height: 80px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-warranty-grid {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-auth {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-warning {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 9px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-warning-state {
        width: fit-content;
    }

    #diagnostico-garantia-reballing .gsrbsvc-legal {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 4px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-terminal-body {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 14px;

        padding:
            18px 15px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-terminal-state {
        width: fit-content;
    }

    #diagnostico-garantia-reballing .gsrbsvc-footer {
        flex-direction: column;
        align-items: flex-start;

        gap: 7px;

        margin-top: 18px;
    }
}



/* =========================================================
   MOBILE — FLUJO DE SERVICIO SIN SUPERPOSICIONES
   ========================================================= */

@media (max-width: 767px) {

    #diagnostico-garantia-reballing
    .gsrbsvc-hud-screen {
        min-height: 0;
        display: grid;
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 12px;
    }

    #diagnostico-garantia-reballing .gsrbsvc-ring,
    #diagnostico-garantia-reballing .gsrbsvc-path {
        display: none;
    }

    #diagnostico-garantia-reballing
    .gsrbsvc-node {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        width: auto;
        min-width: 0;
        min-height: 112px;
        padding: 11px;
    }

    #diagnostico-garantia-reballing
    .gsrbsvc-node span:last-child {
        display: block;
    }

    #diagnostico-garantia-reballing
    .gsrbsvc-hud-core {
        position: relative;
        left: auto;
        top: auto;
        grid-column: 1 / -1;
        width: 100%;
        height: auto;
        min-height: 100px;
        padding: 15px;
        transform: none;
        border-radius: 13px;
        animation: none;
    }

    #diagnostico-garantia-reballing
    .gsrbsvc-hud-core strong {
        font-size: 10px;
    }

    #diagnostico-garantia-reballing
    .gsrbsvc-hud-core span {
        font-size: 8.5px;
    }

    #diagnostico-garantia-reballing
    .gsrbsvc-hud-route {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        grid-column: 1 / -1;
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 5px;
        margin-top: 2px;
    }

    #diagnostico-garantia-reballing
    .gsrbsvc-hud-step {
        padding: 8px;
        text-align: left;
        font-size: 8px;
    }
}


/* =========================================================
   390 PX
   ========================================================= */

@media (max-width: 390px) {

    #diagnostico-garantia-reballing .gsrbsvc-shell {
        width:
            calc(100% - 24px);
    }

    #diagnostico-garantia-reballing .gsrbsvc-route-panel,
    #diagnostico-garantia-reballing .gsrbsvc-hud {
        padding-left: 13px;
        padding-right: 13px;
    }

    #diagnostico-garantia-reballing
    .gsrbsvc-hud-screen {
        grid-template-columns:
            minmax(0, 1fr);
    }

    #diagnostico-garantia-reballing .gsrbsvc-hud-core,
    #diagnostico-garantia-reballing .gsrbsvc-hud-route {
        grid-column: 1;
    }

    #diagnostico-garantia-reballing
    .gsrbsvc-hud-route {
        grid-template-columns:
            minmax(0, 1fr);
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    #diagnostico-garantia-reballing,
    #diagnostico-garantia-reballing *,
    #diagnostico-garantia-reballing *::before,
    #diagnostico-garantia-reballing *::after {
        scroll-behavior: auto !important;
        animation: none !important;
        transition: none !important;
    }

    #diagnostico-garantia-reballing .gsrbsvc-scan {
        display: none !important;
    }
}


/* =========================================================
   preguntas-reballing
   ========================================================= */
/* =========================================================
   GAMMERS STYLE
   REBALLING — PREGUNTAS FRECUENTES
   ID INTERNO HTML: preguntas-reballing
   ========================================================= */

#preguntas-reballing {
    --rb-bg: #030811;
    --rb-bg-2: #05101b;

    --rb-cyan: #20d5f3;
    --rb-cyan-soft: #9cefff;
    --rb-blue: #3286ff;
    --rb-violet: #8b5cf6;

    --rb-green: #43e58b;
    --rb-yellow: #ffc857;
    --rb-orange: #ff9f43;
    --rb-red: #ff637d;

    --rb-text: #edf8ff;
    --rb-muted: #91a8bb;
    --rb-muted-2: #687f92;

    position: relative;
    isolation: isolate;

    width: 100%;
    margin: 0;
    padding: 0;

    overflow: hidden;

    color: var(--rb-text);

    background:
        radial-gradient(
            circle at 12% 16%,
            rgba(32, 213, 243, 0.060),
            transparent 30%
        ),
        radial-gradient(
            circle at 88% 20%,
            rgba(139, 92, 246, 0.055),
            transparent 30%
        ),
        radial-gradient(
            circle at 74% 88%,
            rgba(67, 229, 139, 0.035),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #030811 0%,
            #05101b 50%,
            #030811 100%
        );

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    scroll-margin-top: 90px;
    writing-mode: horizontal-tb;
    word-break: normal;
    overflow-wrap: break-word;
}

#preguntas-reballing *,
#preguntas-reballing *::before,
#preguntas-reballing *::after {
    box-sizing: border-box;

    writing-mode: horizontal-tb;
    word-break: normal;
    overflow-wrap: break-word;
}


/* =========================================================
   BACKGROUND GRID
   ========================================================= */

#preguntas-reballing .gsrbfaq-grid {
    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.27;

    background-image:
        linear-gradient(
            rgba(32, 213, 243, 0.045) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(32, 213, 243, 0.045) 1px,
            transparent 1px
        );

    background-size: 46px 46px;

    mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 8%,
            #000 92%,
            transparent 100%
        );

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 8%,
            #000 92%,
            transparent 100%
        );
}


/* =========================================================
   ORBIT
   ========================================================= */

#preguntas-reballing .gsrbfaq-orbit {
    position: absolute;

    left: -260px;
    top: 600px;

    width: 520px;
    height: 520px;

    border:
        1px solid rgba(32, 213, 243, 0.042);

    border-radius: 50%;

    pointer-events: none;

    animation:
        gsrbfaq-orbit-spin
        56s linear infinite;
}

#preguntas-reballing .gsrbfaq-orbit::before,
#preguntas-reballing .gsrbfaq-orbit::after {
    content: "";

    position: absolute;

    border-radius: 50%;
}

#preguntas-reballing .gsrbfaq-orbit::before {
    inset: 82px;

    border:
        1px dashed rgba(139, 92, 246, 0.050);
}

#preguntas-reballing .gsrbfaq-orbit::after {
    inset: 166px;

    border:
        1px solid rgba(67, 229, 139, 0.035);
}

@keyframes gsrbfaq-orbit-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


/* =========================================================
   SCAN
   ========================================================= */

#preguntas-reballing .gsrbfaq-scan {
    position: absolute;
    inset: 0;

    pointer-events: none;
    overflow: hidden;
}

#preguntas-reballing .gsrbfaq-scan::before {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    top: 0;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(32, 213, 243, 0.28),
            rgba(139, 92, 246, 0.15),
            transparent
        );

    box-shadow:
        0 0 18px rgba(32, 213, 243, 0.08);

    animation:
        gsrbfaq-scan-move
        11.8s linear infinite;
}

@keyframes gsrbfaq-scan-move {
    0% {
        transform: translateY(0);
        opacity: 0;
    }

    8% {
        opacity: 0.40;
    }

    92% {
        opacity: 0.16;
    }

    100% {
        transform: translateY(3400px);
        opacity: 0;
    }
}


/* =========================================================
   SHELL
   ========================================================= */

#preguntas-reballing .gsrbfaq-shell {
    position: relative;
    z-index: 2;

    width:
        min(
            1180px,
            calc(100% - 48px)
        );

    margin: 0 auto;

    padding:
        94px 0 98px;
}


/* =========================================================
   HEADER
   ========================================================= */

#preguntas-reballing .gsrbfaq-heading {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(300px, 0.52fr);

    gap: 48px;

    align-items: end;

    margin-bottom: 38px;
}

#preguntas-reballing .gsrbfaq-heading-main {
    min-width: 0;
}


/* =========================================================
   KICKER
   ========================================================= */

#preguntas-reballing .gsrbfaq-kicker {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-bottom: 15px;
    padding: 7px 11px;

    border:
        1px solid rgba(32, 213, 243, 0.19);

    border-radius: 999px;

    background:
        rgba(7, 28, 41, 0.40);

    color: #9eeeff;

    font-size: 10px;
    line-height: 1.2;
    font-weight: 600;

    letter-spacing: 0.12em;
    text-transform: uppercase;
}

#preguntas-reballing .gsrbfaq-kicker-dot {
    width: 6px;
    height: 6px;

    flex: 0 0 6px;

    border-radius: 50%;

    background: var(--rb-cyan);

    box-shadow:
        0 0 8px rgba(32, 213, 243, 0.80),
        0 0 17px rgba(32, 213, 243, 0.22);
}


/* =========================================================
   TITLE
   ========================================================= */

#preguntas-reballing .gsrbfaq-title {
    max-width: 900px;

    margin: 0;

    color: #f4fbff;

    font-size:
        clamp(
            30px,
            4vw,
            48px
        );

    line-height: 1.09;
    font-weight: 700;

    letter-spacing: -0.035em;
}

#preguntas-reballing .gsrbfaq-title span {
    color: var(--rb-cyan);
}

#preguntas-reballing .gsrbfaq-intro {
    max-width: 850px;

    margin: 17px 0 0;

    color: var(--rb-muted);

    font-size: 15px;
    line-height: 1.78;
}


/* =========================================================
   STATUS
   ========================================================= */

#preguntas-reballing .gsrbfaq-status {
    position: relative;

    min-width: 0;

    padding: 18px 19px;

    overflow: hidden;

    border:
        1px solid rgba(32, 213, 243, 0.15);

    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            rgba(10, 32, 43, 0.30),
            rgba(4, 13, 23, 0.88)
        );
}

#preguntas-reballing .gsrbfaq-status::before {
    content: "";

    position: absolute;

    left: 0;
    top: 12px;
    bottom: 12px;

    width: 2px;

    background:
        linear-gradient(
            180deg,
            transparent,
            var(--rb-cyan),
            transparent
        );
}

#preguntas-reballing .gsrbfaq-status-label {
    display: flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 8px;

    color: #9eeeff;

    font-size: 10px;
    line-height: 1.25;
    font-weight: 600;

    letter-spacing: 0.09em;
    text-transform: uppercase;
}

#preguntas-reballing .gsrbfaq-status-label::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--rb-cyan);

    box-shadow:
        0 0 8px rgba(32, 213, 243, 0.55);
}

#preguntas-reballing .gsrbfaq-status-copy {
    margin: 0;

    color: #b5c8d6;

    font-size: 12px;
    line-height: 1.62;
}


/* =========================================================
   CORE
   ========================================================= */

#preguntas-reballing .gsrbfaq-core {
    position: relative;

    display: grid;

    grid-template-columns:
        auto minmax(0, 1fr) auto;

    gap: 18px;

    align-items: center;

    margin-bottom: 22px;
    padding: 18px;

    overflow: hidden;

    border:
        1px solid rgba(32, 213, 243, 0.16);

    border-radius: 15px;

    background:
        linear-gradient(
            135deg,
            rgba(32, 213, 243, 0.055),
            rgba(139, 92, 246, 0.025)
        );
}

#preguntas-reballing .gsrbfaq-core::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 118px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--rb-cyan),
            transparent
        );
}

#preguntas-reballing .gsrbfaq-core-icon {
    display: grid;
    place-items: center;

    width: 66px;
    height: 66px;

    flex: 0 0 66px;

    border:
        1px solid rgba(32, 213, 243, 0.22);

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            rgba(32, 213, 243, 0.07),
            rgba(139, 92, 246, 0.035)
        );

    color: #9cefff;

    font-size: 21px;
    line-height: 1;
    font-weight: 700;
}

#preguntas-reballing .gsrbfaq-core-copy {
    min-width: 0;
}

#preguntas-reballing .gsrbfaq-core-copy strong {
    display: block;

    margin-bottom: 5px;

    color: #e1f8ff;

    font-size: 14px;
    line-height: 1.42;
    font-weight: 600;
}

#preguntas-reballing .gsrbfaq-core-copy span {
    display: block;

    color: #8ba3b3;

    font-size: 11px;
    line-height: 1.65;
}

#preguntas-reballing .gsrbfaq-core-state {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    flex-shrink: 0;

    padding: 7px 10px;

    border:
        1px solid rgba(67, 229, 139, 0.16);

    border-radius: 999px;

    background:
        rgba(67, 229, 139, 0.035);

    color: #94efbc;

    font-size: 10px;
    line-height: 1.3;
    font-weight: 600;
}

#preguntas-reballing .gsrbfaq-core-state::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

    box-shadow:
        0 0 7px rgba(67, 229, 139, 0.60);
}


/* =========================================================
   FAQ LAYOUT
   ========================================================= */

#preguntas-reballing .gsrbfaq-main {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}


/* =========================================================
   LEFT HUD / QUICK ANSWER
   ========================================================= */

#preguntas-reballing .gsrbfaq-side {
    position: static;
    min-width: 0;
}

#preguntas-reballing .gsrbfaq-quick {
    position: relative;
    display: grid;
    grid-template-columns:
        minmax(230px, 0.34fr)
        minmax(0, 0.66fr);
    gap: 18px;
    align-items: center;

    padding: 25px;

    overflow: hidden;

    border:
        1px solid rgba(139, 92, 246, 0.17);

    border-radius: 20px;

    background:
        radial-gradient(
            circle at 50% 16%,
            rgba(32, 213, 243, 0.080),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            rgba(23, 18, 43, 0.44),
            rgba(4, 12, 22, 0.97)
        );
}

#preguntas-reballing .gsrbfaq-quick::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.26;

    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: 26px 26px;
}

#preguntas-reballing .gsrbfaq-quick-head {
    position: relative;
    z-index: 2;
    grid-column: 1 / -1;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;

    margin-bottom: 0;
}

#preguntas-reballing .gsrbfaq-quick-code {
    color: #bdadff;

    font-size: 10px;
    line-height: 1.3;
    font-weight: 700;

    letter-spacing: 0.07em;
    text-transform: uppercase;
}

#preguntas-reballing .gsrbfaq-quick-state {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    padding: 5px 8px;

    border:
        1px solid rgba(67, 229, 139, 0.15);

    border-radius: 999px;

    background:
        rgba(67, 229, 139, 0.035);

    color: #94efbc;

    font-size: 10px;
    line-height: 1.2;
    font-weight: 600;
}

#preguntas-reballing .gsrbfaq-quick-state::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

    box-shadow:
        0 0 7px rgba(67, 229, 139, 0.55);
}


/* =========================================================
   QUICK CORE
   ========================================================= */

#preguntas-reballing .gsrbfaq-quick-core {
    position: relative;
    z-index: 2;

    display: grid;
    place-items: center;

    width: 182px;
    height: 182px;

    margin:
        8px auto;

    padding: 24px;

    border:
        1px solid rgba(32, 213, 243, 0.18);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(32, 213, 243, 0.10),
            rgba(139, 92, 246, 0.040) 46%,
            rgba(5, 16, 29, 0.94) 76%
        );

    box-shadow:
        0 0 48px rgba(32, 213, 243, 0.08);

    animation:
        gsrbfaq-pulse
        4.5s ease-in-out infinite;
}

#preguntas-reballing .gsrbfaq-quick-core div {
    text-align: center;
}

#preguntas-reballing .gsrbfaq-quick-core strong {
    display: block;

    color: #e8fbff;

    font-size: 13px;
    line-height: 1.25;
    font-weight: 700;
}

#preguntas-reballing .gsrbfaq-quick-core span {
    display: block;

    margin-top: 7px;

    color: #748f9f;

    font-size: 9px;
    line-height: 1.4;
    font-weight: 600;

    letter-spacing: 0.05em;
    text-transform: uppercase;
}

@keyframes gsrbfaq-pulse {

    0%,
    100% {
        box-shadow:
            0 0 28px rgba(32, 213, 243, 0.04);
    }

    50% {
        box-shadow:
            0 0 56px rgba(32, 213, 243, 0.13);
    }
}


/* =========================================================
   QUICK ANSWER COPY
   ========================================================= */

#preguntas-reballing .gsrbfaq-quick-answer {
    position: relative;
    z-index: 2;

    padding:
        17px 16px;

    border:
        1px solid rgba(32, 213, 243, 0.12);

    border-radius: 13px;

    background:
        rgba(5, 17, 30, 0.62);
}

#preguntas-reballing .gsrbfaq-quick-answer span {
    display: block;

    margin-bottom: 7px;

    color: #9cefff;

    font-size: 9px;
    line-height: 1.3;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.07em;
}

#preguntas-reballing .gsrbfaq-quick-answer strong {
    display: block;

    color: #f0fbff;

    font-size: 16px;
    line-height: 1.48;
    font-weight: 600;
}

#preguntas-reballing .gsrbfaq-quick-answer p {
    margin: 8px 0 0;

    color: #7f96a6;

    font-size: 10px;
    line-height: 1.62;
}


/* =========================================================
   QUICK ROUTE
   ========================================================= */

#preguntas-reballing .gsrbfaq-quick-route {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 6px;

    margin-top: 14px;
}

#preguntas-reballing .gsrbfaq-quick-step {
    min-width: 0;

    padding:
        9px 8px;

    border:
        1px solid rgba(92, 208, 255, 0.08);

    border-radius: 8px;

    background:
        rgba(5, 17, 30, 0.66);

    color: #7c95a5;

    font-size: 10px;
    line-height: 1.38;
    font-weight: 600;
}

#preguntas-reballing .gsrbfaq-quick-step strong {
    display: block;

    margin-bottom: 2px;

    color: #c8dbe5;

    font-size: 9px;
    line-height: 1.3;
    font-weight: 600;
}


/* =========================================================
   FAQ LIST
   ========================================================= */

#preguntas-reballing .gsrbfaq-list {
    display: grid;

    gap: 9px;

    min-width: 0;
}

#preguntas-reballing .gsrbfaq-item {
    --faq-color: #20d5f3;

    position: relative;

    width: 100%;
    min-width: 0;

    overflow: hidden;

    border:
        1px solid rgba(32, 213, 243, 0.11);

    border-radius: 14px;

    background:
        linear-gradient(
            145deg,
            rgba(8, 22, 39, 0.91),
            rgba(4, 12, 22, 0.97)
        );

    transition:
        border-color 0.22s ease,
        background 0.22s ease,
        transform 0.22s ease;
}

#preguntas-reballing .gsrbfaq-item:nth-child(2),
#preguntas-reballing .gsrbfaq-item:nth-child(6),
#preguntas-reballing .gsrbfaq-item:nth-child(11) {
    --faq-color: #3286ff;

    border-color:
        rgba(50, 134, 255, 0.11);
}

#preguntas-reballing .gsrbfaq-item:nth-child(3),
#preguntas-reballing .gsrbfaq-item:nth-child(7),
#preguntas-reballing .gsrbfaq-item:nth-child(12) {
    --faq-color: #8b5cf6;

    border-color:
        rgba(139, 92, 246, 0.11);
}

#preguntas-reballing .gsrbfaq-item:nth-child(4),
#preguntas-reballing .gsrbfaq-item:nth-child(8) {
    --faq-color: #ffc857;

    border-color:
        rgba(255, 200, 87, 0.11);
}

#preguntas-reballing .gsrbfaq-item:nth-child(5),
#preguntas-reballing .gsrbfaq-item:nth-child(9),
#preguntas-reballing .gsrbfaq-item:nth-child(10) {
    --faq-color: #43e58b;

    border-color:
        rgba(67, 229, 139, 0.11);
}

#preguntas-reballing .gsrbfaq-item::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 88px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--faq-color),
            transparent
        );
}

#preguntas-reballing .gsrbfaq-item[open] {
    border-color:
        color-mix(
            in srgb,
            var(--faq-color) 24%,
            transparent
        );

    background:
        linear-gradient(
            145deg,
            rgba(10, 27, 45, 0.97),
            rgba(4, 12, 22, 0.98)
        );
}


/* =========================================================
   SUMMARY
   ========================================================= */

#preguntas-reballing .gsrbfaq-item summary {
    position: relative;

    display: grid;

    grid-template-columns:
        auto minmax(0, 1fr) auto;

    gap: 13px;

    align-items: center;

    min-width: 0;

    padding:
        18px 18px;

    cursor: pointer;

    list-style: none;

    color: #e1edf5;

    user-select: none;
}

#preguntas-reballing .gsrbfaq-item summary::-webkit-details-marker {
    display: none;
}


#preguntas-reballing .gsrbfaq-item summary:focus-visible {
    outline:
        2px solid rgba(32, 213, 243, 0.92);
    outline-offset: 3px;
    border-radius: 10px;
}

#preguntas-reballing .gsrbfaq-number {
    display: grid;
    place-items: center;

    width: 31px;
    height: 31px;

    flex: 0 0 31px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--faq-color) 22%,
            transparent
        );

    border-radius: 9px;

    background:
        color-mix(
            in srgb,
            var(--faq-color) 4%,
            transparent
        );

    color: var(--faq-color);

    font-size: 9px;
    line-height: 1;
    font-weight: 700;
}

#preguntas-reballing .gsrbfaq-question {
    min-width: 0;

    color: #e2eef5;

    font-size: 12px;
    line-height: 1.48;
    font-weight: 600;
}

#preguntas-reballing .gsrbfaq-toggle {
    position: relative;

    width: 26px;
    height: 26px;

    flex: 0 0 26px;

    border:
        1px solid rgba(255,255,255,0.08);

    border-radius: 8px;

    background:
        rgba(4, 15, 27, 0.72);
}

#preguntas-reballing .gsrbfaq-toggle::before,
#preguntas-reballing .gsrbfaq-toggle::after {
    content: "";

    position: absolute;

    left: 50%;
    top: 50%;

    width: 10px;
    height: 1px;

    background: var(--faq-color);

    transform:
        translate(-50%, -50%);

    transition:
        transform 0.22s ease,
        opacity 0.22s ease;
}

#preguntas-reballing .gsrbfaq-toggle::after {
    transform:
        translate(-50%, -50%)
        rotate(90deg);
}

#preguntas-reballing .gsrbfaq-item[open]
.gsrbfaq-toggle::after {
    opacity: 0;

    transform:
        translate(-50%, -50%)
        rotate(0deg);
}


/* =========================================================
   FAQ ANSWER
   ========================================================= */

#preguntas-reballing .gsrbfaq-answer {
    padding:
        0 18px 18px 62px;

    color: #7f97a7;

    font-size: 10px;
    line-height: 1.72;
}

#preguntas-reballing .gsrbfaq-answer p {
    margin: 0;
}

#preguntas-reballing .gsrbfaq-answer strong {
    color: #cfe4ee;

    font-weight: 600;
}

#preguntas-reballing .gsrbfaq-answer-note {
    display: block;

    margin-top: 9px;
    padding:
        9px 10px;

    border-left:
        2px solid var(--faq-color);

    border-radius:
        0 8px 8px 0;

    background:
        color-mix(
            in srgb,
            var(--faq-color) 3%,
            transparent
        );

    color: #788f9d;

    font-size: 10px;
    line-height: 1.58;
}


/* =========================================================
   INFO STRIP
   ========================================================= */

#preguntas-reballing .gsrbfaq-info {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 10px;

    margin-top: 18px;
}

#preguntas-reballing .gsrbfaq-info-card {
    --info-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding:
        17px 15px;

    overflow: hidden;

    border-radius: 13px;

    background:
        linear-gradient(
            145deg,
            rgba(8, 22, 39, 0.88),
            rgba(4, 12, 22, 0.97)
        );
}

#preguntas-reballing .gsrbfaq-info-card.time {
    --info-color: #20d5f3;

    border:
        1px solid rgba(32, 213, 243, 0.13);
}

#preguntas-reballing .gsrbfaq-info-card.payment {
    --info-color: #ffc857;

    border:
        1px solid rgba(255, 200, 87, 0.13);
}

#preguntas-reballing .gsrbfaq-info-card.warranty {
    --info-color: #43e58b;

    border:
        1px solid rgba(67, 229, 139, 0.13);
}

#preguntas-reballing .gsrbfaq-info-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 68px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--info-color),
            transparent
        );
}

#preguntas-reballing .gsrbfaq-info-code {
    display: block;

    margin-bottom: 7px;

    color: var(--info-color);

    font-size: 10px;
    line-height: 1.25;
    font-weight: 700;

    text-transform: uppercase;
}

#preguntas-reballing .gsrbfaq-info-title {
    display: block;

    margin-bottom: 5px;

    color: #dcebf4;

    font-size: 11px;
    line-height: 1.42;
    font-weight: 600;
}

#preguntas-reballing .gsrbfaq-info-copy {
    display: block;

    color: #758d9d;

    font-size: 10px;
    line-height: 1.58;
}


/* =========================================================
   FINAL NOTE
   ========================================================= */

#preguntas-reballing .gsrbfaq-final {
    display: grid;

    grid-template-columns:
        auto minmax(0, 1fr) auto;

    gap: 13px;

    align-items: center;

    margin-top: 18px;
    padding:
        17px;

    border:
        1px solid rgba(32, 213, 243, 0.13);

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            rgba(32, 213, 243, 0.030),
            rgba(139, 92, 246, 0.020)
        );
}

#preguntas-reballing .gsrbfaq-final-icon {
    display: grid;
    place-items: center;

    width: 34px;
    height: 34px;

    flex: 0 0 34px;

    border:
        1px solid rgba(32, 213, 243, 0.18);

    border-radius: 9px;

    color: #9cefff;

    font-size: 11px;
    line-height: 1;
    font-weight: 700;
}

#preguntas-reballing .gsrbfaq-final-copy {
    min-width: 0;

    color: #8199a9;

    font-size: 10px;
    line-height: 1.62;
}

#preguntas-reballing .gsrbfaq-final-copy strong {
    color: #e1f6ff;

    font-weight: 600;
}

#preguntas-reballing .gsrbfaq-final-state {
    flex-shrink: 0;

    color: #8da7b7;

    font-size: 10px;
    line-height: 1.35;
    font-weight: 600;

    text-transform: uppercase;
}


/* =========================================================
   TERMINAL
   ========================================================= */

#preguntas-reballing .gsrbfaq-terminal {
    margin-top: 18px;

    overflow: hidden;

    border:
        1px solid rgba(139, 92, 246, 0.18);

    border-radius: 18px;

    background:
        linear-gradient(
            155deg,
            rgba(10, 18, 38, 0.95),
            rgba(4, 9, 20, 0.98)
        );
}

#preguntas-reballing .gsrbfaq-terminal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    min-height: 44px;

    padding:
        10px 14px;

    border-bottom:
        1px solid rgba(118, 167, 255, 0.10);

    background:
        rgba(8, 18, 34, 0.75);
}

#preguntas-reballing .gsrbfaq-terminal-dots {
    display: flex;

    gap: 6px;
}

#preguntas-reballing .gsrbfaq-terminal-dots span {
    width: 6px;
    height: 6px;

    border-radius: 50%;
}

#preguntas-reballing
.gsrbfaq-terminal-dots span:nth-child(1) {
    background: var(--rb-red);
}

#preguntas-reballing
.gsrbfaq-terminal-dots span:nth-child(2) {
    background: var(--rb-yellow);
}

#preguntas-reballing
.gsrbfaq-terminal-dots span:nth-child(3) {
    background: var(--rb-green);
}

#preguntas-reballing .gsrbfaq-terminal-name {
    color: #71889d;

    font-size: 10px;
    line-height: 1.2;
    font-weight: 600;

    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#preguntas-reballing .gsrbfaq-terminal-body {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr) auto;

    gap: 22px;

    align-items: center;

    padding:
        20px 21px;
}

#preguntas-reballing .gsrbfaq-terminal-route {
    display: flex;
    flex-wrap: wrap;

    gap: 7px;
}

#preguntas-reballing .gsrbfaq-terminal-route span {
    display: inline-flex;
    align-items: center;

    min-height: 29px;

    padding:
        6px 9px;

    border:
        1px solid rgba(92, 208, 255, 0.08);

    border-radius: 7px;

    background:
        rgba(6, 18, 31, 0.52);

    color: #879eae;

    font-size: 10px;
    line-height: 1.35;
    font-weight: 500;
}

#preguntas-reballing .gsrbfaq-terminal-state {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    flex-shrink: 0;

    padding:
        8px 10px;

    border:
        1px solid rgba(67, 229, 139, 0.14);

    border-radius: 9px;

    background:
        rgba(67, 229, 139, 0.035);

    color: #9cefc0;

    font-size: 10px;
    line-height: 1.35;
    font-weight: 600;
}

#preguntas-reballing .gsrbfaq-terminal-state::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--rb-green);

    box-shadow:
        0 0 7px rgba(67, 229, 139, 0.55);
}


/* =========================================================
   FOOTER
   ========================================================= */

#preguntas-reballing .gsrbfaq-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin-top: 22px;
    padding: 0 3px;

    color: #60788c;

    font-size: 10px;
    line-height: 1.45;
    font-weight: 500;

    letter-spacing: 0.05em;
    text-transform: uppercase;
}

#preguntas-reballing .gsrbfaq-footer-status {
    display: flex;
    align-items: center;

    gap: 7px;

    color: #7791a5;
}

#preguntas-reballing .gsrbfaq-footer-status::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

    box-shadow:
        0 0 7px rgba(67, 229, 139, 0.50);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    #preguntas-reballing .gsrbfaq-shell {
        width:
            min(
                100% - 40px,
                920px
            );

        padding:
            78px 0 82px;
    }

    #preguntas-reballing .gsrbfaq-heading {
        grid-template-columns: 1fr;

        gap: 22px;
    }

    #preguntas-reballing .gsrbfaq-status {
        max-width: 650px;
    }

    #preguntas-reballing .gsrbfaq-main {
        grid-template-columns:
            minmax(0, 1fr);
    }

    #preguntas-reballing .gsrbfaq-side {
        position: static;
    }

    #preguntas-reballing .gsrbfaq-quick {
        display: grid;

        grid-template-columns:
            minmax(250px, 0.42fr)
            minmax(0, 0.58fr);

        gap: 18px;
    }

    #preguntas-reballing .gsrbfaq-quick-head {
        grid-column:
            1 / -1;

        margin-bottom: 0;
    }

    #preguntas-reballing .gsrbfaq-quick-core {
        margin:
            8px auto;
    }

    #preguntas-reballing .gsrbfaq-quick-content {
        align-self: center;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    #preguntas-reballing {
        overflow: hidden;
    }

    #preguntas-reballing .gsrbfaq-grid {
        opacity: 0.18;

        background-size: 32px 32px;
    }

    #preguntas-reballing .gsrbfaq-orbit,
    #preguntas-reballing .gsrbfaq-scan {
        display: none;
    }

    #preguntas-reballing .gsrbfaq-shell {
        width:
            calc(100% - 30px);

        max-width: 100%;

        padding:
            62px 0 66px;
    }

    #preguntas-reballing .gsrbfaq-heading {
        display: block;

        margin-bottom: 30px;
    }

    #preguntas-reballing .gsrbfaq-status {
        margin-top: 21px;

        padding:
            15px 16px;

        border-radius: 14px;
    }

    #preguntas-reballing .gsrbfaq-title {
        font-size:
            clamp(
                29px,
                9.3vw,
                38px
            );

        line-height: 1.1;
    }

    #preguntas-reballing .gsrbfaq-intro {
        font-size: 14px;
        line-height: 1.7;
    }

    #preguntas-reballing .gsrbfaq-core {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 10px;

        padding: 15px;
    }

    #preguntas-reballing .gsrbfaq-core-state {
        width: fit-content;
    }

    #preguntas-reballing .gsrbfaq-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 12px;
    }

    #preguntas-reballing .gsrbfaq-quick {
        display: block;

        padding:
            20px 16px;

        border-radius: 17px;
    }

    #preguntas-reballing .gsrbfaq-quick-head {
        flex-direction: column;
        align-items: flex-start;

        gap: 8px;
    }

    #preguntas-reballing .gsrbfaq-quick-core {
        width: 145px;
        height: 145px;

        margin:
            20px auto;

        animation: none;
    }

    #preguntas-reballing .gsrbfaq-quick-core strong {
        font-size: 11px;
    }

    #preguntas-reballing .gsrbfaq-quick-route {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    #preguntas-reballing .gsrbfaq-item summary {
        grid-template-columns:
            auto minmax(0, 1fr) auto;

        gap: 9px;

        padding:
            16px 13px;
    }

    #preguntas-reballing .gsrbfaq-number {
        width: 28px;
        height: 28px;

        flex-basis: 28px;
    }

    #preguntas-reballing .gsrbfaq-question {
        font-size: 11px;
    }

    #preguntas-reballing .gsrbfaq-toggle {
        width: 24px;
        height: 24px;

        flex-basis: 24px;
    }

    #preguntas-reballing .gsrbfaq-answer {
        padding:
            0 13px 16px 50px;

        font-size: 10px;
    }

    #preguntas-reballing .gsrbfaq-info {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #preguntas-reballing .gsrbfaq-final {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 9px;
    }

    #preguntas-reballing .gsrbfaq-final-state {
        width: fit-content;
    }

    #preguntas-reballing .gsrbfaq-terminal-body {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 14px;

        padding:
            18px 15px;
    }

    #preguntas-reballing .gsrbfaq-terminal-state {
        width: fit-content;
    }

    #preguntas-reballing .gsrbfaq-footer {
        flex-direction: column;
        align-items: flex-start;

        gap: 7px;

        margin-top: 18px;
    }
}


/* =========================================================
   390 PX
   ========================================================= */

@media (max-width: 390px) {

    #preguntas-reballing .gsrbfaq-shell {
        width:
            calc(100% - 24px);
    }

    #preguntas-reballing .gsrbfaq-quick {
        padding-left: 13px;
        padding-right: 13px;
    }

    #preguntas-reballing .gsrbfaq-quick-route {
        grid-template-columns:
            minmax(0, 1fr);
    }

    #preguntas-reballing .gsrbfaq-item summary {
        grid-template-columns:
            auto minmax(0, 1fr) auto;

        padding:
            14px 10px;

        gap: 7px;
    }

    #preguntas-reballing .gsrbfaq-number {
        width: 27px;
        height: 27px;

        flex-basis: 27px;

        font-size: 9px;
    }

    #preguntas-reballing .gsrbfaq-question {
        font-size: 10px;
        line-height: 1.45;
    }

    #preguntas-reballing .gsrbfaq-toggle {
        width: 22px;
        height: 22px;

        flex-basis: 22px;
    }

    #preguntas-reballing .gsrbfaq-answer {
        padding:
            0 10px 14px 42px;
    }
}


/* =========================================================
   HOVER — DESKTOP ONLY
   ========================================================= */

@media (hover: hover) {

    #preguntas-reballing .gsrbfaq-item:hover {
        transform:
            translateY(-1px);

        border-color:
            rgba(32, 213, 243, 0.20);
    }

    #preguntas-reballing .gsrbfaq-item summary:hover
    .gsrbfaq-question {
        color: #f1fbff;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    #preguntas-reballing,
    #preguntas-reballing *,
    #preguntas-reballing *::before,
    #preguntas-reballing *::after {
        scroll-behavior: auto !important;
        animation: none !important;
        transition: none !important;
    }

    #preguntas-reballing .gsrbfaq-scan {
        display: none !important;
    }
}


/* =========================================================
   cta-reballing
   ========================================================= */
/* =========================================================
   GAMMERS STYLE
   REBALLING — CTA FINAL
   ID INTERNO HTML: cta-reballing
   ========================================================= */

#cta-reballing {
    --rb-bg: #02070e;
    --rb-bg-2: #05101b;

    --rb-cyan: #20d5f3;
    --rb-cyan-soft: #a4f1ff;
    --rb-blue: #3286ff;
    --rb-violet: #8b5cf6;

    --rb-green: #43e58b;
    --rb-yellow: #ffc857;
    --rb-orange: #ff9f43;
    --rb-red: #ff637d;

    --rb-text: #edf8ff;
    --rb-muted: #91a8bb;
    --rb-muted-2: #687f92;

    position: relative;
    isolation: isolate;

    width: 100%;
    margin: 0;
    padding: 0;

    overflow: hidden;

    color: var(--rb-text);

    background:
        radial-gradient(
            circle at 13% 17%,
            rgba(32, 213, 243, 0.075),
            transparent 30%
        ),
        radial-gradient(
            circle at 87% 22%,
            rgba(139, 92, 246, 0.065),
            transparent 31%
        ),
        radial-gradient(
            circle at 52% 92%,
            rgba(67, 229, 139, 0.040),
            transparent 32%
        ),
        linear-gradient(
            180deg,
            #030811 0%,
            #04101b 48%,
            #02070e 100%
        );

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    scroll-margin-top: 90px;
    writing-mode: horizontal-tb;
    word-break: normal;
    overflow-wrap: break-word;
}

#cta-reballing *,
#cta-reballing *::before,
#cta-reballing *::after {
    box-sizing: border-box;

    writing-mode: horizontal-tb;
    word-break: normal;
    overflow-wrap: break-word;
}


/* =========================================================
   BACKGROUND GRID
   ========================================================= */

#cta-reballing .gsrbcta-grid {
    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.28;

    background-image:
        linear-gradient(
            rgba(32, 213, 243, 0.045) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(32, 213, 243, 0.045) 1px,
            transparent 1px
        );

    background-size: 46px 46px;

    mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 8%,
            #000 93%,
            transparent 100%
        );

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 8%,
            #000 93%,
            transparent 100%
        );
}


/* =========================================================
   GLOW / ORBITS
   ========================================================= */

#cta-reballing .gsrbcta-orbit-one,
#cta-reballing .gsrbcta-orbit-two {
    position: absolute;

    border-radius: 50%;

    pointer-events: none;
}

#cta-reballing .gsrbcta-orbit-one {
    left: -210px;
    top: 170px;

    width: 470px;
    height: 470px;

    border:
        1px solid rgba(32, 213, 243, 0.045);

    animation:
        gsrbcta-spin
        50s linear infinite;
}

#cta-reballing .gsrbcta-orbit-one::before {
    content: "";

    position: absolute;

    inset: 88px;

    border:
        1px dashed rgba(139, 92, 246, 0.055);

    border-radius: 50%;
}

#cta-reballing .gsrbcta-orbit-two {
    right: -250px;
    bottom: -100px;

    width: 560px;
    height: 560px;

    border:
        1px solid rgba(139, 92, 246, 0.045);

    animation:
        gsrbcta-spin
        64s linear infinite reverse;
}

#cta-reballing .gsrbcta-orbit-two::before {
    content: "";

    position: absolute;

    inset: 105px;

    border:
        1px dashed rgba(67, 229, 139, 0.045);

    border-radius: 50%;
}

@keyframes gsrbcta-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


/* =========================================================
   SCAN
   ========================================================= */

#cta-reballing .gsrbcta-scan {
    position: absolute;
    inset: 0;

    overflow: hidden;

    pointer-events: none;
}

#cta-reballing .gsrbcta-scan::before {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    top: 0;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(32, 213, 243, 0.28),
            rgba(139, 92, 246, 0.15),
            transparent
        );

    box-shadow:
        0 0 18px rgba(32, 213, 243, 0.08);

    animation:
        gsrbcta-scan-move
        12s linear infinite;
}

@keyframes gsrbcta-scan-move {
    0% {
        transform: translateY(0);
        opacity: 0;
    }

    8% {
        opacity: 0.38;
    }

    92% {
        opacity: 0.15;
    }

    100% {
        transform: translateY(3500px);
        opacity: 0;
    }
}


/* =========================================================
   SHELL
   ========================================================= */

#cta-reballing .gsrbcta-shell {
    position: relative;
    z-index: 2;

    width:
        min(
            1180px,
            calc(100% - 48px)
        );

    margin: 0 auto;

    padding:
        98px 0 88px;
}


/* =========================================================
   MAIN CTA PANEL
   ========================================================= */

#cta-reballing .gsrbcta-main {
    position: relative;

    display: grid;

    grid-template-columns:
        minmax(0, 1.04fr)
        minmax(420px, 0.96fr);

    gap: 32px;

    align-items: stretch;

    overflow: hidden;

    padding: 34px;

    border:
        1px solid rgba(32, 213, 243, 0.16);

    border-radius: 25px;

    background:
        radial-gradient(
            circle at 8% 10%,
            rgba(32, 213, 243, 0.075),
            transparent 30%
        ),
        radial-gradient(
            circle at 92% 12%,
            rgba(139, 92, 246, 0.070),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            rgba(8, 24, 40, 0.95),
            rgba(4, 12, 22, 0.98)
        );

    box-shadow:
        0 35px 90px rgba(0, 0, 0, 0.26);
}

#cta-reballing .gsrbcta-main::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 180px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--rb-cyan),
            transparent
        );
}

#cta-reballing .gsrbcta-main::after {
    content: "";

    position: absolute;

    right: 0;
    bottom: 0;

    width: 150px;
    height: 2px;

    background:
        linear-gradient(
            270deg,
            var(--rb-violet),
            transparent
        );
}


/* =========================================================
   MAIN COPY
   ========================================================= */

#cta-reballing .gsrbcta-copy {
    min-width: 0;

    padding:
        12px 4px;
}


/* =========================================================
   KICKER
   ========================================================= */

#cta-reballing .gsrbcta-kicker {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-bottom: 17px;
    padding:
        7px 11px;

    border:
        1px solid rgba(32, 213, 243, 0.20);

    border-radius: 999px;

    background:
        rgba(7, 28, 41, 0.45);

    color: #9eeeff;

    font-size: 10px;
    line-height: 1.2;
    font-weight: 600;

    letter-spacing: 0.12em;
    text-transform: uppercase;
}

#cta-reballing .gsrbcta-kicker::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--rb-cyan);

    box-shadow:
        0 0 8px rgba(32, 213, 243, 0.80),
        0 0 17px rgba(32, 213, 243, 0.22);
}


/* =========================================================
   TITLE
   ========================================================= */

#cta-reballing .gsrbcta-title {
    max-width: 760px;

    margin: 0;

    color: #f4fbff;

    font-size:
        clamp(
            34px,
            4.5vw,
            56px
        );

    line-height: 1.06;
    font-weight: 700;

    letter-spacing: -0.04em;
}

#cta-reballing .gsrbcta-title span {
    color: var(--rb-cyan);
}


/* =========================================================
   LEAD
   ========================================================= */

#cta-reballing .gsrbcta-lead {
    max-width: 730px;

    margin:
        20px 0 0;

    color: #9ab0c0;

    font-size: 15px;
    line-height: 1.78;
}

#cta-reballing .gsrbcta-principle {
    position: relative;

    max-width: 720px;

    margin-top: 19px;
    padding:
        16px 17px 16px 19px;

    border:
        1px solid rgba(139, 92, 246, 0.14);

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            rgba(139, 92, 246, 0.045),
            rgba(32, 213, 243, 0.025)
        );

    color: #859cab;

    font-size: 11px;
    line-height: 1.66;
}

#cta-reballing .gsrbcta-principle::before {
    content: "";

    position: absolute;

    left: 0;
    top: 13px;
    bottom: 13px;

    width: 2px;

    background:
        linear-gradient(
            180deg,
            transparent,
            var(--rb-violet),
            transparent
        );
}

#cta-reballing .gsrbcta-principle strong {
    color: #e4f6ff;

    font-weight: 600;
}


/* =========================================================
   BUTTONS
   ========================================================= */

#cta-reballing .gsrbcta-actions {
    display: flex;
    flex-wrap: wrap;

    gap: 10px;

    margin-top: 24px;
}

#cta-reballing .gsrbcta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    min-height: 48px;

    padding:
        12px 17px;

    border-radius: 11px;

    text-decoration: none;

    font-size: 11px;
    line-height: 1.3;
    font-weight: 600;

    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

#cta-reballing .gsrbcta-btn-whatsapp {
    border:
        1px solid rgba(67, 229, 139, 0.32);

    background:
        linear-gradient(
            135deg,
            rgba(67, 229, 139, 0.17),
            rgba(67, 229, 139, 0.08)
        );

    color: #b9f9d5;

    box-shadow:
        0 0 25px rgba(67, 229, 139, 0.06);
}

#cta-reballing .gsrbcta-btn-phone {
    border:
        1px solid rgba(32, 213, 243, 0.25);

    background:
        rgba(32, 213, 243, 0.050);

    color: #b7f3ff;
}

#cta-reballing .gsrbcta-btn-whatsapp .gs-global-wa-icon {
    margin-right: 0 !important;
    flex: 0 0 auto;
}

#cta-reballing .gsrbcta-btn-map {
    border:
        1px solid rgba(139, 92, 246, 0.22);

    background:
        rgba(139, 92, 246, 0.045);

    color: #d0c6ff;
}

#cta-reballing .gsrbcta-btn-icon {
    display: grid;
    place-items: center;

    min-width: 22px;
    width: auto;
    height: 22px;

    flex: 0 0 auto;
    padding: 0 4px;

    border:
        1px solid currentColor;

    border-radius: 7px;

    opacity: 0.72;

    font-size: 8px;
    line-height: 1;
    font-weight: 700;
}


/* =========================================================
   MICRO TRUST
   ========================================================= */

#cta-reballing .gsrbcta-microtrust {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    margin-top: 20px;
}

#cta-reballing .gsrbcta-microtrust span {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    padding:
        7px 9px;

    border:
        1px solid rgba(92, 208, 255, 0.08);

    border-radius: 8px;

    background:
        rgba(5, 17, 30, 0.55);

    color: #7992a3;

    font-size: 10px;
    line-height: 1.35;
    font-weight: 500;
}

#cta-reballing .gsrbcta-microtrust span::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

    box-shadow:
        0 0 6px rgba(67, 229, 139, 0.45);
}


/* =========================================================
   HUD
   ========================================================= */

#cta-reballing .gsrbcta-hud {
    position: relative;

    min-width: 0;

    padding: 22px;

    overflow: hidden;

    border:
        1px solid rgba(139, 92, 246, 0.17);

    border-radius: 19px;

    background:
        linear-gradient(
            145deg,
            rgba(24, 18, 45, 0.42),
            rgba(4, 12, 22, 0.97)
        );
}

#cta-reballing .gsrbcta-hud::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: 0.30;

    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: 28px 28px;
}


/* =========================================================
   HUD HEAD
   ========================================================= */

#cta-reballing .gsrbcta-hud-head {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;
}

#cta-reballing .gsrbcta-hud-code {
    color: #c4b7ff;

    font-size: 10px;
    line-height: 1.3;
    font-weight: 700;

    letter-spacing: 0.07em;
    text-transform: uppercase;
}

#cta-reballing .gsrbcta-hud-state {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    flex-shrink: 0;

    padding:
        5px 8px;

    border:
        1px solid rgba(67, 229, 139, 0.16);

    border-radius: 999px;

    background:
        rgba(67, 229, 139, 0.035);

    color: #94efbc;

    font-size: 9px;
    line-height: 1.2;
    font-weight: 600;
}

#cta-reballing .gsrbcta-hud-state::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

    box-shadow:
        0 0 7px rgba(67, 229, 139, 0.55);
}


/* =========================================================
   HUD MESSAGE
   ========================================================= */

#cta-reballing .gsrbcta-hud-message {
    position: relative;
    z-index: 2;

    margin-top: 18px;
    padding:
        19px;

    border:
        1px solid rgba(32, 213, 243, 0.10);

    border-radius: 14px;

    background:
        rgba(4, 15, 27, 0.72);
}

#cta-reballing .gsrbcta-hud-message-code {
    display: block;

    margin-bottom: 7px;

    color: #9cefff;

    font-size: 10px;
    line-height: 1.3;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.07em;
}

#cta-reballing .gsrbcta-hud-message strong {
    display: block;

    color: #eafaff;

    font-size: 16px;
    line-height: 1.48;
    font-weight: 600;
}

#cta-reballing .gsrbcta-hud-message span:last-child {
    display: block;

    margin-top: 8px;

    color: #7e96a6;

    font-size: 10px;
    line-height: 1.62;
}


/* =========================================================
   SERVICE REQUEST ROUTE
   ========================================================= */

#cta-reballing .gsrbcta-route {
    position: relative;
    z-index: 2;

    display: grid;

    gap: 7px;

    margin-top: 14px;
}

#cta-reballing .gsrbcta-route-row {
    --route-color: #20d5f3;

    display: grid;

    grid-template-columns:
        84px minmax(0, 1fr) auto;

    gap: 9px;

    align-items: center;

    min-width: 0;

    padding:
        10px 11px;

    border:
        1px solid rgba(92, 208, 255, 0.075);

    border-radius: 9px;

    background:
        rgba(5, 17, 30, 0.63);
}

#cta-reballing .gsrbcta-route-row:nth-child(1) {
    --route-color: #20d5f3;
}

#cta-reballing .gsrbcta-route-row:nth-child(2) {
    --route-color: #3286ff;
}

#cta-reballing .gsrbcta-route-row:nth-child(3) {
    --route-color: #8b5cf6;
}

#cta-reballing .gsrbcta-route-row:nth-child(4) {
    --route-color: #ffc857;
}

#cta-reballing .gsrbcta-route-row:nth-child(5) {
    --route-color: #43e58b;
}

#cta-reballing .gsrbcta-route-row:nth-child(6) {
    --route-color: #20d5f3;
}

#cta-reballing .gsrbcta-route-row:nth-child(7) {
    --route-color: #3286ff;
}

#cta-reballing .gsrbcta-route-label {
    color: var(--route-color);

    font-size: 10px;
    line-height: 1.35;
    font-weight: 700;

    text-transform: uppercase;
}

#cta-reballing .gsrbcta-route-copy {
    min-width: 0;

    color: #7e96a6;

    font-size: 10px;
    line-height: 1.48;
}

#cta-reballing .gsrbcta-route-copy strong {
    color: #d7e8f1;

    font-weight: 600;
}

#cta-reballing .gsrbcta-route-node {
    width: 6px;
    height: 6px;

    flex: 0 0 6px;

    border-radius: 50%;

    background: var(--route-color);

    box-shadow:
        0 0 7px var(--route-color);
}


/* =========================================================
   HUD FOOT
   ========================================================= */

#cta-reballing .gsrbcta-hud-foot {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;

    margin-top: 14px;
    padding-top: 14px;

    border-top:
        1px solid rgba(255,255,255,0.055);
}

#cta-reballing .gsrbcta-hud-foot strong {
    color: #a0efc1;

    font-size: 10px;
    line-height: 1.4;
    font-weight: 600;

    text-transform: uppercase;
}

#cta-reballing .gsrbcta-hud-foot span {
    color: #60798a;

    font-size: 9px;
    line-height: 1.4;
}


/* =========================================================
   TRUST CARDS
   ========================================================= */

#cta-reballing .gsrbcta-trust {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 10px;

    margin-top: 18px;
}

#cta-reballing .gsrbcta-trust-card {
    --trust-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding:
        18px 15px 16px;

    overflow: hidden;

    border-radius: 14px;

    background:
        linear-gradient(
            145deg,
            rgba(8, 22, 39, 0.89),
            rgba(4, 12, 22, 0.97)
        );
}

#cta-reballing .gsrbcta-trust-card.diagnosis {
    --trust-color: #20d5f3;

    border:
        1px solid rgba(32, 213, 243, 0.13);
}

#cta-reballing .gsrbcta-trust-card.payment {
    --trust-color: #ffc857;

    border:
        1px solid rgba(255, 200, 87, 0.13);
}

#cta-reballing .gsrbcta-trust-card.warranty {
    --trust-color: #43e58b;

    border:
        1px solid rgba(67, 229, 139, 0.13);
}

#cta-reballing .gsrbcta-trust-card.time {
    --trust-color: #3286ff;

    border:
        1px solid rgba(50, 134, 255, 0.13);
}

#cta-reballing .gsrbcta-trust-card.national {
    --trust-color: #8b5cf6;

    border:
        1px solid rgba(139, 92, 246, 0.13);
}

#cta-reballing .gsrbcta-trust-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 68px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--trust-color),
            transparent
        );
}

#cta-reballing .gsrbcta-trust-code {
    display: block;

    margin-bottom: 8px;

    color: var(--trust-color);

    font-size: 10px;
    line-height: 1.25;
    font-weight: 700;

    text-transform: uppercase;
}

#cta-reballing .gsrbcta-trust-title {
    display: block;

    margin-bottom: 5px;

    color: #dcebf4;

    font-size: 10px;
    line-height: 1.42;
    font-weight: 600;
}

#cta-reballing .gsrbcta-trust-copy {
    display: block;

    color: #748c9c;

    font-size: 10px;
    line-height: 1.58;
}


/* =========================================================
   NATIONAL SERVICE
   ========================================================= */

#cta-reballing .gsrbcta-national {
    display: grid;

    grid-template-columns:
        minmax(0, 0.92fr)
        minmax(0, 1.08fr);

    gap: 18px;

    margin-top: 18px;
}


/* =========================================================
   NATIONAL COPY
   ========================================================= */

#cta-reballing .gsrbcta-national-copy,
#cta-reballing .gsrbcta-local {
    position: relative;

    min-width: 0;

    padding: 24px;

    overflow: hidden;

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(8, 22, 39, 0.91),
            rgba(4, 12, 22, 0.97)
        );
}

#cta-reballing .gsrbcta-national-copy {
    border:
        1px solid rgba(139, 92, 246, 0.14);
}

#cta-reballing .gsrbcta-local {
    border:
        1px solid rgba(32, 213, 243, 0.13);
}

#cta-reballing .gsrbcta-panel-code {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 10px;

    color: #c5b9ff;

    font-size: 10px;
    line-height: 1.3;
    font-weight: 700;

    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#cta-reballing .gsrbcta-panel-code::before {
    content: "";

    width: 14px;
    height: 1px;

    background: currentColor;

    box-shadow:
        0 0 7px currentColor;
}

#cta-reballing .gsrbcta-panel-title {
    margin: 0;

    color: #eff9ff;

    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
}

#cta-reballing .gsrbcta-panel-copy {
    margin:
        9px 0 0;

    color: #8199a9;

    font-size: 10px;
    line-height: 1.67;
}


/* =========================================================
   SHIPPING STEPS
   ========================================================= */

#cta-reballing .gsrbcta-shipping {
    display: grid;

    gap: 7px;

    margin-top: 17px;
}

#cta-reballing .gsrbcta-shipping-row {
    display: grid;

    grid-template-columns:
        28px minmax(0, 1fr);

    gap: 10px;

    align-items: start;

    padding:
        10px 11px;

    border:
        1px solid rgba(139, 92, 246, 0.075);

    border-radius: 9px;

    background:
        rgba(5, 17, 30, 0.52);
}

#cta-reballing .gsrbcta-shipping-number {
    display: grid;
    place-items: center;

    width: 27px;
    height: 27px;

    border:
        1px solid rgba(139, 92, 246, 0.17);

    border-radius: 8px;

    color: #c9bdff;

    font-size: 8px;
    line-height: 1;
    font-weight: 700;
}

#cta-reballing .gsrbcta-shipping-copy {
    color: #758d9d;

    font-size: 10px;
    line-height: 1.55;
}

#cta-reballing .gsrbcta-shipping-copy strong {
    display: block;

    margin-bottom: 2px;

    color: #d8e8f1;

    font-weight: 600;
}


/* =========================================================
   SHIPPING COST
   ========================================================= */

#cta-reballing .gsrbcta-guide {
    display: grid;

    grid-template-columns:
        auto minmax(0, 1fr);

    gap: 11px;

    align-items: center;

    margin-top: 14px;
    padding:
        13px;

    border:
        1px solid rgba(255, 200, 87, 0.12);

    border-radius: 11px;

    background:
        rgba(255, 200, 87, 0.025);
}

#cta-reballing .gsrbcta-guide-price {
    min-width: 92px;

    color: #ffe19c;

    font-size: 17px;
    line-height: 1.15;
    font-weight: 700;
}

#cta-reballing .gsrbcta-guide-price span {
    display: block;

    margin-top: 3px;

    color: #8c825f;

    font-size: 9px;
    line-height: 1.3;
    font-weight: 600;

    text-transform: uppercase;
}

#cta-reballing .gsrbcta-guide-copy {
    color: #8c856e;

    font-size: 10px;
    line-height: 1.58;
}

#cta-reballing .gsrbcta-guide-copy strong {
    color: #e8d9a9;
    font-weight: 600;
}


/* =========================================================
   RETURN SHIPPING
   ========================================================= */

#cta-reballing .gsrbcta-return {
    display: flex;
    align-items: flex-start;

    gap: 9px;

    margin-top: 12px;
    padding:
        12px;

    border:
        1px solid rgba(67, 229, 139, 0.12);

    border-radius: 10px;

    background:
        rgba(67, 229, 139, 0.025);

    color: #799b87;

    font-size: 10px;
    line-height: 1.58;
}

#cta-reballing .gsrbcta-return::before {
    content: "✓";

    display: grid;
    place-items: center;

    width: 20px;
    height: 20px;

    flex: 0 0 20px;

    border:
        1px solid rgba(67, 229, 139, 0.20);

    border-radius: 50%;

    color: #9cf0bf;

    font-size: 8px;
    font-weight: 700;
}

#cta-reballing .gsrbcta-return strong {
    color: #afeec6;
    font-weight: 600;
}


/* =========================================================
   LOCAL CONTACT
   ========================================================= */

#cta-reballing .gsrbcta-local .gsrbcta-panel-code {
    color: #9cefff;
}

#cta-reballing .gsrbcta-contact-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 8px;

    margin-top: 17px;
}

#cta-reballing .gsrbcta-contact {
    --contact-color: #20d5f3;

    min-width: 0;

    padding:
        13px;

    border:
        1px solid rgba(92, 208, 255, 0.075);

    border-radius: 10px;

    background:
        rgba(5, 17, 30, 0.55);
}

#cta-reballing .gsrbcta-contact.whatsapp {
    --contact-color: #43e58b;
}

#cta-reballing .gsrbcta-contact.phone {
    --contact-color: #20d5f3;
}

#cta-reballing .gsrbcta-contact.email {
    --contact-color: #8b5cf6;
}

#cta-reballing .gsrbcta-contact.hours {
    --contact-color: #ffc857;
}

#cta-reballing .gsrbcta-contact-code {
    display: block;

    margin-bottom: 5px;

    color: var(--contact-color);

    font-size: 9px;
    line-height: 1.3;
    font-weight: 700;

    text-transform: uppercase;
}

#cta-reballing .gsrbcta-contact strong,
#cta-reballing .gsrbcta-contact a {
    display: block;

    color: #d7e8f1;

    font-size: 10px;
    line-height: 1.5;
    font-weight: 600;

    text-decoration: none;
}

#cta-reballing .gsrbcta-contact span:last-child {
    display: block;

    margin-top: 3px;

    color: #71899a;

    font-size: 9px;
    line-height: 1.48;
}


/* =========================================================
   ADDRESS
   ========================================================= */

#cta-reballing .gsrbcta-address {
    margin-top: 10px;
    padding:
        14px;

    border:
        1px solid rgba(32, 213, 243, 0.09);

    border-radius: 11px;

    background:
        rgba(5, 17, 30, 0.52);
}

#cta-reballing .gsrbcta-address-code {
    display: block;

    margin-bottom: 6px;

    color: #9cefff;

    font-size: 9px;
    line-height: 1.3;
    font-weight: 700;

    text-transform: uppercase;
}

#cta-reballing .gsrbcta-address strong {
    display: block;

    color: #dcecf4;

    font-size: 10px;
    line-height: 1.62;
    font-weight: 600;
}

#cta-reballing .gsrbcta-address span:last-child {
    display: block;

    margin-top: 5px;

    color: #748d9d;

    font-size: 10px;
    line-height: 1.55;
}


/* =========================================================
   FINAL INSTITUTIONAL STRIP
   ========================================================= */

#cta-reballing .gsrbcta-institutional {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 10px;

    margin-top: 18px;
}

#cta-reballing .gsrbcta-institutional-card {
    --institution-color: #20d5f3;

    position: relative;

    min-width: 0;

    padding:
        17px 15px;

    overflow: hidden;

    border-radius: 13px;

    background:
        linear-gradient(
            145deg,
            rgba(8, 22, 39, 0.88),
            rgba(4, 12, 22, 0.97)
        );
}

#cta-reballing .gsrbcta-institutional-card.since {
    --institution-color: #20d5f3;

    border:
        1px solid rgba(32, 213, 243, 0.13);
}

#cta-reballing .gsrbcta-institutional-card.devices {
    --institution-color: #8b5cf6;

    border:
        1px solid rgba(139, 92, 246, 0.13);
}

#cta-reballing .gsrbcta-institutional-card.independent {
    --institution-color: #43e58b;

    border:
        1px solid rgba(67, 229, 139, 0.13);
}

#cta-reballing .gsrbcta-institutional-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 70px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--institution-color),
            transparent
        );
}

#cta-reballing .gsrbcta-institutional-code {
    display: block;

    margin-bottom: 7px;

    color: var(--institution-color);

    font-size: 10px;
    line-height: 1.3;
    font-weight: 700;

    text-transform: uppercase;
}

#cta-reballing .gsrbcta-institutional-title {
    display: block;

    margin-bottom: 4px;

    color: #dcebf4;

    font-size: 11px;
    line-height: 1.42;
    font-weight: 600;
}

#cta-reballing .gsrbcta-institutional-copy {
    display: block;

    color: #71899a;

    font-size: 10px;
    line-height: 1.55;
}


/* =========================================================
   TERMINAL
   ========================================================= */

#cta-reballing .gsrbcta-terminal {
    margin-top: 18px;

    overflow: hidden;

    border:
        1px solid rgba(139, 92, 246, 0.18);

    border-radius: 18px;

    background:
        linear-gradient(
            155deg,
            rgba(10, 18, 38, 0.95),
            rgba(4, 9, 20, 0.98)
        );
}

#cta-reballing .gsrbcta-terminal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    min-height: 44px;

    padding:
        10px 14px;

    border-bottom:
        1px solid rgba(118, 167, 255, 0.10);

    background:
        rgba(8, 18, 34, 0.75);
}

#cta-reballing .gsrbcta-terminal-dots {
    display: flex;

    gap: 6px;
}

#cta-reballing .gsrbcta-terminal-dots span {
    width: 6px;
    height: 6px;

    border-radius: 50%;
}

#cta-reballing .gsrbcta-terminal-dots span:nth-child(1) {
    background: var(--rb-red);
}

#cta-reballing .gsrbcta-terminal-dots span:nth-child(2) {
    background: var(--rb-yellow);
}

#cta-reballing .gsrbcta-terminal-dots span:nth-child(3) {
    background: var(--rb-green);
}

#cta-reballing .gsrbcta-terminal-name {
    color: #71889d;

    font-size: 10px;
    line-height: 1.2;
    font-weight: 600;

    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#cta-reballing .gsrbcta-terminal-body {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr) auto;

    gap: 22px;

    align-items: center;

    padding:
        20px 21px;
}

#cta-reballing .gsrbcta-terminal-route {
    display: flex;
    flex-wrap: wrap;

    gap: 7px;
}

#cta-reballing .gsrbcta-terminal-route span {
    display: inline-flex;
    align-items: center;

    min-height: 29px;

    padding:
        6px 9px;

    border:
        1px solid rgba(92, 208, 255, 0.08);

    border-radius: 7px;

    background:
        rgba(6, 18, 31, 0.52);

    color: #879eae;

    font-size: 10px;
    line-height: 1.35;
    font-weight: 500;
}

#cta-reballing .gsrbcta-terminal-state {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    flex-shrink: 0;

    padding:
        8px 10px;

    border:
        1px solid rgba(67, 229, 139, 0.14);

    border-radius: 9px;

    background:
        rgba(67, 229, 139, 0.035);

    color: #9cefc0;

    font-size: 9px;
    line-height: 1.35;
    font-weight: 600;
}

#cta-reballing .gsrbcta-terminal-state::before {
    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--rb-green);

    box-shadow:
        0 0 7px rgba(67, 229, 139, 0.55);
}


/* =========================================================
   FOOTER
   ========================================================= */

#cta-reballing .gsrbcta-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin-top: 22px;
    padding: 0 3px;

    color: #60788c;

    font-size: 10px;
    line-height: 1.45;
    font-weight: 500;

    letter-spacing: 0.05em;
    text-transform: uppercase;
}

#cta-reballing .gsrbcta-footer-status {
    display: flex;
    align-items: center;

    gap: 7px;

    color: #7791a5;
}

#cta-reballing .gsrbcta-footer-status::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--rb-green);

    box-shadow:
        0 0 7px rgba(67, 229, 139, 0.50);
}



#cta-reballing .gsrbcta-btn:focus-visible,
#cta-reballing .gsrbcta-contact a:focus-visible {
    outline: 2px solid rgba(32, 213, 243, 0.92);
    outline-offset: 3px;
}


/* =========================================================
   HOVER — DESKTOP ONLY
   ========================================================= */

@media (hover: hover) {

    #cta-reballing .gsrbcta-btn:hover {
        transform: translateY(-2px);
    }

    #cta-reballing .gsrbcta-btn-whatsapp:hover {
        border-color:
            rgba(67, 229, 139, 0.50);

        box-shadow:
            0 10px 28px rgba(67, 229, 139, 0.10);
    }

    #cta-reballing .gsrbcta-btn-phone:hover {
        border-color:
            rgba(32, 213, 243, 0.42);

        box-shadow:
            0 10px 28px rgba(32, 213, 243, 0.08);
    }

    #cta-reballing .gsrbcta-btn-map:hover {
        border-color:
            rgba(139, 92, 246, 0.40);

        box-shadow:
            0 10px 28px rgba(139, 92, 246, 0.08);
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    #cta-reballing .gsrbcta-shell {
        width:
            min(
                100% - 40px,
                920px
            );

        padding:
            78px 0 82px;
    }

    #cta-reballing .gsrbcta-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 22px;
    }

    #cta-reballing .gsrbcta-hud {
        max-width: 760px;
    }

    #cta-reballing .gsrbcta-trust {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    #cta-reballing .gsrbcta-trust-card.national {
        grid-column:
            1 / -1;
    }

    #cta-reballing .gsrbcta-national {
        grid-template-columns:
            minmax(0, 1fr);
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    #cta-reballing {
        overflow: hidden;
    }

    #cta-reballing .gsrbcta-grid {
        opacity: 0.18;

        background-size: 32px 32px;
    }

    #cta-reballing .gsrbcta-orbit-one,
    #cta-reballing .gsrbcta-orbit-two,
    #cta-reballing .gsrbcta-scan {
        display: none;
    }

    #cta-reballing .gsrbcta-shell {
        width:
            calc(100% - 30px);

        max-width: 100%;

        padding:
            64px 0 68px;
    }

    #cta-reballing .gsrbcta-main {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 18px;

        padding:
            22px 16px;

        border-radius: 20px;
    }

    #cta-reballing .gsrbcta-copy {
        padding: 0;
    }

    #cta-reballing .gsrbcta-title {
        font-size:
            clamp(
                31px,
                9.8vw,
                42px
            );

        line-height: 1.08;
    }

    #cta-reballing .gsrbcta-lead {
        font-size: 14px;
        line-height: 1.72;
    }

    #cta-reballing .gsrbcta-actions {
        display: grid;

        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #cta-reballing .gsrbcta-btn {
        width: 100%;

        justify-content: flex-start;
    }

    #cta-reballing .gsrbcta-microtrust {
        display: grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    #cta-reballing .gsrbcta-hud {
        padding:
            18px 14px;

        border-radius: 16px;
    }

    #cta-reballing .gsrbcta-hud-head {
        flex-direction: column;
        align-items: flex-start;

        gap: 8px;
    }

    #cta-reballing .gsrbcta-route-row {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 4px;
    }

    #cta-reballing .gsrbcta-route-node {
        display: none;
    }

    #cta-reballing .gsrbcta-hud-foot {
        flex-direction: column;
        align-items: flex-start;

        gap: 5px;
    }

    #cta-reballing .gsrbcta-trust {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #cta-reballing .gsrbcta-trust-card.national {
        grid-column: auto;
    }

    #cta-reballing .gsrbcta-national {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 12px;
    }

    #cta-reballing .gsrbcta-national-copy,
    #cta-reballing .gsrbcta-local {
        padding:
            20px 16px;

        border-radius: 16px;
    }

    #cta-reballing .gsrbcta-guide {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 7px;
    }

    #cta-reballing .gsrbcta-contact-grid {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 7px;
    }

    #cta-reballing .gsrbcta-institutional {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }

    #cta-reballing .gsrbcta-terminal-body {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 14px;

        padding:
            18px 15px;
    }

    #cta-reballing .gsrbcta-terminal-state {
        width: fit-content;
    }

    #cta-reballing .gsrbcta-footer {
        flex-direction: column;
        align-items: flex-start;

        gap: 7px;

        margin-top: 18px;
    }
}


/* =========================================================
   390 PX
   ========================================================= */

@media (max-width: 390px) {

    #cta-reballing .gsrbcta-shell {
        width:
            calc(100% - 24px);
    }

    #cta-reballing .gsrbcta-main {
        padding:
            19px 13px;
    }

    #cta-reballing .gsrbcta-microtrust {
        grid-template-columns:
            minmax(0, 1fr);
    }

    #cta-reballing .gsrbcta-hud,
    #cta-reballing .gsrbcta-national-copy,
    #cta-reballing .gsrbcta-local {
        padding-left: 13px;
        padding-right: 13px;
    }

    #cta-reballing .gsrbcta-terminal-route {
        display: grid;

        grid-template-columns:
            minmax(0, 1fr);
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    #cta-reballing,
    #cta-reballing *,
    #cta-reballing *::before,
    #cta-reballing *::after {
        scroll-behavior: auto !important;
        animation: none !important;
        transition: none !important;
    }

    #cta-reballing .gsrbcta-scan {
        display: none !important;
    }
}

/* Estado de hidratación de paneles técnicos secundarios */
#reballing-inicio .gsrb__loading,
#que-es-reballing .gsrb__loading,
#cuando-evaluar-bga .gsrb__loading,
#proceso-reballing .gsrb__loading,
#viabilidad-riesgos-reballing .gsrb__loading,
#aplicaciones-alcance-reballing .gsrb__loading,
#diagnostico-garantia-reballing .gsrb__loading,
#cta-reballing .gsrb__loading {
    margin: auto;
    padding: 18px;
    color: #91a8bb;
    font-size: 11px;
    line-height: 1.6;
    text-align: center;
}
