/* Contact — Figma 243:501. Form left in the site container; photo panel
   full-bleed right (791/1920 = 41.2%) with the cards on its bottom-left. */
.seo-contact__section { position: relative; padding: clamp(48px, 11.04vw, 212px) 0 clamp(48px, 5.8vw, 111px); }
.seo-contact__form-wrap { max-width: min(698px, calc(54vw - 40px)); }
.seo-contact__title { margin: 0 0 41px; color: #2a4448; font-size: 36px; font-weight: 500; line-height: normal; }

.seo-contact__submit { justify-self: start; margin-top: 12px; padding: 15px 20px; }
.seo-contact__status { margin: -20px 0 28px; padding: 14px 16px; border-radius: 10px; background: #edf7ee; color: #23562d; font-size: 14px; line-height: 1.6; }
.seo-contact__status--error { background: #fff0ed; color: #963d2a; }
.seo-contact__status ul { margin: 0; padding-left: 18px; }
.seo-contact :is(input, select, textarea, button, a):focus-visible { outline: 2px solid #009066; outline-offset: 3px; }

.seo-contact__media { position: absolute; top: 0; right: 0; bottom: 0; width: 41.2%; overflow: hidden; }
.seo-contact__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.seo-contact__cards { position: absolute; left: 5.06%; right: 5.06%; bottom: 42px; display: flex; flex-wrap: wrap; gap: 26px; }
.seo-contact__card { display: flex; flex-direction: column; width: min(263px, calc(50% - 13px)); min-height: 231px; padding: 25px 12px 22px 20px; border-radius: 10px; background: #fff; box-sizing: border-box; }
.seo-contact__card--address { background: linear-gradient(180deg, #00a759 0%, #009066 100%); color: #fff; }
.seo-contact__card-title { display: flex; align-items: center; gap: 9px; margin: 0; color: #009066; font-size: 18px; font-weight: 700; line-height: normal; }
.seo-contact__card--address .seo-contact__card-title { color: #fff; }
.seo-contact__card-icon { position: relative; flex: none; width: 50px; height: 50px; }
.seo-contact__card-icon img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.seo-contact__card address { margin: 47px 0 0; font-family: "Noto Sans", sans-serif; font-size: 16px; font-weight: 600; font-style: normal; line-height: 20px; }
.seo-contact__card ul { display: grid; gap: 10px; margin: 37px 0 0; padding: 0; list-style: none; color: #000; font-family: "Noto Sans", sans-serif; font-size: 16px; line-height: 26px; }
.seo-contact__card a { color: inherit; white-space: nowrap; }
.seo-contact__map { display: inline-flex; align-items: center; gap: 12px; flex-basis: 100%; justify-content: flex-end; margin-top: -4px; padding-right: 8px; color: #fff; font-family: "Noto Sans", sans-serif; font-size: 16px; line-height: 26px; }

@media (max-width: 991px) {
  .seo-contact__section { padding: 48px 0 0; }
  .seo-contact__form-wrap { max-width: none; }
  .seo-contact__media { position: relative; width: auto; margin-top: 48px; padding: 340px 16px 24px; }
  .seo-contact__cards { position: relative; left: auto; right: auto; bottom: auto; }
}
@media (max-width: 575px) {
  .seo-contact__title { margin-bottom: 28px; font-size: 30px; }
  .seo-contact__submit { justify-self: stretch; }
  .seo-contact__card { width: 100%; min-height: 0; }
  .seo-contact__map { justify-content: flex-start; }
}
