#s07.s07-cine {
      width: 100%;
      height: 100vh;
      min-height: 100vh;
      padding: 0;
      margin: 0;
      overflow: hidden;
      display: block;
      background: #ffffff;
      color: #24105d;
    }

    #s07 .s07-cine-hero {
      width: 100%;
      height: 100vh;
      min-height: 100vh;
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 51.3vh 48.7vh;
      overflow: hidden;
      background: #ffffff;
    }

    #s07 .s07-cine-copy {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      padding: clamp(2rem, 4vw, 5rem);
      background: #ffffff;
      text-align: center;
      z-index: 2;
    }

    #s07 .s07-cine-title {
      max-width: 760px;
      margin: 0;
      text-transform: uppercase;
      font-family: "Bebas Neue", "Oswald", "Arial Narrow", Arial, sans-serif;
      font-size: clamp(4.5rem, 7.45vw, 9rem);
      font-weight: 700;
      letter-spacing: 0.035em;
      line-height: 0.78;
      color: #24105d;
    }

    #s07 .s07-cine-outline,
    #s07 .s07-cine-mixed {
      display: block;
      color: transparent;
      -webkit-text-stroke: 1.6px #24105d;
      text-stroke: 1.6px #24105d;
    }

    #s07 .s07-cine-solid {
      display: block;
      color: #24105d;
    }

    #s07 .s07-cine-mixed strong {
      color: #24105d;
      -webkit-text-stroke: 0;
      text-stroke: 0;
      font-weight: inherit;
    }

    #s07 .s07-cine-subtitle {
      margin: clamp(1.7rem, 2.4vw, 2.7rem) 0 0;
      color: #5f4ba4;
      font-family: Arial, Helvetica, sans-serif;
      font-size: clamp(0.9rem, 1.08vw, 1.35rem);
      font-weight: 800;
      line-height: 1.25;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    #s07 .s07-cine-panel {
      position: relative;
      overflow: hidden;
      min-height: 260px;
      background: #111;
    }

    #s07 .s07-cine-panel img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
    }

    #s07 .s07-cine-jungle::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.62));
      pointer-events: none;
    }

    @media (max-width: 900px) {
      #s07.s07-cine {
        height: auto;
        min-height: 100vh;
      }

      #s07 .s07-cine-hero {
        height: auto;
        min-height: 100vh;
        grid-template-columns: 1fr;
        grid-template-rows: auto 38vh 38vh 38vh;
      }

      #s07 .s07-cine-copy {
        min-height: 42vh;
        padding: 3rem 1.4rem;
      }

      #s07 .s07-cine-title {
        font-size: clamp(3.5rem, 16vw, 6.5rem);
      }

      #s07 .s07-cine-subtitle {
        font-size: 0.8rem;
      }
    }

#s08.s08-instrumentos {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 250vh !important;
    min-height: 250vh !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    background: #f5f5f5 !important;
    isolation: isolate;
  }

  #s08 .s08-stage {
    position: absolute;
    top: var(--q-nav-h, 64px);
    left: 0;
    right: 0;
    width: 100%;
    height: calc(100vh - var(--q-nav-h, 64px));
    min-height: calc(100vh - var(--q-nav-h, 64px));
    overflow: hidden;
    background: #f5f5f5;
  }

  #s08.s08-is-fixed .s08-stage {
    position: fixed;
    top: var(--q-nav-h, 64px);
    z-index: 20;
  }

  #s08.s08-is-done .s08-stage {
    position: absolute;
    top: auto;
    bottom: 0;
    z-index: 2;
  }

  #s08 .s08-media-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    opacity: 0;
    transform: scale(1.045);
    transition: opacity .18s linear, transform .18s linear;
    cursor: pointer;
    text-decoration: none;
    background: #111;
  }

  #s08 .s08-media-link img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  #s08 .s08-media-link::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.28));
    pointer-events: none;
  }

  #s08 .s08-play {
    position: absolute;
    right: clamp(1.25rem, 3vw, 3rem);
    bottom: clamp(1.25rem, 3vw, 3rem);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    padding: .9rem 1.25rem;
    border-radius: 999px;
    background: rgba(14, 10, 24, .64);
    border: 1px solid rgba(255,255,255,.32);
    color: #fff;
    font-family: "Inter", Arial, Helvetica, sans-serif;
    font-size: .92rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
  }

  #s08 .s08-play svg {
    width: 1.35rem;
    height: 1.35rem;
    display: block;
  }

  #s08 .s08-front {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: grid;
    grid-template-columns: 52% 48%;
    align-items: center;
    pointer-events: none;
    opacity: 1;
  }

  #s08 .s08-q-block,
  #s08 .s08-copy {
    will-change: transform, opacity;
  }

  #s08 .s08-q-block {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }

  #s08 .s08-q-svg {
    width: min(61vw, 58rem);
    height: auto;
    margin-left: -8vw;
    display: block;
    filter: drop-shadow(0 18px 46px rgba(20, 15, 82, .08));
  }

  #s08 .s08-copy {
    max-width: 47rem;
    padding: 0 clamp(2rem, 6vw, 7rem) 0 clamp(1rem, 2vw, 2rem);
    color: #371b83;
    text-align: left;
  }

  #s08 .s08-title {
    margin: 0 0 clamp(1.05rem, 1.7vw, 1.45rem);
    text-transform: uppercase;
    line-height: .84;
    letter-spacing: .015em;
  }

  #s08 .s08-title span {
    display: block;
    font-family: "Barlow Condensed", "Bebas Neue", "Anton", "Oswald", "Arial Narrow", Arial, sans-serif;
    font-weight: 900;
  }

  #s08 .s08-title .s08-main,
  #s08 .s08-title .s08-strong {
    color: #40208c;
    font-size: clamp(4.3rem, 7.15vw, 8.7rem);
  }

  #s08 .s08-title .s08-line2 {
    display: flex;
    align-items: baseline;
    gap: clamp(.65rem, 1vw, 1rem);
    margin-left: clamp(6.5rem, 13vw, 12rem);
  }

  #s08 .s08-title .s08-outline {
    display: inline-block;
    color: transparent;
    -webkit-text-stroke: 1.4px #4d3d9d;
    text-stroke: 1.4px #4d3d9d;
    font-size: clamp(3.3rem, 5.5vw, 6.7rem);
    line-height: .9;
  }

  #s08 .s08-title .s08-strong {
    display: inline-block;
    line-height: .9;
  }

  #s08 .s08-body {
    margin: 0;
    max-width: 42rem;
    color: #6a52aa;
    font-family: "Inter", Arial, Helvetica, sans-serif;
    font-size: clamp(1rem, 1.45vw, 1.45rem);
    font-weight: 700;
    line-height: 1.28;
    letter-spacing: .02em;
  }

  #s08 .s08-video-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(1rem, 3vw, 3rem);
    background: rgba(8, 7, 15, .84);
  }

  #s08 .s08-video-modal.is-open {
    display: flex;
  }

  #s08 .s08-video-box {
    position: relative;
    width: min(92vw, 1120px);
    aspect-ratio: 16 / 9;
    background: #000;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 26px 90px rgba(0,0,0,.48);
  }

  #s08 .s08-video-box iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
  }

  #s08 .s08-close-video {
    position: absolute;
    top: .75rem;
    right: .75rem;
    z-index: 2;
    width: 2.75rem;
    height: 2.75rem;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    background: rgba(15, 15, 24, .78);
    color: #fff;
    font-size: 1.55rem;
    line-height: 1;
  }

  @media (max-width: 900px) {
    #s08 .s08-front {
      grid-template-columns: 1fr;
      grid-template-rows: 47vh auto;
      align-items: start;
    }

    #s08 .s08-q-block {
      align-items: flex-end;
      justify-content: center;
    }

    #s08 .s08-q-svg {
      width: min(88vw, 39rem);
      margin-left: -14vw;
    }

    #s08 .s08-copy {
      padding: 1rem 1.4rem 2rem;
      text-align: center;
      justify-self: center;
    }

    #s08 .s08-title .s08-line2 {
      justify-content: center;
      margin-left: 0;
    }

    #s08 .s08-play {
      left: 50%;
      right: auto;
      transform: translateX(-50%);
      white-space: nowrap;
    }
  }

