/* ==========================================================================
   SEÇÕES APÓS O FUNIL: problema, solução, serviços, diferenciais, projetos,
   processo, FAQ, CTA final, slots de vídeo.
   ========================================================================== */

.section { position: relative; padding-block: var(--space-section); }
.btn--lg { padding: 0.6rem 0.6rem 0.6rem 2rem; font-size: 1rem; gap: 1.25rem; }
.btn--lg .btn__icon { width: 2.75rem; height: 2.75rem; }

/* layout padrão "cabeçalho fixo à esquerda + conteúdo à direita" */
.problem__grid, .diff__grid, .process__grid, .faq__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.problem__head, .diff__head, .process__head, .faq__head { position: sticky; top: 7rem; }
.problem__head .lead, .diff__head .lead, .process__head .lead { margin-top: 1.5rem; max-width: 30rem; }
.problem__head .h2, .diff__head .h2, .process__head .h2, .faq__head .h2 { margin-top: 1.25rem; font-size: clamp(1.75rem, 3.2vw, 2.75rem); }

@media (max-width: 899px) {
  .problem__grid, .diff__grid, .process__grid, .faq__grid { grid-template-columns: 1fr; }
  .problem__head, .diff__head, .process__head, .faq__head { position: static; }
}

/* ---------- O problema ---------- */
.problem { border-top: 1px solid var(--line); }
.leaks { counter-reset: leak; }
.leak { display: grid; grid-template-columns: 3.5rem 1fr; gap: 1rem; padding: 2.5rem 0; border-top: 1px solid var(--line); opacity: 0.32; transition: opacity .7s var(--ease); }
.leak:last-child { border-bottom: 1px solid var(--line); }
.leak.is-lit { opacity: 1; }
.leak__n { font-size: var(--fs-sm); font-weight: 600; letter-spacing: 0.12em; color: var(--text-dim); transition: color .5s; padding-top: 0.5rem; }
.leak.is-lit .leak__n { color: var(--gold); }
.leak__t { font-size: clamp(1.5rem, 2.8vw, 2.25rem); font-weight: 700; line-height: 1.1; letter-spacing: -0.03em; }
.leak__d { margin-top: 0.9rem; color: var(--text-muted); max-width: 34rem; text-wrap: pretty; }
.leak__lost { margin-top: 1rem; font-size: var(--fs-sm); color: var(--text-2); }
.leak__lost b { font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); font-weight: 600; margin-right: 0.5rem; }
.js .no-js-only { display: none; }
html:not(.js) .leak { opacity: 1; }

/* ---------- A solução ---------- */
.solution { background: var(--bg-2); border-top: 1px solid var(--line); overflow: hidden; }
.solution > .container { position: relative; z-index: 1; }
.solution__head { max-width: 52rem; }
.solution__head .h2 { margin-top: 1.25rem; }
.solution__head .lead { margin-top: 1.5rem; max-width: 40rem; }

.compare { margin-top: 3.5rem; }
.compare__tabs { position: relative; display: inline-flex; padding: 0.25rem; border-radius: 999px; background: rgba(255, 255, 255, 0.04); border: 1px solid var(--line-strong); }
.compare__tabs button { position: relative; z-index: 1; padding: 0.7rem 1.4rem; border: 0; background: none; border-radius: 999px; color: var(--text-muted); font-weight: 600; font-size: var(--fs-sm); cursor: pointer; transition: color .3s; }
.compare__tabs button[aria-selected="true"] { color: #030712; }
.compare__thumb { position: absolute; top: 0.25rem; bottom: 0.25rem; left: 0; width: var(--tw, 50%); transform: translateX(var(--tx, 0px)); border-radius: 999px; background: var(--gold); transition: transform .5s var(--ease), width .5s var(--ease); box-shadow: 0 4px 20px rgba(255, 207, 0, 0.25); }

.compare__body { margin-top: 1.5rem; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); padding: clamp(1.25rem, 3vw, 2.25rem); border: 1px solid var(--line); border-radius: 1.75rem; background: rgba(255, 255, 255, 0.018); }

