:root {
  /* Cores primárias */
  --primaria1: #FDECEA;
  --primaria2: #F8C9C4;
  --primaria3: #F29A91;
  --primaria4: #E86556;
  --primaria5: #CC3C2B; /* principal */
  --primaria6: #B73425; /* principal */
  --primaria7: #9E2C20;
  --primaria8: #84241B;
  --primaria9: #6B1C15;
  --primaria10: #521510;
  --primaria11: #3A0F0B;

  /* Cores de suporte */
  --suporte1: #F5F5F5;
  --suporte2: #EAEAEA;
  --suporte3: #DADADA;
  --suporte4: #C2C2C2;
  --suporte5: #A8A8A8;
  --suporte6: #8E8E8E;
  --suporte7: #5C5C5C;
  --suporte8: #3A3A3A;
  --suporte9: #1F1F1F;
  --suporte10: #101010;

  /* Cinzas */
  --cinza1: #FFFFFF;
  --cinza2: #F9F9F9;
  --cinza3: #F9F9F9;
  --cinza4: #E4E4E4;
  --cinza5: #D1D1D1;
  --cinza6: #BDBDBD;
  --cinza7: #9E9E9E;
  --cinza8: #7E7E7E;
  --cinza9: #5E5E5E;
  --cinza10: #3C3C3C;
  --cinza11: #1A1A1A;

  /* Estados */
  --danger: #D92D20;
  --danger2: #B42318;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  color: var(--suporte9);
}

img {
  max-width: 100%;
  display: block;
}

/* ===== Estilos de texto ===== */
.titulo-1 { font-size: 93px; letter-spacing: -1.5px; font-weight: 400; }
.titulo-2 { font-size: 58px; letter-spacing: -0.5px; font-weight: 400; }
.titulo-3 { font-size: 47px; letter-spacing: 0; font-weight: 400; }
.titulo-4 { font-size: 33px; letter-spacing: 0.25px; font-weight: 400; }
.titulo-5 { font-size: 23px; letter-spacing: 0; font-weight: 400; }
.titulo-6 { font-size: 19px; letter-spacing: 0.15px; font-weight: 700; }
.subtitulo-1 { font-size: 18px; letter-spacing: 0.15px; font-weight: 400; }
.subtitulo-2 { font-size: 14px; letter-spacing: 0.1px; font-weight: 500; }
.subtitulo-3 { font-size: 12px; letter-spacing: 0.4px; font-weight: 400; }
.body-1 { font-size: 16px; letter-spacing: 0.5px; font-weight: 400; }
.body-2 { font-size: 14px; letter-spacing: 0.25px; font-weight: 400; }
.button { font-size: 14px; letter-spacing: 1.25px; font-weight: 500; }

/* ===== Botões ===== */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 20px;
  white-space: nowrap;
  border-radius: 8px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.btn--primary {
  background: var(--primaria5);
  color: var(--cinza1);
}

.btn--primary:hover {
  background: var(--primaria6);
}

.btn--dark {
  background: var(--suporte9);
  color: var(--cinza1);
}

.btn--dark:hover {
  background: var(--suporte10);
}

/* ===== Responsivo ===== */
@media (max-width: 480px) {
  .btn {
    justify-content: center;
  }
}

@media (max-width: 380px) {
  .btn {
    padding: 11px 16px;
  }

  .btn .button {
    font-size: 13px;
  }
}