#s12{
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(circle at 14% 16%, rgba(255,110,255,.22), transparent 24%),
      radial-gradient(circle at 82% 26%, rgba(80,180,255,.16), transparent 22%),
      linear-gradient(135deg,#5f1bb3 0%,#3a0b76 45%,#14052d 100%) !important;
  }
  #s12::before{
    content:"";
    position:absolute; inset:0;
    background:linear-gradient(90deg, rgba(255,255,255,.03), transparent 20%, transparent 80%, rgba(255,255,255,.02));
    pointer-events:none;
  }
  #s12 .s12-wrap{
    position:relative;
    z-index:2;
    width:min(1400px,100%);
    min-height:100vh;
    margin:0 auto;
    padding:3rem 4rem;
    display:flex;
    align-items:center;
    justify-content:flex-start;
  }
  #s12 .s12-text{
    position:relative;
    z-index:3;
    width:min(100%,1100px);
  }
  #s12 .s12-svg-title,
  #s12 .s12-svg-subtitle{ display:block; overflow:visible; }
  #s12 .s12-svg-title{ width:min(64vw,760px); max-width:100%; }
  #s12 .s12-svg-subtitle{ width:min(72vw,980px); max-width:100%; margin-top:.5rem; }
  #s12 .s12-svg-title text,
  #s12 .s12-svg-subtitle text{
    font-family:'Bebas Neue',sans-serif;
    letter-spacing:4px;
    paint-order:stroke fill;
  }
  #s12 .s12-svg-title text{
    font-size:190px;
    fill:url(#s12GradMain);
    stroke:rgba(255,255,255,.18);
    stroke-width:2;
    filter:drop-shadow(0 10px 28px rgba(0,0,0,.32));
    animation:s12TitleGlow 4.2s ease-in-out infinite;
  }
  #s12 .s12-svg-subtitle .exp{
    font-size:98px;
    fill:url(#s12GradExp);
    filter:drop-shadow(0 10px 24px rgba(0,0,0,.26));
    animation:s12TitleGlow 4.4s ease-in-out infinite .15s;
  }
  #s12 .s12-svg-subtitle .inm{
    font-size:98px;
    fill:rgba(255,255,255,.96);
    filter:drop-shadow(0 10px 24px rgba(0,0,0,.26));
    animation:s12TitleGlow 4.4s ease-in-out infinite .3s;
  }
  #s12 .s12-amp{
    position:absolute;
    left:58%;
    top:32%;
    transform:translate(-50%,-50%);
    font-family:'Bebas Neue',sans-serif;
    font-size:clamp(5rem,10vw,8.2rem);
    line-height:1;
    color:rgba(255,255,255,.92);
    text-shadow:0 0 0 rgba(0,0,0,0), 0 6px 18px rgba(0,0,0,.28);
    z-index:5;
    animation:s12FloatAmp 5.5s ease-in-out infinite;
  }
  #s12 .s12-tagline{
    margin-top:2.2rem;
    display:flex;
    align-items:flex-start;
    gap:1.2rem;
    font-family:'Inter',sans-serif;
    font-size:clamp(1rem,1.2vw,1.35rem);
    letter-spacing:.42em;
    text-transform:uppercase;
    color:rgba(255,255,255,.94);
    text-shadow:0 4px 12px rgba(0,0,0,.16);
  }
  #s12 .s12-tagline::before{
    content:"";
    width:78px;
    height:4px;
    margin-top:.6em;
    border-radius:999px;
    background:linear-gradient(90deg,#d946ef,#38bdf8);
    flex:0 0 auto;
    box-shadow:0 0 18px rgba(216,70,239,.35);
  }
  #s12 .s12-qlogo{
    position:absolute;
    right:4.5vw;
    bottom:6vh;
    width:min(14vw,220px);
    max-width:220px;
    z-index:3;
    filter:drop-shadow(0 16px 32px rgba(0,0,0,.34));
    animation:s12QFloat 6s ease-in-out infinite;
    opacity:.95;
  }
  #s12 .s12-party-layer{ position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
  #s12 .s12-serp,
  #s12 .s12-strip,
  #s12 .s12-dot{ position:absolute; will-change:transform; }
  #s12 .s12-serp{
    width:90px; height:220px;
    animation:s12Fall 12s linear infinite;
    opacity:.96;
    filter:drop-shadow(0 8px 12px rgba(0,0,0,.22));
  }
  #s12 .s12-serp path{ fill:none; stroke-linecap:round; stroke-width:11; }
  #s12 .s12-strip{
    width:58px; height:16px; border-radius:999px;
    animation:s12Fall 10s linear infinite;
    box-shadow:0 6px 16px rgba(0,0,0,.2);
  }
  #s12 .s12-dot{
    width:18px; height:18px; border-radius:50%;
    animation:s12Fall 9s linear infinite;
    box-shadow:0 6px 16px rgba(0,0,0,.22);
  }
  #s12 .s12-serp.s1{ left:60%; top:-24vh; --dx:32px; animation-delay:-1s; }
  #s12 .s12-serp.s2{ left:71%; top:-12vh; --dx:-42px; animation-duration:13.5s; animation-delay:-4s; }
  #s12 .s12-serp.s3{ left:83%; top:-18vh; --dx:24px; animation-duration:11.5s; animation-delay:-2.8s; }
  #s12 .s12-serp.s4{ left:88%; top:-8vh; --dx:-26px; animation-duration:14.2s; animation-delay:-5.5s; }
  #s12 .s12-strip.t1{ left:66%; top:8%; background:#ff58c7; --dx:28px; animation-delay:-2s; transform:rotate(16deg); }
  #s12 .s12-strip.t2{ left:77%; top:12%; background:#42c7ff; --dx:-32px; animation-duration:11.5s; animation-delay:-6s; transform:rotate(-22deg); }
  #s12 .s12-strip.t3{ left:92%; top:18%; background:#3bf59b; --dx:-20px; animation-delay:-1.4s; transform:rotate(28deg); }
  #s12 .s12-strip.t4{ left:73%; top:40%; background:#ff9e28; --dx:24px; animation-duration:9.5s; animation-delay:-3.6s; transform:rotate(-16deg); }
  #s12 .s12-strip.t5{ left:86%; top:36%; background:#ff58c7; --dx:16px; animation-duration:12.2s; animation-delay:-7.1s; transform:rotate(12deg); }
  #s12 .s12-dot.d1{ left:63%; top:16%; background:#ffd23f; --dx:18px; animation-delay:-1.8s; }
  #s12 .s12-dot.d2{ left:69%; top:28%; background:#ff58c7; --dx:-14px; animation-duration:8.8s; animation-delay:-4.5s; width:34px; height:34px; }
  #s12 .s12-dot.d3{ left:80%; top:21%; background:#3bf59b; --dx:12px; animation-duration:11.7s; animation-delay:-6.8s; }
  #s12 .s12-dot.d4{ left:90%; top:29%; background:#42c7ff; --dx:-18px; animation-duration:10.3s; animation-delay:-3.3s; width:22px; height:22px; }
  #s12 .s12-dot.d5{ left:74%; top:49%; background:#8b5cf6; --dx:15px; animation-duration:9.8s; animation-delay:-5.8s; width:26px; height:26px; }
  @keyframes s12TitleGlow{
    0%,100%{ transform:translateY(0); filter:drop-shadow(0 10px 24px rgba(0,0,0,.26)); }
    50%{ transform:translateY(-6px); filter:drop-shadow(0 14px 30px rgba(0,0,0,.35)); }
  }
  @keyframes s12FloatAmp{
    0%,100%{ transform:translate(-50%,-50%) translateY(0); }
    50%{ transform:translate(-50%,-50%) translateY(-10px); }
  }
  @keyframes s12QFloat{
    0%,100%{ transform:translateY(0) rotate(-4deg); }
    50%{ transform:translateY(-14px) rotate(3deg); }
  }
  @keyframes s12Fall{
    0%{ transform:translate3d(0,-15vh,0) rotate(0deg); }
    50%{ transform:translate3d(var(--dx),42vh,0) rotate(180deg); }
    100%{ transform:translate3d(calc(var(--dx) * 1.6),115vh,0) rotate(360deg); }
  }
  .events-scroll-stack{
    position:relative;
    overflow:visible !important;
    background:#14052d;
  }
  .events-scroll-stack #s12{
    position:sticky !important;
    top:64px !important;
    z-index:1 !important;
    min-height:calc(100vh - 64px) !important;
  }
  .events-scroll-stack #s13{
    position:relative !important;
    z-index:3 !important;
    min-height:100vh !important;
    margin-top:0 !important;
    border-radius:24px 24px 0 0;
    box-shadow:0 -22px 70px rgba(0,0,0,.55);
  }
  @media (max-width: 980px){
    #s12 .s12-wrap{ padding:2.5rem 1.6rem; }
    #s12 .s12-svg-title{ width:min(92vw,760px); }
    #s12 .s12-svg-subtitle{ width:min(95vw,980px); }
    #s12 .s12-amp{ left:72%; top:36%; font-size:clamp(4rem,14vw,6rem); }
    #s12 .s12-qlogo{ width:120px; right:1rem; bottom:4rem; }
    #s12 .s12-tagline{ letter-spacing:.18em; font-size:.9rem; max-width:92vw; }
    #s12 .s12-serp.s1, #s12 .s12-serp.s2, #s12 .s12-serp.s3, #s12 .s12-serp.s4{ width:56px; height:160px; }
  }

:root{ --q-nav-h:64px; }

  html, body{
    background:#14052d !important;
  }

  /*
    FIX GLOBAL:
    Los packs con efecto sticky necesitan altura de scroll suficiente.
    El primer slide queda pegado; el segundo sube encima y después continúa el flujo.
  */
  .scroll-stack{
    position:relative !important;
    min-height:200vh !important;
    overflow:visible !important;
    background:#14052d !important;
    isolation:isolate;
  }

  .scroll-stack > section.slide{
    min-height:calc(100vh - var(--q-nav-h)) !important;
  }

  .scroll-stack > .stack-sticky{
    position:sticky !important;
    top:var(--q-nav-h) !important;
    height:calc(100vh - var(--q-nav-h)) !important;
    min-height:calc(100vh - var(--q-nav-h)) !important;
    z-index:1 !important;
  }

  .scroll-stack > .stack-slide-up{
    position:relative !important;
    z-index:3 !important;
    min-height:calc(100vh - var(--q-nav-h)) !important;
    margin-top:0 !important;
    box-shadow:0 -24px 80px rgba(0,0,0,.45);
  }

  /*
    FIX EVENTOS:
    Elimina el espacio blanco después del slide EVENTOS & EXPERIENCIAS
    y restaura el sticky entre s12 y s13.
  */
  .events-scroll-stack{
    min-height:200vh !important;
    background:#14052d !important;
  }

  .events-scroll-stack > #s12{
    position:sticky !important;
    top:var(--q-nav-h) !important;
    height:calc(100vh - var(--q-nav-h)) !important;
    min-height:calc(100vh - var(--q-nav-h)) !important;
    z-index:1 !important;
  }

  .events-scroll-stack > #s13{
    position:relative !important;
    z-index:4 !important;
    min-height:calc(100vh - var(--q-nav-h)) !important;
    margin-top:0 !important;
    padding:0 !important;
    background:
      radial-gradient(circle at 18% 12%, rgba(56,189,248,.18), transparent 28%),
      radial-gradient(circle at 82% 18%, rgba(217,70,239,.18), transparent 28%),
      linear-gradient(135deg,#2b0a63 0%,#160535 55%,#0d031f 100%) !important;
    color:#fff !important;
    border-radius:28px 28px 0 0;
    box-shadow:0 -28px 90px rgba(0,0,0,.55);
    overflow:hidden !important;
  }

  #s13 .s13-wrap{
    width:min(1400px,100%) !important;
    min-height:calc(100vh - var(--q-nav-h)) !important;
    margin:0 auto !important;
    padding:clamp(3rem,6vw,6rem) clamp(2rem,6vw,6rem) !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:clamp(1.6rem,3vw,3rem) !important;
  }

  #s13 .s13-title{
    color:#fff !important;
    font-family:'Barlow Condensed','Bebas Neue',sans-serif !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    line-height:.92 !important;
    letter-spacing:.03em !important;
    font-size:clamp(3.2rem,7vw,7.8rem) !important;
    text-shadow:0 14px 36px rgba(0,0,0,.35);
  }

  #s13 .s13-title .line2{
    color:#d946ef !important;
  }

  #s13 .s13-photos{
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:1rem !important;
  }

  #s13 .s13-photo,
  #s13 .photo{
    min-height:clamp(120px,16vh,210px) !important;
    border-radius:22px !important;
    background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.05)) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    color:rgba(255,255,255,.92) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    padding:1rem !important;
    overflow:hidden !important;
  }

  #s13 .s13-body{
    max-width:980px !important;
    color:rgba(255,255,255,.82) !important;
    font-family:'Inter',sans-serif !important;
    font-size:clamp(1rem,1.25vw,1.35rem) !important;
    line-height:1.45 !important;
    font-weight:650 !important;
  }

  /*
    FIX MEDIOS:
    s15 queda sticky y s16 sube encima, para que el reveal sí ocurra dentro del scroll visible.
  */
  .media-scroll-stack{
    min-height:200vh !important;
    background:#14052d !important;
  }

  .media-scroll-stack > #s15{
    position:sticky !important;
    top:var(--q-nav-h) !important;
    height:calc(100vh - var(--q-nav-h)) !important;
    min-height:calc(100vh - var(--q-nav-h)) !important;
    z-index:1 !important;
    overflow:hidden !important;
  }

  .media-scroll-stack > #s16{
    position:relative !important;
    z-index:4 !important;
    min-height:calc(100vh - var(--q-nav-h)) !important;
    margin-top:0 !important;
    border-radius:28px 28px 0 0;
    box-shadow:0 -28px 90px rgba(0,0,0,.50);
    overflow:hidden !important;
  }

  @media (max-width:900px){
    :root{ --q-nav-h:58px; }
    #s13 .s13-photos{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  }


/* ===== FTP FIXES — proyecto analizado, sin carpeta backup ===== */
#sections-root {
  position: relative !important;
  overflow: visible !important;
}

