.elementor-2739 .elementor-element.elementor-element-167d3c9{--display:flex;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-2739 .elementor-element.elementor-element-167d3c9:not(.elementor-motion-effects-element-type-background), .elementor-2739 .elementor-element.elementor-element-167d3c9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0F0F0F;}.elementor-widget-fluent-form-widget .fluentform-widget-description{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-fluent-form-widget .ff-el-progress-status{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-fluent-form-widget .ff-el-progress-bar span{color:var( --e-global-color-primary );}.elementor-widget-fluent-form-widget .step-nav button{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-2739 .elementor-element.elementor-element-50fe300 .fluentform-widget-wrapper .ff-el-group .ff-btn-submit{background-color:#1a7efb !important;color:#ffffff !important;}@media(min-width:768px){.elementor-2739 .elementor-element.elementor-element-167d3c9{--content-width:1112px;}}/* Start custom CSS for fluent-form-widget, class: .elementor-element-50fe300 *//* ==========================================================================
   MedEqHub Australia - Expression of Interest form
   DARK THEME v4  (side-by-side fields FIXED)

   PASTE INTO: Appearance > Customise > Additional CSS, then Publish.
   DELETE the previous version first - do not stack them.

   CHANGED IN v4: section 1 only. The .ff-text-left rule was forcing every
   field to full width (Fluent Forms adds that class to all field groups).
   Everything else is byte-for-byte the same as v3.
   ========================================================================== */

:root {
  --meq-accent:      #5BBABB;
  --meq-accent-hi:   #7FD3D4;
  --meq-accent-soft: rgba(91, 186, 187, .09);
  --meq-accent-line: rgba(91, 186, 187, .28);
  --meq-text:        #FFFFFF;
  --meq-muted:       #AFC0C1;
  --meq-faint:       #78898A;
  --meq-field:       rgba(255, 255, 255, .05);
  --meq-field-on:    rgba(255, 255, 255, .085);
  --meq-line:        rgba(255, 255, 255, .16);
  --meq-error:       #FF7A6B;
  --meq-ink:         #06191A;
  --meq-radius:      6px;
  --meq-display: "Syne", "Inter", system-ui, sans-serif;
  --meq-body:    "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* --------------------------------------------------------------------------
   1. Shell - transparent, two-column grid
   -------------------------------------------------------------------------- */

.fluentform .frm-fluent-form,
.fluentform form.frm-fluent-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 26px !important;
  row-gap: 20px !important;
  align-items: start;
  width: 100%;
  max-width: 1100px !important;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  font-family: var(--meq-body);
  font-size: 18px;
  line-height: 1.55;
  color: var(--meq-text);
}

/* Default is full width. Deliberately NO !important here - the pairing rules
   below have to be able to win. */
.fluentform .frm-fluent-form > * {
  grid-column: 1 / -1;
  min-width: 0;
  float: none !important;
  width: auto !important;
}

.fluentform .frm-fluent-form .ff-el-group {
  margin-bottom: 0 !important;
  float: none !important;
}

/* PAIRING - each .elementor-2739 .elementor-element.elementor-element-50fe300 gets its own rule so that if a minifier or an older
   browser chokes on one :has() it does not take the whole list down with it. */

.fluentform .frm-fluent-form > .ff-el-group.meq-half                  { grid-column: span 1 !important; }
.fluentform .frm-fluent-form > .ff-el-group:has(input[type="text"])   { grid-column: span 1 !important; }
.fluentform .frm-fluent-form > .ff-el-group:has(input[type="email"])  { grid-column: span 1 !important; }
.fluentform .frm-fluent-form > .ff-el-group:has(input[type="tel"])    { grid-column: span 1 !important; }
.fluentform .frm-fluent-form > .ff-el-group:has(input[type="number"]) { grid-column: span 1 !important; }
.fluentform .frm-fluent-form > .ff-el-group:has(input[type="url"])    { grid-column: span 1 !important; }
.fluentform .frm-fluent-form > .ff-el-group:has(input[type="date"])   { grid-column: span 1 !important; }
.fluentform .frm-fluent-form > .ff-el-group:has(select)               { grid-column: span 1 !important; }

/* NEVER PAIR - the [class] bump raises specificity so these beat the pairing
   rules above regardless of source order. */

.fluentform .frm-fluent-form > .ff-el-group[class]:has(textarea)               { grid-column: 1 / -1 !important; }
.fluentform .frm-fluent-form > .ff-el-group[class]:has(input[type="checkbox"]) { grid-column: 1 / -1 !important; }
.fluentform .frm-fluent-form > .ff-el-group[class]:has(input[type="radio"])    { grid-column: 1 / -1 !important; }
.fluentform .frm-fluent-form > .ff-el-group[class]:has(.ff_list_2col)          { grid-column: 1 / -1 !important; }
.fluentform .frm-fluent-form > .ff-el-group[class]:has(.ff-t-container)        { grid-column: 1 / -1 !important; }
.fluentform .frm-fluent-form > .ff-el-group.meq-consent[class]                 { grid-column: 1 / -1 !important; }
.fluentform .frm-fluent-form > .ff-el-group.meq-doclink-wrap[class]            { grid-column: 1 / -1 !important; }
.fluentform .frm-fluent-form > .ff-el-group.meq-full[class]                    { grid-column: 1 / -1 !important; }
.fluentform .frm-fluent-form > .ff_submit_btn_wrapper                          { grid-column: 1 / -1 !important; }

/* --------------------------------------------------------------------------
   2. Section headers
   -------------------------------------------------------------------------- */

.meq-sec {
  position: relative;
  margin: 22px 0 0;
  padding-top: 32px;
  border-top: 1px solid var(--meq-line);
}

.meq-sec:before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 56px;
  height: 2px;
  background: var(--meq-accent);
  box-shadow: 0 0 14px rgba(91, 186, 187, .6);
}

.meq-sec__eyebrow {
  display: inline-block;
  font-family: var(--meq-display);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--meq-accent);
  margin-bottom: 10px;
}

.meq-sec__title {
  margin: 0;
  font-family: var(--meq-display);
  font-size: clamp(22px, 2.3vw, 27px);
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.2;
  color: var(--meq-accent);
}

.meq-sec__sub {
  margin: 8px 0 0;
  font-family: var(--meq-body);
  font-size: 15px;
  line-height: 1.55;
  color: var(--meq-muted);
}

/* --------------------------------------------------------------------------
   3. Top notice
   -------------------------------------------------------------------------- */

.meq-notice {
  background: var(--meq-accent-soft);
  border: 1px solid var(--meq-accent-line);
  border-left: 2px solid var(--meq-accent);
  border-radius: var(--meq-radius);
  padding: 20px 24px;
  font-family: var(--meq-body);
}

.meq-notice__tag {
  display: inline-block;
  font-family: var(--meq-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--meq-accent);
  margin-bottom: 10px;
}

.meq-notice p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--meq-muted);
}

