body .ef-contact {
  --ef-blue: #0875f5;
  --ef-navy: #10223f;
  --ef-muted: #61718a;
  --ef-border: #d8e1ec;
  --ef-orange: #ff6a13;
  background: linear-gradient(180deg, #f7faff 0%, #fff 58%);
  color: var(--ef-navy);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 31px 24px 38px !important;
}

.ef-contact *, .ef-contact *::before, .ef-contact *::after { box-sizing: border-box; }
.ef-contact h1, .ef-contact h2, .ef-contact p, .ef-contact ul { text-transform: none !important; }
.ef-contact svg { display: block !important; max-width: none !important; }
.ef-contact button, .ef-contact input, .ef-contact select, .ef-contact textarea { font-family: inherit !important; }
.ef-contact a { box-shadow: none; }

/* Remove HivePress/theme page constraints only on the page containing this shortcode. */
body:has(.ef-contact) .hp-page__title,
body:has(.ef-contact) .page__title { display: none !important; }
body:has(.ef-contact) .hp-page__content,
body:has(.ef-contact) .site-content,
body:has(.ef-contact) .content-area { width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
.ef-contact__shell { width: min(1168px, 100%); margin: 0 auto; }
.ef-breadcrumb { display: flex; align-items: center; gap: 8px; min-height: 24px; color: #6a7890; font-size: 13px; }
.ef-breadcrumb a { display: inline-flex; align-items: center; gap: 6px; color: inherit; text-decoration: none; }
.ef-breadcrumb svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ef-contact__intro { margin: 12px 0 24px; }
.ef-contact__intro h1 { margin: 0 0 4px; color: #0e1d35; font-size: clamp(30px, 3vw, 38px); line-height: 1.15; letter-spacing: -.5px; }
.ef-contact__intro p { margin: 0; color: var(--ef-muted); font-size: 17px; line-height: 1.55; }
.ef-contact__layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr); gap: 20px; align-items: start; }
.ef-card { background: rgba(255,255,255,.96); border: 1px solid #e7edf4; border-radius: 8px; box-shadow: 0 7px 22px rgba(27, 55, 90, .07); }
.ef-card h2 { margin: 0; font-size: 20px; line-height: 1.3; letter-spacing: -.25px; }
.ef-form-card { min-height: 705px; padding: 21px 23px 28px; }
.ef-form-card > h2 { margin-bottom: 22px; }
.ef-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ef-field { display: grid; gap: 7px; min-width: 0; color: var(--ef-navy); font-size: 13px; font-weight: 650; }
.ef-field b, .ef-check b { color: #ff4b45; }
.ef-field input, .ef-field select, .ef-field textarea { width: 100%; border: 1px solid #ced9e6; border-radius: 7px; outline: 0; background: #fff; color: #23344e; font-family: inherit; font-size: 14px; font-weight: 400; line-height: 1.4; transition: border-color .18s, box-shadow .18s; }
.ef-field input, .ef-field select { height: 40px; padding: 0 13px; }
.ef-field select { appearance: auto; }
.ef-field textarea { min-height: 132px; resize: vertical; padding: 13px; }
.ef-field input::placeholder, .ef-field textarea::placeholder { color: #94a1b4; }
.ef-field input:focus, .ef-field select:focus, .ef-field textarea:focus { border-color: var(--ef-blue); box-shadow: 0 0 0 3px rgba(8,117,245,.1); }
.ef-field [aria-invalid="true"] { border-color: #e33c36; box-shadow: 0 0 0 3px rgba(227,60,54,.08); }
.ef-field--wide { margin-top: 20px; }
.ef-upload { margin-top: 23px; }
.ef-upload__label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 650; }
.ef-upload__box { display: flex; align-items: center; min-height: 70px; padding: 13px 18px; border: 1px dashed #ccd7e5; border-radius: 7px; color: #64748c; cursor: pointer; transition: border-color .18s, background .18s; }
.ef-upload__box:hover, .ef-upload__box.is-dragging { border-color: var(--ef-blue); background: #f6faff; }
.ef-upload__box svg { flex: 0 0 auto; width: 25px; height: 25px; margin-right: 17px; fill: none; stroke: #395170; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ef-upload__box strong { color: var(--ef-blue); font-weight: 650; }
.ef-upload__box small { display: block; margin-top: 3px; font-size: 11px; color: #8390a4; }
.ef-upload__box input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ef-upload__file { margin-top: 7px; color: #52637b; font-size: 12px; }
.ef-turnstile { width: 100%; min-height: 65px; margin-top: 18px; overflow: hidden; }
.ef-turnstile .cf-turnstile { max-width: 100%; }
.ef-contact .ef-check { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: flex-start !important; gap: 4px !important; width: 100% !important; margin: 22px 0 0 !important; color: #6c7a90 !important; font-size: 13px !important; line-height: 1.45 !important; cursor: pointer; }
.ef-contact .ef-check > input[type="checkbox"] { display: block !important; flex: 0 0 20px !important; width: 20px !important; min-width: 20px !important; max-width: 20px !important; height: 20px !important; min-height: 20px !important; max-height: 20px !important; margin: 0 !important; padding: 0 !important; border-radius: 3px !important; box-shadow: none !important; transform: none !important; accent-color: var(--ef-blue); }
.ef-contact .ef-check > span { display: inline !important; flex: 1 1 auto !important; width: auto !important; margin: 0 !important; padding: 0 !important; color: #6c7a90 !important; line-height: 1.45 !important; white-space: nowrap !important; }
.ef-contact .ef-check > .ef-check__required,
.ef-contact .ef-check > span > b { display: none !important; }
.ef-contact .ef-check > span::before { content: "*" !important; display: inline-block !important; width: auto !important; margin: 0 9px 0 0 !important; padding: 0 !important; color: #ff4b45 !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1 !important; vertical-align: -1px !important; }
.ef-contact .ef-check a { display: inline !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
.ef-contact .ef-check a { color: var(--ef-blue) !important; text-decoration: underline !important; text-underline-offset: 2px; }
.ef-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.ef-form__validation[hidden] { display: none !important; }
.ef-form__validation { margin-top: 12px; padding: 9px 12px; border-radius: 6px; background: #fff1f0; color: #b42318; font-size: 13px; line-height: 1.45; }
.ef-form__status { min-height: 0; margin-top: 10px; border-radius: 6px; font-size: 13px; }
.ef-form__status:not(:empty) { padding: 9px 12px; background: #edf9f3; color: #137549; }
.ef-form__status.is-error:not(:empty) { background: #fff1f0; color: #b42318; }
.ef-form__actions { display: flex; gap: 16px; margin-top: 20px; }
.ef-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 47px; padding: 0 28px; border: 1px solid transparent; border-radius: 8px; font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1; cursor: pointer; transition: transform .15s, box-shadow .15s, opacity .15s; }
.ef-button:hover { transform: translateY(-1px); }
.ef-button:disabled { opacity: .65; cursor: wait; transform: none; }
.ef-button--primary { background: linear-gradient(135deg, #ff851c, #ff5b0a); color: #fff; box-shadow: 0 5px 14px rgba(255,106,19,.22); }
.ef-button--primary svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ef-button--secondary { min-width: 105px; background: #fff; border-color: #ced8e5; color: #33445e; }
.ef-contact__aside { display: grid; gap: 14px; }
.ef-details, .ef-help { padding: 21px 22px; }
.ef-details h2, .ef-help h2 { margin-bottom: 16px; }
.ef-details ul, .ef-help ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.ef-details li { display: flex; align-items: flex-start; gap: 17px; color: #34455e; font-size: 13px; line-height: 1.45; }
.ef-details li > svg { flex: 0 0 auto; width: 25px; height: 25px; margin-top: 2px; fill: none; stroke: var(--ef-blue); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ef-details li span, .ef-help li span { display: block; }
.ef-details b, .ef-help b { display: block; color: #192b45; font-weight: 700; }
.ef-details a { display: block; color: #006ff2; font-weight: 650; text-decoration: none; }
.ef-help ul { gap: 11px; }
.ef-help li { display: flex; align-items: center; gap: 13px; }
.ef-help__icon { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; }
.ef-help__icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ef-help__icon--blue { background: #d9edff; color: #0878ee; }
.ef-help__icon--orange { background: #fff0e5; color: #ff6c22; }
.ef-help__icon--green { background: #dff7ec; color: #0aa66a; }
.ef-help__icon--purple { background: #eee3ff; color: #7c35ed; }
.ef-help b { font-size: 12px; }
.ef-help small { color: #6d7d93; font-size: 11px; line-height: 1.4; }
.ef-support { position: relative; min-height: 134px; overflow: hidden; padding: 18px 20px; background: linear-gradient(120deg, #fff 15%, #eef8ff 100%); }
.ef-support > div:first-child { position: relative; z-index: 2; width: 58%; }
.ef-support h2 { color: #0674ed; font-size: 18px; }
.ef-support p { margin: 4px 0 11px; color: #68768b; font-size: 11px; line-height: 1.45; }
.ef-support a { display: inline-flex; align-items: center; gap: 11px; padding: 8px 12px; border: 1px solid var(--ef-blue); border-radius: 6px; background: #fff; color: var(--ef-blue); box-shadow: 0 2px 6px rgba(8,117,245,.15); font-size: 11px; font-weight: 700; text-decoration: none; }
.ef-support a span { font-size: 17px; line-height: .7; }
.ef-support__art { position: absolute; right: 0; bottom: 0; width: 47%; max-width: 174px !important; height: auto; object-fit: contain; object-position: right bottom; }

@media (max-width: 900px) {
  .ef-contact__layout { grid-template-columns: 1fr; }
  .ef-form-card { min-height: 0; }
  .ef-contact__aside { grid-template-columns: 1fr 1fr; }
  .ef-support { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  body .ef-contact { padding: 20px 15px 30px !important; }
  .ef-contact__intro { margin-bottom: 18px; }
  .ef-contact__intro h1 { font-size: 29px; }
  .ef-contact__intro p { font-size: 15px; }
  .ef-form-card, .ef-details, .ef-help { padding: 19px 16px; }
  .ef-form__grid { grid-template-columns: 1fr; gap: 15px; }
  .ef-field--wide { margin-top: 15px; }
  .ef-upload__box { padding: 13px; }
  .ef-form__actions { flex-direction: column; }
  .ef-button { width: 100%; }
  .ef-contact__aside { grid-template-columns: 1fr; }
  .ef-support { grid-column: auto; }
  .ef-contact .ef-check > span { white-space: normal !important; }
}

@media (prefers-reduced-motion: reduce) {
  .ef-contact * { scroll-behavior: auto !important; transition: none !important; }
}

