/* Scoped Contact page enhancement: does not change the existing hero/header/footer. */
.so-contact-section{padding:62px 0 78px;background:#fff}
.so-contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:65px;align-items:start}
.so-contact-intro h2{font-size:clamp(29px,3vw,40px);line-height:1.2;margin:0 0 18px;color:#142a35}
.so-contact-intro>p{font-size:17px;line-height:1.7;color:#667986;margin:0 0 28px}
.so-contact-help{display:flex;gap:16px;background:#f7f9fa;border:1px solid #e8edf0;border-radius:12px;padding:22px}
.so-contact-help>i{color:#009bda;font-size:23px;margin-top:3px}
.so-contact-help strong{display:block;margin-bottom:6px;color:#142a35}
.so-contact-help p{color:#667986;line-height:1.6;margin:0 0 12px}
.so-contact-book{color:#087aa7;font-weight:700;text-decoration:none}
.so-contact-book i{margin-left:5px}
.so-contact-card{border:1px solid #e3e9ed;border-radius:16px;padding:30px;background:#fff;box-shadow:0 12px 36px rgba(12,35,49,.05)}
.so-contact-form{display:grid;gap:19px}
.so-contact-two{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.so-contact-form label{display:block;font-weight:600;color:#243640;font-size:14px;margin-bottom:8px}
.so-contact-form label span{color:#b63636}
.so-contact-form input,.so-contact-form select,.so-contact-form textarea{box-sizing:border-box;display:block;width:100%;min-height:49px;padding:12px 14px;border:1px solid #d9e2e8;border-radius:8px;background:#fff;color:#172c37;font:inherit;font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s}
.so-contact-form textarea{min-height:130px;resize:vertical}
.so-contact-form input:focus,.so-contact-form select:focus,.so-contact-form textarea:focus{border-color:#009bda;box-shadow:0 0 0 3px rgba(0,155,218,.12)}
.so-contact-privacy{margin:0;font-size:12px;line-height:1.6;color:#697d89}
.so-contact-privacy a{color:#087aa7;text-decoration:underline}
.so-contact-submit{background:#222;color:#fff;border:0;border-radius:7px;padding:15px 24px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;justify-self:start;transition:background .15s}
.so-contact-submit:hover{background:#087aa7}
.so-contact-submit i{margin-left:9px}
.so-contact-notice{padding:17px 18px;border-radius:9px;line-height:1.6}
.so-contact-success{background:#edf9f2;color:#176b3a}
.so-contact-error{background:#fff0f0;color:#9c2929;margin-bottom:20px}
.so-contact-trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:991px){.so-contact-grid{gap:30px}.so-contact-section{padding:45px 0 55px}}
@media(max-width:767px){.so-contact-grid,.so-contact-two{grid-template-columns:1fr}.so-contact-grid{gap:25px}.so-contact-card{padding:21px}.so-contact-section{padding:35px 0 50px}.so-contact-submit{width:100%}}

/* v1.1: small visual refinements only; contact functionality unchanged. */
@media (min-width: 992px) {
  .so-contact-section { padding-top: 52px; padding-bottom: 64px; }
}
.so-contact-intro h2 {
  font-size: clamp(29px, 2.6vw, 34px);
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 16px;
}
.so-contact-intro > p { margin-bottom: 24px; }
.so-contact-form input,
.so-contact-form select { min-height: 52px; }
.so-contact-submit { min-height: 48px; padding: 14px 27px; }
.so-contact-book { text-decoration: underline; text-underline-offset: 3px; }
.so-contact-book:hover { text-decoration-thickness: 2px; }
@media (max-width: 767px) {
  .so-contact-intro h2 { font-size: 29px; }
  .so-contact-section { padding-top: 32px; padding-bottom: 46px; }
}
