.eh-form-shell { width: min(calc(100% - 40px), 900px); margin: 0 auto; padding: 80px 0; font-family: var(--eh-font-sans, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif); }
.eh-form-shell > header { margin-bottom: 35px; }
.eh-form-shell > header > span { display: block; margin-bottom: 12px; color: #c93634; font-size: .72rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.eh-form-shell h2 { margin-bottom: 14px; font-size: clamp(2rem,4vw,3.5rem); }
.eh-form-shell p { color: #5f6a7d; }
.eh-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 32px; border: 1px solid #dce2e9; border-radius: 4px 18px 4px 18px; background: #fbfcfd; }
.eh-form label, .eh-field { min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.eh-form label > span, .eh-group-label { color: #12213d; font-size: .8rem; font-weight: 760; }
.eh-form .full { grid-column: 1/-1; }
.eh-form input:not([type=checkbox]):not([type=radio]), .eh-form textarea { width: 100%; border: 1px solid #c9d2dc; border-radius: 7px; background: white; padding: 12px 13px; color: #12213d; outline: 0; }
.eh-form input:not([type=checkbox]) { min-height: 52px; }
.eh-form input:focus, .eh-form textarea:focus { border-color: #07183c; box-shadow: 0 0 0 3px rgba(7,24,60,.07); }
.eh-form input.invalid, .eh-form textarea.invalid { border-color: #c93634 !important; box-shadow: 0 0 0 2px rgba(201,54,52,.08); }
.eh-form .eh-consent { flex-direction: row; align-items: flex-start; gap: 10px; }
.eh-form .eh-consent input { margin-top: 4px; }
.eh-form button { min-height: 52px; border: 0; border-radius: 8px; padding: 12px 22px; background: #07183c; color: white; font-size: .73rem; font-weight: 830; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }
.eh-form button:focus-visible, .eh-form input:focus-visible, .eh-form textarea:focus-visible { outline: 3px solid #c93634; outline-offset: 3px; }
.eh-form button:disabled { cursor: wait; opacity: .62; }
.eh-form button.eh-secondary { border: 1px solid #c9d2dc; background: white; color: #12213d; }
.eh-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.eh-form-notice { margin-bottom: 20px; padding: 14px 16px; border-left: 3px solid #4c8b68; background: #eff8f2; color: #245438; font-size: .8rem; }
.eh-form-notice.error { border-left-color: #e84c45; background: #fff5f4; color: #7d302d; }
.eh-form-context { margin: 0 0 20px; padding: 11px 14px; border-left: 3px solid #e84c45; background: #fff5f4; color: #6d302d; font-size: .82rem; font-weight: 700; }
.eh-form-footnote { margin-top: 15px; font-size: .72rem; }
.eh-field-error { min-height: 16px; color: #b52d2a; font-size: .69rem; font-weight: 750; }
.eh-field-help { color: #5f6a7d; font-size: .68rem; line-height: 1.45; }
.eh-privacy-note { margin: 0; padding: 13px 15px; border-left: 3px solid #78a78f; background: #f0f7f3; color: #405c4d !important; font-size: .72rem; }
.eh-form-error-summary { padding: 13px 15px; border-left: 3px solid #c93634; background: #fff5f4; color: #7d302d; font-size: .78rem; font-weight: 800; }
.eh-form-error-summary:focus { outline: 3px solid #c93634; outline-offset: 2px; }
.eh-form-live { min-height: 20px; color: #405c4d; font-size: .72rem; font-weight: 750; }
.eh-form-progress { margin-bottom: 8px; grid-column: 1/-1; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 5px 15px; color: #5f6a7d; font-size: .68rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.eh-form-progress strong { color: #07183c; font-size: .72rem; text-align: right; }
.eh-form-progress i { height: 5px; flex: 1; overflow: hidden; border-radius: 5px; background: #dfe5eb; }
.eh-form-progress i { grid-column: 1/-1; }
.eh-form-progress b { display: block; width: 20%; height: 100%; background: #e84c45; transition: width .2s; }
.eh-form-step { margin: 0; padding: 0; border: 0; }
.eh-form-step[hidden] { display: none !important; }
.eh-form-step > legend { width: 100%; margin-bottom: 27px; color: #07183c; font-family: inherit; font-size: clamp(1.55rem,3vw,2.15rem); font-weight: 780; line-height: 1.12; letter-spacing: -.025em; }
.eh-form-step > legend small, .eh-form-review > header > small { display: block; margin-bottom: 9px; color: #c93634; font-family: inherit; font-size: .7rem; font-weight: 820; letter-spacing: .1em; text-transform: uppercase; }
.eh-form-step > .eh-field + .eh-field { margin-top: 25px; }
.eh-fields-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.eh-radio-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 8px; }
.eh-radio-options label { position: relative; }
.eh-radio-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.eh-radio-options span { min-height: 54px; border: 1px solid #c9d2dc; border-radius: 7px; padding: 12px 15px; display: flex; align-items: center; gap: 10px; background: white; color: #23324d; font-size: .75rem; font-weight: 720; cursor: pointer; }
.eh-radio-options span::before { content: ''; width: 16px; height: 16px; flex: 0 0 16px; border: 1px solid #9eacba; border-radius: 50%; }
.eh-radio-options input:checked + span { border-color: #07183c; background: #f0f7fb; box-shadow: 0 0 0 1px #07183c; }
.eh-radio-options input:checked + span::before { border: 5px solid #07183c; }
.eh-radio-options input:focus-visible + span { outline: 3px solid #e84c45; outline-offset: 2px; }
.eh-radio-options input.invalid + span { border-color: #c93634; }
.eh-form-navigation { padding-top: 22px; border-top: 1px solid #dce2e9; display: flex; justify-content: space-between; }
.eh-form:not(.is-progressive) .eh-form-progress, .eh-form:not(.is-progressive) .eh-form-navigation { display: none; }
.eh-form.is-progressive .eh-no-js-submit { display: none; }
.eh-form-review > header { margin-bottom: 22px; }
.eh-form-review h3 { margin-bottom: 8px; font-size: clamp(1.6rem,3vw,2.2rem); }
.eh-form-review > header p { font-size: .8rem; }
.eh-form-review [data-eh-review-content] { display: grid; gap: 12px; margin-bottom: 25px; }
.eh-form-review [data-eh-review-content] > section { border: 1px solid #dce2e9; border-radius: 8px; padding: 18px; background: white; }
.eh-form-review section > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.eh-form-review h4 { margin: 0; font-size: 1rem; }
.eh-form-review section button { min-height: 34px; padding: 6px 10px; border: 1px solid #dce2e9; background: white; color: #12213d; font-size: .62rem; }
.eh-form-review dl { margin: 13px 0 0; display: grid; grid-template-columns: minmax(120px,.45fr) 1fr; gap: 7px 16px; }
.eh-form-review dt { color: #5f6a7d; font-size: .7rem; }
.eh-form-review dd { min-width: 0; margin: 0; color: #12213d; font-size: .73rem; font-weight: 720; overflow-wrap: anywhere; white-space: pre-wrap; }
.eh-review-note { margin: 0 0 18px; padding: 13px 15px; border-left: 3px solid #78a78f; background: #f0f7f3; color: #405c4d !important; font-size: .74rem; }

@media (max-width:640px) {
  .eh-form-shell { width: calc(100% - 28px); padding: 65px 0; }
  .eh-form { grid-template-columns: 1fr; padding: 22px; }
  .eh-form .full { grid-column: auto; }
  .eh-fields-grid, .eh-radio-options { grid-template-columns: 1fr; }
  .eh-form-navigation { position: sticky; bottom: 0; margin-inline: -10px; padding: 15px 10px 4px; background: #fbfcfd; }
  .eh-form-navigation button { padding-inline: 14px; }
  .eh-form-review dl { grid-template-columns: 1fr; gap: 3px; }
  .eh-form-review dd + dt { margin-top: 7px; }
}

@media (prefers-reduced-motion:reduce) { .eh-form-progress b { transition: none; } }
