/* Native HubSpot forms and shared conversion states. */
.native-form { min-width: 0; color: #41453e; text-align: left; }
.native-form iframe { width: 100%; max-width: 100%; border: 0; }
.native-form form { display: block; width: 100%; }
.native-form .hs-form-field { margin: 0 0 16px; }
.native-form label { display: block; font: 600 14px/1.5 Montserrat, sans-serif; margin-bottom: 7px; }
.native-form input:not([type=checkbox]):not([type=radio]):not([type=submit]), .native-form select, .native-form textarea { display: block; width: 100%; max-width: 100%; min-height: 46px; border: 1px solid #b4b7b1; border-radius: 8px; padding: 10px; font: 16px/1.4 Montserrat, sans-serif; background: white; color: #41453e; }
.native-form .inputs-list { list-style: none; padding: 0; }
.native-form input[type=radio], .native-form input[type=checkbox] { width: auto; min-height: auto; margin-right: 8px; }
.native-form .hs-button { border: 0; border-radius: 8px; width: 100%; padding: 14px; background: #41453e; color: white; cursor: pointer; font: 600 15px/1.5 Montserrat, sans-serif; }
.native-form .hs-error-msgs { color: #a02121; font-size: 13px; }
.native-form .legal-consent-container { font-size: 12px; line-height: 1.5; }
.native-form a { text-decoration: underline; }
.native-form .button { margin-top: 12px; }
.lead-form > .native-form { width: 100%; }
.result-match { padding: 24px; margin: 24px 0; background: #fff3e8; border-radius: 16px; }
.result-match h4 { font-size: clamp(22px, 3vw, 30px); line-height: 1.2; margin: 12px 0; }
.result-match p { margin: 12px 0; line-height: 1.65; }
.advisor-video video { width: 100%; border-radius: 12px; }
.form-success .button { margin: 8px 0; }
.consent { position: fixed; bottom: 18px; left: 18px; z-index: 1000; max-width: min(560px, calc(100vw - 36px)); padding: 20px; background: #fff; color: #41453e; border: 1px solid #b4b7b1; border-radius: 12px; box-shadow: 0 8px 30px #0002; }
.consent p { font-size: 14px; line-height: 1.5; }
.consent > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
@media(max-width: 600px) { .lead-gate { grid-template-columns: 1fr; } .appointment-panel { padding: 24px 18px; } }
