html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; }
h1, h2, h3, .font-display { font-family: 'Syne', sans-serif; }

.pixel-dissolve {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(#F06522 1.5px, transparent 1.5px),
    radial-gradient(#2997D6 1.5px, transparent 1.5px);
  background-size: 26px 26px;
  background-position: 0 0, 13px 13px;
  -webkit-mask-image: linear-gradient(to bottom, black, transparent 70%);
  mask-image: linear-gradient(to bottom, black, transparent 70%);
  opacity: 0.10;
  pointer-events: none;
}

.clip-gate-right { clip-path: polygon(18% 0%, 100% 0%, 100% 100%, 0% 100%); }
.clip-gate-left { clip-path: polygon(0% 0%, 100% 0%, 82% 100%, 0% 100%); }

.btn-glow {
  box-shadow: 0 8px 24px -6px rgba(240, 101, 34, 0.45);
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.btn-glow:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px -6px rgba(240, 101, 34, 0.55);
}

.card-lift { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.card-lift:hover { transform: translateY(-6px); box-shadow: 0 20px 40px -12px rgba(26, 47, 51, 0.15); }

.fade-up {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .6s ease, transform .6s ease;
}
.fade-up.is-visible { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
  .fade-up { opacity: 1 !important; transform: none !important; transition: none !important; }
  .card-lift, .btn-glow { transition: none !important; }
}

a:focus-visible, button:focus-visible {
  outline: 2px solid #2997D6;
  outline-offset: 3px;
  border-radius: 4px;
}

#mobile-menu { transition: max-height .35s ease; }

/* Ícones SVG inline (substituem o Font Awesome): escalam com o font-size do elemento, como um ícone de fonte */
svg.icon {
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: -0.125em;
  flex-shrink: 0;
}

/* Header adaptável: transparente sobre o vídeo do Hero (home) / sólido nas páginas internas */
#site-header {
  background-color: rgba(15, 23, 42, 0.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(255,255,255,.08);
  transition: background-color .35s ease, border-color .35s ease, backdrop-filter .35s ease;
}
#site-header.is-scrolled {
  background-color: rgba(255,255,255,.85);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom-color: rgba(26,47,51,.05);
}

#site-header .site-logo {
  filter: brightness(0) invert(1);
  transition: filter .35s ease;
}
#site-header.is-scrolled .site-logo { filter: none; }

#site-header .nav-link {
  color: rgba(255,255,255,.9);
  transition: color .25s ease;
}
#site-header .nav-link:hover { color: #F06522; }
#site-header.is-scrolled .nav-link { color: rgba(26,47,51,.8); }

#site-header #menu-btn {
  color: #ffffff;
  border-color: rgba(255,255,255,.35);
  transition: color .25s ease, border-color .25s ease;
}
#site-header.is-scrolled #menu-btn {
  color: #1A2F33;
  border-color: rgba(26,47,51,.15);
}

/* Marquee infinito de logos de tecnologia (home) */
.marquee-track {
  animation: marquee-scroll 55s linear infinite;
  will-change: transform;
}
@keyframes marquee-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .marquee-track { animation: none; }
}

/* Páginas internas: conteúdo começa depois do header fixo (80px) */
main.with-header-offset { padding-top: 80px; }
