/* =========================================================
   MEJORAS VISUALES — 10/11/2026
   Archivo aparte: si algo no te gusta, quita su <link> en
   index.html y la web vuelve a como estaba.
   ========================================================= */

/* ---------- 1. HERO: profundidad (degradado + grano) ---------- */
.hero {
    isolation: isolate;
    background: linear-gradient(180deg, #efeee8 0%, #e7e6df 100%);
}

/* Grano muy sutil */
.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: .09;
    mix-blend-mode: multiply;
    background-size: 180px 180px;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

/* Segundo resplandor granate, abajo a la izquierda, detrás del titular */
.hero::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: -18%;
    bottom: -38%;
    width: min(60vw, 900px);
    height: min(60vw, 900px);
    border-radius: 50%;
    pointer-events: none;
    background: radial-gradient(circle, rgba(132, 32, 48, .16), transparent 65%);
    animation: ivk-breathe 14s ease-in-out infinite alternate;
}

.hero-glow {
    background: radial-gradient(closest-side, rgba(132, 32, 48, .14), transparent);
    animation: ivk-breathe 18s ease-in-out infinite alternate-reverse;
}

@keyframes ivk-breathe {
    from { transform: translate3d(0, 0, 0) scale(1); }
    to   { transform: translate3d(4%, -6%, 0) scale(1.12); }
}

/* ---------- 2. HERO: entrada del titular y del resto ---------- */
.hero h1 .hl {
    display: inline-block;
    opacity: 0;
    transform: translateY(.35em);
    animation: ivk-rise .85s cubic-bezier(.2, .7, .2, 1) forwards;
}
.hero h1 .hl-2 { animation-delay: .12s; }
.hero h1 .hl-3 { animation-delay: .24s; }

.hero-text > .eyebrow,
.hero-text > p,
.hero-text > .hero-actions,
.hero-text > .hero-facts,
.hero-video {
    opacity: 0;
    animation: ivk-fade .8s ease-out forwards;
}
.hero-text > .eyebrow      { animation-delay: .05s; }
.hero-text > p             { animation-delay: .45s; }
.hero-text > .hero-actions { animation-delay: .55s; }
.hero-text > .hero-facts   { animation-delay: .65s; }
.hero-video                { animation-delay: .35s; }

@keyframes ivk-rise {
    from { opacity: 0; transform: translateY(.35em); }
    to   { opacity: 1; transform: none; }
}
@keyframes ivk-fade {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* ---------- 3. Cifras de resultados (contador) ---------- */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.case-result { position: relative; }
.case-result .count { font-variant-numeric: tabular-nums; }

/* ---------- 4. BOTÓN FLOTANTE: más pequeño y menos tapón ---------- */
.floating-cta {
    right: 18px;
    bottom: 18px;
    gap: 12px;
    padding: 13px 18px;
    font-size: 11px;
    letter-spacing: .9px;
    color: #fff;
    border-radius: 2px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
}

@media (max-width: 740px) {
    .floating-cta {
        left: auto;
        right: 12px;
        bottom: calc(12px + env(safe-area-inset-bottom, 0px));
        justify-content: center;
        padding: 12px 16px;
    }
}

/* ---------- 5. AVISO DE COOKIES: barra compacta ---------- */
/* Los dos botones mantienen el mismo peso visual (Rechazar = Aceptar). */
.analytics-consent {
    left: 16px;
    right: auto;
    bottom: max(16px, env(safe-area-inset-bottom));
    max-width: 460px;
    margin: 0;
    padding: 14px 16px;
    border-radius: 6px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .22);
}
.analytics-consent h2 { font-size: 15px; margin: 0 0 6px; }
.analytics-consent p  { font-size: 12px; line-height: 1.5; }
.analytics-consent-actions { gap: 8px; margin-top: 12px; }
.analytics-consent-actions button { min-height: 40px; padding: 9px 12px; font-size: 12px; }

@media (max-width: 500px) {
    .analytics-consent {
        left: 10px;
        right: 10px;
        bottom: max(10px, env(safe-area-inset-bottom));
        max-width: none;
        padding: 12px 14px;
    }
    .analytics-consent h2 { font-size: 14px; }
    .analytics-consent p  { font-size: 11.5px; line-height: 1.45; }
    .analytics-consent-actions { flex-direction: row; gap: 8px; margin-top: 10px; }
}

/* ---------- Accesibilidad: sin animaciones si el usuario las desactiva ---------- */
@media (prefers-reduced-motion: reduce) {
    .hero h1 .hl,
    .hero-text > .eyebrow,
    .hero-text > p,
    .hero-text > .hero-actions,
    .hero-text > .hero-facts,
    .hero-video {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }
    .hero::after,
    .hero-glow { animation: none !important; }
}
