/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   HOW WE WORK — Signal icon screens
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.co-section-values {
    position: relative;
    background: #f2f4f2 !important;
    overflow: hidden;
}

.co-section-values::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(61,180,81,0.10) 1px, transparent 1px);
    background-size: 36px 36px;
    pointer-events: none;
    z-index: 0;
}

.co-section-values .co-section-inner {
    position: relative;
    z-index: 1;
}

/* Card base */
.co-section-values .co-value-card {
    background: #000000;
    border: 1px solid rgba(0,0,0,0.07);
    border-top: 3px solid transparent;
    border-radius: 0;
    padding: 36px 32px 32px;
    position: relative;
    overflow: visible;
    transition: box-shadow 0.4s ease, transform 0.4s ease, border-top-color 0.3s ease;
}

.co-section-values .co-value-card::before { display: none; }
.co-section-values .co-value-card::after  { display: none; }

.co-section-values .co-value-card:hover {
    box-shadow: 0 12px 48px rgba(61,180,81,0.13), 0 2px 8px rgba(0,0,0,0.05);
    transform: translateY(-5px);
    border-top-color: #3db451;
}

/* Signal screen — replaces icon area */
.co-signal-screen {
    position: relative;
    width: 80px;
    height: 80px;
    margin-bottom: 18px;
    background: #0b0e0b;
    border: 1px solid rgba(61,180,81,0.25);
    box-shadow: inset 0 0 12px rgba(61,180,81,0.08);
    overflow: hidden;
    flex-shrink: 0;
}

/* CRT scanline texture */
.co-signal-screen::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        rgba(0,0,0,0.18) 2px,
        rgba(0,0,0,0.18) 3px
    );
    pointer-events: none;
    z-index: 3;
}

/* Canvas inside screen */
.co-signal-canvas {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    z-index: 2;
}

/* Idle icon — fades out on hover */
.co-signal-icon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #3db451;
    z-index: 4;
    transition: opacity 0.3s ease;
}

.co-value-card:hover .co-signal-icon {
    opacity: 0;
}

/* Precision corner brackets */
.co-signal-screen .corner {
    position: absolute;
    width: 8px;
    height: 8px;
    border-color: rgba(61,180,81,0.6);
    border-style: solid;
    z-index: 5;
}
.co-signal-screen .corner-tl { top: 3px;    left: 3px;  border-width: 1px 0 0 1px; }
.co-signal-screen .corner-tr { top: 3px;    right: 3px; border-width: 1px 1px 0 0; }
.co-signal-screen .corner-bl { bottom: 3px; left: 3px;  border-width: 0 0 1px 1px; }
.co-signal-screen .corner-br { bottom: 3px; right: 3px; border-width: 0 1px 1px 0; }

/* Hide original icon — screen takes its place */
.co-section-values .co-value-icon {
    display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   STANDARDS — X-Ray Scan Effect
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.co-section-partners {
    position: relative;
    background: #000000 !important;
    overflow: hidden;
}

.co-section-partners .co-section-label   { color: #3db451; }
.co-section-partners .co-section-heading { color: #ffffff !important; }
.co-section-partners .co-partners-intro  { color: rgba(255,255,255,0.5) !important; }

/* CRT horizontal lines across section */
.co-section-partners::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 3px,
        rgba(61,180,81,0.018) 3px,
        rgba(61,180,81,0.018) 4px
    );
    pointer-events: none;
    z-index: 0;
}

/* Moving X-ray bar */
.xray-scan-bar {
    position: absolute;
    top: 0; bottom: 0;
    width: 3px;
    background: linear-gradient(180deg,
        transparent 0%,
        rgba(61,180,81,0.0) 5%,
        rgba(61,180,81,0.6) 30%,
        rgba(61,180,81,1.0) 50%,
        rgba(61,180,81,0.6) 70%,
        rgba(61,180,81,0.0) 95%,
        transparent 100%
    );
    box-shadow:
        0 0 12px 4px rgba(61,180,81,0.35),
        0 0 40px 12px rgba(61,180,81,0.12);
    pointer-events: none;
    z-index: 10;
    left: -4px;
    animation: xraySweep 5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.xray-scan-bar::before {
    content: '';
    position: absolute;
    top: 0; right: 3px; bottom: 0;
    width: 80px;
    background: linear-gradient(90deg, transparent 0%, rgba(61,180,81,0.04) 100%);
    pointer-events: none;
}

@keyframes xraySweep {
    0%   { left: -4px; opacity: 0; }
    3%   { opacity: 1; }
    97%  { opacity: 1; }
    100% { left: calc(100% + 4px); opacity: 0; }
}

.co-section-partners .co-section-inner { position: relative; z-index: 2; }

/* Cert cards — dark */
.co-section-partners .co-cert {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-top: none;
    position: relative;
    overflow: hidden;
    transition: background 0.4s ease, border-color 0.3s ease, box-shadow 0.4s ease;
}

.co-cert-scanline {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: #3db451;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0s;
    z-index: 3;
}

.co-cert.xray-lit .co-cert-scanline {
    transform: scaleX(1);
    transition: transform 0.15s ease-out;
}

.co-cert.xray-lit {
    background: rgba(61,180,81,0.07) !important;
    border-color: rgba(61,180,81,0.25) !important;
    box-shadow: 0 0 30px rgba(61,180,81,0.08) inset;
}

.co-cert.xray-fading {
    background: rgba(255,255,255,0.04) !important;
    border-color: rgba(255,255,255,0.08) !important;
    box-shadow: none;
    transition: background 1.2s ease, border-color 1.2s ease, box-shadow 1.2s ease;
}

.co-cert.xray-fading .co-cert-scanline {
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.8s ease-in 0.1s;
}

.co-section-partners .co-cert h4        { color: #ffffff; }
.co-section-partners .co-cert p         { color: rgba(255,255,255,0.45); max-width: 100%; }
.co-section-partners .co-cert-icon      { color: #3db451; }
.co-section-partners .co-cert:hover     { background: rgba(61,180,81,0.06) !important; border-color: rgba(61,180,81,0.3) !important; }
.co-section-partners .co-cert::after    { display: none; }