
/* ==========================================================
   ACCI360 - INDEX CON RUEDAS ANIMADAS
   ========================================================== */

.hero-acci360 {
    min-height: 620px;
    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(0, 181, 255, .18),
            transparent 28%
        ),
        linear-gradient(
            115deg,
            #061521 0%,
            #0a1d2b 45%,
            #102d42 100%
        );
    color: #fff;
}

.hero-acci360::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 45%;
    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(0,0,0,.10)
        ),
        repeating-linear-gradient(
            0deg,
            rgba(255,255,255,.018) 0 1px,
            transparent 1px 7px
        );
    pointer-events: none;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(
            circle at 75% 50%,
            rgba(255,255,255,.06),
            transparent 38%
        );
    pointer-events: none;
}

.hero-content {
    z-index: 3;
}

.min-vh-hero {
    min-height: 620px;
}

.hero-kicker {
    color: #35c3ff;
    letter-spacing: .04em;
}

.hero-title {
    max-width: 760px;
    font-size: clamp(2.6rem, 6vw, 5.6rem);
    line-height: .97;
    font-weight: 800;
}

.hero-title span {
    display: block;
    color: #20bdf6;
}

.hero-lead {
    max-width: 640px;
    color: rgba(255,255,255,.82);
}

.hero-help {
    position: absolute;
    right: 8%;
    bottom: 34px;
    z-index: 5;

    padding: 12px 18px;
    border-radius: 999px;

    background: rgba(3, 17, 28, .88);
    border: 1px solid rgba(255,255,255,.55);
    color: #fff;

    box-shadow: 0 10px 26px rgba(0,0,0,.25);

    font-size: .92rem;
}


/* ==========================================================
   CONTENEDOR DE RUEDAS
   ========================================================== */

.ruedas-planes {
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    overflow: hidden;
}


/* ==========================================================
   RUEDA
   ========================================================== */

.rueda-plan {
    --plan-color: #20bdf6;
    --rueda-size: 138px;

    position: absolute;
    left: 0;
    top: 0;

    width: var(--rueda-size);
    height: var(--rueda-size);

    border-radius: 50%;

    pointer-events: auto;
    text-decoration: none;
    color: #fff;

    will-change: transform;

    filter:
        drop-shadow(0 18px 22px rgba(0,0,0,.32));

    cursor: pointer;
}


/* neumático */
.rueda-neumatico {
    position: absolute;
    inset: 0;
    border-radius: 50%;

    background:
        radial-gradient(
            circle at center,
            transparent 0 43%,
            #111 44% 56%,
            #202020 57% 67%,
            #090909 68% 100%
        );

    border:
        6px solid
        color-mix(
            in srgb,
            var(--plan-color) 82%,
            #ffffff 18%
        );

    box-shadow:
        inset 0 0 0 3px rgba(255,255,255,.12),
        inset 0 0 18px rgba(0,0,0,.75),
        0 0 22px color-mix(
            in srgb,
            var(--plan-color) 45%,
            transparent
        );

    animation:
        ruedaGirar 2.1s linear infinite;
}


/* aro metálico */
.rueda-aro {
    position: absolute;
    inset: 27%;
    border-radius: 50%;

    background:
        conic-gradient(
            from 0deg,
            #e6e6e6 0 7%,
            #292929 7% 13%,
            #e6e6e6 13% 20%,
            #292929 20% 27%,
            #e6e6e6 27% 34%,
            #292929 34% 41%,
            #e6e6e6 41% 48%,
            #292929 48% 55%,
            #e6e6e6 55% 62%,
            #292929 62% 69%,
            #e6e6e6 69% 76%,
            #292929 76% 83%,
            #e6e6e6 83% 90%,
            #292929 90% 100%
        );

    box-shadow:
        inset 0 0 0 7px #111,
        inset 0 0 16px rgba(0,0,0,.8);
}


/* centro */
.rueda-centro {
    position: absolute;
    inset: 40%;
    border-radius: 50%;

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

    background: #07131d;
    border: 2px solid rgba(255,255,255,.55);

    color: #fff;
    font-size: .62rem;
    font-weight: 800;
    line-height: .9;
    text-align: center;

    z-index: 3;
}


