:root {
  --header-h: 132px;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-h);
  -webkit-text-size-adjust: 100%;
}

body {
  font-feature-settings: "ss01", "cv01";
  text-rendering: optimizeLegibility;
}

/* Títulos usam a fonte de display */
h1,
h2,
h3,
h4,
h5 {
  font-family: "Archivo", system-ui, sans-serif;
  letter-spacing: -0.02em;
}

/* Conteúdo vindo do Prismic (RichText) */
.prose-cms > p {
  margin-bottom: 1rem;
  color: #4b5563;
  line-height: 1.75;
}
.prose-cms > p:last-child {
  margin-bottom: 0;
}
.prose-cms ul {
  margin: 0.5rem 0 1rem;
  padding-left: 1.1rem;
}
.prose-cms li {
  list-style: disc;
  margin-left: 0.25rem;
  color: #4b5563;
  line-height: 1.7;
}
.prose-cms a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Motivo gráfico: grade técnica sutil (neutra à cor da marca) */
.bg-grid {
  background-image: linear-gradient(
      to right,
      rgba(255, 255, 255, 0.06) 1px,
      transparent 1px
    ),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
  background-size: 44px 44px;
}

/* Faixa diagonal de destaque (usa currentColor) */
.stripe-mask {
  -webkit-mask-image: repeating-linear-gradient(
    -45deg,
    #000 0 10px,
    transparent 10px 20px
  );
  mask-image: repeating-linear-gradient(
    -45deg,
    #000 0 10px,
    transparent 10px 20px
  );
}

/* Revelação ao rolar: acontece UMA vez, sem piscar */
.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .animate-marquee,
  .animate-pulseRing {
    animation: none !important;
  }
}