.meq-notice strong { color: var(--meq-text); font-weight: 600; }

/* --------------------------------------------------------------------------
   4. Labels + help text
   -------------------------------------------------------------------------- */

.fluentform .frm-fluent-form .ff-el-input--label label,
.fluentform .frm-fluent-form .ff-el-input--label > label {
  display: block;
  font-family: var(--meq-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
  line-height: 1.4;
  color: var(--meq-text) !important;
  margin-bottom: 9px;
  opacity: 1 !important;
}

.fluentform .frm-fluent-form .ff-el-input--label.ff-el-is-required label:after {
  content: "*";
  color: var(--meq-accent) !important;
  margin-left: 5px;
  font-weight: 700;
}

.fluentform .frm-fluent-form .ff-el-help-message {
  font-family: var(--meq-body);
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.55;
  color: var(--meq-muted) !important;
  margin: 0 0 9px;
}

/* the little tooltip icon Fluent Forms renders next to labels */
.fluentform .frm-fluent-form .ff-el-tooltip,
.fluentform .frm-fluent-form .ff-el-tooltip svg {
  color: var(--meq-accent) !important;
  fill: var(--meq-accent) !important;
  opacity: .85;
}

/* --------------------------------------------------------------------------
   5. Inputs
   The !important flags are deliberate: the theme and the plugin both ship
   a white input style that otherwise wins on specificity.
   -------------------------------------------------------------------------- */

.fluentform .frm-fluent-form input[type="text"],
.fluentform .frm-fluent-form input[type="email"],
.fluentform .frm-fluent-form input[type="tel"],
.fluentform .frm-fluent-form input[type="number"],
.fluentform .frm-fluent-form input[type="url"],
.fluentform .frm-fluent-form input[type="password"],
.fluentform .frm-fluent-form input[type="date"],
.fluentform .frm-fluent-form select,
.fluentform .frm-fluent-form textarea,
.fluentform .frm-fluent-form .ff-el-form-control {
  width: 100%;
  box-sizing: border-box;
  font-family: var(--meq-body) !important;
  font-size: 15.5px !important;
  font-weight: 400;
  line-height: 1.45;
  color: var(--meq-text) !important;
  background: var(--meq-field) !important;
  background-color: var(--meq-field) !important;
  border: 1px solid var(--meq-line) !important;
  border-radius: var(--meq-radius) !important;
  padding: 14px 16px !important;
  min-height: 52px;
  height: auto;
  box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
  -webkit-appearance: none;
  appearance: none;
}

.fluentform .frm-fluent-form textarea,
.fluentform .frm-fluent-form textarea.ff-el-form-control {
  min-height: 124px !important;
  resize: vertical;
  padding-top: 15px !important;
}

.fluentform .frm-fluent-form ::placeholder {
  color: var(--meq-faint) !important;
  opacity: 1 !important;
}

.fluentform .frm-fluent-form input:hover,
.fluentform .frm-fluent-form select:hover,
.fluentform .frm-fluent-form textarea:hover {
  border-color: var(--meq-accent-line) !important;
  background-color: var(--meq-field-on) !important;
}

.fluentform .frm-fluent-form input:focus,
.fluentform .frm-fluent-form select:focus,
.fluentform .frm-fluent-form textarea:focus,
.fluentform .frm-fluent-form .ff-el-form-control:focus {
  outline: none;
  background-color: var(--meq-field-on) !important;
  border-color: var(--meq-accent) !important;
  box-shadow: 0 0 0 3px rgba(91, 186, 187, .2) !important;
}

.fluentform .frm-fluent-form input:focus-visible,
.fluentform .frm-fluent-form select:focus-visible,
.fluentform .frm-fluent-form textarea:focus-visible,
.fluentform .frm-fluent-form button:focus-visible,
.fluentform .frm-fluent-form a:focus-visible {
  outline: 2px solid var(--meq-accent);
  outline-offset: 2px;
}

/* Chrome autofill repaints the field solid white - block it */
.fluentform .frm-fluent-form input:-webkit-autofill,
.fluentform .frm-fluent-form input:-webkit-autofill:hover,
.fluentform .frm-fluent-form input:-webkit-autofill:focus,
.fluentform .frm-fluent-form textarea:-webkit-autofill,
.fluentform .frm-fluent-form select:-webkit-autofill {
  -webkit-text-fill-color: var(--meq-text) !important;
  -webkit-box-shadow: 0 0 0 1000px #101617 inset !important;
  caret-color: var(--meq-text);
  transition: background-color 9999s ease-in-out 0s;
}

/* select: aqua chevron, dark native dropdown */
.fluentform .frm-fluent-form select {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%235BBABB' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  padding-right: 42px !important;
  cursor: pointer;
  color-scheme: dark;
}

.fluentform .frm-fluent-form select option {
  background: #101617;
  color: #FFFFFF;
}

.fluentform .frm-fluent-form input[type="number"] { -moz-appearance: textfield; }
.fluentform .frm-fluent-form input[type="number"]::-webkit-outer-spin-button,
.fluentform .frm-fluent-form input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* --------------------------------------------------------------------------
   6. Checkboxes + radios - fully custom, browser defaults are unstyleable
   -------------------------------------------------------------------------- */

.fluentform .frm-fluent-form .ff-el-form-check {
  margin-bottom: 12px;
  padding: 0;
}

.fluentform .frm-fluent-form .ff-el-form-check-label {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  font-family: var(--meq-body) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.5;
  color: var(--meq-text) !important;
  cursor: pointer;
  margin-bottom: 0 !important;
}

.fluentform .frm-fluent-form .ff-el-form-check input[type="checkbox"],
.fluentform .frm-fluent-form .ff-el-form-check input[type="radio"],
.fluentform .frm-fluent-form input[type="checkbox"],
.fluentform .frm-fluent-form input[type="radio"] {
  flex: 0 0 auto;
  width: 20px !important;
  height: 20px !important;
  min-height: 0 !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  background: var(--meq-field) !important;
  background-color: var(--meq-field) !important;
  border: 1.5px solid var(--meq-line) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  cursor: pointer;
  position: relative;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: background-color .13s ease, border-color .13s ease;
}

.fluentform .frm-fluent-form input[type="radio"] {
  border-radius: 50% !important;
}

.fluentform .frm-fluent-form input[type="checkbox"]:hover,
.fluentform .frm-fluent-form input[type="radio"]:hover {
  border-color: var(--meq-accent) !important;
  background-color: var(--meq-field-on) !important;
}

.fluentform .frm-fluent-form input[type="checkbox"]:checked {
  background-color: var(--meq-accent) !important;
  border-color: var(--meq-accent) !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='10' viewBox='0 0 13 10'%3E%3Cpath fill='none' stroke='%2306191A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M1.5 5.2 4.7 8.4 11.5 1.6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

.fluentform .frm-fluent-form input[type="radio"]:checked {
  background-color: var(--meq-accent) !important;
  border-color: var(--meq-accent) !important;
  box-shadow: inset 0 0 0 4px var(--meq-ink) !important;
}

/* two-column tick list for the equipment field */
@media (min-width: 780px) {
  .fluentform .frm-fluent-form .ff-el-input--content.ff_list_2col {
    columns: 2;
    column-gap: 30px;
  }
  .fluentform .frm-fluent-form .ff-el-input--content.ff_list_2col .ff-el-form-check {
    break-inside: avoid;
  }
}

.fluentform .frm-fluent-form .ff-el-form-check-inline {
  display: inline-block;
  margin-right: 26px;
}

/* --------------------------------------------------------------------------
   7. Consent panels
   -------------------------------------------------------------------------- */

.fluentform .frm-fluent-form .meq-consent {
  background: var(--meq-accent-soft);
  border: 1px solid var(--meq-accent-line);
  border-left: 2px solid var(--meq-accent);
  border-radius: var(--meq-radius);
  padding: 20px 22px;
}

.fluentform .frm-fluent-form .meq-consent .ff-el-input--label { display: none; }
.fluentform .frm-fluent-form .meq-consent .ff-el-form-check { margin-bottom: 0; }

.fluentform .frm-fluent-form .meq-consent .ff-el-form-check-label {
  font-size: 14.5px !important;
  line-height: 1.65;
  color: var(--meq-text) !important;
}

.fluentform .frm-fluent-form .meq-consent.ff-el-is-error {
  border-color: var(--meq-error);
  border-left-color: var(--meq-error);
  background: rgba(255, 122, 107, .09);
}

/* --------------------------------------------------------------------------
   7b. "View document" link buttons under the consent checkboxes
   -------------------------------------------------------------------------- */

.fluentform .frm-fluent-form .meq-doclink-wrap {
  margin-top: -8px;
  padding-left: 22px;
}

.fluentform .frm-fluent-form a.meq-doclink {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  font-family: var(--meq-body);
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1;
  color: var(--meq-accent) !important;
  text-decoration: none !important;
  background: var(--meq-accent-soft);
  border: 1px solid var(--meq-accent-line);
  border-radius: var(--meq-radius);
  transition: background-color .18s ease, border-color .18s ease, transform .12s ease;
}

.fluentform .frm-fluent-form a.meq-doclink:hover {
  background: rgba(91, 186, 187, .16);
  border-color: var(--meq-accent);
  color: var(--meq-accent-hi) !important;
  transform: translateY(-1px);
}

.fluentform .frm-fluent-form a.meq-doclink svg {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
  opacity: .85;
}

.fluentform .frm-fluent-form a.meq-doclink:focus-visible {
  outline: 2px solid var(--meq-accent);
  outline-offset: 2px;
}

@media (max-width: 780px) {
  .fluentform .frm-fluent-form .meq-doclink-wrap { padding-left: 0; }
  .fluentform .frm-fluent-form a.meq-doclink { width: 100%; justify-content: center; }
}

/* --------------------------------------------------------------------------
   8. Withdrawal / opt-out block
   -------------------------------------------------------------------------- */

.meq-optout {
  border-top: 1px solid var(--meq-line);
  padding-top: 24px;
  font-family: var(--meq-body);
}

.meq-optout__label {
  display: block;
  font-family: var(--meq-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--meq-accent);
  margin-bottom: 10px;
}

.meq-optout p {
  margin: 0 0 12px;
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--meq-muted);
}

.meq-optout strong { color: var(--meq-text); font-weight: 600; }

.meq-optout__legal { font-size: 12.5px; color: var(--meq-faint); }

.meq-optout a,
.meq-notice a {
  color: var(--meq-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.meq-optout a:hover,
.meq-notice a:hover { color: var(--meq-accent-hi); }

/* --------------------------------------------------------------------------
   9. Errors
   -------------------------------------------------------------------------- */

.fluentform .frm-fluent-form .ff-el-is-error input,
.fluentform .frm-fluent-form .ff-el-is-error select,
.fluentform .frm-fluent-form .ff-el-is-error textarea {
  border-color: var(--meq-error) !important;
  background-color: rgba(255, 122, 107, .07) !important;
}

.fluentform .frm-fluent-form .error,
.fluentform .frm-fluent-form .text-danger,
.fluentform .frm-fluent-form .error.text-danger {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-family: var(--meq-body);
  font-size: 13px !important;
  font-weight: 500;
  line-height: 1.5;
  color: var(--meq-error) !important;
  margin-top: 9px;
}

.fluentform .frm-fluent-form .error.text-danger:before {
  content: "!";
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  border-radius: 50%;
  background: var(--meq-error);
  color: #180705;
  font-size: 10.5px;
  font-weight: 800;
  line-height: 16px;
  text-align: center;
}

.fluentform .ff-errors-in-stack {
  background: rgba(255, 122, 107, .09);
  border: 1px solid var(--meq-error);
  border-radius: var(--meq-radius);
  padding: 16px 20px;
  color: var(--meq-error);
  font-family: var(--meq-body);
  font-size: 14px;
}

/* --------------------------------------------------------------------------
   10. Submit button
   Fluent Forms writes inline styles on this button, so !important is required.
   -------------------------------------------------------------------------- */

.fluentform .frm-fluent-form .ff-btn-submit,
.fluentform .frm-fluent-form .ff_submit_btn_wrapper button,
.fluentform .frm-fluent-form button[type="submit"] {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 58px;
  font-family: var(--meq-display) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  text-transform: none;
  color: var(--meq-ink) !important;
  background: var(--meq-accent) !important;
  background-color: var(--meq-accent) !important;
  background-image: none !important;
  border: 1px solid var(--meq-accent) !important;
  border-radius: var(--meq-radius) !important;
  padding: 17px 32px !important;
  cursor: pointer;
  box-shadow: none;
  transition: background-color .18s ease, box-shadow .18s ease, transform .08s ease;
}

.fluentform .frm-fluent-form .ff-btn-submit:hover,
.fluentform .frm-fluent-form button[type="submit"]:hover {
  background-color: var(--meq-accent-hi) !important;
  border-color: var(--meq-accent-hi) !important;
  color: var(--meq-ink) !important;
  box-shadow: 0 0 30px -8px rgba(91, 186, 187, .7);
}

.fluentform .frm-fluent-form .ff-btn-submit:active { transform: translateY(1px); }

.fluentform .frm-fluent-form .ff-btn-submit:disabled,
.fluentform .frm-fluent-form .ff_btn_no_text {
  opacity: .5 !important;
  cursor: progress;
  pointer-events: none;
  box-shadow: none;
}

.fluentform .frm-fluent-form.ff_form_loading,
.fluentform .frm-fluent-form.ff-working {
  position: relative;
  pointer-events: none;
}

.fluentform .frm-fluent-form.ff_form_loading:after,
.fluentform .frm-fluent-form.ff-working:after {
  content: "";
  position: absolute;
  inset: -14px;
  background: rgba(0, 0, 0, .5);
  border-radius: var(--meq-radius);
  z-index: 5;
}

.ff_submitting_msg,
.fluentform .ff-el-progress-status {
  font-family: var(--meq-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--meq-accent);
}

/* --------------------------------------------------------------------------
   11. Inline success message (fallback if the thank-you page is not used)
   -------------------------------------------------------------------------- */

.fluentform .ff-message-success,
.meq-success {
  max-width: 900px;
  margin: 0 auto;
  padding: 36px 34px;
  background: var(--meq-accent-soft);
  border: 1px solid var(--meq-accent-line);
  border-left: 2px solid var(--meq-accent);
  border-radius: var(--meq-radius);
  font-family: var(--meq-body);
  color: var(--meq-text);
}

.fluentform .ff-message-success h3,
.meq-success h3 {
  margin: 0 0 14px;
  font-family: var(--meq-display);
  font-size: 25px;
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--meq-accent);
}

.fluentform .ff-message-success p,
.meq-success p {
  margin: 0 0 12px;
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--meq-muted);
}

/* --------------------------------------------------------------------------
   12. Mobile
   -------------------------------------------------------------------------- */

@media (max-width: 780px) {
  .fluentform .frm-fluent-form {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
  /* single column on mobile, overriding every pairing rule above */
  .fluentform .frm-fluent-form > .ff-el-group,
  .fluentform .frm-fluent-form > .ff-el-group.meq-half,
  .fluentform .frm-fluent-form > .ff-el-group:has(input),
  .fluentform .frm-fluent-form > .ff-el-group:has(select) { grid-column: 1 / -1 !important; }

  /* 16px minimum stops iOS Safari zooming in on focus */
  .fluentform .frm-fluent-form input,
  .fluentform .frm-fluent-form select,
  .fluentform .frm-fluent-form textarea { font-size: 16px !important; }

  .meq-sec { padding-top: 28px; margin-top: 16px; }
  .meq-notice { padding: 18px 20px; }
  .fluentform .frm-fluent-form .meq-consent { padding: 18px 18px; }
}

/* --------------------------------------------------------------------------
   13. Accessibility
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .fluentform .frm-fluent-form *,
  .fluentform .frm-fluent-form *:before,
  .fluentform .frm-fluent-form *:after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}/* End custom CSS */