.client-scroll-stack {
  position: relative !important;
  min-height: 200vh !important;
  overflow: visible !important;
  background: #ffffff !important;
  z-index: 0 !important;
}

.client-scroll-stack > #s02.stack-sticky {
  position: sticky !important;
  top: 64px !important;
  height: calc(100vh - 64px) !important;
  min-height: calc(100vh - 64px) !important;
  z-index: 1 !important;
  overflow: hidden !important;
}

.client-scroll-stack > #s03.stack-slide-up {
  position: relative !important;
  z-index: 3 !important;
  min-height: 100vh !important;
  margin-top: 0 !important;
  border-radius: 24px 24px 0 0 !important;
  box-shadow: 0 -20px 60px rgba(0,0,0,.5) !important;
}

#s01 #particles {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 135% !important;
  display: block !important;
}

#s01 .s00-logo,
#s01 .s00-confetti {
  position: relative;
  z-index: 4;
}

#s01 .s00-booom {
  position: absolute !important;
  top: -26% !important;
  right: -48% !important;
  left: auto !important;
  z-index: 4;
}

#s01 .s00-q-img {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Sticky extendido: Confían queda fijo mientras suben Aliados, Films y el resto. */
.client-scroll-stack {
  position: relative !important;
  display: block !important;
  min-height: auto !important;
  background: transparent !important;
  overflow: visible !important;
  isolation: auto !important;
  z-index: 2 !important;
}

.client-scroll-stack > #s02.stack-sticky {
  position: sticky !important;
  top: var(--q-nav-h, 64px) !important;
  height: calc(100vh - var(--q-nav-h, 64px)) !important;
  min-height: calc(100vh - var(--q-nav-h, 64px)) !important;
  z-index: 0 !important;
}

.client-scroll-stack > section.slide:not(#s02),
.client-scroll-stack > .scroll-stack {
  position: relative !important;
  z-index: 5 !important;
}

.client-scroll-stack > #s03.stack-slide-up {
  min-height: calc(100vh - var(--q-nav-h, 64px)) !important;
}

#s02-sticky-underlay.s02-sticky-underlay {
  position: fixed !important;
  top: var(--q-nav-h, 64px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: calc(100vh - var(--q-nav-h, 64px)) !important;
  min-height: calc(100vh - var(--q-nav-h, 64px)) !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  overflow: hidden !important;
  background: #ffffff !important;
  color: #1a0a3a !important;
}

#s02-sticky-underlay.s02-sticky-underlay .s02-title {
  color: #1a0a3a !important;
}

#s02-sticky-underlay.s02-sticky-underlay.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
}

#s02.s02-underlay-source-hidden {
  visibility: hidden !important;
}

.client-scroll-stack > #s10.slide {
  min-height: 170px !important;
  height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: stretch !important;
}

.client-scroll-stack > #s10 .s10-wrap {
  min-height: 170px !important;
  padding: 1.05rem 3.2rem 1.15rem !important;
  align-items: center !important;
}

#s16 {
  --s16-progress: 0;
  --s16-motion: 0;
  --s16-reveal: 0;
  --s16-exit: 0;
  position: relative !important;
  display: block !important;
  min-height: calc((100vh - var(--q-nav-h, 64px)) * 3.6) !important;
  padding: 0 !important;
  background: #120636 !important;
  overflow: visible !important;
  border-radius: 28px 28px 0 0 !important;
  box-shadow: 0 -28px 90px rgba(0,0,0,.5) !important;
}

.media-scroll-stack > #s16 {
  display: block !important;
  min-height: calc((100vh - var(--q-nav-h, 64px)) * 3.6) !important;
  padding: 0 !important;
  overflow: visible !important;
}

.media-scroll-stack.s16-is-active {
  z-index: 80 !important;
}

#s16 .s16-wrap {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: calc(100vh - var(--q-nav-h, 64px)) !important;
  min-height: calc(100vh - var(--q-nav-h, 64px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  background:
    linear-gradient(135deg, rgba(95,17,150,.92), rgba(17,45,118,.96) 52%, rgba(0,102,138,.82)),
    linear-gradient(45deg, rgba(255,255,255,.05) 25%, transparent 25% 50%, rgba(255,255,255,.045) 50% 75%, transparent 75%) !important;
  background-size: auto, 190px 190px !important;
}

#s16.s16-is-fixed .s16-wrap {
  position: fixed !important;
  top: var(--q-nav-h, 64px) !important;
  z-index: 30 !important;
}

#s16.s16-is-fixed {
  z-index: 60 !important;
}

#s16.s16-is-done .s16-wrap {
  position: absolute !important;
  top: auto !important;
  bottom: 0 !important;
}

#s16.s16-is-done {
  z-index: 4 !important;
}

#s16 .s16-depth-bg {
  position: absolute !important;
  inset: -12% !important;
  z-index: 0 !important;
  opacity: .62 !important;
  background:
    radial-gradient(circle at 22% 90%, rgba(238,74,255,.24), transparent 28%),
    radial-gradient(circle at 77% 12%, rgba(56,189,248,.16), transparent 30%),
    linear-gradient(45deg, rgba(255,255,255,.06) 25%, transparent 25% 50%, rgba(255,255,255,.035) 50% 75%, transparent 75%) !important;
  background-size: auto, auto, 230px 230px !important;
  transform: translate3d(calc(var(--s16-motion) * -18vw), 0, 0) scale(1.08) !important;
  will-change: transform !important;
}

#s16 .s16-current {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  transform: translate3d(calc(var(--s16-motion) * -72vw), 0, 0) !important;
  will-change: transform !important;
}

#s16 .s16-text {
  position: absolute !important;
  left: clamp(1.8rem, 6vw, 6rem) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: min(720px, 58vw) !important;
  z-index: 3 !important;
}

#s16 .s16-title-row {
  display: flex !important;
  align-items: flex-end !important;
  gap: clamp(.6rem, 1.2vw, 1.4rem) !important;
}

#s16 .s16-medios {
  display: block !important;
  font-family: 'Barlow Condensed', 'Bebas Neue', sans-serif !important;
  font-size: clamp(8rem, 18vw, 19rem) !important;
  line-height: .72 !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
  color: #76ff35 !important;
  background: linear-gradient(180deg, #e6ff78 0%, #8cff36 46%, #00f030 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  filter: drop-shadow(0 14px 24px rgba(0,0,0,.18)) !important;
}

#s16 .s16-amp {
  display: block !important;
  margin-bottom: .06em !important;
  color: #fff !important;
  font-family: 'Barlow Condensed', 'Bebas Neue', sans-serif !important;
  font-size: clamp(5rem, 8vw, 8.5rem) !important;
  line-height: .75 !important;
  font-weight: 900 !important;
}

#s16 .s16-sub {
  display: flex !important;
  align-items: baseline !important;
  gap: clamp(.45rem, .9vw, 1rem) !important;
  margin-top: clamp(.3rem, .7vw, .8rem) !important;
  font-family: 'Barlow Condensed', 'Bebas Neue', sans-serif !important;
  line-height: .86 !important;
  letter-spacing: .025em !important;
  text-transform: uppercase !important;
}

#s16 .s16-contenido {
  color: #ffb118 !important;
  font-size: clamp(3.2rem, 5.5vw, 6rem) !important;
  background: linear-gradient(180deg, #fff35f 0%, #ff9d13 54%, #ff5d13 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

#s16 .s16-digital {
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  -webkit-text-stroke: 2px rgba(255,255,255,.88) !important;
  font-size: clamp(4.2rem, 7.8vw, 8.4rem) !important;
}

#s16 .s16-confetti {
  position: absolute !important;
  right: clamp(2rem, 8vw, 8.2rem) !important;
  top: 15% !important;
  width: min(34vw, 470px) !important;
  height: 52% !important;
  z-index: 2 !important;
  display: block !important;
  font-size: initial !important;
}

#s16 .s16-shape {
  position: absolute !important;
  display: block !important;
  filter: drop-shadow(5px 5px 0 rgba(0,0,0,.75)) !important;
}

#s16 .s16-triangle-a,
#s16 .s16-triangle-b {
  width: 0 !important;
  height: 0 !important;
  border-top: 12px solid transparent !important;
  border-bottom: 12px solid transparent !important;
  border-right: 42px solid #20e0a1 !important;
}

#s16 .s16-triangle-a { left: 7%; top: 8%; transform: rotate(-5deg) !important; }
#s16 .s16-triangle-b { left: 18%; top: 64%; transform: rotate(8deg) !important; }

#s16 .s16-dot-a,
#s16 .s16-dot-b,
#s16 .s16-dot-c {
  border-radius: 999px !important;
  background: radial-gradient(circle at 35% 28%, #fff, #ff5cac 34%, #f0318e 76%) !important;
}

#s16 .s16-dot-a { left: 34%; top: 20%; width: 18px !important; height: 18px !important; }
#s16 .s16-dot-b { left: 52%; top: 38%; width: 58px !important; height: 58px !important; }
#s16 .s16-dot-c { left: 67%; top: 50%; width: 26px !important; height: 26px !important; }

#s16 .s16-dash-a {
  left: 12% !important;
  top: 42% !important;
  width: 28px !important;
  height: 7px !important;
  background: #ff5f9f !important;
  transform: rotate(16deg) !important;
}

#s16 .s16-zigzag-a,
#s16 .s16-zigzag-b,
#s16 .s16-zigzag-c,
#s16 .s16-wave {
  height: 24px !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
}

#s16 .s16-zigzag-a {
  right: 7% !important;
  top: 0 !important;
  width: 92px !important;
  background-image: linear-gradient(135deg, transparent 0 18%, #11d4a7 18% 27%, transparent 27% 44%, #11d4a7 44% 53%, transparent 53% 70%, #11d4a7 70% 79%, transparent 79%) !important;
}

#s16 .s16-zigzag-b {
  right: 23% !important;
  top: 38% !important;
  width: 120px !important;
  background-image: linear-gradient(135deg, transparent 0 18%, #ff5aa2 18% 27%, transparent 27% 44%, #ff5aa2 44% 53%, transparent 53% 70%, #ff5aa2 70% 79%, transparent 79%) !important;
}

#s16 .s16-zigzag-c {
  left: 28% !important;
  top: 75% !important;
  width: 76px !important;
  background-image: linear-gradient(135deg, transparent 0 18%, #39e680 18% 27%, transparent 27% 44%, #39e680 44% 53%, transparent 53% 70%, #39e680 70% 79%, transparent 79%) !important;
}

#s16 .s16-wave {
  right: 0 !important;
  bottom: 8% !important;
  width: 240px !important;
  height: 40px !important;
  border-top: 10px solid #0bd08d !important;
  border-radius: 50% !important;
  transform: rotate(-4deg) !important;
}

