@layer utilities {

.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.br-desktop { display: none; }
@media (min-width: 769px) { .br-desktop { display: inline; } }

.container {
  width: 100%;
  max-width: var(--container-xl);
  margin-inline: auto;
  padding-inline: var(--section-gutter);
}
.container--lg  { max-width: var(--container-lg); }
.container--md  { max-width: var(--container-md); }
.container--sm  { max-width: var(--container-sm); }
.container--xs  { max-width: var(--container-xs); }

.text-center { text-align: center; }

.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 10000;
  padding: 12px 20px;
  background: var(--color-text);
  color: var(--color-text-on-light);
  border-radius: var(--radius-sm);
  font-weight: var(--fw-semibold);
}
.skip-link:focus {
  left: var(--space-lg);
  top: var(--space-lg);
}

:focus-visible {
  outline: 2px solid var(--color-accent-cold);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ── Movimento reduzido — bloco obrigatório (plano 19.5) ──────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }

  .js .reveal,
  .js .reveal.is-visible,
  .js .hero__pill, .js .hero__title, .js .hero__desc,
  .js .hero__cta, .js .hero__micro, .js .hero__visual,
  .js .stack__slot .feature-card,
  .js .timeline__step .step-card {
    opacity: 1 !important;
    transform: none !important;
  }

  .btn-aura__spinner, .obsidian__spinner, .orb,
  .marquee__track, .capacity__shine, .form-pill::after,
  .showcase__levitate, .stack__device, .cinematic__img,
  body::before {
    animation: none !important;
  }

  .marquee__track { justify-content: center; }
  .marquee__group:not(:first-child) { display: none; }
}

/* ── Alto contraste forçado (plano 19.1) ──────────────────────────── */
@media (forced-colors: active) {
  .section-title, .hero__title, .glass-badge__number,
  .last-call__title, .cta-content__title, .form-header__title,
  .cinematic__headline {
    background: none;
    color: CanvasText;
    -webkit-text-fill-color: CanvasText;
  }
  .btn-aura__spinner, .obsidian__spinner, .glare, .orb,
  .capacity__shine, .form-pill::after {
    display: none;
  }
  .accordion__item, .stat-card, .proof-card, .feature-card, .glass-badge {
    border: 1px solid CanvasText;
  }
}

}
