/* Estadística Diamante Premium v1.1.0 */
.ed-section {
    --ed-blue-main: #0A1F44;
    --ed-blue-secondary: #123D8D;
    --ed-blue-glow: #1E63FF;
    --ed-blue-light: #4D8DFF;
    --ed-red-main: #C4121A;
    --ed-red-bright: #E32028;
    --ed-red-dark: #8F0F14;
    --ed-white: #FFFFFF;
    --ed-gray-bg: #F4F6F9;
    --ed-gray-line: #D9DEE8;
    --ed-gray-text: #7A8599;
    --ed-transition: #F4F6F9;
    --ed-title-line-color: #1E63FF;
    --ed-card-accent-left: #1E63FF;
    --ed-card-accent-center: #E32028;
    --ed-icon-bg: #123D8D;
    --ed-icon-orbit: #C4121A;
    --ed-icon-glow: #1E63FF;
    --ed-divider-color: #D9DEE8;
    --ed-bottom-line: #4D8DFF;
    --ed-hover-lift: 8px;
    --ed-animation-duration: 760ms;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 138px 24px 124px;
    background:
        radial-gradient(circle at 50% 22%, rgba(30,99,255,.44), transparent 18%),
        radial-gradient(circle at 13% 88%, rgba(18,61,141,.72), transparent 28%),
        radial-gradient(circle at 88% 38%, rgba(30,99,255,.52), transparent 30%),
        linear-gradient(135deg, var(--ed-blue-main) 0%, #071631 37%, var(--ed-blue-secondary) 100%);
    font-family: inherit;
}

.ed-section *,
.ed-section *::before,
.ed-section *::after {
    box-sizing: border-box;
}

.ed-section::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(255,255,255,.05), transparent 18%, transparent 82%, rgba(255,255,255,.04)),
        radial-gradient(circle at 50% 2%, rgba(255,255,255,.16), transparent 15%);
    mix-blend-mode: screen;
    opacity: .74;
}

.ed-section::after {
    content: '';
    position: absolute;
    inset: auto -10% -28% -10%;
    height: 50%;
    z-index: 0;
    pointer-events: none;
    background: radial-gradient(ellipse at center, rgba(77,141,255,.22), transparent 68%);
}

/* Waves */
.ed-wave {
    position: absolute;
    left: 0;
    width: 100%;
    height: 108px;
    z-index: 4;
    pointer-events: none;
    line-height: 0;
    overflow: hidden;
}

.ed-wave svg {
    display: block;
    width: 100%;
    height: 100%;
}

.ed-wave-top { top: -1px; }
.ed-wave-bottom { bottom: -1px; }

.ed-wave-layer {
    fill: var(--ed-transition);
    filter: drop-shadow(0 16px 18px rgba(0, 17, 60, .22));
}

.ed-wave-layer-soft {
    opacity: .86;
    transform: translateY(17px);
    filter: drop-shadow(0 10px 14px rgba(0, 17, 60, .13));
}

.ed-wave-shadow {
    fill: rgba(255, 255, 255, .32);
    filter: blur(1.2px);
}

.ed-wave-top .ed-wave-layer-soft { transform: translateY(16px); }
.ed-wave-bottom .ed-wave-layer-soft { transform: translateY(-10px); }

/* Decorative layers */
.ed-glow,
.ed-dots,
.ed-ring {
    position: absolute;
    pointer-events: none;
    z-index: 1;
}

.ed-glow {
    border-radius: 50%;
    filter: blur(9px);
}

.ed-glow-one {
    width: 460px;
    height: 460px;
    left: -190px;
    bottom: -168px;
    background: radial-gradient(circle, rgba(30,99,255,.46), transparent 66%);
}

.ed-glow-two {
    width: 560px;
    height: 560px;
    right: -220px;
    top: 74px;
    background: radial-gradient(circle, rgba(18,61,141,.78), transparent 64%);
}

.ed-glow-three {
    width: 380px;
    height: 380px;
    right: 20%;
    bottom: -220px;
    background: radial-gradient(circle, rgba(196,18,26,.24), transparent 68%);
}

.ed-dots {
    width: 214px;
    height: 214px;
    opacity: .48;
    background-image: radial-gradient(rgba(77,141,255,.74) 2px, transparent 2.2px);
    background-size: 18px 18px;
    mask-image: radial-gradient(circle, black, transparent 76%);
}