#s16 .s16-next-reveal {
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  display: grid !important;
  grid-template-columns: minmax(240px, .82fr) minmax(0, 2.1fr) !important;
  align-items: center !important;
  gap: clamp(1rem, 2vw, 2.2rem) !important;
  padding: clamp(2rem, 4vw, 4.6rem) clamp(1.8rem, 4vw, 4.5rem) !important;
  color: #232c8f !important;
  background:
    linear-gradient(90deg, #ffffff 0 37%, transparent 37%),
    radial-gradient(circle at 83% 52%, transparent 0 39%, #26349b 39.4% 44%, transparent 44.4% 50%, #26349b 50.4% 55%, transparent 55.4%),
    linear-gradient(135deg, #20339c 0%, #111c79 100%) !important;
  opacity: var(--s16-reveal) !important;
  transform: translate3d(calc((1 - var(--s16-reveal)) * 100%), 0, 0) !important;
  will-change: transform, opacity !important;
  pointer-events: none !important;
}

#s16 .s16-next-slide-preview {
  position: absolute !important;
  inset: 0 !important;
  z-index: 12 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  transform: translate3d(0, calc((1 - var(--s16-exit)) * 100%), 0) !important;
  will-change: transform !important;
  pointer-events: none !important;
}

#s16 .s16-next-slide-preview .s17-wrap {
  height: 100% !important;
}

#s17 .s17-center,
#s16 .s16-next-slide-preview .s17-center {
  background: linear-gradient(180deg, #342081, #171047) !important;
}

#s17 .s17-center-placeholder,
#s16 .s16-next-slide-preview .s17-center-placeholder {
  width: min(36vw, 330px) !important;
  aspect-ratio: 9 / 16 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1rem !important;
  border: 3px solid rgba(255,255,255,.7) !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.04)),
    #26136c !important;
  box-shadow: 0 22px 54px rgba(0,0,0,.28) !important;
  color: rgba(255,255,255,.88) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .78rem !important;
  font-style: normal !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  text-align: center !important;
  overflow: hidden !important;
}

#s17 .s17-reel-video,
#s16 .s16-next-slide-preview .s17-reel-video {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 20px !important;
}

#s17 .s17-video-play,
#s16 .s16-next-slide-preview .s17-video-play {
  width: 74px !important;
  height: 74px !important;
  display: grid !important;
  place-items: center !important;
  border: 2px solid rgba(255,255,255,.84) !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 1.7rem !important;
  padding-left: .25rem !important;
}

#s16 .s16-format-copy {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  color: #26349b !important;
  font-family: 'Barlow Condensed', 'Bebas Neue', sans-serif !important;
  text-transform: uppercase !important;
  line-height: .86 !important;
}

#s16 .s16-format-copy span,
#s16 .s16-format-copy strong {
  display: block !important;
}

#s16 .s16-format-copy span {
  font-size: clamp(1.35rem, 2.1vw, 2.35rem) !important;
  font-weight: 900 !important;
  letter-spacing: -.01em !important;
}

#s16 .s16-format-copy em {
  color: transparent !important;
  -webkit-text-stroke: 1.6px #26349b !important;
  font-style: normal !important;
}

#s16 .s16-format-copy strong {
  font-size: clamp(2.35rem, 4vw, 4.8rem) !important;
  font-weight: 900 !important;
  letter-spacing: -.015em !important;
}

#s16 .s16-format-copy b {
  display: block !important;
  color: #e82b93 !important;
  font-size: clamp(5rem, 8.8vw, 10rem) !important;
  letter-spacing: -.025em !important;
}

#s16 .s16-format-rings {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 82% 52%, transparent 0 38%, rgba(255,255,255,.98) 38.3% 43.6%, transparent 43.9% 49.7%, rgba(255,255,255,.98) 50% 55.2%, transparent 55.5%),
    radial-gradient(circle at 82% 52%, transparent 0 57%, rgba(255,255,255,.98) 57.2% 62%, transparent 62.3%) !important;
  opacity: .96 !important;
}

#s16 .s16-phone-strip {
  position: relative !important;
  z-index: 3 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(120px, 1fr)) !important;
  gap: clamp(.35rem, .65vw, .7rem) !important;
  align-items: center !important;
  justify-content: center !important;
}

#s16 .s16-phone-card {
  position: relative !important;
  height: min(62vh, 500px) !important;
  min-height: 360px !important;
  overflow: hidden !important;
  border: 4px solid #18226d !important;
  background: #111 !important;
  box-shadow: 0 18px 34px rgba(0,0,0,.3) !important;
  color: #fff !important;
  font-family: 'Inter', sans-serif !important;
}

#s16 .s16-phone-time {
  position: absolute !important;
  top: .45rem !important;
  left: .7rem !important;
  z-index: 5 !important;
  font-size: .65rem !important;
  font-weight: 800 !important;
  color: rgba(255,255,255,.92) !important;
}

#s16 .s16-phone-copy {
  position: absolute !important;
  z-index: 4 !important;
  left: .7rem !important;
  right: .7rem !important;
  top: 2rem !important;
  color: #fff !important;
  font-family: 'Barlow Condensed', 'Bebas Neue', sans-serif !important;
  font-size: clamp(1.1rem, 1.7vw, 2rem) !important;
  line-height: .92 !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-shadow: 0 3px 8px rgba(0,0,0,.35) !important;
}

#s16 .s16-phone-ui {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 52px !important;
  z-index: 5 !important;
  background:
    radial-gradient(circle at 11% 50%, transparent 0 5px, #fff 5.4px 6.2px, transparent 6.6px),
    radial-gradient(circle at 32% 50%, transparent 0 5px, #fff 5.4px 6.2px, transparent 6.6px),
    radial-gradient(circle at 51% 50%, transparent 0 5px, #fff 5.4px 6.2px, transparent 6.6px),
    radial-gradient(circle at 70% 50%, transparent 0 5px, #fff 5.4px 6.2px, transparent 6.6px),
    radial-gradient(circle at 89% 50%, transparent 0 5px, #fff 5.4px 6.2px, transparent 6.6px),
    #080808 !important;
}

#s16 .s16-phone-uno {
  background:
    linear-gradient(180deg, rgba(255,255,255,.1), rgba(0,0,0,.18)),
    radial-gradient(circle at 30% 28%, #ffd947 0 10%, transparent 11%),
    radial-gradient(circle at 58% 30%, #ff5bbb 0 8%, transparent 9%),
    radial-gradient(circle at 72% 26%, #ffad2d 0 9%, transparent 10%),
    linear-gradient(180deg, #c4f1a7, #7fbb56) !important;
}

#s16 .s16-phone-uno .s16-phone-copy { color: #e31d2e !important; }

#s16 .s16-phone-product {
  position: absolute !important;
  left: 40% !important;
  bottom: 25% !important;
  width: 46% !important;
  aspect-ratio: .62 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(180deg, #ff4b1e, #151515 70%) !important;
  border-radius: 12px 12px 28px 28px !important;
  font-size: clamp(2rem, 3vw, 3.3rem) !important;
  font-weight: 900 !important;
  line-height: .8 !important;
  transform: rotate(-8deg) !important;
}

#s16 .s16-phone-product small {
  font-size: .4em !important;
  color: #fff !important;
}

#s16 .s16-phone-metro {
  background:
    linear-gradient(180deg, rgba(32,134,178,.3), rgba(0,0,0,.15)),
    radial-gradient(circle at 50% 34%, #f0c7a6 0 15%, transparent 15.5%),
    linear-gradient(180deg, #6aa0b9, #c33b41 52%, #1d6ea1) !important;
}

#s16 .s16-phone-badge {
  position: absolute !important;
  top: 1.5rem !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 5 !important;
  font-size: .8rem !important;
  font-weight: 900 !important;
}

#s16 .s16-phone-person {
  position: absolute !important;
  left: 24% !important;
  right: 24% !important;
  bottom: 18% !important;
  height: 55% !important;
  border-radius: 42% 42% 18% 18% !important;
  background:
    radial-gradient(circle at 50% 13%, #f2c29e 0 18%, transparent 19%),
    linear-gradient(180deg, #e94b45 0 48%, #f7f7f7 48% 55%, #2381a9 55%) !important;
}

#s16 .s16-phone-secret {
  background: linear-gradient(180deg, #3fa75c, #75ce7e) !important;
}

#s16 .s16-phone-bear {
  position: absolute !important;
  left: 24% !important;
  right: 24% !important;
  bottom: 22% !important;
  aspect-ratio: .78 !important;
  border-radius: 44% 44% 24% 24% !important;
  background:
    radial-gradient(circle at 33% 33%, #f48aa6 0 7%, transparent 7.5%),
    radial-gradient(circle at 67% 33%, #f48aa6 0 7%, transparent 7.5%),
    radial-gradient(circle at 50% 44%, #a9fff2 0 15%, transparent 15.5%),
    #ffc9b9 !important;
  box-shadow: -22px -20px 0 -8px #ffc9b9, 22px -20px 0 -8px #ffc9b9 !important;
}

#s16 .s16-phone-food {
  background:
    linear-gradient(180deg, rgba(255,255,255,.1), rgba(0,0,0,.1)),
    radial-gradient(circle at 50% 18%, #3b1b16 0 11%, transparent 11.5%),
    linear-gradient(180deg, #f47d23, #fff 38%, #d71920 78%) !important;
}

#s16 .s16-phone-food .s16-phone-person {
  left: 28% !important;
  right: 28% !important;
  bottom: 24% !important;
  height: 50% !important;
  background:
    radial-gradient(circle at 50% 13%, #9a4e32 0 18%, transparent 19%),
    linear-gradient(180deg, #fff 0 48%, #f47d23 48%) !important;
}

#s16 .s16-phone-uno {
  background: url('../images/medios-contenido-digital/formato-uni-cola.jpg') center / cover no-repeat !important;
}

#s16 .s16-phone-metro {
  background: url('../images/medios-contenido-digital/formato-metro.jpg') center / cover no-repeat !important;
}

#s16 .s16-phone-secret {
  background: url('../images/medios-contenido-digital/formato-secreto.jpg') center / cover no-repeat !important;
}

#s16 .s16-phone-food {
  background: url('../images/medios-contenido-digital/formato-food.jpg') center / cover no-repeat !important;
}

#s16 .s16-phone-card .s16-phone-copy,
#s16 .s16-phone-card .s16-phone-product,
#s16 .s16-phone-card .s16-phone-person,
#s16 .s16-phone-card .s16-phone-bear,
#s16 .s16-phone-card .s16-phone-badge {
  display: none !important;
}

@media (max-width: 900px) {
  #s16 .s16-next-reveal {
    grid-template-columns: 1fr !important;
    align-content: center !important;
    padding: 1.4rem !important;
  }

  #s16 .s16-phone-strip {
    grid-template-columns: repeat(2, minmax(120px, 1fr)) !important;
  }

  #s16 .s16-phone-card {
    height: 30vh !important;
    min-height: 230px !important;
  }
}

#s15 {
  background:
    linear-gradient(135deg, rgba(104,36,170,.88), rgba(35,14,100,.94) 48%, rgba(0,132,156,.78)),
    linear-gradient(45deg, rgba(255,255,255,.06) 25%, transparent 25% 50%, rgba(255,255,255,.05) 50% 75%, transparent 75%) !important;
  background-size: auto, 190px 190px !important;
  overflow: hidden !important;
}

#s15 .s15-wrap {
  width: 100% !important;
  max-width: none !important;
  height: calc(100vh - var(--q-nav-h, 64px)) !important;
  min-height: calc(100vh - var(--q-nav-h, 64px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1.45fr) minmax(220px, .95fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
}

#s15 .s15-title-panel,
#s15 .s15-photo,
#s15 .s15-copy-panel {
  position: relative !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

#s15 .s15-title-panel {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  z-index: 5 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: clamp(2.4rem, 4.8vw, 4.8rem) clamp(1.4rem, 4vw, 4rem) !important;
}

#s15 .s15-title {
  position: relative !important;
  z-index: 6 !important;
  display: grid !important;
  grid-template-columns: auto auto !important;
  column-gap: clamp(.45rem, 1vw, 1rem) !important;
  row-gap: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Barlow Condensed', 'Bebas Neue', sans-serif !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  line-height: .82 !important;
  letter-spacing: .02em !important;
  text-align: center !important;
  text-shadow: 0 16px 34px rgba(0,0,0,.28) !important;
}

#s15 .s15-title .tec {
  grid-column: 1 !important;
  color: #bff7ff !important;
  font-size: clamp(5.2rem, 9.2vw, 10.5rem) !important;
  background: linear-gradient(180deg, #e3fff5 0%, #baf7ff 45%, #1fb2ff 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

#s15 .s15-title .plus {
  grid-column: 2 !important;
  align-self: end !important;
  margin-bottom: .1em !important;
  color: transparent !important;
  -webkit-text-stroke: 4px rgba(255,255,255,.92) !important;
  font-size: clamp(5rem, 8vw, 9rem) !important;
  line-height: .7 !important;
}

#s15 .s15-title .exp {
  grid-column: 1 / span 2 !important;
  color: #8cff82 !important;
  font-size: clamp(4.4rem, 6.8vw, 7.9rem) !important;
  background: linear-gradient(180deg, #f2ffe9 0%, #9dff7c 52%, #22e95d 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

#s15 .s15-vr-device {
  position: absolute !important;
  z-index: 20 !important;
  left: -6vw !important;
  right: -15vw !important;
  bottom: 2vh !important;
  height: min(52vh, 580px) !important;
  background: url('../images/tecnologia-experiencias/vr-headset.png') center bottom / contain no-repeat !important;
  filter: drop-shadow(0 30px 38px rgba(0,0,0,.38)) !important;
}

#s15 .s15-photo {
  grid-column: 2 !important;
  grid-row: 1 !important;
  z-index: 1 !important;
  border-radius: 0 !important;
  aspect-ratio: auto !important;
  background:
    linear-gradient(135deg, rgba(255,143,28,.22), rgba(58,15,90,.18)),
    url('../images/tecnologia-experiencias/popeyes-vr-zone.jpg') center / cover no-repeat,
    linear-gradient(135deg, #5a2475 0%, #f28c28 100%) !important;
  min-height: 0 !important;
}

#s15 .s15-photo::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.02)) !important;
  pointer-events: none !important;
}