.mock { border-radius: 1rem; background: #080e1b; border: 1px solid var(--line-strong); overflow: hidden; align-self: start; }
.mock__bar { display: flex; align-items: center; gap: 0.35rem; padding: 0.6rem 0.8rem; border-bottom: 1px solid var(--line); }
.mock__bar i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, 0.16); }
.mock__bar span { margin-left: 0.5rem; flex: 1; height: 14px; border-radius: 7px; background: rgba(255, 255, 255, 0.06); max-width: 55%; }
.mock__page { position: relative; padding: 1rem 1.1rem 1.25rem; display: grid; gap: 1.1rem; }
.mock__nav { display: flex; align-items: center; gap: 0.6rem; }
.mock__nav b { width: 38px; height: 12px; border-radius: 4px; background: rgba(255, 255, 255, 0.32); margin-right: auto; }
.mock__nav em { width: 26px; height: 6px; border-radius: 3px; background: rgba(255, 255, 255, 0.14); }
.mock__line { display: block; height: 8px; border-radius: 4px; background: rgba(255, 255, 255, 0.14); margin-bottom: 0.55rem; }
.mock__hero .mock__line:first-child { height: 14px; background: rgba(255, 255, 255, 0.3); }
.w90 { width: 90%; } .w80 { width: 80%; } .w70 { width: 70%; } .w60 { width: 60%; } .w45 { width: 45%; }

.mock__cta { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 0.85rem; border-radius: 999px; font-size: 0.6875rem; font-weight: 700; border: 1px dashed rgba(255, 255, 255, 0.16); color: transparent; background: transparent; transition: all .6s var(--ease); margin-top: 0.4rem; }
.mock__cta svg { width: 12px; height: 12px; }
.mock__proof { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; }
.mock__proof i { height: 22px; border-radius: 6px; border: 1px dashed rgba(255, 255, 255, 0.12); transition: all .6s var(--ease); }
.mock__serv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; }
.mock__serv i { height: 46px; border-radius: 8px; border: 1px dashed rgba(255, 255, 255, 0.12); transition: all .6s var(--ease); }
.mock__form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 0.5rem; align-items: center; }
.mock__form span { height: 22px; border-radius: 6px; border: 1px dashed rgba(255, 255, 255, 0.12); transition: all .6s var(--ease); }
.mock__form b { font-size: 0.625rem; padding: 0.4rem 0.7rem; border-radius: 6px; border: 1px dashed rgba(255, 255, 255, 0.12); color: transparent; transition: all .6s var(--ease); }
.mock__fab { position: absolute; right: 0.9rem; bottom: 0.9rem; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; border: 1px dashed rgba(255, 255, 255, 0.14); color: transparent; transition: all .6s var(--ease); }
.mock__fab svg { width: 16px; height: 16px; }

