
    /* ====== Reset mínimo + anti-overflow horizontal ====== */
    *, *::before, *::after { box-sizing: border-box; }
    html, body { } /* <- elimina scroll horizontal global */

    body { font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; background:#08070D; color:#fff; scroll-behavior:smooth !important; }
    .section { padding-block: 88px; }
    @media (min-width:1024px){ .section { padding-block: 108px; } }

    /* Medios siempre dentro del contenedor (evita desbordes) */
    img, video, iframe { max-width: 100%; height: auto; display: block; }

    /* ====== No grises: todo con base oscura y lilas ====== */
    .card {
      background:
        radial-gradient(120% 120% at 10% 0%, rgba(168,85,247,.08), transparent 40%),
        linear-gradient(180deg, rgba(91,33,182,.20), rgba(91,33,182,.10));
      border: 1px solid rgba(168,85,247,.25);
      border-radius: 18px;
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      overflow: hidden; /* <- por si alguna sombra provoca overflow */
    }
    .hover-ring { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
    .hover-ring:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px rgba(192,132,252,.75) inset, 0 10px 30px rgba(168,85,247,.25); }

    /* Hero orbs 100% púrpura */
    .orbs{ position: relative; overflow: hidden; } /* <- recorta blobs para que no desborden */
    .orbs:before,.orbs:after{
      content:""; position:absolute; inset:auto; width:42vw; height:42vw; border-radius:9999px; filter:blur(90px); opacity:.22; z-index:-1
    }
    .orbs:before{ top:-12%; left:-14%; background:radial-gradient(60% 60% at 50% 50%, rgba(168,85,247,.55), transparent 70%); animation:float1 16s ease-in-out infinite alternate }
    .orbs:after{ bottom:-18%; right:-12%; background:radial-gradient(60% 60% at 50% 50%, rgba(91,33,182,.55), transparent 70%); animation:float2 20s ease-in-out infinite alternate }
    @keyframes float1{from{transform:translate(0,0)}to{transform:translate(36px,-14px)}}
    @keyframes float2{from{transform:translate(0,0)}to{transform:translate(-28px,18px)}}

    /* Video / media */
    .media { position:relative; overflow:hidden; border-radius:14px; background:#05040A; }
    .media video, .media iframe { display:block; width:100%; height:100%; }
    .media:after{ content:""; position:absolute; inset:0; border-radius:14px; box-shadow: inset 0 0 0 1px rgba(168,85,247,.22); pointer-events:none }

    /* Imágenes de casos */
    .case-image{ background-size:cover; background-position:center; background-repeat:no-repeat; border-radius:14px; min-height:220px }
    .case-image-saul{  background-image:url('img/saul.jpg'); }
    .case-image-galia{ background-image:url('img/galia.jpg'); }
    .case-image-mauro{ background-image:url('img/mauro.jpg'); }
    .case-image-luigi{ background-image:url('img/luigi.jpg'); }

    /* ====== FAQ: cerrado total (sin "sneak peek") ====== */
    /* Sustituye el grid-rows por max-height/opacity */
    .faq-content{
      max-height: 0;
      opacity: 0;
      overflow: hidden;
      padding-top: 0;
      transition:
        max-height .35s ease,
        opacity .2s ease,
        padding .2s ease;
    }
    .faq-content.open{
      max-height: 600px; /* valor amplio para el contenido */
      opacity: 1;
      padding-top: .5rem;
    }
    .faq-inner{ overflow: hidden; }
