/* ===== HUBSPOT FORM STYLING ===== */
/* Shared across all pages that embed HubSpot forms (contact + newsletter). */
.hs-form-frame,
.hs-form-frame * {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
}
.hs-form-frame form { margin: 0 !important; }
.hs-form-frame .hs-form-field { margin-bottom: 20px !important; }
.hs-form-frame label {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.hs-form-frame input[type="text"],
.hs-form-frame input[type="email"],
.hs-form-frame input[type="tel"],
.hs-form-frame select,
.hs-form-frame textarea {
  width: 100% !important;
  padding: 13px 16px !important;
  border: 1.5px solid var(--border) !important;
  border-radius: var(--radius) !important;
  font-family: inherit !important;
  font-size: 0.9375rem !important;
  color: var(--text) !important;
  background: var(--white) !important;
  transition: border-color 0.15s !important;
  box-shadow: none !important;
}
.hs-form-frame input:focus,
.hs-form-frame select:focus,
.hs-form-frame textarea:focus {
  outline: none !important;
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(74,111,147,0.10) !important;
}
.hs-form-frame textarea { resize: vertical !important; min-height: 130px !important; }
.hs-form-frame .hs-button,
.hs-form-frame input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 16px 28px !important;
  border-radius: var(--radius) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  cursor: pointer !important;
  border: none !important;
  background: #2f4d6b !important;
  color: #fffdf6 !important;
  margin-top: 8px !important;
  transition: all 0.18s ease !important;
}
.hs-form-frame .hs-button:hover,
.hs-form-frame input[type="submit"]:hover {
  background: #4a6f93 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 24px rgba(74,111,147,0.25) !important;
}
.hs-form-frame .hs-error-msg,
.hs-form-frame .hs-error-msgs label {
  color: #c53030 !important;
  font-size: 0.8125rem !important;
  margin-top: 4px !important;
}
.hs-form-frame .legal-consent-container,
.hs-form-frame .hs-richtext {
  font-size: 0.8125rem !important;
  color: var(--subtext) !important;
  line-height: 1.6 !important;
  margin: 16px 0 !important;
}
.hs-form-frame .legal-consent-container a,
.hs-form-frame .hs-richtext a {
  color: var(--accent) !important;
  text-decoration: underline !important;
}
.hs-form-frame .hs-form-required { color: var(--accent) !important; }
