html { scroll-behavior: smooth; }
body { margin: 0; }
input::placeholder { color: rgba(251, 248, 252, 0.4); }

/* ===== Animations ===== */
@keyframes brabaPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .35; transform: scale(.7); }
}
@keyframes brabaFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-14px); }
}

/* ===== Hover / focus states ===== */
[data-navcta]:hover,
.cta-final:hover,
#submit-btn:not(:disabled):hover {
  background: #A45BE0;
}
#reset-btn:hover {
  border-color: rgba(251, 248, 252, 0.45);
  color: #FBF8FC;
}
#signup-form input:focus {
  border-color: #8B3FD1;
  background: rgba(20, 11, 31, 0.75);
}

/* ===== Responsive ===== */
@media (min-width: 900px) {
  [data-prodgrid] { grid-template-columns: 1.35fr 1fr !important; gap: 40px !important; }
}
@media (max-width: 760px) {
  [data-sec] { padding: 64px 18px !important; }
  [data-herogrid] { padding: 40px 20px 64px !important; gap: 34px !important; }
  [data-navlogos] { gap: 10px !important; }
  [data-herotext] { order: 2 !important; }
  #cadastro { order: 1 !important; }
}
@media (max-width: 560px) {
  [data-nav] { padding: 11px 15px !important; gap: 10px !important; }
  [data-navpill] { display: none !important; }
  [data-navlogos] img[alt="As Brabas"] { height: 30px !important; }
  [data-navlogos] img[alt="Corinthians Paulista"] { height: 26px !important; }
  [data-navlogos] img[alt="Vizzela"] { height: 15px !important; }
  [data-navcta] { padding: 10px 16px !important; font-size: 12px !important; }
  [data-prodhi] { gap: 14px !important; padding: 14px 15px !important; }
  [data-prodhi-img] { height: 104px !important; }
  [data-hero-h1] { font-size: clamp(40px,12vw,58px) !important; }
  [data-benefits] { flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; }
  [data-prodhi] { flex-wrap: wrap !important; }
  [data-prodwrap] { transform: translateX(10%) !important; }
}
@media (max-width: 400px) {
  [data-prodhi] { flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 12px !important; }
  [data-prodhi] > div:last-child { align-items: center !important; }
  [data-prodhi] > div:last-child > div:nth-child(3) { justify-content: center !important; }
  [data-prodhi-img] { height: 220px !important; }
}