.ed-dots-left {
    top: 42px;
    left: 42px;
}

.ed-dots-right {
    right: 76px;
    bottom: 74px;
    opacity: .38;
}

.ed-ring {
    border: 2px solid rgba(77,141,255,.12);
    border-radius: 50%;
    box-shadow: inset 0 0 40px rgba(30,99,255,.06);
}

.ed-ring-one {
    width: 530px;
    height: 530px;
    right: -206px;
    top: 86px;
}

.ed-ring-two {
    width: 388px;
    height: 388px;
    right: -136px;
    top: 158px;
}

.ed-ring-three {
    width: 385px;
    height: 385px;
    left: -190px;
    bottom: 72px;
}

.ed-container {
    position: relative;
    z-index: 3;
    max-width: 1240px;
    margin: 0 auto;
}

/* Title */
.ed-title {
    margin: 0;
    text-align: center;
    color: var(--ed-white);
    font-size: clamp(36px, 4.4vw, 66px);
    line-height: 1.02;
    font-weight: 900;
    letter-spacing: .6px;
    text-transform: uppercase;
    text-shadow:
        0 12px 28px rgba(0, 0, 0, .32),
        0 0 20px rgba(255, 255, 255, .14);
}

.ed-highlight {
    color: var(--ed-red-bright);
    text-shadow: 0 0 18px rgba(227, 32, 40, .48);
}

.ed-title-line {
    position: relative;
    width: 560px;
    max-width: 78%;
    height: 3px;
    margin: 26px auto 56px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(77,141,255,.84), var(--ed-title-line-color), rgba(77,141,255,.84), transparent);
    box-shadow: 0 0 22px rgba(30,99,255,.68);
}

.ed-title-flare {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 86px;
    height: 14px;
    transform: translate(-50%, -50%);
    border-radius: 999px;
    background: radial-gradient(ellipse at center, var(--ed-white) 0%, var(--ed-blue-light) 22%, rgba(30,99,255,.44) 54%, transparent 74%);
    filter: blur(.3px);
}

/* Grid and cards */
.ed-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 36px;
}

.ed-card {
    --ed-item-number: var(--ed-blue-secondary);
    position: relative;
    min-height: 206px;
    background: var(--ed-white);
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.84);
    box-shadow:
        0 22px 54px rgba(0, 14, 58, .34),
        0 0 0 4px rgba(255,255,255,.055),
        inset 0 1px 0 rgba(255,255,255,.88);
    overflow: hidden;
    transform: translateY(0);
    transition:
        transform .36s ease,
        box-shadow .36s ease,
        border-color .36s ease;
}

.ed-has-card-accent .ed-card::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 6px;
    background:
        linear-gradient(90deg,
            var(--ed-card-accent-left) 0%,
            var(--ed-card-accent-left) 30%,
            var(--ed-card-accent-center) 30%,
            var(--ed-card-accent-center) 70%,
            var(--ed-card-accent-left) 70%,
            var(--ed-blue-light) 100%);
    opacity: .98;
}

.ed-has-card-shine .ed-card::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.68) 45%, transparent 70%);
    transform: translateX(-125%);
    transition: transform .72s ease;
}

.ed-card:hover {
    transform: translateY(calc(var(--ed-hover-lift) * -1));
    border-color: rgba(77,141,255,.4);
    box-shadow:
        0 30px 70px rgba(0, 14, 58, .42),
        0 0 0 4px rgba(77,141,255,.10),
        inset 0 1px 0 rgba(255,255,255,.92);
}

.ed-has-card-shine .ed-card:hover::after {
    transform: translateX(125%);
}

.ed-card-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 132px 1px 1fr;
    align-items: center;
    gap: 30px;
    height: 100%;
    padding: 36px 40px;
}

.ed-icon-wrap {
    position: relative;
    width: 104px;
    height: 104px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: center;
    border-radius: 50%;
    color: var(--ed-white);
    background:
        radial-gradient(circle at 30% 22%, rgba(255,255,255,.18), transparent 24%),
        linear-gradient(145deg, var(--ed-blue-glow), var(--ed-icon-bg) 52%, var(--ed-blue-main));
    box-shadow:
        0 18px 34px rgba(30,99,255,.36),
        0 0 0 12px rgba(30,99,255,.08),
        0 0 0 22px rgba(255,255,255,.36),
        inset 0 1px 0 rgba(255,255,255,.32);
}

