:root {
  --color-primary: #124E3F;
  --color-primary-dark: #0B3329;
  --color-accent: #D92B2B;
  --color-accent-light: #F24444;
  --color-cream: #F3EFEA;
  --color-text: #0F172A;
}

/* Indicadores visuais claros para navegação por teclado */
*:focus-visible {
  outline: 3px solid var(--color-accent-light);
  outline-offset: 2px;
}

/* Sombra do header ao rolar a página */
.header-scrolled {
  background-color: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.08);
}

/* Animações subtis de entrada dos elementos */
.reveal-item {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.reveal-item.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Respeito total à configuração prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .reveal-item {
    opacity: 1 !important;
    transform: none !important;
  }
}