#s15 .s15-copy-panel {
  grid-column: 2 !important;
  grid-row: 2 !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: clamp(2.6rem, 4.2vw, 4.8rem) clamp(2rem, 6vw, 6rem) clamp(2rem, 5vw, 5.2rem) !important;
  background:
    linear-gradient(135deg, rgba(51,25,146,.94), rgba(0,139,164,.86)),
    linear-gradient(45deg, rgba(255,255,255,.05) 25%, transparent 25% 50%, rgba(255,255,255,.04) 50% 75%, transparent 75%) !important;
  background-size: auto, 150px 150px !important;
}

#s15 .s15-body {
  width: min(780px, 100%) !important;
  margin: -24px 0 0 !important;
  color: #fff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(1.2rem, 1.35vw, 1.75rem) !important;
  line-height: 1.85 !important;
  font-weight: 800 !important;
  text-align: center !important;
  text-shadow: 0 8px 22px rgba(0,0,0,.18) !important;
}

@media (max-width: 900px) {
  #s15 .s15-wrap {
    grid-template-columns: 1fr !important;
    grid-template-rows: minmax(420px, 1fr) minmax(260px, .62fr) minmax(260px, .6fr) !important;
    height: auto !important;
    min-height: calc(100vh - var(--q-nav-h, 58px)) !important;
  }

  #s15 .s15-title-panel,
  #s15 .s15-photo,
  #s15 .s15-copy-panel {
    grid-column: 1 !important;
  }

  #s15 .s15-title-panel {
    grid-row: 1 !important;
    padding-top: 2.4rem !important;
  }

  #s15 .s15-photo {
    grid-row: 2 !important;
  }

  #s15 .s15-copy-panel {
    grid-row: 3 !important;
  }

  #s15 .s15-body {
    font-size: 1.08rem !important;
    line-height: 1.7 !important;
  }
}

.client-scroll-stack .events-scroll-stack {
  position: relative !important;
  min-height: 200vh !important;
  padding-top: calc(100vh - var(--q-nav-h, 64px)) !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.client-scroll-stack .events-scroll-stack > #s12 {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: calc(100vh - var(--q-nav-h, 64px)) !important;
  min-height: calc(100vh - var(--q-nav-h, 64px)) !important;
  z-index: 2 !important;
}

.client-scroll-stack .events-scroll-stack.s12-is-fixed > #s12 {
  position: fixed !important;
  top: var(--q-nav-h, 64px) !important;
  z-index: 20 !important;
}

.client-scroll-stack .events-scroll-stack.s12-is-done > #s12 {
  position: absolute !important;
  top: auto !important;
  bottom: 0 !important;
  z-index: 2 !important;
}

.client-scroll-stack .events-scroll-stack > #s13 {
  position: relative !important;
  z-index: 25 !important;
  margin-top: 0 !important;
  min-height: calc(100vh - var(--q-nav-h, 64px) + 180px) !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(56,189,248,.18), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(217,70,239,.18), transparent 28%),
    linear-gradient(135deg,#2b0a63 0%,#160535 55%,#0d031f 100%) !important;
}

.client-scroll-stack .events-scroll-stack > #s13::after {
  content: none !important;
}

.client-scroll-stack .events-scroll-stack > #s13 > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Slide 18: RRSS */
#s18 {
  overflow: hidden !important;
  background:
    radial-gradient(circle at 31% 102%, rgba(255, 225, 99, 0.82) 0, rgba(255, 174, 190, 0.35) 20%, transparent 39%),
    linear-gradient(116deg, #060252 0%, #101a76 40%, #411a91 72%, #9228bb 100%) !important;
}

#s18::before {
  content: "" !important;
  position: absolute !important;
  inset: -12% !important;
  pointer-events: none !important;
  opacity: 0.18 !important;
  background:
    linear-gradient(135deg, transparent 0 44%, rgba(185, 115, 255, 0.55) 44% 52%, transparent 52% 100%) 0 0 / 140px 140px,
    linear-gradient(315deg, transparent 0 44%, rgba(74, 209, 255, 0.38) 44% 52%, transparent 52% 100%) 70px 70px / 140px 140px !important;
}

#s18 .s18-rrss-wrap {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.5fr) minmax(330px, 0.82fr) !important;
  align-items: center !important;
  gap: clamp(54px, 5vw, 104px) !important;
  width: min(100%, 1780px) !important;
  min-height: calc(100vh - var(--q-nav-h, 64px)) !important;
  margin: 0 auto !important;
  padding: clamp(46px, 5vh, 78px) clamp(34px, 5vw, 92px) !important;
}

#s18 .s18-collage {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
  width: min(88%, 880px) !important;
  aspect-ratio: 1.42 !important;
  transform: rotate(-4deg) !important;
  transform-origin: 50% 50% !important;
  justify-self: start !important;
  filter: drop-shadow(0 22px 26px rgba(3, 0, 42, 0.32)) !important;
}

#s18 .s18-tile {
  --tile-x: 7px;
  --tile-y: -8px;
  --tile-scale: 1.025;
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.78) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.2), transparent 48%),
    linear-gradient(145deg, #b930d4, #35219d 62%, #10155e) !important;
  box-shadow: 0 0 0 1px rgba(31, 12, 97, 0.48), 0 12px 22px rgba(2, 0, 44, 0.18) !important;
  animation: s18-tile-float 5.8s ease-in-out infinite, s18-tile-pulse 4.6s ease-in-out infinite !important;
}

#s18 .s18-tile::before {
  content: "" !important;
  position: absolute !important;
  inset: 9% !important;
  border: 1px dashed rgba(255, 255, 255, 0.42) !important;
}

#s18 .s18-tile::after {
  content: "＋" !important;
  position: absolute !important;
  top: 11% !important;
  right: 11% !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: clamp(15px, 1.4vw, 25px) !important;
  font-weight: 800 !important;
}

#s18 .s18-tile span {
  position: relative !important;
  z-index: 1 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-family: var(--font-display, sans-serif) !important;
  font-size: clamp(14px, 1.4vw, 26px) !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

#s18 .s18-tile:nth-child(3n + 1) {
  --tile-x: -9px;
  --tile-y: 7px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.18), transparent 48%),
    linear-gradient(145deg, #ff8e3c, #e63c81 55%, #661e82) !important;
}

#s18 .s18-tile:nth-child(3n + 2) {
  --tile-x: 8px;
  --tile-y: 9px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.2), transparent 48%),
    linear-gradient(145deg, #15b4bc, #1265b5 56%, #1a1e78) !important;
}

#s18 .s18-tile:nth-child(4n) {
  --tile-x: -6px;
  --tile-y: -10px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.2), transparent 48%),
    linear-gradient(145deg, #dce932, #28b47a 56%, #12528e) !important;
}

#s18 .s18-tile:nth-child(2n) {
  animation-delay: -1.8s, -0.8s !important;
}

#s18 .s18-tile:nth-child(3n) {
  animation-duration: 6.7s, 5.2s !important;
  animation-delay: -3.2s, -1.7s !important;
}

#s18 .s18-tile:nth-child(5n) {
  animation-duration: 7.4s, 4.9s !important;
  animation-delay: -4.1s, -2.4s !important;
}

#s18 .s18-rrss-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  padding-top: 2vh !important;
  text-align: center !important;
}

#s18 .s18-rrss-title {
  margin: 0 0 clamp(28px, 4vh, 54px) !important;
  color: #fff !important;
  font-family: var(--font-display, sans-serif) !important;
  font-size: clamp(108px, 13vw, 220px) !important;
  font-weight: 900 !important;
  line-height: 0.74 !important;
  letter-spacing: 0 !important;
}

#s18 .s18-social-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: clamp(12px, 1.3vw, 20px) !important;
  width: min(100%, 410px) !important;
  margin-bottom: clamp(28px, 3.7vh, 50px) !important;
}

#s18 .s18-social {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 clamp(54px, 4.8vw, 74px) !important;
  aspect-ratio: 1 !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: linear-gradient(145deg, #ffd739, #e6a70e) !important;
  box-shadow: 0 8px 15px rgba(40, 12, 75, 0.22) !important;
  font-family: Arial, sans-serif !important;
  font-size: clamp(27px, 2.5vw, 39px) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#s18 .s18-social-linkedin {
  font-size: clamp(20px, 2vw, 30px) !important;
}

