/* ==== bloque 1 · style 1 (original del cliente) ==== */
@keyframes floatIn {
            0% { transform: translateY(8px); opacity: 0; }
            100% { transform: translateY(0); opacity: 1; }
        }

        .animate-float-in { 
            animation: floatIn 0.6s ease-out forwards; 
        }

        @keyframes panGrid {
            0% { background-position: 0px 0px; }
            100% { background-position: 22px 22px; }
        }

        .animate-grid-pan {
            animation: panGrid 3s linear infinite;
        }

        @keyframes floatItem {
            0%, 100% { transform: translateY(0) scale(1); }
            50% { transform: translateY(-8px) scale(1.03); }
        }

        .animate-mockup-item {
            animation: floatItem 4s ease-in-out infinite;
        }

        .reveal-up {
            opacity: 0;
            transform: translateY(30px);
            transition: all 0.8s cubic-bezier(0.25, 1, 0.5, 1);
        }

        .reveal-right {
            opacity: 0;
            transform: translateX(40px);
            transition: all 0.8s cubic-bezier(0.25, 1, 0.5, 1);
        }

        .reveal-active {
            opacity: 1;
            transform: translate(0) scale(1);
        }

        #ghost-cursor {
            transition: top 0.7s cubic-bezier(0.25, 1, 0.5, 1), left 0.7s cubic-bezier(0.25, 1, 0.5, 1), transform 0.15s ease-out;
            pointer-events: none;
        }

        .cursor-clicked { 
            transform: scale(0.85); 
        }

        #blossom-hero-module {
            position: relative;
            width: 100%;
            margin: 0 !important;
            padding: 0 !important;
            background: #0F0A14;
            font-family: 'Outfit', sans-serif;
            color: #1A1A1A;
            overflow: hidden;
        }

        .blossom-hero-section {
            margin-top: 0 !important;
            isolation: isolate;
            min-height: 100vh;
            min-height: 100svh;
            background: #0F0A14;
        }

        .blossom-hero-bg-wrap {
            position: absolute !important;
            inset: 0 !important;
            width: 100% !important;
            height: 100% !important;
            overflow: hidden !important;
            z-index: 0 !important;
            pointer-events: none !important;
        }

        .blossom-hero-bg-img {
            position: absolute !important;
            inset: 0 !important;
            width: 100% !important;
            height: 100% !important;
            max-width: none !important;
            min-width: 100% !important;
            min-height: 100% !important;
            display: block !important;
            object-fit: cover !important;
            object-position: center center !important;
            transform: scale(1.045) !important;
            transform-origin: center center !important;
        }

        .blossom-hero-section::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 118px;
            z-index: 1;
            pointer-events: none;
            background: linear-gradient(180deg, rgba(0,0,0,0.34) 0%, rgba(0,0,0,0.14) 58%, rgba(0,0,0,0) 100%);
        }

        .blossom-hero-section > .container {
            position: relative;
            z-index: 10;
        }

        @media (max-width: 640px) {
            .blossom-hero-section > .container {
                padding-top: 7.75rem !important;
            }
        }

        /* =========================================================
           BLOSSOM HERO V8 — COVER REAL SIN ESPACIOS
           Este bloque fuerza que el fondo cubra TODA la sección,
           incluso si Elementor mete el widget dentro de contenedores.
           ========================================================= */

        html,
        body {
            overflow-x: hidden !important;
        }

        /* Widget HTML / contenedores Elementor que envuelven el hero */
        .elementor-widget-html:has(#blossom-hero-module),
        .elementor-widget-html:has(#blossom-hero-module) > .elementor-widget-container,
        .elementor-widget-container:has(#blossom-hero-module),
        .elementor-shortcode:has(#blossom-hero-module),
        .e-con:has(#blossom-hero-module),
        .e-con-inner:has(#blossom-hero-module),
        .elementor-section:has(#blossom-hero-module),
        .elementor-container:has(#blossom-hero-module),
        .elementor-column:has(#blossom-hero-module),
        .elementor-widget-wrap:has(#blossom-hero-module) {
            width: 100% !important;
            max-width: none !important;
            margin: 0 !important;
            padding: 0 !important;
            overflow: visible !important;
        }

        /* El módulo se sale del ancho limitado de Elementor y ocupa viewport completo */
        #blossom-hero-module {
            position: relative !important;
            width: 100vw !important;
            max-width: 100vw !important;
            min-width: 100vw !important;
            margin-top: 0 !important;
            margin-bottom: 0 !important;
            margin-left: calc(50% - 50vw) !important;
            margin-right: calc(50% - 50vw) !important;
            padding: 0 !important;
            overflow: hidden !important;
            background: #0F0A14 !important;
            font-family: 'Outfit', sans-serif !important;
        }

        /* La sección hero ocupa todo el ancho y todo el alto visible */
        #blossom-hero,
        #blossom-hero-module .blossom-hero-section,
        #blossom-hero-module .blossom-cover-hero {
            position: relative !important;
            width: 100vw !important;
            max-width: 100vw !important;
            min-width: 100vw !important;
            min-height: 100vh !important;
            min-height: 100svh !important;
            margin: 0 !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
            overflow: hidden !important;
            background: #0F0A14 !important;
            isolation: isolate !important;
        }

        /* Capa absoluta de fondo */
        #blossom-hero-module .blossom-hero-bg-wrap {
            position: absolute !important;
            inset: 0 !important;
            top: 0 !important;
            right: 0 !important;
            bottom: 0 !important;
            left: 0 !important;
            width: 100% !important;
            height: 100% !important;
            min-width: 100% !important;
            min-height: 100% !important;
            max-width: none !important;
            max-height: none !important;
            overflow: hidden !important;
            z-index: 0 !important;
            pointer-events: none !important;
        }

        /* Imagen de fondo: cubre todo sin dejar espacios */
        #blossom-hero-module .blossom-hero-bg-img {
            position: absolute !important;
            inset: 0 !important;
            top: 0 !important;
            right: 0 !important;
            bottom: 0 !important;
            left: 0 !important;
            width: 100% !important;
            height: 100% !important;
            min-width: 100% !important;
            min-height: 100% !important;
            max-width: none !important;
            max-height: none !important;
            display: block !important;
            object-fit: cover !important;
            object-position: center center !important;
            transform: scale(1.1) !important;
            transform-origin: center center !important;
        }

        /* Overlay oscuro y efectos visuales también deben cubrir todo */
        #blossom-hero-module .blossom-hero-bg-wrap > .absolute,
        #blossom-hero-module .blossom-hero-bg-wrap > .inset-0,
        #blossom-hero-module .blossom-hero-bg-wrap > div {
            position: absolute !important;
        }

        #blossom-hero-module .blossom-hero-bg-wrap > .inset-0,
        #blossom-hero-module .blossom-hero-bg-wrap > .absolute.inset-0 {
            inset: 0 !important;
            width: 100% !important;
            height: 100% !important;
        }

        /* Contenido encima del fondo */
        #blossom-hero-module #blossom-hero > .container,
        #blossom-hero-module .blossom-hero-section > .container {
            position: relative !important;
            z-index: 10 !important;
            width: 100% !important;
            max-width: 1280px !important;
        }

        /* Mobile: mantiene cover real y evita huecos por barras del navegador */
        @media (max-width: 767px) {
            #blossom-hero,
            #blossom-hero-module .blossom-hero-section,
            #blossom-hero-module .blossom-cover-hero {
                min-height: 100svh !important;
                width: 100vw !important;
                max-width: 100vw !important;
            }

            #blossom-hero-module .blossom-hero-bg-img {
                object-fit: cover !important;
                object-position: center center !important;
                transform: scale(1.16) !important;
            }
        }

        /* Ultra wide: evita que aparezcan bordes por escalado */
        @media (min-width: 1600px) {
            #blossom-hero-module .blossom-hero-bg-img {
                transform: scale(1.08) !important;
            }
        }

