  
    :root {
      --primary: #002868;
      --accent: #BF0A30;
      --bg: #0e1117;
      --glass: rgba(15, 20, 28, 0.95); /* aumentei a opacidade para compensar a ausência do blur */
      --input-bg: #1b2332;
      --input-focus: #2e3a55;
      --white: #fff;
      --radius: 12px;
      --font: 'Segoe UI', sans-serif;
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      font-family: var(--font);
      background: url('images/hero-bg.jpg') no-repeat center center fixed;
      background-size: cover;
      color: var(--white);
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }

    /* Navbar */
    nav {
      background: var(--primary);
      padding: 0.8rem 1rem;
      box-shadow: 0 4px 8px rgba(0,0,0,0.6);
      display: flex;
      justify-content: space-between;
      align-items: center;
      position: relative;
      z-index: 10;
    }

    .nav-side {
      flex: 1;
      display: flex;
      align-items: center;
      gap: 1rem;
    }

    .nav-center {
      flex: 0 0 auto;
      text-align: center;
    }

    .nav-center img {
      height: 50px;
    }

    .nav-side.right {
      justify-content: flex-end;
    }

    .nav-side a {
      color: var(--white);
      text-decoration: none;
      font-weight: bold;
      border: 1px solid transparent;
      padding: 0.4rem 0.8rem;
      border-radius: var(--radius);
      transition: background 0.3s ease;
    }

    .nav-side a:hover {
      background: var(--accent);
    }

    .contact-info {
      font-size: 0.85rem;
      line-height: 1.3;
      text-align: right;
    }

    .main-content {
      flex: 1;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 2rem 1rem;
    }

    .form-container {
      background: var(--glass);
      padding: 2rem;
      border-radius: var(--radius);
      max-width: 500px;
      width: 100%;
      /* REMOVIDO backdrop-filter: blur(10px); */
      box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
      animation: fadeIn 0.8s ease-in-out;
    }

    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(30px); }
      to { opacity: 1; transform: translateY(0); }
    }

    h1 {
      text-align: center;
      margin-bottom: 2rem;
    }

    .step {
      display: none;
      flex-direction: column;
      animation: slideIn 0.4s ease;
    }

    .step.active {
      display: flex;
    }

    @keyframes slideIn {
      from { opacity: 0; transform: translateX(30px); }
      to { opacity: 1; transform: translateX(0); }
    }

    label {
      margin-bottom: 0.5rem;
      font-weight: 600;
    }

    input {
      padding: 0.7rem 1rem;
      border: none;
      border-radius: var(--radius);
      background: var(--input-bg);
      color: var(--white);
      font-size: 1rem;
      transition: 0.3s;
      margin-bottom: 1rem;
    }

    input:focus {
      background: var(--input-focus);
      outline: none;
      box-shadow: 0 0 5px var(--accent);
    }

    .buttons {
      margin-top: 2rem;
      display: flex;
      justify-content: space-between;
      gap: 1rem;
    }

    button {
      padding: 0.7rem 1.5rem;
      border: none;
      border-radius: 50px;
      cursor: pointer;
      font-weight: bold;
      font-size: 1rem;
      transition: 0.3s;
    }

    .btn-prev {
      background: var(--primary);
      color: var(--white);
    }

    .btn-prev:hover {
      background: #001d4a;
    }

    .btn-next {
      background: var(--accent);
      color: var(--white);
    }

    .btn-next:hover {
      background: #8c071f;
    }

    .summary {
      font-size: 0.95rem;
      line-height: 1.6;
      padding: 1rem;
      background: rgba(255,255,255,0.05);
      border-radius: var(--radius);
      margin-bottom: 1rem;
    }

@media (max-width: 520px) {
  /* Reduz o tamanho da logo */
  .nav-center img {
    height: 40px;
  }

  /* Centraliza os itens da navbar empilhando-os */
  nav {
    flex-direction: column;
    gap: 0.5rem;
    text-align: center;
  }

  .nav-side {
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .nav-side.right {
    justify-content: center;
  }

  /* Ajuste nos links da navbar */
  .nav-side a {
    font-size: 0.9rem;
    padding: 0.3rem 0.7rem;
  }

  /* Informações de contato responsivas */
  .contact-info {
    font-size: 0.75rem;
    text-align: center;
  }

  /* Ajusta o container do formulário */
  .form-container {
    margin: 1rem;
    padding: 1.5rem;
  }

  /* Reduz fonte de títulos */
  h1 {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
  }

  /* Ajuste nos inputs */
  input {
    font-size: 0.95rem;
    padding: 0.6rem 0.9rem;
  }

  /* Botões mais acessíveis */
  .buttons {
    flex-direction: column;
    gap: 0.7rem;
  }

  button {
    font-size: 0.95rem;
    padding: 0.6rem 1.2rem;
    width: 100%;
  }

  /* Resumo mais enxuto */
  .summary {
    font-size: 0.9rem;
    padding: 0.8rem;
  }

  /* Reduz animações para evitar travamentos em devices mais simples */
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  @keyframes slideIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
}
