/* Custom Brand Theme with Montserrat and Inter Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Montserrat:wght@700;800;900&display=swap');

:root {
  --primary-blue: #0051A2;
  --primary-blue-dark: #002C5B;
  --accent-red: #E31E24;
  --neutral-dark: #1E293B;
  --neutral-light: #F8FAFC;
  --neutral-white: #FFFFFF;
  --border-color: #E2E8F0;
  --transition-smooth: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
  --font-heading: 'Montserrat', sans-serif;
  --font-body: 'Inter', sans-serif;
}

body {
  font-family: var(--font-body);
  background-color: var(--neutral-white);
  color: var(--neutral-dark);
  overflow-x: hidden;
  scroll-behavior: smooth;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
}

/* Bulletproof CSS Class-Toggle Multilingual Engine */
body.lang-pt [lang="en"] {
  display: none !important;
}

body.lang-en [lang="pt"] {
  display: none !important;
}

/* Premium Navigation Link Transition */
.nav-link {
  position: relative;
  transition: var(--transition-smooth);
}

.nav-link::after {
  content: '';
  position: absolute;
  width: 0;
  height: 2.5px;
  bottom: -4px;
  left: 0;
  background-color: var(--accent-red);
  transition: var(--transition-smooth);
}

.nav-link:hover {
  color: var(--primary-blue);
}

.nav-link:hover::after {
  width: 100%;
}

/* Interactive Brand Cards & Hover Physics */
.service-card {
  background-color: var(--neutral-white);
  border: 1px solid var(--border-color);
  border-radius: 16px;
  transition: var(--transition-smooth);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.service-card:hover {
  transform: translateY(-8px);
  border-color: var(--primary-blue);
  box-shadow: 0 20px 25px -5px rgba(0, 81, 162, 0.12), 0 10px 10px -5px rgba(0, 81, 162, 0.04);
}

.partner-card {
  transition: var(--transition-smooth);
  filter: grayscale(100%);
  opacity: 0.75;
}

.partner-card:hover {
  filter: grayscale(0%);
  opacity: 1;
  border-color: var(--primary-blue);
  transform: scale(1.03);
  box-shadow: 0 12px 20px -3px rgba(0, 81, 162, 0.08);
}

/* Dynamic Scroll Animations */
.scroll-reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1000ms cubic-bezier(0.16, 1, 0.3, 1), transform 1000ms cubic-bezier(0.16, 1, 0.3, 1);
}

.scroll-reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}
