/* Public enquiries use the approved marketing shell; form behaviour is unchanged. */
body.bba-contact .public-contact-page { background: #f5f1fb; padding: 36px 0 64px; }
body.bba-contact .public-contact-shell { width: min(1200px, calc(100% - 80px)); }
body.bba-contact .public-contact-hero h1 { font: 600 40px/1.2 BbaInter, Arial, sans-serif; color: #281348; letter-spacing: -.03em; }
body.bba-contact :is(.public-contact-card, .public-contact-info-card, .public-contact-hours) { padding: 24px; background: #fff; border: 1px solid #e6e2ed; border-radius: 16px; box-shadow: 0 12px 32px #2813480c; }
body.bba-contact :is(h2, .public-contact-hours strong) { font-family: BbaInter, Arial, sans-serif; color: #281348; }
body.bba-contact :is(.brand-kicker, .form-kicker, .public-contact-hours span) { font-family: BbaInter, Arial, sans-serif; color: #5926d6; }
body.bba-contact p { color: #62596f; line-height: 1.65; }
body.bba-contact label { color: #211a2d; font: 500 14px/1.5 BbaInter, Arial, sans-serif; }
body.bba-contact :is(input, select, textarea) { width: 100%; box-sizing: border-box; border: 1px solid #d8d1e2; border-radius: 10px; background: #fff; color: #211a2d; padding: 12px 14px; min-height: 48px; font: 400 16px/1.5 BbaInter, Arial, sans-serif; }
body.bba-contact :is(input, select, textarea):focus { outline: 3px solid #c4a9ff; outline-offset: 2px; border-color: #6f3bf5; }
body.bba-contact .public-contact-submit { margin-top: 16px; }
@media (max-width: 800px) {
  body.bba-contact .public-contact-shell { width: calc(100% - 48px); }
  body.bba-contact :is(.public-contact-hero, .public-contact-grid) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.bba-contact .public-contact-hero h1 { font-size: 32px; }
}
@media (max-width: 500px) {
  body.bba-contact .public-contact-field-grid { grid-template-columns: minmax(0, 1fr); }
  body.bba-contact :is(.public-contact-card, .public-contact-info-card, .public-contact-hours) { padding: 20px; }
  body.bba-contact .public-contact-submit { width: 100%; }
}

/* Enquiry titles follow their column, while side cards stay compact. */
body.bba-contact main :is(h1, h2, h3) { max-width: 100%; text-wrap: wrap; word-break: normal; overflow-wrap: break-word; }
body.bba-contact .public-contact-info-card h2 { font-size: 22px; line-height: 1.35; }
body.bba-contact :is(.public-contact-hero, .public-contact-grid) > * { min-width: 0; }
