/* Contact page: clear hierarchy, comfortable spacing, and familiar line icons. */
.contact-page{background:#f7fafb}.contact-form-section{padding:64px 0 94px}.contact-form-wrap{gap:64px;align-items:center}.contact-intro{padding:0}.contact-intro h2{max-width:430px;margin:0 0 19px;font-size:clamp(2.3rem,3.5vw,3.45rem);font-weight:800;letter-spacing:-.055em;line-height:1.08}.contact-intro>p:not(.eyebrow){max-width:430px;font-size:1rem;line-height:1.75}.contact-details{gap:17px;margin-top:34px}.contact-details a,.contact-details address{display:flex;gap:13px;align-items:flex-start;color:#355069;font-style:normal;font-weight:700;line-height:1.55;text-decoration:none}.contact-details a{transition:color .2s ease,transform .2s ease}.contact-details a:hover{color:#c1376f;transform:translateX(3px)}.contact-detail-icon{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;margin-top:-1px;border-radius:50%;background:#fff0f5;color:#c1376f}.contact-detail-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.contact-form{padding:31px 34px 28px;border:1px solid #e8edf0;border-radius:18px;background:#fff;box-shadow:0 18px 44px rgba(35,60,84,.08);animation:contact-rise .55s .08s ease both}.contact-form-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #edf0f2}.contact-form-heading p{margin:0;color:#233c54;font-size:1.1rem;font-weight:800}.contact-form-heading span{color:#728398;font-size:.76rem}.contact-form-heading b,.contact-form label>span b{color:#c1376f}.contact-fields{gap:17px 16px}.contact-form label>span{margin-bottom:8px;color:#526a7c;font-size:.67rem;letter-spacing:.12em}.contact-form input:not([type=hidden]),.contact-form textarea{border:1px solid #dce6eb;border-radius:9px;background:#fbfcfd;color:#233c54;padding:13px 14px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.contact-form input:not([type=hidden]){height:49px}.contact-form textarea{min-height:145px;line-height:1.55}.contact-form input:hover,.contact-form textarea:hover{border-color:#b9cbd5}.contact-form input:focus,.contact-form textarea:focus{border-color:#c1376f;background:#fff;box-shadow:0 0 0 4px rgba(193,55,111,.11)}.contact-form-footer{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:23px}.contact-form-footer p{max-width:285px;margin:0;color:#708195;font-size:.76rem;line-height:1.5}.contact-submit{margin:0;padding:13px 22px;border-radius:999px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.contact-notice{border-radius:9px}.contact-notice--error{border:1px solid #efc7ce;background:#fff7f8;color:#8c3141}@media(max-width:760px){.contact-form-section{padding:48px 0 72px}.contact-form-wrap{gap:39px}.contact-form{padding:24px 19px;border-radius:14px}.contact-form-heading{align-items:flex-start;flex-direction:column;gap:5px;margin-bottom:20px}.contact-form-footer{align-items:flex-start;flex-direction:column;gap:16px}.contact-form-footer p{max-width:none}.contact-submit{width:100%;justify-content:center}}

/* Forminator integration: match the contact-card design without retaining the legacy endpoint. */
.contact-page .contact-form--forminator .forminator-ui{margin:0!important}.contact-page .contact-form--forminator .forminator-ui .forminator-row{margin:0 0 17px!important}.contact-page .contact-form--forminator .forminator-ui .forminator-field{margin:0!important}.contact-page .contact-form--forminator .forminator-ui .forminator-label{margin:0 0 8px!important;color:#526a7c!important;font-size:.67rem!important;font-weight:700!important;letter-spacing:.12em!important;line-height:1.25!important;text-transform:uppercase!important}.contact-page .contact-form--forminator .forminator-ui .forminator-label .forminator-required{color:#c1376f!important}.contact-page .contact-form--forminator .forminator-ui input.forminator-input,.contact-page .contact-form--forminator .forminator-ui textarea.forminator-textarea{border:1px solid #dce6eb!important;border-radius:9px!important;background:#fbfcfd!important;color:#233c54!important;font-family:inherit!important;font-size:.95rem!important;line-height:1.45!important;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease!important}.contact-page .contact-form--forminator .forminator-ui input.forminator-input{height:49px!important;padding:13px 14px!important}.contact-page .contact-form--forminator .forminator-ui textarea.forminator-textarea{min-height:145px!important;padding:13px 14px!important}.contact-page .contact-form--forminator .forminator-ui input.forminator-input:hover,.contact-page .contact-form--forminator .forminator-ui textarea.forminator-textarea:hover{border-color:#b9cbd5!important}.contact-page .contact-form--forminator .forminator-ui input.forminator-input:focus,.contact-page .contact-form--forminator .forminator-ui textarea.forminator-textarea:focus{border-color:#c1376f!important;background:#fff!important;box-shadow:0 0 0 4px rgba(193,55,111,.11)!important}.contact-page .contact-form--forminator .forminator-ui .forminator-button-submit{float:right!important;margin:6px 0 0!important;border:0!important;border-radius:999px!important;background:#c1376f!important;box-shadow:0 12px 22px rgba(193,55,111,.2)!important;color:#fff!important;font-family:inherit!important;font-size:.75rem!important;font-weight:800!important;letter-spacing:.08em!important;line-height:1!important;padding:15px 22px!important;text-transform:uppercase!important;transition:background-color .2s ease,transform .2s ease!important}.contact-page .contact-form--forminator .forminator-ui .forminator-button-submit:hover,.contact-page .contact-form--forminator .forminator-ui .forminator-button-submit:focus{background:#a92d60!important;transform:translateY(-2px)!important}.contact-page .contact-form--forminator .forminator-ui .forminator-response-message{margin:0!important;border-radius:9px!important}.contact-page .contact-form-privacy{clear:both;max-width:285px;margin:8px 0 0;color:#708195;font-size:.76rem;line-height:1.5}.contact-page .contact-form--forminator .forminator-ui .forminator-row-last{margin-bottom:0!important}@media(min-width:761px){.contact-page .contact-form--forminator .forminator-ui .forminator-row:not(.forminator-row-last){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.contact-page .contact-form--forminator .forminator-ui .forminator-row:has(textarea){display:block!important}}@media(max-width:760px){.contact-page .contact-form--forminator .forminator-ui .forminator-button-submit{float:none!important;width:100%!important;margin-top:0!important}.contact-page .contact-form-privacy{max-width:none;margin:0 0 16px}.contact-page .contact-form--forminator .forminator-ui .forminator-row{margin-bottom:16px!important}}

/* Forminator outputs one row per field. Pair the related fields on desktop while
   keeping the semantic mobile order intact. */
@media (min-width: 761px) {
  .contact-page .contact-form--forminator .forminator-ui {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 17px;
  }
  .contact-page .contact-form--forminator .forminator-ui > .forminator-response-message,
  .contact-page .contact-form--forminator .forminator-ui > .forminator-row:has(#textarea-1),
  .contact-page .contact-form--forminator .forminator-ui > .forminator-row-last {
    grid-column: 1 / -1;
  }
  .contact-page .contact-form--forminator .forminator-ui > .forminator-row {
    display: block !important;
    margin: 0 !important;
  }
  .contact-page .contact-form--forminator .forminator-ui > .forminator-row:has(#name-1) { order: 1; }
  .contact-page .contact-form--forminator .forminator-ui > .forminator-row:has(#email-1) { order: 2; }
  .contact-page .contact-form--forminator .forminator-ui > .forminator-row:has(#phone-1) { order: 3; }
  .contact-page .contact-form--forminator .forminator-ui > .forminator-row:has(#text-1) { order: 4; }
  .contact-page .contact-form--forminator .forminator-ui > .forminator-row:has(#textarea-1) { order: 5; }
  .contact-page .contact-form--forminator .forminator-ui > .forminator-row-last { order: 6; }
}
.contact-page .contact-form--forminator .forminator-ui .forminator-description { display: none !important; }

/* Override Forminator's fixed field measurements inside the site card. */
.contact-page .contact-form--forminator .forminator-ui,
.contact-page .contact-form--forminator .forminator-ui > .forminator-row,
.contact-page .contact-form--forminator .forminator-ui .forminator-col,
.contact-page .contact-form--forminator .forminator-ui .forminator-field { min-width: 0 !important; }
.contact-page .contact-form--forminator .forminator-ui { width: 100% !important; }
.contact-page .contact-form--forminator .forminator-ui .forminator-col,
.contact-page .contact-form--forminator .forminator-ui .forminator-field,
.contact-page .contact-form--forminator .forminator-ui input.forminator-input,
.contact-page .contact-form--forminator .forminator-ui textarea.forminator-textarea { width: 100% !important; max-width: none !important; box-sizing: border-box !important; }

/* Forminator's generated default-theme CSS loads after the page stylesheet.
   The form ID makes these sizing rules unambiguous without affecting other forms. */
#forminator-module-124.forminator-ui > .forminator-row,
#forminator-module-124.forminator-ui > .forminator-row > .forminator-col,
#forminator-module-124.forminator-ui > .forminator-row > .forminator-col > .forminator-field {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 1 1 100% !important;
  box-sizing: border-box !important;
}
#forminator-module-124.forminator-ui input.forminator-input,
#forminator-module-124.forminator-ui textarea.forminator-textarea {
  display: block !important;
  width: 100% !important;
  inline-size: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
#forminator-module-124.forminator-ui > .forminator-row { justify-self: stretch !important; align-self: start !important; }
#forminator-module-124.forminator-ui .forminator-col,
#forminator-module-124.forminator-ui .forminator-field { display: block !important; inline-size: 100% !important; }

/* Keep required marks in the label line so paired fields share one baseline. */
#forminator-module-124.forminator-ui .forminator-label {
  display: flex !important;
  align-items: baseline !important;
  gap: 4px !important;
}
#forminator-module-124.forminator-ui .forminator-label .forminator-required {
  display: inline !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* Make Forminator's one-field rows a real two-column contact grid. */
@media (min-width: 761px) {
  #forminator-module-124.forminator-ui {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 17px 16px !important;
    align-items: start !important;
  }
  #forminator-module-124.forminator-ui > .forminator-row { display: contents !important; }
  #forminator-module-124.forminator-ui > .forminator-row > .forminator-col {
    display: block !important;
    grid-column: span 1 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  #forminator-module-124 .forminator-field-name { order: 1; }
  #forminator-module-124 .forminator-field-email { order: 2; }
  #forminator-module-124 .forminator-field-phone { order: 3; }
  #forminator-module-124 .forminator-field-text { order: 4; }
  #forminator-module-124.forminator-ui > .forminator-row > .forminator-col.forminator-field-textarea { grid-column: 1 / -1 !important; order: 5; }
  #forminator-module-124.forminator-ui > .forminator-row.forminator-row-last > .forminator-col { grid-column: 1 / -1 !important; order: 6; }
}

/* A deliberately single-column form on phones: keep every field within the card
   and preserve the natural Name, Email, Phone, Subject, Message sequence. */
@media (max-width: 760px) {
  .contact-page .wrap.contact-form-wrap {
    width: min(100% - 40px, 620px) !important;
    min-width: 0 !important;
  }
  .contact-page .contact-intro,
  .contact-page .contact-form {
    width: 100% !important;
    min-width: 0 !important;
  }
  .contact-page .contact-intro h2,
  .contact-page .contact-intro > p:not(.eyebrow) {
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }
  #forminator-module-124.forminator-ui {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  #forminator-module-124.forminator-ui > .forminator-row {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }
  #forminator-module-124.forminator-ui > .forminator-row:has(#name-1) { order: 1; }
  #forminator-module-124.forminator-ui > .forminator-row:has(#email-1) { order: 2; }
  #forminator-module-124.forminator-ui > .forminator-row:has(#phone-1) { order: 3; }
  #forminator-module-124.forminator-ui > .forminator-row:has(#text-1) { order: 4; }
  #forminator-module-124.forminator-ui > .forminator-row:has(#textarea-1) { order: 5; }
  #forminator-module-124.forminator-ui > .forminator-row-last { order: 6; }
  #forminator-module-124.forminator-ui > .forminator-row > .forminator-col {
    width: 100% !important;
    min-width: 0 !important;
  }
}
