/* Reset e base */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; background: #0A1F3D; color: #ffffff; display: flex; flex-direction: column; min-height: 100vh; align-items: center; justify-content: start; padding: 2rem; }
img { display: block; max-width: 100%; }

/* Brand / Header */
.site-header { display: grid; place-items: center; gap: 1.5rem; text-align: center; max-width: 600px; width: 100%; }
.brand h1 {
  margin: 0;
  font-weight: 800;
  font-size: 2.2rem;
  color: #ffffff;
  line-height: 1.3;
  text-shadow: 0 2px 4px rgba(255, 253, 253, 0.219);
  background: linear-gradient(90deg, #ffffff, #ffffff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: pulseTitle 2s infinite;
}

.subtitle {
  font-size: 1.1rem;
  color: #ffffff;
  font-weight: 500;
  margin-top: 0.5rem;
  line-height: 1.4;
  text-align: center;
  padding: 0.5rem 1rem;
  border-left: 4px solid #1ae0d6;
  border-radius: 8px;
  background-color: rgba(255, 255, 255, 0.05);
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: fadeInSub 1.5s ease-out;
}

@keyframes pulseTitle {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.03); opacity: 0.95; }
}

@keyframes fadeInSub {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Botão CTA */
.cta { display: flex; align-items: center; gap: 1rem; background: #2a2e55; border: 2px solid #eaeaff; border-radius: 16px; padding: 0.75rem 1.5rem; text-decoration: none; color: #ffffff; box-shadow: 0 4px 0 rgba(0,0,0,0.25); transition: transform 0.08s ease, background 0.2s ease, box-shadow 0.2s ease; }
.cta:hover, .cta:focus-visible { background: #3a3f72; }
.cta:active { transform: translateY(1px); box-shadow: 0 2px 0 rgba(0,0,0,0.25); }

.cta__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 14px; background: #2a2e55; }
.cta__icon img { width: 36px; height: 36px; }
.cta__text {
  display: flex;
  flex-direction: column;
  align-items: center; 
  text-align: center;  
}

.cta__tittle {
  font-size: 1.2rem; 
  font-weight: bold;
  margin-bottom: 4px;
}

.cta__subtittle {
  font-size: 0.7rem; 
  color: #45d80b;       
}

#cta-2-sub {
  font-size: 0.7rem; 
  color: rgb(15, 176, 224);
}


.brand h3 {
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
}

/* Redes sociais */
.social { display: flex; gap: 1rem; justify-content: center; margin-top: 0; }
.social a { display: inline-flex; padding: 0.4rem; border-radius: 999px; }
.social img { width: 32px; height: 32px; }

/* Footer */
.site-footer { margin-top: 3rem; color: #c8cbe0; font-size: 0.9rem; text-align: center; }

/* Responsivo */
@media (min-width: 768px) {
    .cta { padding: 0.85rem 2rem; }
    .cta__icon { width: 64px; height: 64px; border-radius: 16px; }
    .cta__icon img { width: 36px; height: 36px; }
    .cta__title { font-size: 1.125rem; }
}