.ed-has-icon-orbit .ed-icon-wrap::before {
    content: '';
    position: absolute;
    inset: -14px;
    border-radius: 50%;
    border: 2px solid rgba(77,141,255,.26);
    box-shadow: inset 0 0 14px rgba(30,99,255,.12);
}

.ed-has-icon-orbit .ed-icon-wrap::after {
    content: '';
    position: absolute;
    inset: -12px;
    border-radius: 50%;
    border: 4px solid transparent;
    border-top-color: var(--ed-icon-orbit);
    border-right-color: var(--ed-icon-orbit);
    transform: rotate(-22deg);
    opacity: .98;
}

.ed-icon {
    position: relative;
    z-index: 2;
    font-size: 38px;
    line-height: 1;
    color: inherit;
}

.ed-icon svg {
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.ed-icon i {
    display: block;
}

.ed-divider {
    display: block;
    width: 1px;
    min-height: 132px;
    background: linear-gradient(180deg, transparent, var(--ed-divider-color), transparent);
}

.ed-no-divider .ed-divider {
    display: none;
}

.ed-no-divider .ed-card-inner {
    grid-template-columns: 132px 1fr;
}

.ed-number {
    color: var(--ed-item-number);
    font-size: clamp(44px, 4vw, 62px);
    line-height: .95;
    font-weight: 900;
    letter-spacing: -1.8px;
    margin-bottom: 12px;
    text-shadow: 0 8px 22px rgba(18,61,141,.12);
}

.ed-label {
    color: var(--ed-red-main);
    font-size: 19px;
    line-height: 1.15;
    font-weight: 900;
    letter-spacing: .45px;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.ed-description {
    color: var(--ed-blue-main);
    font-size: 18px;
    line-height: 1.48;
    margin: 0;
    max-width: 380px;
}

/* Bottom */
.ed-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    margin-top: 54px;
}

.ed-bottom-line {
    position: relative;
    width: min(32vw, 330px);
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.9), var(--ed-bottom-line), rgba(255,255,255,.9), transparent);
    box-shadow: 0 0 15px rgba(30,99,255,.72);
}

.ed-bottom-line::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, var(--ed-white), var(--ed-blue-glow) 42%, transparent 70%);
    box-shadow: 0 0 22px rgba(30,99,255,.9);
}

.ed-bottom-badge {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ed-white);
    background: rgba(10,31,68,.58);
    border: 2px solid rgba(255,255,255,.34);
    box-shadow:
        0 0 32px rgba(30,99,255,.52),
        inset 0 1px 0 rgba(255,255,255,.25);
}

.ed-badge-svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.ed-bottom-text {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 17px;
    text-align: center;
    color: var(--ed-white);
    font-size: clamp(16px, 1.5vw, 24px);
    line-height: 1.25;
    font-weight: 900;
    letter-spacing: 8px;
    text-transform: uppercase;
    text-shadow: 0 10px 22px rgba(0,0,0,.36);
}

.ed-bottom-star {
    color: var(--ed-red-bright);
    font-size: .86em;
    line-height: 1;
    filter: drop-shadow(0 0 8px rgba(227,32,40,.65));
}

/* Animation states */
.ed-reveal .ed-anim {
    opacity: 0;
    transition:
        opacity var(--ed-animation-duration) cubic-bezier(.2,.8,.2,1),
        transform var(--ed-animation-duration) cubic-bezier(.2,.8,.2,1),
        filter var(--ed-animation-duration) cubic-bezier(.2,.8,.2,1);
    transition-delay: var(--ed-delay, 0ms);
    will-change: transform, opacity;
}

.ed-animation-up.ed-reveal .ed-anim {
    transform: translateY(28px);
}

.ed-animation-down.ed-reveal .ed-anim {
    transform: translateY(-28px);
}

.ed-animation-zoom.ed-reveal .ed-anim {
    transform: translateY(20px) scale(.965);
    filter: blur(1px);
}