#s18 .s18-services {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(5px, 0.8vh, 10px) !important;
  color: #fff !important;
  font-size: clamp(19px, 1.65vw, 28px) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
}

@keyframes s18-tile-float {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  50% {
    transform: translate3d(var(--tile-x), var(--tile-y), 0) scale(var(--tile-scale));
  }
}

@keyframes s18-tile-pulse {
  0%,
  100% {
    filter: brightness(1);
  }
  50% {
    filter: brightness(1.14) saturate(1.08);
  }
}

@media (max-width: 980px) {
  #s18 .s18-rrss-wrap {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    min-height: auto !important;
    padding: 52px 24px 62px !important;
  }

  #s18 .s18-collage {
    width: min(100%, 760px) !important;
    margin: 0 auto !important;
  }

  #s18 .s18-rrss-copy {
    padding-top: 0 !important;
  }

  #s18 .s18-rrss-title {
    margin-bottom: 26px !important;
    font-size: clamp(104px, 23vw, 176px) !important;
  }

  #s18 .s18-social-grid {
    margin-bottom: 28px !important;
  }
}

/* Slide 26: formulario de contacto */
#s26 {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 78% 20%, rgba(29, 211, 238, .2), transparent 30%),
    radial-gradient(circle at 18% 74%, rgba(240, 73, 213, .25), transparent 34%),
    linear-gradient(125deg, #190747 0%, #53208d 48%, #113d91 100%) !important;
}

#s26::before {
  content: "" !important;
  position: absolute !important;
  inset: -8% !important;
  opacity: .18 !important;
  pointer-events: none !important;
  background:
    linear-gradient(45deg, rgba(255,255,255,.08) 0 18%, transparent 18% 100%),
    linear-gradient(45deg, transparent 0 60%, rgba(255,255,255,.06) 60% 74%, transparent 74% 100%) !important;
  background-size: 180px 180px, 250px 250px !important;
}

#s26 .s26-wrap {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: 1500px !important;
  min-height: calc(100vh - var(--q-nav-h, 64px)) !important;
  margin: 0 auto !important;
  padding: clamp(42px, 6vw, 90px) !important;
  display: grid !important;
  grid-template-columns: minmax(300px, .86fr) minmax(430px, 1.14fr) !important;
  align-items: center !important;
  gap: clamp(48px, 7vw, 118px) !important;
  text-align: left !important;
}

#s26 .s26-intro {
  min-width: 0 !important;
}

#s26 .s26-kicker {
  display: block !important;
  margin-bottom: 16px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: clamp(15px, 1.2vw, 20px) !important;
  font-weight: 800 !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  color: #ef71e7 !important;
}

#s26 .s26-intro h2 {
  margin: 0 !important;
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(74px, 8vw, 142px) !important;
  font-weight: 400 !important;
  line-height: .84 !important;
  letter-spacing: .01em !important;
  text-transform: uppercase !important;
  color: #fff !important;
}

#s26 .s26-intro > p {
  max-width: 520px !important;
  margin: 28px 0 34px !important;
  font-size: clamp(18px, 1.5vw, 25px) !important;
  line-height: 1.45 !important;
  color: rgba(255,255,255,.78) !important;
}

#s26 .s26-details {
  display: grid !important;
  gap: 9px !important;
  font-size: clamp(14px, 1.05vw, 18px) !important;
  line-height: 1.45 !important;
  color: rgba(255,255,255,.58) !important;
}

#s26 .s26-details a {
  color: #67e8f9 !important;
  text-decoration: none !important;
}

#s26 .s26-form {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px 28px !important;
}

#s26 .s26-form label {
  min-width: 0 !important;
  display: grid !important;
  gap: 9px !important;
}

#s26 .s26-form label > span {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.7) !important;
}

#s26 .s26-form input,
#s26 .s26-form textarea {
  width: 100% !important;
  min-width: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.42) !important;
  border-radius: 0 !important;
  outline: none !important;
  background: rgba(255,255,255,.04) !important;
  padding: 15px 13px !important;
  font: 500 16px/1.4 'Inter', sans-serif !important;
  color: #fff !important;
  transition: border-color .2s ease, background .2s ease !important;
}

#s26 .s26-form textarea {
  resize: vertical !important;
  min-height: 128px !important;
}

#s26 .s26-form input:focus,
#s26 .s26-form textarea:focus {
  border-color: #67e8f9 !important;
  background: rgba(255,255,255,.08) !important;
}

#s26 .s26-message {
  grid-column: 1 / -1 !important;
}

#s26 .s26-form button {
  grid-column: 1 / -1 !important;
  justify-self: start !important;
  min-height: 52px !important;
  border: 1px solid rgba(255,255,255,.7) !important;
  border-radius: 0 !important;
  padding: 0 25px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 32px !important;
  background: #fff !important;
  color: #241058 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: transform .2s ease, background .2s ease !important;
}

#s26 .s26-form button:hover {
  transform: translateY(-3px) !important;
  background: #67e8f9 !important;
}

#s26 .s26-trap {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 860px) {
  #s26 .s26-wrap {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    gap: 48px !important;
    padding: 52px 24px 70px !important;
  }

  #s26 .s26-intro h2 {
    font-size: clamp(64px, 19vw, 108px) !important;
  }

  #s26 .s26-form {
    grid-template-columns: 1fr !important;
  }

  #s26 .s26-message,
  #s26 .s26-form button {
    grid-column: 1 !important;
  }
}

/* Slide 24: IA aplicada con imágenes reales suministradas */
#s24 {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 48% 32%, rgba(184, 72, 215, .3), transparent 38%),
    linear-gradient(116deg, #21125d 0%, #632091 48%, #151660 100%) !important;
}

#s24::before {
  content: "" !important;
  position: absolute !important;
  inset: -8% !important;
  opacity: .2 !important;
  pointer-events: none !important;
  background:
    linear-gradient(45deg, rgba(255,255,255,.08) 0 18%, transparent 18% 100%),
    linear-gradient(45deg, transparent 0 58%, rgba(255,255,255,.06) 58% 72%, transparent 72% 100%) !important;
  background-size: 170px 170px, 230px 230px !important;
}

#s24 .s24-wrap {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100vh - var(--q-nav-h, 64px)) !important;
  padding: clamp(36px, 5vh, 64px) clamp(28px, 6vw, 112px) !important;
  display: grid !important;
  grid-template-rows: auto auto !important;
  align-content: center !important;
  gap: clamp(18px, 2.8vh, 34px) !important;
}

#s24 .s24-top {
  min-height: 0 !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(210px, .62fr) minmax(480px, 1.6fr) minmax(300px, .92fr) !important;
  align-items: start !important;
  gap: clamp(28px, 3vw, 52px) !important;
}

#s24 .s24-photo {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  box-shadow: 0 20px 38px rgba(11, 3, 42, .18) !important;
}

#s24 .s24-bullets {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

#s24 .s24-lead {
  margin: 0 0 clamp(24px, 3vh, 38px) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(21px, 1.7vw, 34px) !important;
  font-weight: 800 !important;
  line-height: 1.28 !important;
  letter-spacing: 0 !important;
  color: #fff !important;
}

#s24 .s24-list {
  display: grid !important;
  gap: clamp(10px, 1.2vh, 18px) !important;
}

#s24 .s24-li {
  position: relative !important;
  padding-left: 31px !important;
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(17px, 1.45vw, 28px) !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  color: #fff !important;
}

#s24 .s24-li::before {
  content: "•" !important;
  position: absolute !important;
  left: 0 !important;
  top: -.04em !important;
  color: #fff !important;
  font-size: 1.35em !important;
}

#s24 .s24-dashboards {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 12px !important;
  margin-top: 12px !important;
}

#s24 .s24-dash {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  max-height: 25vh !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center top !important;
  border-radius: 0 !important;
  box-shadow: 0 16px 34px rgba(9, 2, 38, .25) !important;
}

@media (max-width: 980px) {
  #s24 .s24-wrap {
    min-height: auto !important;
    grid-template-rows: auto auto !important;
    padding: 40px 22px 54px !important;
  }

  #s24 .s24-top {
    grid-template-columns: 1fr !important;
  }

  #s24 .s24-photo {
    max-height: 380px !important;
  }

  #s24 .s24-dashboards {
    grid-template-columns: 1fr !important;
  }

  #s24 .s24-dash {
    aspect-ratio: 16 / 9 !important;
  }
}

/* Slide 23: tecnología inteligente */
#s23 {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 40% 47%, rgba(184, 60, 218, .38), transparent 38%),
    linear-gradient(116deg, #21125d 0%, #632091 48%, #151660 100%) !important;
}

#s23::before,
#s23::after {
  content: "" !important;
  position: absolute !important;
  inset: -10% !important;
  pointer-events: none !important;
}

#s23::before {
  opacity: .24 !important;
  background:
    linear-gradient(45deg, rgba(255,255,255,.08) 0 18%, transparent 18% 100%),
    linear-gradient(45deg, transparent 0 58%, rgba(255,255,255,.06) 58% 72%, transparent 72% 100%) !important;
  background-size: 170px 170px, 230px 230px !important;
}

#s23::after {
  opacity: .28 !important;
  background:
    linear-gradient(45deg, transparent 0 62%, rgba(70, 30, 160, .62) 62% 80%, transparent 80% 100%) !important;
  background-size: 270px 270px !important;
  animation: s23-bg-drift 13s ease-in-out infinite alternate !important;
}

#s23 .s23-wrap {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100vh - var(--q-nav-h, 64px)) !important;
  padding: clamp(42px, 5vw, 84px) clamp(28px, 6vw, 112px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.7fr) minmax(300px, .65fr) !important;
  align-items: center !important;
  gap: clamp(12px, 3vw, 52px) !important;
}

#s23 .s23-text {
  position: relative !important;
  z-index: 2 !important;
  min-width: 0 !important;
  transform: translate3d(0, -25px, 0) !important;
}

#s23 .s23-title {
  margin: 0 !important;
  display: grid !important;
  gap: clamp(18px, 3vh, 36px) !important;
  font-family: 'Bebas Neue', 'Barlow Condensed', sans-serif !important;
  font-size: clamp(48px, 5.25vw, 104px) !important;
  font-weight: 400 !important;
  line-height: .88 !important;
  letter-spacing: .01em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  text-shadow: 0 16px 36px rgba(14, 4, 45, .28) !important;
}

#s23 .s23-title span {
  display: block !important;
  white-space: nowrap !important;
  animation: s23-line-in .9s cubic-bezier(.2,.9,.18,1) both !important;
}

#s23 .s23-title span:nth-child(2) {
  margin-left: clamp(-48px, -3vw, -14px) !important;
  animation-delay: .1s !important;
}

#s23 .s23-title span:nth-child(3) {
  margin-left: clamp(32px, 6vw, 110px) !important;
  animation-delay: .2s !important;
}

#s23 .s23-robot {
  position: relative !important;
  z-index: 2 !important;
  align-self: end !important;
  justify-self: end !important;
  width: min(36vw, 650px) !important;
  height: calc(100vh - var(--q-nav-h, 64px)) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  font-size: 0 !important;
  overflow: visible !important;
  transform: translate3d(0, 25px, 0) !important;
}