.compare__body[data-mode="estr"] .mock__cta { background: var(--gold); color: #030712; border-color: var(--gold); border-style: solid; }
.compare__body[data-mode="estr"] .mock__proof i { background: rgba(255, 255, 255, 0.82); border-color: transparent; }
.compare__body[data-mode="estr"] .mock__serv i { background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 207, 0, 0.35); }
.compare__body[data-mode="estr"] .mock__form span { background: rgba(255, 255, 255, 0.08); border: 1px solid var(--line-strong); }
.compare__body[data-mode="estr"] .mock__form b { background: var(--gold); color: #030712; border: 1px solid var(--gold); }
.compare__body[data-mode="estr"] .mock__fab { background: var(--gold); color: #030712; border: 1px solid var(--gold); box-shadow: 0 0 0 0 rgba(255, 207, 0, 0.5); animation: fab 2.4s ease-out infinite; }
@keyframes fab { 0% { box-shadow: 0 0 0 0 rgba(255, 207, 0, 0.5); } 70%, 100% { box-shadow: 0 0 0 14px rgba(255, 207, 0, 0); } }

.checks { display: grid; gap: 1.1rem; align-content: center; }
.checks li { display: grid; grid-template-columns: 1.75rem 1fr; gap: 0.9rem; align-items: start; }
.checks b { display: block; font-size: 1.0625rem; font-weight: 600; }
.checks small { display: block; color: var(--text-muted); font-size: var(--fs-sm); margin-top: 0.1rem; }
.checks__box { width: 1.5rem; height: 1.5rem; margin-top: 0.1rem; border-radius: 50%; border: 1px solid var(--line-strong); display: grid; place-items: center; color: transparent; transition: all .5s var(--ease); }
.checks__box svg { width: 12px; height: 12px; }
.checks li[data-on="estr"] { opacity: 0.38; transition: opacity .6s; }
.checks li[data-check="info"] .checks__box { background: rgba(255, 255, 255, 0.14); border-color: transparent; color: #fff; }
.compare__body[data-mode="estr"] .checks li { opacity: 1; }
.compare__body[data-mode="estr"] .checks li .checks__box { background: var(--gold); border-color: var(--gold); color: #030712; }
.compare__body[data-mode="estr"] .checks li:nth-child(2) .checks__box { transition-delay: .1s; }
.compare__body[data-mode="estr"] .checks li:nth-child(3) .checks__box { transition-delay: .2s; }
.compare__body[data-mode="estr"] .checks li:nth-child(4) .checks__box { transition-delay: .3s; }
.compare__body[data-mode="estr"] .checks li:nth-child(5) .checks__box { transition-delay: .4s; }

@media (max-width: 899px) { .compare__body { grid-template-columns: 1fr; } .compare__tabs button { padding: 0.65rem 1rem; } }

/* integração em cadeia */
.chain { margin-top: clamp(3.5rem, 7vw, 6rem); }
.chain__title { font-size: var(--fs-xs); letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-dim); font-weight: 600; }
.chain__row { position: relative; margin-top: 1.5rem; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.chain__row::before { content: ''; position: absolute; left: 6px; right: 6px; top: 6px; height: 1px; background: var(--line-strong); }
.chain__row::after { content: ''; position: absolute; top: 4px; left: 0; width: 28px; height: 5px; border-radius: 3px; background: linear-gradient(90deg, transparent, var(--gold)); animation: pulse-run 4s var(--ease-io) infinite; }
@keyframes pulse-run { 0% { left: 0; opacity: 0; } 12% { opacity: 1; } 88% { opacity: 1; } 100% { left: calc(100% - 28px); opacity: 0; } }
.chain__row li { position: relative; padding-top: 1.75rem; }
.chain__dot { position: absolute; top: 0; left: 0; width: 13px; height: 13px; border-radius: 50%; background: var(--bg); border: 1px solid rgba(255, 255, 255, 0.4); }
.chain__row li.is-core .chain__dot { background: var(--gold); border-color: var(--gold); box-shadow: 0 0 0 5px rgba(255, 207, 0, 0.16), 0 0 18px rgba(255, 207, 0, 0.5); }
.chain__row b { display: block; font-size: 1.0625rem; font-weight: 600; }
.chain__row small { color: var(--text-muted); font-size: var(--fs-sm); }
@media (max-width: 640px) { .chain__row { grid-template-columns: 1fr 1fr; row-gap: 1.75rem; } .chain__row::before, .chain__row::after { display: none; } }

/* ---------- Serviços ---------- */
.services { border-top: 1px solid var(--line); }
.services__head { max-width: 46rem; }
.services__head .h2 { margin-top: 1.25rem; }
.services__head .lead { margin-top: 1.5rem; max-width: 38rem; }

.svc { margin-top: clamp(2.5rem, 5vw, 4rem); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.5rem, 5vw, 5rem); align-items: start; }
.svc__list li { border-top: 1px solid var(--line); }
.svc__list li:last-child { border-bottom: 1px solid var(--line); }
.svc__list button { position: relative; display: flex; align-items: baseline; gap: 1rem; width: 100%; padding: 1.15rem 0; background: none; border: 0; text-align: left; cursor: pointer; color: var(--text-dim); font-size: clamp(1.15rem, 1.8vw, 1.5rem); font-weight: 600; letter-spacing: -0.02em; transition: color .3s, padding-left .5s var(--ease); }
.svc__list button span { font-size: var(--fs-xs); letter-spacing: 0.1em; color: var(--text-dim); font-weight: 600; transition: color .3s; }
.svc__list button::before { content: ''; position: absolute; left: 0; bottom: -1px; height: 1px; width: 100%; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease); }
.svc__list button:hover { color: var(--text-2); }
.svc__list button[aria-selected="true"] { color: #fff; padding-left: 0.75rem; }
.svc__list button[aria-selected="true"] span { color: var(--gold); }
.svc__list button[aria-selected="true"]::before { transform: scaleX(1); }

.svc__panel { position: sticky; top: 7rem; min-height: 22rem; padding: clamp(1.5rem, 3vw, 2.75rem); border: 1px solid var(--line); border-radius: 1.75rem; background: rgba(255, 255, 255, 0.02); display: flex; flex-direction: column; gap: 1.25rem; transition: opacity .3s, transform .5s var(--ease); }
.svc__panel.swap { opacity: 0; transform: translateY(10px); }
.svc__tagline { font-size: var(--fs-xs); letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); font-weight: 600; }
.svc__title { font-size: clamp(1.6rem, 2.8vw, 2.4rem); font-weight: 700; letter-spacing: -0.03em; line-height: 1.1; }
.svc__desc { color: var(--text-muted); font-size: var(--fs-lead); line-height: 1.55; max-width: 36rem; text-wrap: pretty; }
.svc__stages { margin-top: auto; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.svc__stages p { font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-dim); font-weight: 600; margin-bottom: 0.75rem; }
.svc__stages ol { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.4rem; }
.svc__stages li { font-size: 0.6875rem; padding-top: 0.6rem; border-top: 3px solid rgba(255, 255, 255, 0.1); color: var(--text-dim); transition: all .5s var(--ease); }
.svc__stages li.on { border-top-color: var(--gold); color: #fff; }

@media (max-width: 899px) {
  .svc { grid-template-columns: 1fr; }
  .svc__list { display: flex; gap: 0.5rem; overflow-x: auto; scrollbar-width: none; padding-bottom: 0.25rem; margin-inline: calc(-1 * clamp(1rem, 4vw, 2rem)); padding-inline: clamp(1rem, 4vw, 2rem); }
  .svc__list li { border: 0 !important; flex: none; }
  .svc__list button { padding: 0.6rem 1rem; border: 1px solid var(--line-strong); border-radius: 999px; font-size: 0.9375rem; }
  .svc__list button span, .svc__list button::before { display: none; }
  .svc__list button[aria-selected="true"] { padding-left: 1rem; background: var(--gold); color: #030712; border-color: var(--gold); }
  .svc__panel { position: static; min-height: 0; }
  .svc__stages li { font-size: 0.625rem; }
}

/* ---------- Diferenciais ---------- */
.diff { background: var(--bg-2); border-top: 1px solid var(--line); }
.diff__list li { position: relative; padding: 1.9rem 0 1.9rem 0; border-top: 1px solid var(--line); }
.diff__list li:last-child { border-bottom: 1px solid var(--line); }
.diff__list li::before { content: ''; position: absolute; left: 0; top: -1px; height: 1px; width: 100%; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .8s var(--ease); }
.diff__list li:hover::before { transform: scaleX(1); }
.diff__list h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); font-weight: 600; letter-spacing: -0.02em; }
.diff__list p { margin-top: 0.5rem; color: var(--text-muted); max-width: 36rem; text-wrap: pretty; }

/* ---------- Projetos / prova social ---------- */
.proof { border-top: 1px solid var(--line); padding-bottom: calc(var(--space-section) * 0.8); }
.proof__head .h2 { margin-top: 1.25rem; max-width: 40rem; }

.logos { margin-top: 3rem; position: relative; overflow: hidden; padding: 2.75rem 0; background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.12) 50%, rgba(255,255,255,.07)); border-block: 1px solid var(--line-strong); }
.logos::before, .logos::after { content: ''; position: absolute; top: 0; bottom: 0; width: clamp(60px, 12vw, 180px); z-index: 2; pointer-events: none; }
.logos::before { left: 0; background: linear-gradient(90deg, var(--bg), transparent); }
.logos::after { right: 0; background: linear-gradient(270deg, var(--bg), transparent); }
.logos__track { display: flex; width: max-content; animation: marquee 48s linear infinite; }
.logos__track:hover { animation-play-state: paused; }
.logos__set { display: flex; gap: 2rem; padding-right: 2rem; }
.logos__set li { display: grid; place-items: center; height: 64px; padding: 0 1.5rem; background: #fff; border-radius: 14px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35); }
.logos__set img { height: 42px; width: auto; object-fit: contain; }
@keyframes marquee { to { transform: translateX(-50%); } }

.reviews__title { margin-top: 4rem; font-size: var(--fs-sm); letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-muted); font-weight: 600; }
.reviews { margin-top: 1.5rem; display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 0.25rem max(1rem, calc((100vw - var(--maxw)) / 2 + 2rem)) 1rem; scroll-padding-inline: max(1rem, calc((100vw - var(--maxw)) / 2 + 2rem)); }
.reviews::-webkit-scrollbar { display: none; }
.review { flex: 0 0 min(23rem, 82vw); scroll-snap-align: start; display: flex; flex-direction: column; justify-content: space-between; gap: 1.5rem; padding: 1.75rem; border: 1px solid var(--line); border-radius: 1.25rem; background: rgba(255, 255, 255, 0.02); transition: border-color .4s, transform .5s var(--ease); }
.review:hover { border-color: var(--gold-line); transform: translateY(-4px); }
.review blockquote { font-size: 1.0625rem; line-height: 1.5; color: #fff; text-wrap: pretty; }
.review figcaption b { display: block; font-size: var(--fs-sm); font-weight: 600; }
.review figcaption span { font-size: var(--fs-xs); color: var(--text-dim); }

/* ---------- Processo ---------- */
.process { background: var(--bg-2); border-top: 1px solid var(--line); }
.steps { position: relative; padding-left: 3.75rem; }
.steps::before, .steps::after { content: ''; position: absolute; left: 1.125rem; top: 1.125rem; bottom: 1.5rem; width: 1px; background: var(--line-strong); }
.steps::after { background: var(--gold); transform-origin: top; transform: scaleY(var(--pp, 0)); box-shadow: 0 0 12px rgba(255, 207, 0, .5); }
.step { position: relative; padding-bottom: 3.25rem; opacity: 0.4; transition: opacity .6s var(--ease); }
.step:last-child { padding-bottom: 0; }
.step.is-on { opacity: 1; }
.step__n { position: absolute; left: -3.75rem; top: -0.1rem; width: 2.25rem; height: 2.25rem; border-radius: 50%; display: grid; place-items: center; background: var(--bg-2); border: 1px solid var(--line-strong); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.04em; color: var(--text-muted); transition: all .5s var(--ease); z-index: 1; }
.step.is-on .step__n { background: var(--gold); border-color: var(--gold); color: #030712; box-shadow: 0 0 20px rgba(255, 207, 0, 0.4); }
.step h3 { font-size: clamp(1.4rem, 2.4vw, 1.875rem); font-weight: 700; letter-spacing: -0.03em; }
.step p { margin-top: 0.5rem; color: var(--text-muted); max-width: 32rem; text-wrap: pretty; }
html:not(.js) .step { opacity: 1; }

/* ---------- FAQ ---------- */
.faq { border-top: 1px solid var(--line); }
.qa { border-top: 1px solid var(--line); }
.qa:last-child { border-bottom: 1px solid var(--line); }
.qa h3 { font-size: inherit; font-weight: inherit; }
.qa button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.5rem 0; background: none; border: 0; text-align: left; cursor: pointer; font-size: clamp(1.0625rem, 1.6vw, 1.25rem); font-weight: 500; letter-spacing: -0.015em; color: var(--text-2); transition: color .3s; }
.qa button:hover, .qa.is-open button { color: #fff; }
.qa button i { position: relative; flex: none; width: 1.75rem; height: 1.75rem; border-radius: 50%; border: 1px solid var(--line-strong); transition: all .4s var(--ease); }
.qa button i::before, .qa button i::after { content: ''; position: absolute; left: 50%; top: 50%; width: 10px; height: 1.5px; background: currentColor; transform: translate(-50%, -50%); transition: transform .4s var(--ease); }
.qa button i::after { transform: translate(-50%, -50%) rotate(90deg); }
.qa.is-open button i { background: var(--gold); border-color: var(--gold); color: #030712; }
.qa.is-open button i::after { transform: translate(-50%, -50%) rotate(0deg); }
.qa__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .55s var(--ease); }
.qa__a > div { overflow: hidden; }
.qa__a p { padding: 0 3rem 1.6rem 0; color: var(--text-muted); text-wrap: pretty; }
.qa.is-open .qa__a { grid-template-rows: 1fr; }
html:not(.js) .qa__a { grid-template-rows: 1fr; }

/* ---------- CTA final ---------- */
.cta { position: relative; overflow: hidden; padding-block: clamp(5.5rem, 12vw, 10rem); border-top: 1px solid var(--line); text-align: center; }
.cta::before { content: ''; position: absolute; left: 50%; top: 50%; width: min(900px, 120vw); aspect-ratio: 1; transform: translate(-50%, -50%); background: radial-gradient(closest-side, rgba(255, 207, 0, 0.13), transparent 70%); pointer-events: none; }
.cta__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 2rem; }
.cta__title { max-width: 22ch; font-size: clamp(2rem, 4.6vw, 4rem); font-weight: 700; line-height: 1.04; letter-spacing: -0.04em; text-wrap: balance; }
.cta__title em { font-style: normal; color: var(--gold); }
.cta__pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; }
.cta__pills li { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.55rem 1rem; border: 1px solid var(--line-strong); border-radius: 999px; font-size: var(--fs-sm); color: var(--text-2); background: rgba(3, 7, 18, 0.5); }
.cta__pills svg { width: 14px; height: 14px; color: var(--gold); }

/* ---------- Slots de vídeo (Higgsfield) ---------- */
.video-slot { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.video-slot__poster { position: absolute; inset: 0; background: radial-gradient(60% 60% at 70% 30%, rgba(255, 207, 0, 0.06), transparent 70%), radial-gradient(50% 50% at 20% 80%, rgba(255, 255, 255, 0.03), transparent 70%); background-size: cover; background-position: center; transition: opacity 1s; }
.video-slot video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s; }
.video-slot.is-ready video { opacity: 0.55; }
.video-slot.is-ready .video-slot__poster { opacity: 0; }
.video-slot::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, var(--bg) 0%, rgba(3, 7, 18, 0.2) 25%, rgba(3, 7, 18, 0.2) 75%, var(--bg) 100%); }
.solution__bg { opacity: 0.9; }

@media (prefers-reduced-motion: reduce) {
  .logos__track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; gap: 1rem; padding-inline: 1rem; }
  .logos__set { flex-wrap: wrap; justify-content: center; padding-right: 0; gap: 1rem; }
  .logos__set[aria-hidden="true"] { display: none; }
  .chain__row::after { display: none; }
}
