/* StabilityScene — vídeo que se expande até a borda, escurece, título fixo e subseções sobrepostas */
.stab { position: relative; }
.stab__sticky {
  position: sticky; top: var(--fixedTop); z-index: 0;
  height: var(--vh100-fixedTop); overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.stab__video {
  position: relative; width: 100%; height: 100%; overflow: hidden;
}
/* a "largura" animada é um recorte (clip-path): mesmo resultado visual, sem layout shift */
@media (min-width: 1025px) {
  .stab__video {
    clip-path: inset(0 var(--stab-inset, calc(50% - 507px)) round var(--stab-r, 16px));
    will-change: clip-path;
  }
}
@media (min-width: 1440px) {
  .stab__video { clip-path: inset(0 var(--stab-inset, calc(50% - 600px)) round var(--stab-r, 16px)); }
}
.stab__video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.stab__overlay { position: absolute; inset: 0; background: #000; opacity: var(--stab-ov, 0); pointer-events: none; }
.stab__title {
  position: sticky; top: var(--fixedTop); z-index: 1;
  height: var(--vh100-fixedTop);
  display: flex; align-items: center; justify-content: center;
  pointer-events: none; opacity: var(--stab-t, 0);
}
.stab__title .sec-title { max-width: none; margin: 0; }
.stab__title .sec-title .eyebrow { margin: 0; }
.stab__subs { position: relative; z-index: 3; margin-top: max(0px, calc(1400px - var(--vh100-fixedTop))); }
.stab__row {
  display: flex; flex-direction: column; gap: var(--Section-Gap-1);
  padding: var(--Section-Gap-5) 0;
}
.stab__row:last-child { padding-bottom: var(--Section-Gap-7); }
.stab__row .sec-title .eyebrow { margin-bottom: var(--Content-Gap-2); }
.stab__media { width: 100%; height: 420px; border-radius: 16px; }
@media (min-width: 1025px) {
  .stab__row { flex-direction: row; justify-content: space-between; align-items: center; }
  .stab__row--rev { flex-direction: row-reverse; }
  .stab__row .sec-title { width: 326px; flex-shrink: 0; margin: 0; text-align: left; align-items: flex-start; }
  .stab__media { width: 584px; height: 423px; flex-shrink: 0; }
}
@media (min-width: 1440px) {
  .stab__row .sec-title { width: 384px; }
  .stab__media { width: 690px; height: 500px; }
}
.no-js .stab__title, .reduce-motion .stab__title { opacity: 1; }
.no-js .stab__overlay { opacity: .7; }