#s23 .s23-robot::before {
  content: "" !important;
  position: absolute !important;
  top: 5% !important;
  left: 50% !important;
  width: 72% !important;
  aspect-ratio: 1 !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(64, 240, 255, .34), transparent 66%) !important;
  transform: translateX(-50%) !important;
  filter: blur(18px) !important;
  animation: s23-brain-glow 3.2s ease-in-out infinite !important;
}

#s23 .s23-robot img {
  position: relative !important;
  z-index: 1 !important;
  width: auto !important;
  height: min(96%, 980px) !important;
  max-width: none !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  filter: drop-shadow(0 24px 34px rgba(4, 2, 32, .28)) !important;
  animation: s23-robot-float 4.6s ease-in-out infinite !important;
}

@keyframes s23-line-in {
  from { opacity: 0; transform: translate3d(-42px, 28px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes s23-robot-float {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -12px, 0); }
}

@keyframes s23-brain-glow {
  0%, 100% { opacity: .62; transform: translateX(-50%) scale(.96); }
  50% { opacity: 1; transform: translateX(-50%) scale(1.06); }
}

@keyframes s23-bg-drift {
  from { transform: translate3d(-8px, -6px, 0) scale(1.03); }
  to { transform: translate3d(18px, 10px, 0) scale(1.06); }
}

@media (max-width: 980px) {
  #s23 .s23-wrap {
    grid-template-columns: 1fr !important;
    align-content: center !important;
    padding-bottom: 0 !important;
  }

  #s23 .s23-title {
    gap: 12px !important;
    font-size: clamp(44px, 11vw, 82px) !important;
  }

  #s23 .s23-title span {
    white-space: normal !important;
  }

  #s23 .s23-title span:nth-child(2),
  #s23 .s23-title span:nth-child(3) {
    margin-left: 0 !important;
  }

  #s23 .s23-robot {
    position: absolute !important;
    right: -10vw !important;
    bottom: 0 !important;
    width: 62vw !important;
    height: 58vh !important;
    opacity: .52 !important;
  }
}

/* Slide 21: ATL editorial */
#s21 {
  --s21-progress: 0;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 72% 4%, rgba(255, 107, 203, 0.28) 0, transparent 30%),
    radial-gradient(circle at 28% 92%, rgba(80, 215, 255, 0.18) 0, transparent 34%),
    linear-gradient(132deg, #08064b 0%, #28116f 44%, #7827a7 100%) !important;
}

#s21::before {
  content: "" !important;
  position: absolute !important;
  inset: -12% !important;
  opacity: 0.16 !important;
  pointer-events: none !important;
  background:
    linear-gradient(135deg, transparent 0 44%, rgba(255,255,255,.24) 44% 52%, transparent 52%) 0 0 / 148px 148px,
    linear-gradient(315deg, transparent 0 44%, rgba(43, 214, 255, .22) 44% 52%, transparent 52%) 74px 74px / 148px 148px !important;
}

#s21 .s21-wrap {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100vh - var(--q-nav-h, 64px)) !important;
  margin: 0 !important;
  padding: clamp(34px, 4vh, 58px) 0 0 !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(330px, 1fr) !important;
  align-items: stretch !important;
}

#s21 .s21-hero {
  position: relative !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: end !important;
  gap: clamp(24px, 3.6vw, 66px) !important;
  padding: 0 clamp(34px, 5vw, 76px) clamp(18px, 2.6vh, 34px) !important;
}

#s21 .s21-title {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: flex-end !important;
  gap: .02em !important;
  color: #fff !important;
  font-family: 'Bebas Neue', var(--font-display, sans-serif) !important;
  font-size: clamp(132px, 14vw, 264px) !important;
  line-height: .72 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 18px 46px rgba(0, 0, 0, .24) !important;
}

#s21 .s21-letter {
  display: inline-block !important;
  transform-origin: 50% 100% !important;
  animation: s21-letter-in .86s cubic-bezier(.18,.84,.2,1) both, s21-letter-breathe 3.8s ease-in-out infinite !important;
}

#s21 .s21-letter:nth-child(2) {
  animation-delay: .08s, 1.05s !important;
}

#s21 .s21-letter:nth-child(3) {
  animation-delay: .16s, 1.35s !important;
}

#s21 .s21-copy {
  position: relative !important;
  z-index: 2 !important;
  max-width: min(820px, 100%) !important;
  padding-bottom: .24em !important;
}

#s21 .s21-copy p {
  margin: 0 !important;
  color: rgba(255,255,255,.92) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(24px, 2.55vw, 47px) !important;
  font-weight: 300 !important;
  line-height: 1.15 !important;
  letter-spacing: .04em !important;
}

#s21 .s21-ticker {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  padding: 0 0 clamp(18px, 2.2vh, 30px) !important;
  color: #fff !important;
  font-family: 'Bebas Neue', var(--font-display, sans-serif) !important;
  font-size: clamp(32px, 3vw, 57px) !important;
  line-height: 1 !important;
  letter-spacing: .04em !important;
  white-space: nowrap !important;
}

#s21 .s21-ticker::before,
#s21 .s21-ticker::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  z-index: 2 !important;
  width: 10vw !important;
  pointer-events: none !important;
}

#s21 .s21-ticker::before {
  left: 0 !important;
  background: linear-gradient(90deg, #12085c, transparent) !important;
}

#s21 .s21-ticker::after {
  right: 0 !important;
  background: linear-gradient(270deg, #421489, transparent) !important;
}

#s21 .s21-ticker-track {
  display: inline-flex !important;
  align-items: center !important;
  gap: .38em !important;
  min-width: max-content !important;
  animation: s21-ticker 26s linear infinite !important;
}

#s21 .s21-ticker b {
  color: #f86fee !important;
  font-weight: 900 !important;
}

#s21 .s21-photos {
  display: grid !important;
  grid-template-columns: .8fr 1.74fr .98fr !important;
  gap: 0 !important;
  align-items: stretch !important;
  height: 100% !important;
  min-height: min(48vh, 520px) !important;
  transform: translate3d(0, calc((1 - var(--s21-progress)) * 20px), 0) !important;
}

#s21 .s21-photo {
  position: relative !important;
  min-height: 100% !important;
  aspect-ratio: auto !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.08) !important;
  transform: translate3d(0, calc((1 - var(--s21-progress)) * var(--s21-y, 18px)), 0) scale(var(--s21-scale, 1)) !important;
  will-change: transform !important;
}

#s21 .s21-photo-left { --s21-y: 34px; }
#s21 .s21-photo-main { --s21-y: 18px; --s21-scale: 1.01; z-index: 2 !important; }
#s21 .s21-photo-right { --s21-y: 28px; }

#s21 .s21-photo .photo {
  height: 100% !important;
  min-height: 100% !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: clamp(16px, 1.4vw, 24px) !important;
  font-weight: 900 !important;
  letter-spacing: .05em !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.12), transparent 50%),
    linear-gradient(145deg, #2c1774, #1d1057 60%, #08073a) !important;
}

#s21 .s21-photo-main .photo {
  background:
    radial-gradient(circle at 50% 28%, rgba(77, 215, 255, .42), transparent 36%),
    linear-gradient(145deg, #1d66bb, #55c3ff 44%, #18206d) !important;
}

#s21 .s21-photo-left .photo {
  background:
    radial-gradient(circle at 22% 18%, rgba(159, 239, 63, .62), transparent 32%),
    linear-gradient(145deg, #255b22, #8bd43c 45%, #173914) !important;
}

#s21 .s21-photo-right .photo {
  background:
    radial-gradient(circle at 56% 44%, rgba(255, 255, 255, .48), transparent 30%),
    linear-gradient(145deg, #cf924b, #693117 62%, #1d0d34) !important;
}

/* Slide 21: fotos ATL con look de celular */
#s21 .s21-photo .photo {
  color: transparent !important;
  text-shadow: none !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  filter: saturate(.98) contrast(1.02) !important;
}

#s21 .s21-photo .photo span {
  display: none !important;
}

#s21 .s21-photo-left .photo {
  background-image:
    linear-gradient(180deg, rgba(10, 6, 28, .04), rgba(10, 6, 28, .18)),
    url('../images/atl-somos/somos-valla-parque.png') !important;
  background-position: center center !important;
}

#s21 .s21-photo-main .photo {
  background-image:
    linear-gradient(180deg, rgba(10, 6, 28, .02), rgba(10, 6, 28, .12)),
    url('../images/atl-somos/somos-valla-carretera-ref.png') !important;
  background-position: center center !important;
}

#s21 .s21-photo-right .photo {
  background-image:
    linear-gradient(180deg, rgba(10, 6, 28, .03), rgba(10, 6, 28, .16)),
    url('../images/atl-somos/somos-fachada-edificio-ref.png') !important;
  background-position: center center !important;
}

#s21 .s21-confetti {
  position: absolute !important;
  z-index: 1 !important;
  top: -42px !important;
  right: clamp(-16px, 2vw, 46px) !important;
  width: min(31vw, 460px) !important;
  height: 160px !important;
  pointer-events: none !important;
}

#s21 .s21-shape {
  position: absolute !important;
  display: block !important;
  animation: s21-float 5.4s ease-in-out infinite !important;
}

#s21 .s21-shape-a,
#s21 .s21-shape-b,
#s21 .s21-shape-c {
  height: 16px !important;
  border-radius: 999px !important;
  background: #ffcc4d !important;
  border: 3px solid #05051f !important;
}

#s21 .s21-shape-a { left: 11%; top: 42%; width: 142px !important; transform: rotate(-16deg) !important; }
#s21 .s21-shape-b { right: 10%; top: 2%; width: 132px !important; transform: rotate(15deg) !important; animation-delay: -1.2s !important; }
#s21 .s21-shape-c { right: 18%; top: 58%; width: 76px !important; transform: rotate(-8deg) !important; animation-delay: -2.1s !important; }

#s21 .s21-shape-d,
#s21 .s21-shape-e {
  width: 82px !important;
  height: 24px !important;
  background: linear-gradient(135deg, transparent 0 18%, #22d3aa 18% 27%, transparent 27% 44%, #22d3aa 44% 53%, transparent 53% 70%, #22d3aa 70% 79%, transparent 79%) !important;
}

#s21 .s21-shape-d { right: 5%; top: 35%; animation-delay: -.7s !important; }
#s21 .s21-shape-e { left: 44%; top: 74%; width: 62px !important; animation-delay: -1.8s !important; }

#s21 .s21-shape-f {
  left: 34% !important;
  top: 26% !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 36% 30%, #fff, #ff70c7 38%, #ff2c98 78%) !important;
  border: 2px solid #05051f !important;
  animation-delay: -3s !important;
}

@keyframes s21-letter-in {
  0% { opacity: 0; transform: translate3d(0, 38px, 0) scaleY(1.45); filter: blur(8px); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) scaleY(1); filter: blur(0); }
}

@keyframes s21-letter-breathe {
  0%, 100% { transform: translate3d(0, 0, 0) scaleY(1); }
  50% { transform: translate3d(0, -4px, 0) scaleY(1.035); }
}

@keyframes s21-ticker {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

@keyframes s21-float {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -14px; }
}

