/* Contact page — restyled 2026-09-23. Brand: navy #012970 (site headings), bronze #a8773f (logo "STR"). */
.ap-contact { padding: 110px 0 70px; }

.ap-contact-header { text-align: center; max-width: 640px; margin: 0 auto 36px; }
.ap-contact-header h1 { color: #012970; font-weight: 700; font-size: 2.2rem; margin-bottom: 10px; }
.ap-contact-header p { color: #4a5773; font-size: 1.05rem; margin: 0; }
.ap-contact-header h1::after {
  content: ""; display: block; width: 56px; height: 3px; margin: 14px auto 0;
  background: #a8773f; border-radius: 2px;
}

.ap-info-card {
  height: 100%; background: #fff; border: 1px solid #e4e9f5; border-radius: 12px;
  padding: 22px 22px 18px; box-shadow: 0 4px 18px rgba(1, 41, 112, 0.06);
  transition: box-shadow .2s ease, transform .2s ease;
}
.ap-info-card:hover { box-shadow: 0 8px 26px rgba(1, 41, 112, 0.1); transform: translateY(-2px); }
.ap-info-card i {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 50%;
  background: rgba(168, 119, 63, 0.12); color: #a8773f; font-size: 20px; margin-bottom: 12px;
}
.ap-info-card h3 { color: #012970; font-size: 1.05rem; font-weight: 700; margin-bottom: 6px; }
.ap-info-card p { margin: 0; color: #444; font-size: .95rem; line-height: 1.55; word-break: break-word; }
.ap-info-card a { color: #444; text-decoration: none; border-bottom: 1px dashed #c9cfdd; }
.ap-info-card a:hover { color: #012970; border-bottom-color: #012970; }
.ap-muted { color: #7a8499; font-size: .88rem; }

.contact .ap-contact-form {
  height: 100%; background: #fff; border: 1px solid #e4e9f5; border-radius: 12px;
  padding: 28px; box-shadow: 0 4px 18px rgba(1, 41, 112, 0.06);
}
.ap-contact-form h2 { text-align: left; color: #012970; font-size: 1.3rem; font-weight: 700; margin-bottom: 18px; }
.ap-contact-form label { display: block; font-size: .85rem; font-weight: 600; color: #33415c; margin-bottom: 6px; }

/* Override the FlexStart template defaults (style.css .contact .php-email-form …) */
.contact .ap-contact-form input,
.contact .ap-contact-form textarea {
  border-radius: 8px; border: 1px solid #cfd6e6; padding: 10px 14px; font-size: .95rem;
  box-shadow: none; transition: border-color .15s ease, box-shadow .15s ease;
}
.contact .ap-contact-form input { height: 46px; }
.contact .ap-contact-form input:focus,
.contact .ap-contact-form textarea:focus {
  border-color: #012970; box-shadow: 0 0 0 3px rgba(1, 41, 112, 0.12);
}
.contact .ap-contact-form button[type=submit] {
  display: inline-flex; align-items: center; gap: 8px;
  background: #012970; border: 0; border-radius: 8px; color: #fff;
  padding: 12px 28px; font-weight: 600; letter-spacing: .2px; transition: background .2s ease;
}
.contact .ap-contact-form button[type=submit]:hover { background: #a8773f; }
.contact .ap-contact-form button[type=submit]:disabled { opacity: .6; cursor: default; }

.contact .ap-contact-form .sent-message,
.contact .ap-contact-form .error-message,
.contact .ap-contact-form .loading { border-radius: 8px; margin-bottom: 14px; font-size: .95rem; }
.contact .ap-contact-form .sent-message { background: #e8f6ee; color: #146c43; border: 1px solid #b7e1c8; }
.contact .ap-contact-form .error-message { background: #fdecec; color: #a42727; border: 1px solid #f3c2c2; }

.ap-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 575.98px) {
  .ap-contact { padding-top: 90px; }
  .ap-contact-header h1 { font-size: 1.8rem; }
  .ap-contact-form { padding: 20px; }
  .contact .ap-contact-form button[type=submit] { width: 100%; justify-content: center; }
}
