/* ── Typography ───────────────────────────────────────────────── */
*,
*::before,
*::after {
  font-family: 'Inter', system-ui, sans-serif;
}

/* ── Animations ──────────────────────────────────────────────── */
.fade-in {
  opacity: 0;
  transform: translateY(14px);
  animation: fadeIn 0.65s ease forwards;
}

@keyframes fadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── Header scroll effect ─────────────────────────────────────── */
.header-scrolled {
  background-color: rgba(8, 8, 8, 0.9) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-color: #1a1a1a !important;
}

/* ── Active nav link ─────────────────────────────────────────── */
.nav-active {
  color: #ff5c00 !important;
}

/* ── Hero subtle glow ────────────────────────────────────────── */
.hero-glow {
  background: radial-gradient(ellipse 80% 55% at 75% 0%,
      rgba(255, 92, 0, 0.09) 0%,
      transparent 60%);
}

/* ── Card hover glow ─────────────────────────────────────────── */
.card-hover {
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.card-hover:hover {
  border-color: rgba(255, 92, 0, 0.35) !important;
  box-shadow: 0 0 0 1px rgba(255, 92, 0, 0.35),
    0 8px 32px rgba(255, 92, 0, 0.07);
}

/* ── Form inputs ─────────────────────────────────────────────── */
.form-input {
  width: 100%;
  padding: 0.75rem 1rem;
  background: #0e0e0e;
  border: 1px solid #1e1e1e;
  border-radius: 0.625rem;
  font-size: 0.875rem;
  color: #f0f0e8;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  appearance: none;
}

.form-input::placeholder {
  color: #484848;
}

.form-input:focus {
  border-color: #ff5c00;
  box-shadow: 0 0 0 2px rgba(255, 92, 0, 0.15);
}

/* ── Mobile ──────────────────────────────────────────────────── */
@media (max-width: 767px) {

  /* 97 % da largura da tela */
  .max-w-5xl,
  .max-w-lg {
    width: 97vw !important;
    max-width: 97vw !important;
    padding-left: 1.5vw !important;
    padding-right: 1.5vw !important;
  }

  .hero-glow {
    padding-left: 1.5vw !important;
    padding-right: 1.5vw !important;
  }

  /* Texto justificado */
  main p,
  section p {
    text-align: justify;
  }

  /* Títulos centralizados */
  main h1,
  main h2,
  main h3,
  section h1 {
    text-align: center;
  }

  /* Hero — badge e botões centralizados */
  .hero-glow .inline-flex:not(button) {
    margin-left: auto;
    margin-right: auto;
  }

  .hero-glow .flex.flex-wrap {
    justify-content: center;
  }

  /* Títulos 20 % menores (valores Tailwind × 0.8) */
  section h1 {
    font-size: 1.8rem !important;
  }

  /* text-4xl 2.25 → 1.8 */
  main h1 {
    font-size: 1.5rem !important;
  }

  /* text-3xl 1.875 → 1.5 */
  main h2 {
    font-size: 0.9rem !important;
  }

  /* text-lg 1.125 → 0.9 */
  main h3 {
    font-size: 0.8rem !important;
  }

  /* text-base 1.0 → 0.8 */
}