/* Keep form content, submission settings and validation in Contact Form 7. */
body.home #contactform { scroll-margin-top: 140px; }
/* Unify only the sections that originally had solid backgrounds. */
body.home .elementor-element-c9cd2ff { background-color: #f4f7fb !important; }
body.home .serices_sec { background-color: #f4f7fb !important; }
.pec-heading-words { display: inline-grid; color: #086fa7; }
.pec-heading-words > span { grid-area: 1 / 1; opacity: 0; transition: opacity .45s ease; }
.pec-heading-words > span.is-current { opacity: 1; }
.elementor-element-75109db > .elementor-widget-wrap { align-content: flex-start; padding-top: 16px !important; }
.elementor-element-75109db .round-box { display: none; }
.elementor-element-75109db .sec-title { margin: 0 0 14px !important; padding: 0 !important; text-align: left !important; }
.elementor-element-75109db .sub-title { display: flex; align-items: center; gap: 10px; margin: 0 0 10px !important; }
.elementor-element-75109db .sub-title .border-left { position: static; margin: 0; width: 28px; }
.elementor-element-75109db .sub-title h5 { margin: 0; font-size: 12px; letter-spacing: 1.5px; }
.elementor-element-75109db .sec-title h2 { margin: 0 !important; text-align: left !important; font-size: clamp(26px, 2.5vw, 34px); line-height: 1.2; max-width: 470px; }
.elementor-element-75109db .contact-style1__content-box--inner { margin: 0 !important; padding: 0 !important; }
.elementor-element-75109db .contact-style1__content-box--inner > p { margin: 0 0 18px !important; max-width: 490px; font-size: 16px; line-height: 1.65; }
.elementor-element-75109db .phone-number { margin: 0 !important; padding: 0 0 0 14px !important; border-left: 3px solid #e48a37; }
.elementor-element-75109db .phone-number .text { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.elementor-element-75109db .phone-number h4 { margin: 0 0 4px !important; font-size: 12px; line-height: 1.4; }
.elementor-element-75109db .phone-number h3 { margin: 0 !important; font-size: 25px; line-height: 1.2; }
.elementor-element-75109db .phone-number h3 a { font-size: 25px !important; line-height: 1.2 !important; }
.wpcf7 { container-type: inline-size; }
.wpcf7 .wpcf7-form { color: #172f42; text-align: left; }
.wpcf7 .pec-field-label { display: block; width: 100%; font-size: 14px; font-weight: 600; line-height: 1.5; color: #233f52; }
.wpcf7 .pec-field-label > br { display: none; }
.wpcf7 .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.wpcf7 .input_field, .wpcf7 .input_field p { margin: 0; }
.wpcf7 .wpcf7-form input:not([type=hidden]):not([type=submit]):not([type=checkbox]):not([type=radio]),
.wpcf7 .wpcf7-form textarea, .wpcf7 .wpcf7-form select {
  box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0;
  border: 1px solid #c6d4df; border-radius: 10px; background: #f8fafc;
  color: #172f42; font: inherit; font-size: 16px; line-height: 1.5;
  padding: 13px 15px; height: auto; min-height: 52px; box-shadow: none;
  transition: border-color .15s, box-shadow .15s;
}
.wpcf7 .wpcf7-form textarea { min-height: 132px; height: 132px; resize: vertical; }
.wpcf7 .wpcf7-form input::placeholder, .wpcf7 .wpcf7-form textarea::placeholder { color: #657b8b; opacity: 1; }
.wpcf7 .wpcf7-form input:focus-visible, .wpcf7 .wpcf7-form textarea:focus-visible, .wpcf7 .wpcf7-form select:focus-visible {
  outline: 2px solid #086fa7; outline-offset: 3px; border-color: #086fa7; background: #fff;
}
.wpcf7 #contactform > .row { display: grid; grid-template-columns: 1fr; gap: 20px; margin: 0; }
.wpcf7 #contactform > .row::before, .wpcf7 #contactform > .row::after { display: none; }
.wpcf7 #contactform > .row > div { width: auto; max-width: none; padding: 0; min-width: 0; }
.wpcf7 .rqs_form > .input_field, .wpcf7 .rqs_form > p { margin-bottom: 20px; }
.wpcf7 .submit_btn { margin: 8px 0 0; }
.wpcf7 .submit_btn p { margin: 0; }
.wpcf7 .wpcf7-form input[type=submit] {
  width: 100%; min-height: 54px; height: auto; padding: 14px 24px;
  border: 1px solid #08669a; border-radius: 10px; background: #086fa7;
  color: #fff; font-size: 16px; font-weight: 700; line-height: 1.5;
  cursor: pointer; box-shadow: 0 5px 14px #086fa71a;
}
.wpcf7 .wpcf7-form input[type=submit]:hover { background: #07567f; }
.wpcf7 .wpcf7-form input[aria-invalid=true], .wpcf7 .wpcf7-form textarea[aria-invalid=true] { border-color: #b42318; }
.wpcf7 .wpcf7-not-valid-tip { color: #b42318; margin-top: 7px; font-size: 13px; line-height: 1.5; }
.wpcf7 form .wpcf7-response-output { margin: 20px 0 0; padding: 14px; border-radius: 8px; font-size: 14px; }
.wpcf7 .wpcf7-spinner { display: none; }
.wpcf7 form.submitting .wpcf7-spinner { display: inline-block; }
@container (min-width: 500px) {
  .wpcf7 #contactform > .row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wpcf7 #contactform > .row > .col-lg-12 { grid-column: 1 / -1; }
}
@media (max-width: 1024px) {
  .elementor-container:has(> .elementor-element-19c2acc) { flex-wrap: wrap; }
  .elementor-container:has(> .elementor-element-19c2acc) > .elementor-column { width: 100%; }
  .elementor-element-19c2acc > .elementor-widget-wrap { padding: 28px !important; margin: 20px 0 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .wpcf7 input, .wpcf7 textarea, .wpcf7 select { transition: none !important; }
}