/* ==== bloque 5 · style 1 (original del cliente) ==== */
#clientes-blossom {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(circle at 12% 18%, rgba(148, 66, 159, 0.08), transparent 28%),
        radial-gradient(circle at 88% 82%, rgba(216, 200, 180, 0.20), transparent 30%),
        #FAFAFA;
      padding: 96px 0;
      font-family: inherit;
    }

    #clientes-blossom * {
      box-sizing: border-box;
    }

    #clientes-blossom .br-clients-container {
      width: 100%;
      max-width: 1180px;
      margin: 0 auto;
      padding: 0 24px;
      text-align: center;
    }

    #clientes-blossom .br-clients-kicker {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 18px;
      color: #94429F;
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
    }

    #clientes-blossom .br-clients-kicker::before,
    #clientes-blossom .br-clients-kicker::after {
      content: "";
      width: 34px;
      height: 1px;
      background: rgba(148, 66, 159, 0.35);
    }

    #clientes-blossom .br-clients-title {
      margin: 0;
      color: #333333;
      font-family: Georgia, "Times New Roman", serif;
      font-size: clamp(34px, 4vw, 58px);
      font-weight: 400;
      line-height: 1.05;
      letter-spacing: -0.03em;
    }

    #clientes-blossom .br-clients-text {
      max-width: 760px;
      margin: 22px auto 0;
      color: rgba(51, 51, 51, 0.68);
      font-size: 16px;
      font-weight: 300;
      line-height: 1.8;
    }

    #clientes-blossom .br-clients-logos-wrap {
      position: relative;
      margin: 56px auto 0;
      padding: 30px;
      border: 1px solid rgba(148, 66, 159, 0.12);
      background: rgba(255, 255, 255, 0.68);
      box-shadow: 0 24px 70px rgba(0, 0, 0, 0.07);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }

    #clientes-blossom .br-clients-logos-wrap::before {
      content: "";
      position: absolute;
      inset: 14px;
      border: 1px solid rgba(216, 200, 180, 0.45);
      pointer-events: none;
    }

    #clientes-blossom .br-clients-logos {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 22px;
      align-items: stretch;
    }

    #clientes-blossom .br-client-card {
      min-height: 180px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 34px;
      background: #ffffff;
      border: 1px solid rgba(51, 51, 51, 0.08);
      box-shadow: 0 10px 28px rgba(0, 0, 0, 0.055);
      transition:
        transform 0.45s ease,
        box-shadow 0.45s ease,
        border-color 0.45s ease;
    }

    #clientes-blossom .br-client-card:hover {
      transform: translateY(-5px);
      border-color: rgba(148, 66, 159, 0.32);
      box-shadow: 0 22px 48px rgba(148, 66, 159, 0.12);
    }

    #clientes-blossom .br-client-card img {
      display: block !important;
      width: 100% !important;
      max-width: 230px !important;
      height: 96px !important;
      object-fit: contain !important;
      object-position: center center !important;
      filter: grayscale(100%);
      opacity: 0.82;
      transition:
        filter 0.45s ease,
        opacity 0.45s ease,
        transform 0.45s ease;
    }

    #clientes-blossom .br-client-card:hover img {
      filter: grayscale(0%);
      opacity: 1;
      transform: scale(1.04);
    }

    #clientes-blossom .br-clients-note {
      margin-top: 34px;
      color: rgba(51, 51, 51, 0.52);
      font-size: 13px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
    }

    @media (max-width: 991px) {
      #clientes-blossom .br-clients-logos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 767px) {
      #clientes-blossom {
        padding: 72px 0;
      }

      #clientes-blossom .br-clients-logos-wrap {
        margin-top: 42px;
        padding: 20px;
      }

      #clientes-blossom .br-clients-logos-wrap::before {
        inset: 10px;
      }

      #clientes-blossom .br-clients-logos {
        grid-template-columns: 1fr;
        gap: 16px;
      }

      #clientes-blossom .br-client-card {
        min-height: 150px;
        padding: 28px;
      }

      #clientes-blossom .br-client-card img {
        max-width: 210px !important;
        height: 82px !important;
      }
    }