/* Quiska é a fonte de títulos da marca (não está no Google Fonts).
   Coloque o arquivo em assets/fonts/Quiska.woff2 para ativá-la;
   até lá, "Yeseva One" é usada como substituta. */
@font-face {
  font-family: "Quiska";
  src: url("../fonts/Quiska.woff2") format("woff2"),
       url("../fonts/Quiska.otf") format("opentype");
  font-display: swap;
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

/* Logos são máscaras brancas: a cor vem de `color` / `currentColor`,
   então qualquer cor da paleta pode ser aplicada com text-*. */
.brand-mask {
  display: block;
  background-color: currentColor;
  -webkit-mask: var(--mask) center / contain no-repeat;
          mask: var(--mask) center / contain no-repeat;
}
.mask-logo   { --mask: url("../brand/logo.png");   aspect-ratio: 1344 / 1068; }
.mask-symbol { --mask: url("../brand/symbol.png"); aspect-ratio: 739 / 962; }
.mask-seal   { --mask: url("../brand/seal.png");   aspect-ratio: 1212 / 1184; }

/* Padrão de linhas retas (labirinto) da identidade */
.bg-pattern {
  background-image: url("../brand/pattern-lines.png");
  background-size: 640px auto;
  background-repeat: repeat;
}

/* Animação de entrada ao rolar */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@keyframes float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50%      { transform: translateY(-12px) rotate(-2deg); }
}
.animate-float { animation: float 6s ease-in-out infinite; }

@keyframes spin-slow { to { transform: rotate(360deg); } }
.animate-spin-slow { animation: spin-slow 40s linear infinite; }

@keyframes marquee { to { transform: translateX(-50%); } }
.marquee { animation: marquee 30s linear infinite; }

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