@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&family=Barlow+Condensed:wght@600;700&display=swap');

/* ===== RESET ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
button { border: none; cursor: pointer; background: none; font-family: var(--font-body); }

body {
  font-family: var(--font-body);
  background-color: var(--color-bg-dark);
  color: var(--color-text-primary);
  line-height: var(--leading-normal);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* ===== VARIABLES ===== */
:root {
  --color-primary: #1672b0;
  --color-primary-light: #1e8fd4;
  --color-primary-dark: #0f5a8a;
  --color-bg-dark: #0a0e1a;
  --color-bg-navy: #0d1526;
  --color-bg-card: #111827;
  --color-bg-section: #0f1a2e;
  --color-text-primary: #ffffff;
  --color-text-secondary: #a8b8cc;
  --color-text-muted: #6b7f96;
  --color-accent: #00d4ff;
  --color-success: #22c55e;
  --color-warning: #f59e0b;
  --color-border: rgba(22, 114, 176, 0.2);
  --color-border-bright: rgba(22, 114, 176, 0.5);
  --gradient-primary: linear-gradient(135deg, #1672b0 0%, #0a3d6b 100%);
  --gradient-hero: linear-gradient(180deg, #0a0e1a 0%, #0d1f3c 50%, #0a0e1a 100%);
  --gradient-card: linear-gradient(145deg, #111827 0%, #0f1a2e 100%);
  --gradient-cta: linear-gradient(135deg, #1672b0 0%, #1e8fd4 100%);
  --gradient-glow: radial-gradient(ellipse at center, rgba(22, 114, 176, 0.15) 0%, transparent 70%);
  --font-display: 'Bebas Neue', sans-serif;
  --font-body: 'Barlow', sans-serif;
  --font-condensed: 'Barlow Condensed', sans-serif;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;
  --text-6xl: 3.75rem;
  --text-7xl: 4.5rem;
  --leading-tight: 1.1;
  --leading-snug: 1.3;
  --leading-normal: 1.5;
  --leading-relaxed: 1.7;
}

/* ===== CONTAINERS ===== */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.container--narrow {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ===== SECTION UTILITIES ===== */
.section-label {
  display: block;
  font-family: var(--font-condensed);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: 16px;
}

.section-title {
  font-family: var(--font-display);
  font-size: clamp(40px, 5vw, 56px);
  line-height: var(--leading-tight);
  color: var(--color-text-primary);
  margin-bottom: 20px;
}

.section-subtitle {
  font-size: var(--text-lg);
  color: var(--color-text-secondary);
  line-height: var(--leading-relaxed);
  max-width: 600px;
}

/* ===== SCROLL ANIMATIONS ===== */
.fade-in-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in {
  opacity: 0;
  transition: opacity 0.8s ease;
}

.slide-in-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.slide-in-right {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.is-visible {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
}

/* Headlines com versões desktop/mobile distintas */
.m-text { display: none; }
.d-text { display: inline; }

.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }
.delay-5 { transition-delay: 0.5s; }
.delay-6 { transition-delay: 0.6s; }
