/* Minified */
/* Custom styles extracted from inline <style> */
.glass-card {
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(226, 232, 240, 0.8);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px -1px rgba(0, 0, 0, 0.02);
}

.text-gradient {
  background: linear-gradient(to right, #818cf8, #22d3ee);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.noise-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.04;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
}

.noise-overlay::after {
  content: "";
  position: absolute;
  top: -100%;
  left: -100%;
  width: 300%;
  height: 300%;
  background: inherit;
  animation: noise-shift 8s steps(10) infinite;
  opacity: 0.5;
}

@keyframes noise-shift {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(-10%, 10%);
  }
}

.video-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}

.video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(15, 23, 42, 0.6);
  background: linear-gradient(to bottom, rgba(15, 23, 42, 0.5) 0%, rgba(15, 23, 42, 1) 100%);
  z-index: 1;
}

/* Logo Styling */
.client-logo {
  height: 60px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
  filter: brightness(1.5) opacity(0.7) saturate(0.8);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.client-logo:hover {
  transform: scale(1.15);
  filter: brightness(1) opacity(1) saturate(1.2);
  z-index: 10;
  position: relative;
}

.page-content {
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.hidden-page {
  display: none;
  opacity: 0;
  transform: translateY(20px);
}

.visible-page {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

/* Back-to-top button */
#back-to-top {
  position: fixed;
  right: 1.25rem; /* 20px */
  bottom: 6.5rem; /* acima do WhatsApp */
  z-index: 60;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease, transform .2s ease;
  transform: translateY(10px);
}

#back-to-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Acessibilidade: tamanho de fonte ampliado (aplicado no <html>) */
html.access-large-font { font-size: 112.5%; }

/* Alto Contraste */
html.high-contrast body { background: #000 !important; color: #fff !important; }
html.high-contrast a { color: #fffb38 !important; text-decoration-thickness: 2px; }
html.high-contrast .glass-card { background: #0b0b0b !important; border-color: rgba(255,255,255,0.22) !important; box-shadow: none !important; }
html.high-contrast .text-slate-600, html.high-contrast .text-slate-500, html.high-contrast .text-slate-400 { color: #e5e7eb !important; }
html.high-contrast .bg-white, html.high-contrast .bg-slate-50, html.high-contrast .bg-white\/10 { background-color: #0b0b0b !important; }
html.high-contrast .border-slate-200, html.high-contrast .border-slate-100 { border-color: rgba(255,255,255,0.22) !important; }
html.high-contrast .text-slate-900 { color: #ffffff !important; }
html.high-contrast .bg-slate-900 { background-color: #000000 !important; }
html.high-contrast #main-nav { background-color: rgba(0,0,0,0.9) !important; border-color: rgba(255,255,255,0.2) !important; }
html.high-contrast .nav-link { color: #ffffff !important; }
html.high-contrast .footer-logo { filter: invert(1) hue-rotate(180deg); }

/* Failsafe: header sólido força cores e fundo mesmo se classes conflitarem */
#main-nav.nav-solid { background-color: rgba(255,255,255,0.9) !important; border-color: #e5e7eb !important; box-shadow: 0 1px 2px rgba(0,0,0,0.03) !important; }
#main-nav.nav-solid .nav-link { color: #475569 !important; }
#main-nav.nav-solid .nav-logo { filter: none !important; }
#main-nav.nav-solid .nav-mobile-btn { color: #0f172a !important; }

/* Botão flutuante de acessibilidade (semelhante ao VLibras) */
/* (Acessibilidade custom removida; VLibras mantido) */
