/* ── Contact team image hover zoom ── */
.contact-media {
  overflow: hidden;
  border-radius: 1rem;
  box-shadow: 0 18px 40px rgba(15,23,42,.10);
  transition: box-shadow .5s ease;
}
.contact-media .contact-img {
  display: block;
  width: 100%;
  height: 16rem;
  object-fit: cover;
  border-radius: 0;
  transition: transform .8s cubic-bezier(.22,1,.36,1);
}
@media (min-width: 768px) {
  .contact-media .contact-img { height: 18rem; }
}
.contact-media:hover {
  box-shadow: 0 26px 60px rgba(38,56,217,.20);
}
.contact-media:hover .contact-img {
  transform: scale(1.06);
}

@media (prefers-reduced-motion: reduce) {
  .contact-media, .contact-media * { transition: none !important; }
}

/* ── Brevo form wiring (kept on our own visual design) ── */
.input--hidden { position: absolute !important; left: -9999px !important; }

.sib-form-message-panel { display: none; }               /* Brevo's main.js flips this to block */
.sib-form-message-panel .sib-form-message-panel__text { display: flex; align-items: flex-start; gap: .6rem; }
.sib-form-message-panel .sib-icon { width: 20px; height: 20px; flex-shrink: 0; }

/* per-field validation text injected by Brevo */
.entry__error { display: block; margin-top: .4rem; font-size: .8rem; color: #dc2626; }
.entry__error:empty { display: none; }

/* button loading state toggled by Brevo */
.sib-form-block__button-with-loader .progress-indicator__icon { display: none; width: 16px; height: 16px; margin-right: .5rem; fill: currentColor; animation: sib-spin .8s linear infinite; }
.sib-form-block__button-with-loader.clickable--loading .progress-indicator__icon { display: inline-block; }
.sib-form-block__button-with-loader.clickable--loading .sib-hide-loader-icon { display: inline-block; }
@keyframes sib-spin { to { transform: rotate(360deg); } }
