/* Versioned consultation overrides. Loaded after the cached application stylesheet. */
.consult-form-hero {
  min-height: 250px !important;
  grid-template-columns: minmax(0, 1fr) 290px !important;
  align-items: center !important;
  gap: 32px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 14% 86%, rgba(116, 229, 191, 0.14), transparent 27rem),
    radial-gradient(circle at 94% 6%, rgba(255, 218, 146, 0.08), transparent 22rem),
    linear-gradient(118deg, #041713 0%, #07463c 61%, #087565 100%) !important;
}

.consult-form-hero::before { display: none !important; }
.consult-form-hero h1 { margin-block: 12px 8px !important; font-size: clamp(38px, 4.8vw, 66px) !important; line-height: 1.12 !important; }
.consult-form-hero p { max-width: 660px !important; margin: 0 !important; font-size: 15px !important; line-height: 1.9 !important; }
.consult-hero-steps { min-width: 0 !important; gap: 8px !important; }
.consult-hero-steps div { min-height: 48px; border-radius: 14px !important; background: rgba(1, 25, 21, 0.36) !important; box-shadow: none !important; color: #fff8e7 !important; font-size: 13px !important; }
.consult-hero-steps div:first-child { border-color: rgba(167, 243, 208, 0.38) !important; background: rgba(167, 243, 208, 0.12) !important; color: #b9ffe6 !important; }

.consult-page-layout { display: grid; grid-template-columns: minmax(280px, 0.45fr) minmax(0, 1fr); grid-template-areas: "aside form"; align-items: start; gap: 18px; }
.consult-page-layout > .consult-side-panel { grid-area: aside; }
.consult-page-layout > .consult-form-card { grid-area: form; }
.consult-form-card, .consult-side-panel { border-color: rgba(176, 244, 218, 0.16) !important; background: linear-gradient(155deg, rgba(20, 52, 45, 0.98), rgba(5, 26, 22, 0.99)) !important; box-shadow: 0 18px 50px rgba(0, 0, 0, 0.2) !important; backdrop-filter: none !important; }
.consult-form-card { border-radius: 22px !important; padding: clamp(18px, 2.5vw, 30px) !important; }
.consult-side-panel { top: 104px !important; border-radius: 22px !important; padding: 24px !important; }
.consult-side-icon { width: 52px !important; height: 52px !important; border-radius: 16px !important; background: linear-gradient(145deg, #d9fff0, #8edcc4) !important; color: #075e52 !important; }
.consult-side-panel h2 { margin-top: 16px !important; font-size: 23px !important; }
.consult-side-panel p { margin-top: 9px !important; color: rgba(255, 248, 231, 0.68) !important; font-size: 13px; line-height: 1.95 !important; }
.consult-note-list { gap: 8px !important; margin-top: 18px !important; }
.consult-note-list span { position: relative; border: 1px solid rgba(255, 255, 255, 0.1) !important; border-radius: 13px !important; background: rgba(255, 255, 255, 0.045) !important; box-shadow: none !important; padding-block: 11px !important; padding-inline: 34px 12px !important; color: rgba(255, 248, 231, 0.82) !important; font-size: 12px !important; line-height: 1.75 !important; }
.consult-note-list span::before { position: absolute; inset-inline-start: 13px; inset-block-start: 50%; width: 7px; height: 7px; border-radius: 999px; background: #8de7c6; content: ""; transform: translateY(-50%); }

.form-progress-rail { gap: 8px !important; margin-bottom: 24px !important; border-color: rgba(167, 243, 208, 0.14) !important; border-radius: 16px !important; background: rgba(1, 24, 20, 0.66) !important; box-shadow: none !important; padding: 7px !important; }
.form-progress-rail span { display: flex !important; min-height: 46px !important; align-items: center; justify-content: center; gap: 7px; border: 1px solid transparent !important; border-radius: 11px !important; background: rgba(255, 255, 255, 0.055) !important; color: rgba(255, 248, 231, 0.76) !important; box-shadow: none !important; font-size: 12px !important; }
.form-progress-rail span:first-child { border-color: rgba(167, 243, 208, 0.25) !important; background: rgba(13, 133, 113, 0.34) !important; color: #d5ffed !important; }
.form-progress-rail b { display: grid; width: 21px; height: 21px; place-items: center; border-radius: 999px; background: rgba(255, 255, 255, 0.13); color: inherit; font-size: 11px; }

.consult-form-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; }
.consult-form-section, .consult-submit-row { grid-column: 1 / -1; width: 100%; }
.consult-form-section { display: grid; gap: 16px; padding: 22px 0; }
.consult-form-section + .consult-form-section { border-top: 1px solid rgba(255, 255, 255, 0.1); }
.consult-form-section:first-child { padding-top: 0; }
.form-section-title { margin: 0 !important; color: #fff8e7 !important; }
.form-section-title span { width: 34px !important; height: 34px !important; border-radius: 12px !important; background: rgba(167, 243, 208, 0.13) !important; color: #a7f3d0 !important; }
.form-section-title strong, .form-section-title small { display: block; }
.form-section-title strong { font-size: 17px; font-weight: 950; }
.form-section-title small { margin-top: 2px; color: rgba(255, 248, 231, 0.52); font-size: 11.5px; font-weight: 760; }
.consult-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.consult-fields label { display: grid; min-width: 0; gap: 7px; color: rgba(255, 248, 231, 0.9) !important; font-size: 13px !important; font-weight: 900 !important; }
.consult-fields label em, .consult-fields label small { display: inline; margin-inline-start: 5px; font-size: 10px; font-style: normal; font-weight: 820; }
.consult-fields label em { color: #9ff1d0; }
.consult-fields label small { color: rgba(255, 248, 231, 0.46); }
.consult-field-wide { grid-column: 1 / -1; }
.consult-form-card .field { width: 100%; min-height: 48px; border: 1px solid rgba(255, 255, 255, 0.14) !important; border-radius: 13px !important; background: rgba(2, 22, 18, 0.72) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045) !important; color: #fff8e7 !important; font-weight: 800; transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease; }
.consult-form-card textarea.field { min-height: 112px; resize: vertical; }
.consult-form-card .field::placeholder { color: rgba(255, 248, 231, 0.42) !important; }
.consult-form-card .field:focus { border-color: rgba(118, 230, 190, 0.68) !important; background: rgba(5, 49, 41, 0.82) !important; box-shadow: 0 0 0 3px rgba(95, 219, 180, 0.12) !important; }
.consult-form-card select.field option { background: #09251f; color: #fff8e7; }
.consult-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 20px; }
.consult-submit-row p { max-width: 420px; color: rgba(255, 248, 231, 0.56); font-size: 12px; font-weight: 760; line-height: 1.8; }
.consult-submit-row .btn { min-height: 50px; padding-inline: 24px; white-space: nowrap; }

@media (max-width: 960px) {
  .consult-form-hero { grid-template-columns: 1fr !important; gap: 20px !important; }
  .consult-hero-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .consult-hero-steps div { justify-content: center; padding-inline: 9px !important; font-size: 11px !important; text-align: center; }
  .consult-page-layout { grid-template-columns: 1fr; grid-template-areas: "form" "aside"; }
  .consult-side-panel { position: static !important; }
}

@media (max-width: 640px) {
  .consult-form-hero { min-height: 0 !important; border-radius: 18px !important; padding: 22px !important; }
  .consult-form-hero h1 { font-size: 34px !important; }
  .consult-form-hero p { font-size: 13px !important; }
  .consult-hero-steps { grid-template-columns: 1fr; }
  .consult-hero-steps div { justify-content: flex-start; min-height: 42px; font-size: 12px !important; }
  .consult-form-card, .consult-side-panel { border-radius: 18px !important; padding: 18px !important; }
  .form-progress-rail { grid-template-columns: 1fr !important; }
  .form-progress-rail span { justify-content: flex-start; padding-inline: 12px; }
  .consult-fields { grid-template-columns: 1fr; gap: 12px; }
  .consult-field-wide { grid-column: auto; }
  .consult-form-section { gap: 14px; padding-block: 18px; }
  .consult-submit-row { display: grid; gap: 12px; }
  .consult-submit-row .btn { width: 100%; }
}

/* These selectors deliberately exceed the legacy main:not(.home-v2) field rule. */
main:not(.home-v2) .consult-page-layout .consult-form-card,
main:not(.home-v2) .consult-page-layout .consult-side-panel {
  background: linear-gradient(155deg, rgba(20, 52, 45, 0.98), rgba(5, 26, 22, 0.99)) !important;
  border-color: rgba(176, 244, 218, 0.16) !important;
}

main:not(.home-v2) .consult-page-layout .consult-form-card input.field,
main:not(.home-v2) .consult-page-layout .consult-form-card select.field,
main:not(.home-v2) .consult-page-layout .consult-form-card textarea.field {
  background: rgba(2, 22, 18, 0.72) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: #fff8e7 !important;
}