/* etiqueta del plan */
.rueda-etiqueta {
    position: absolute;
    left: 50%;
    top: -24px;

    transform: translateX(-50%) rotate(-3deg);

    min-width: 135px;
    max-width: 180px;

    padding: 9px 13px;

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            color-mix(
                in srgb,
                var(--plan-color) 90%,
                #ffffff 10%
            ),
            var(--plan-color)
        );

    color: #fff;

    font-size: .83rem;
    font-weight: 800;
    text-align: center;

    box-shadow:
        0 7px 18px rgba(0,0,0,.28);

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    z-index: 5;
}


/* promoción visual */
.rueda-plan[data-recomendado="1"]
.rueda-etiqueta::after {
    content: "TOP";

    position: absolute;
    right: -12px;
    top: -10px;

    width: 31px;
    height: 31px;

    border-radius: 50%;

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

    background: #fff;
    color: #111;

    font-size: .55rem;
    font-weight: 900;

    box-shadow:
        0 5px 12px rgba(0,0,0,.18);
}


/* rastro de movimiento */
.rueda-rastro {
    position: absolute;
    z-index: -1;

    right: 68%;
    top: 38%;

    width: 120px;
    height: 42px;

    background:
        linear-gradient(
            90deg,
            transparent,
            color-mix(
                in srgb,
                var(--plan-color) 58%,
                transparent
            )
        );

    filter: blur(10px);

    border-radius: 50%;

    opacity: .65;

    transform: skewX(-15deg);
}


/* hover: facilita el clic */
.rueda-plan:hover {
    z-index: 10;
}

.rueda-plan:hover .rueda-neumatico {
    animation-play-state: paused;
}

.rueda-plan:hover .rueda-etiqueta {
    filter: brightness(1.08);
}


/* giro */
@keyframes ruedaGirar {
    from {
        transform: rotate(0deg);
    }

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


/* ==========================================================
   PILARES
   ========================================================== */

.pilares-strip {
    position: relative;
    z-index: 6;
    background: #fff;
    border-bottom: 1px solid #e9eef2;
    box-shadow: 0 -8px 24px rgba(0,0,0,.05);
}

.pilar-item {
    min-height: 116px;
    display: flex;
    align-items: center;
    gap: 15px;

    padding: 22px;

    border-right: 1px solid #edf1f4;
}

.pilar-icon {
    width: 54px;
    height: 54px;

    border-radius: 50%;

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

    background:
        linear-gradient(
            135deg,
            #eaf8ff,
            #dff4ff
        );

    color: #078aca;
    font-size: 1.55rem;
}


/* ==========================================================
   ALIADOS
   ========================================================== */

.aliado-box {
    min-height: 105px;
    padding: 18px;

    border-radius: 14px;

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

    background: #fff;
    border: 1px solid #edf0f3;
}

.aliado-logo {
    max-width: 100%;
    max-height: 68px;
    object-fit: contain;
}


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

@media (max-width: 991.98px) {

    .hero-acci360,
    .min-vh-hero {
        min-height: 720px;
    }

    .hero-title {
        font-size: clamp(2.6rem, 10vw, 4.6rem);
    }

    .hero-content {
        padding-bottom: 230px;
    }

    .hero-help {
        right: 20px;
        bottom: 18px;
        font-size: .78rem;
    }

    .rueda-plan {
        --rueda-size: 104px;
    }

    .rueda-etiqueta {
        min-width: 100px;
        max-width: 130px;
        top: -18px;
        padding: 7px 10px;
        font-size: .68rem;
    }

    .rueda-rastro {
        width: 75px;
    }

    .pilar-item {
        border-bottom: 1px solid #edf1f4;
    }
}


@media (max-width: 575.98px) {

    .hero-acci360,
    .min-vh-hero {
        min-height: 760px;
    }

    .hero-content {
        padding-top: 35px;
        padding-bottom: 300px;
    }

    .rueda-plan {
        --rueda-size: 82px;
    }

    .rueda-etiqueta {
        min-width: 86px;
        max-width: 110px;
        font-size: .58rem;
    }

    .rueda-centro {
        font-size: .47rem;
    }

    .hero-help {
        left: 20px;
        right: auto;
        max-width: 260px;
    }
}


/* Accesibilidad */
@media (prefers-reduced-motion: reduce) {

    .rueda-neumatico {
        animation: none;
    }
}