.ed-animation-fade.ed-reveal .ed-anim {
    transform: none;
}

.ed-section.is-visible .ed-anim,
.elementor-editor-active .ed-section .ed-anim {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

.ed-no-animation .ed-anim {
    opacity: 1;
    transform: none;
}

/* Continuous premium motion */
@media (prefers-reduced-motion: no-preference) {
    .ed-has-icon-orbit .ed-section.is-visible .ed-icon-wrap::after,
    .ed-section.is-visible.ed-has-icon-orbit .ed-icon-wrap::after {
        animation: edOrbit 4.2s linear infinite;
    }

    .ed-section.is-visible .ed-bottom-badge,
    .elementor-editor-active .ed-section .ed-bottom-badge {
        animation: edPulse 2.8s ease-in-out infinite;
    }

    .ed-section.is-visible .ed-title-flare,
    .elementor-editor-active .ed-section .ed-title-flare {
        animation: edFlare 2.4s ease-in-out infinite;
    }

    .ed-section.is-visible .ed-glow-one,
    .ed-section.is-visible .ed-glow-two,
    .ed-section.is-visible .ed-glow-three {
        animation: edFloatGlow 9s ease-in-out infinite alternate;
    }

    .ed-section.is-visible .ed-glow-two {
        animation-duration: 11s;
    }
}

@keyframes edOrbit {
    to { transform: rotate(338deg); }
}

@keyframes edPulse {
    0%,100% { transform: scale(1); }
    50% { transform: scale(1.075); }
}

@keyframes edFlare {
    0%,100% { opacity: .72; width: 72px; }
    50% { opacity: 1; width: 112px; }
}

@keyframes edFloatGlow {
    from { transform: translate3d(0,0,0) scale(1); opacity: .78; }
    to { transform: translate3d(18px,-14px,0) scale(1.06); opacity: .95; }
}

/* Responsive */
@media (max-width: 1024px) {
    .ed-section {
        padding: 112px 22px 106px;
    }

    .ed-grid {
        gap: 24px;
    }

    .ed-card-inner {
        grid-template-columns: 104px 1px 1fr;
        gap: 24px;
        padding: 32px 28px;
    }

    .ed-no-divider .ed-card-inner {
        grid-template-columns: 104px 1fr;
    }

    .ed-icon-wrap {
        width: 88px;
        height: 88px;
    }

    .ed-icon {
        font-size: 32px;
    }

    .ed-description {
        font-size: 16px;
    }
}

@media (max-width: 767px) {
    .ed-section {
        padding: 88px 16px 84px;
    }

    .ed-title {
        font-size: clamp(30px, 10vw, 42px);
        letter-spacing: .2px;
    }

    .ed-title-line {
        width: 86%;
        margin-top: 22px;
        margin-bottom: 34px;
    }

    .ed-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .ed-card {
        min-height: initial;
    }

    .ed-card-inner,
    .ed-no-divider .ed-card-inner {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 20px;
        padding: 34px 24px;
    }

    .ed-divider {
        display: none;
    }

    .ed-copy {
        width: 100%;
    }

    .ed-number {
        font-size: clamp(42px, 15vw, 58px);
    }

    .ed-label {
        font-size: 17px;
    }

    .ed-description {
        margin-left: auto;
        margin-right: auto;
        font-size: 16px;
    }

    .ed-bottom {
        gap: 16px;
        margin-top: 38px;
    }

    .ed-bottom-line {
        width: 82px;
    }

    .ed-bottom-text {
        gap: 10px;
        letter-spacing: 4px;
        font-size: 15px;
        flex-wrap: wrap;
    }

    .ed-dots {
        opacity: .22;
    }

    .ed-ring {
        opacity: .45;
    }

    .ed-wave {
        height: 58px;
    }
}

@media (max-width: 420px) {
    .ed-title {
        font-size: 29px;
    }

    .ed-card-inner {
        padding-left: 20px;
        padding-right: 20px;
    }

    .ed-bottom-line {
        width: 56px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ed-section *,
    .ed-section *::before,
    .ed-section *::after {
        animation: none !important;
        transition: none !important;
    }

    .ed-reveal .ed-anim {
        opacity: 1;
        transform: none;
        filter: none;
    }
}