@media (max-width: 980px) {
  #s21 .s21-wrap {
    grid-template-rows: auto auto auto !important;
  }

  #s21 .s21-hero {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  #s21 .s21-copy p {
    font-size: clamp(22px, 6vw, 34px) !important;
  }

  #s21 .s21-confetti {
    opacity: .45 !important;
    width: 52vw !important;
  }

  #s21 .s21-photos {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }

  #s21 .s21-photo {
    min-height: 220px !important;
  }
}

/* Slide 04: lista real de peliculas */
#s04 .s04-films-grid {
  grid-template-columns: 1.28fr 1fr .86fr .9fr !important;
}

#s04 .s04-film-real-poster {
  background: #11131a !important;
  justify-content: flex-end !important;
  padding: 0 !important;
}

#s04 .s04-film-real-poster::before {
  content: none !important;
}

#s04 .s04-film-real-poster::after {
  background: linear-gradient(to top, rgba(0,0,0,.18), rgba(0,0,0,0) 42%) !important;
}

#s04 .s04-film-real-poster img {
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

#s04 .s04-film-congelados img {
  object-position: center center !important;
}

#s04 .s04-film-donaire img {
  object-position: center center !important;
}

@media (max-width: 700px) {
  #s04 .s04-films-grid {
    grid-template-columns: 1.2fr 1fr .9fr .9fr !important;
  }
}

/* Slide 14: fotos hiperrealistas por tipo de evento */
#s14 .s14-card-media {
  display: none !important;
}

#s14 .s14-card::before {
  background:
    linear-gradient(180deg, rgba(10, 3, 30, .04) 0%, rgba(10, 3, 30, .34) 42%, rgba(5, 1, 18, .86) 100%),
    linear-gradient(90deg, rgba(22, 8, 58, .72) 0%, rgba(22, 8, 58, .25) 55%, rgba(22, 8, 58, .66) 100%),
    var(--s14-bg, linear-gradient(135deg, #6d28d9, #1d4ed8)) !important;
  background-position: center !important;
  background-size: cover !important;
}

#s14 .s14-card-gala {
  --s14-bg: url('../images/eventos-tipos/eventos-galas-premiaciones.png') center / cover no-repeat;
}

#s14 .s14-card-conferencias {
  --s14-bg: url('../images/eventos-tipos/eventos-conferencias-congresos.png') center / cover no-repeat;
}

#s14 .s14-card-escenarios {
  --s14-bg: url('../images/eventos-tipos/eventos-escenarios-pantallas.png') center / cover no-repeat;
}

#s14 .s14-card-ejecutivas {
  --s14-bg: url('../images/eventos-tipos/eventos-reuniones-ejecutivas.png') center / cover no-repeat;
}

#s14 .s14-card-cobertura {
  --s14-bg: url('../images/eventos-tipos/eventos-cobertura-eventos.png') center / cover no-repeat;
}

#s14 .s14-card-podio {
  --s14-bg: url('../images/eventos-tipos/eventos-oradores-actos-oficiales.png') center / cover no-repeat;
}

/* Slide 22: portada servicios especializados */
#s22 {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 22% 24%, rgba(255, 84, 235, .34), transparent 34%),
    radial-gradient(circle at 0% 70%, rgba(32, 208, 238, .28), transparent 36%),
    linear-gradient(128deg, #21105b 0%, #2a0873 42%, #160052 100%) !important;
}

#s22::before,
#s22::after {
  content: "" !important;
  position: absolute !important;
  inset: -8% !important;
  pointer-events: none !important;
}

#s22::before {
  opacity: .28 !important;
  background:
    linear-gradient(45deg, rgba(255,255,255,.08) 0 18%, transparent 18% 100%),
    linear-gradient(45deg, transparent 0 48%, rgba(255,255,255,.06) 48% 60%, transparent 60% 100%) !important;
  background-size: 160px 160px, 220px 220px !important;
  transform: rotate(-1deg) scale(1.05) !important;
}

#s22::after {
  opacity: .34 !important;
  background:
    linear-gradient(45deg, transparent 0 64%, rgba(92, 42, 202, .42) 64% 82%, transparent 82% 100%),
    linear-gradient(45deg, transparent 0 70%, rgba(255, 255, 255, .05) 70% 78%, transparent 78% 100%) !important;
  background-size: 260px 260px, 180px 180px !important;
  animation: s22-bg-drift 12s ease-in-out infinite alternate !important;
}

#s22 .s22-wrap {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100vh - var(--q-nav-h, 64px)) !important;
  padding: clamp(48px, 7vw, 96px) clamp(28px, 5vw, 92px) !important;
  display: block !important;
}

#s22 .s22-text {
  position: absolute !important;
  left: clamp(42px, 5vw, 96px) !important;
  top: 51% !important;
  width: min(72vw, 1320px) !important;
  transform: translate3d(0, -50%, 0) !important;
  transform-origin: left center !important;
}

#s22 .s22-servicios,
#s22 .s22-esp {
  font-family: 'Bebas Neue', 'Anton', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: .015em !important;
  text-shadow: 0 18px 36px rgba(0,0,0,.18) !important;
  animation: s22-title-rise .9s cubic-bezier(.2,.9,.18,1) both !important;
}

#s22 .s22-servicios {
  font-size: clamp(132px, 17.8vw, 345px) !important;
  line-height: .74 !important;
  background: linear-gradient(180deg, #21f68d 0%, #20e8b2 45%, #1687ff 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

#s22 .s22-esp {
  margin-top: clamp(8px, 1.2vw, 18px) !important;
  margin-left: clamp(70px, 10vw, 190px) !important;
  font-size: clamp(72px, 9.8vw, 195px) !important;
  line-height: .78 !important;
  background: linear-gradient(180deg, #ffb21d 0%, #ff8c20 45%, #ff2bd6 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  animation-delay: .12s !important;
}

#s22 .s22-confetti {
  position: absolute !important;
  right: clamp(20px, 5vw, 96px) !important;
  top: 51% !important;
  width: min(44vw, 680px) !important;
  height: min(48vw, 610px) !important;
  display: block !important;
  font-size: 0 !important;
  transform: translate3d(0, -50%, 0) !important;
  animation: s22-confetti-in .9s cubic-bezier(.2,.9,.18,1) .12s both !important;
}

#s22 .s22-shape {
  position: absolute !important;
  display: block !important;
  filter: drop-shadow(5px 7px 0 rgba(0,0,0,.88)) !important;
  animation: s22-float 4.8s ease-in-out infinite !important;
}

#s22 .s22-triangle {
  width: 0 !important;
  height: 0 !important;
  border-top: 17px solid transparent !important;
  border-bottom: 17px solid transparent !important;
  border-right: 52px solid #21e0a9 !important;
}

#s22 .s22-pill {
  width: 68px !important;
  height: 14px !important;
  border: 4px solid #070317 !important;
  border-radius: 999px !important;
  background: #ff64b5 !important;
}

#s22 .s22-dot {
  border: 4px solid #070317 !important;
  border-radius: 999px !important;
  background: radial-gradient(circle at 68% 26%, #fff 0 10%, transparent 11%), #ff5bb0 !important;
}

#s22 .s22-zigzag,
#s22 .s22-wave {
  width: 92px !important;
  height: 38px !important;
  background: none !important;
}

#s22 .s22-zigzag::before,
#s22 .s22-wave::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border: solid #070317 !important;
  border-width: 0 0 8px 0 !important;
}

#s22 .s22-zigzag::before {
  clip-path: polygon(0 54%, 20% 54%, 20% 30%, 44% 30%, 44% 54%, 68% 54%, 68% 30%, 100% 30%, 100% 48%, 78% 48%, 78% 72%, 54% 72%, 54% 48%, 30% 48%, 30% 72%, 0 72%) !important;
  background: #21e0a9 !important;
}

#s22 .s22-wave::before {
  height: 24px !important;
  border: 0 !important;
  border-bottom: 8px solid #16d7a5 !important;
  border-radius: 50% !important;
  transform: skewX(-24deg) !important;
  box-shadow: 34px 0 0 #16d7a5, 68px 0 0 #16d7a5 !important;
}

#s22 .s22-triangle-a { left: 4%; top: 15%; transform: rotate(-5deg) !important; animation-delay: -.4s !important; }
#s22 .s22-triangle-b { left: 15%; top: 62%; transform: rotate(8deg) !important; animation-delay: -1.2s !important; }
#s22 .s22-pill-a { left: 63%; top: 6%; transform: rotate(-5deg) !important; animation-delay: -.8s !important; }
#s22 .s22-pill-b { left: 57%; top: 41%; transform: rotate(-6deg) !important; animation-delay: -1.5s !important; }
#s22 .s22-pill-c { left: 86%; top: 46%; transform: rotate(-3deg) !important; animation-delay: -.2s !important; }
#s22 .s22-pill-d { left: 88%; top: 77%; transform: rotate(20deg) !important; animation-delay: -2.1s !important; }
#s22 .s22-zigzag-a { left: 80%; top: 7%; animation-delay: -1s !important; }
#s22 .s22-zigzag-b { left: 58%; top: 30%; width: 120px !important; transform: rotate(-5deg) !important; animation-delay: -1.8s !important; }
#s22 .s22-zigzag-c { left: 18%; top: 76%; transform: rotate(-8deg) !important; animation-delay: -.7s !important; }
#s22 .s22-wave { left: 57%; top: 66%; width: 174px !important; transform: rotate(-4deg) !important; animation-delay: -1.4s !important; }
#s22 .s22-dot-a { left: 37%; top: 24%; width: 26px !important; height: 26px !important; animation-delay: -1.3s !important; }
#s22 .s22-dot-b { left: 42%; top: 52%; width: 68px !important; height: 68px !important; animation-delay: -.55s !important; }
#s22 .s22-dot-c { left: 61%; top: 59%; width: 31px !important; height: 31px !important; animation-delay: -2.2s !important; }
#s22 .s22-dot-d { left: 76%; top: 18%; width: 30px !important; height: 30px !important; background: radial-gradient(circle at 68% 26%, #fff 0 10%, transparent 11%), #ffba25 !important; animation-delay: -.95s !important; }

@keyframes s22-title-rise {
  from { opacity: 0; transform: translate3d(-30px, 36px, 0) scale(.98); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes s22-confetti-in {
  from { opacity: 0; transform: translate3d(32px, 20px, 0) scale(.96); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes s22-float {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -14px; }
}

@keyframes s22-bg-drift {
  from { transform: translate3d(-10px, -6px, 0) scale(1.03); }
  to { transform: translate3d(18px, 10px, 0) scale(1.06); }
}

@media (max-width: 980px) {
  #s22 .s22-wrap {
    display: block !important;
  }

  #s22 .s22-confetti {
    top: 66% !important;
    right: 4vw !important;
    width: min(86vw, 560px) !important;
    height: 290px !important;
    opacity: .88 !important;
    margin-top: -28px !important;
  }

  #s22 .s22-servicios {
    font-size: clamp(86px, 22vw, 190px) !important;
  }

  #s22 .s22-esp {
    margin-left: clamp(12px, 8vw, 72px) !important;
    font-size: clamp(50px, 13vw, 118px) !important;
  }
}
