.ctmi { --ctmi-primary: #0095D8; box-sizing: border-box; width: 100%; max-width: 800px; margin: 32px auto; background: #fff; color: #263448; border: 1px solid #e2e7ee; border-radius: 24px; overflow: hidden; font: 16px/1.6 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; box-shadow: 0 14px 50px #0095d814; }
.ctmi *, .ctmi *::before, .ctmi *::after { box-sizing: border-box; }
.ctmi .ctmi-header { padding: 0; background: #fff; color: #263448; }
.ctmi .ctmi-banner { display: block; width: 100%; max-width: 100%; height: auto; margin: 0; border: 0; border-radius: 0; }
.ctmi .ctmi-header-copy { padding: 22px 40px 0; }
.ctmi .ctmi-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .16em; }
.ctmi .ctmi-header h2 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ctmi .ctmi-subtitle { margin: 8px 0; color: #263448; font-size: 20px; }
.ctmi .ctmi-tagline { margin: 8px 0 0; color: #586476; }
.ctmi .ctmi-form { margin: 0; padding: 32px 40px; }
.ctmi .ctmi-intro, .ctmi .ctmi-help { color: #586476; font-size: 14px; margin: 0 0 16px; }
.ctmi fieldset { border: 0; padding: 0; margin: 24px 0 32px; min-width: 0; }
.ctmi legend { float: none; width: 100%; padding: 0; margin: 0 0 16px; color: var(--ctmi-primary); font-size: 19px; font-weight: 750; }
.ctmi .ctmi-grid, .ctmi .ctmi-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ctmi label { display: block; color: #263448; font: 600 14px/1.6 system-ui, sans-serif; margin: 0; }
.ctmi input[type="text"], .ctmi input[type="tel"], .ctmi select, .ctmi textarea { display: block; width: 100%; max-width: 100%; height: auto; margin: 7px 0 0; padding: 13px 15px; background: #f8fafc; color: #17263b; border: 1px solid #cbd3de; border-radius: 12px; box-shadow: none; font: 400 16px/1.5 system-ui, sans-serif; }
.ctmi textarea { resize: vertical; min-height: 140px; }
.ctmi input[type="checkbox"] { appearance: auto; position: static; display: inline-block; flex: 0 0 20px; width: 20px; height: 20px; margin: 2px 0 0; opacity: 1; accent-color: var(--ctmi-primary); }
.ctmi .ctmi-choice { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid #d9e0e9; border-radius: 12px; background: #f8fafc; cursor: pointer; }
.ctmi .ctmi-choice:has(input:checked) { border-color: var(--ctmi-primary); background: #eaf7fd; }
.ctmi .ctmi-counter { text-align: right; margin: 6px 0 0; }
.ctmi .ctmi-previous-member { margin-bottom: 20px; }
.ctmi .ctmi-privacy { padding: 20px; border-radius: 14px; background: #f1f4f8; }
.ctmi .ctmi-privacy h3 { margin: 0 0 10px; color: #006592; font-size: 16px; }
.ctmi .ctmi-privacy p { white-space: pre-line; overflow-wrap: anywhere; font-size: 14px; margin: 0 0 18px; }
.ctmi .ctmi-consent { display: flex; gap: 12px; align-items: flex-start; font-weight: 400; }
.ctmi .ctmi-submit, .ctmi .ctmi-retry { display: block; width: 100%; height: auto; white-space: normal; margin: 16px 0 0; padding: 16px; color: #fff; background: var(--ctmi-primary); border: 0; border-radius: 12px; font: 750 19px/1.5 system-ui, sans-serif; cursor: pointer; }
.ctmi .ctmi-submit:hover { background: #0073a6; }
.ctmi .ctmi-submit:disabled { opacity: .65; cursor: default; }
.ctmi .ctmi-status { margin-top: 18px; color: #14542f; overflow-wrap: anywhere; }
.ctmi .ctmi-status:empty { display: none; }
.ctmi .ctmi-error { color: #a52026; }
.ctmi :is(input, select, textarea, button, [tabindex]):focus-visible { outline: 3px solid #0073a6; outline-offset: 3px; }
.ctmi .ctmi-trap { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
.ctmi [hidden] { display: none !important; }
@media (max-width: 540px) { .ctmi { margin: 16px auto; border-radius: 16px; } .ctmi .ctmi-form { padding: 24px 20px; } .ctmi .ctmi-header-copy { padding: 20px 20px 0; } .ctmi .ctmi-grid, .ctmi .ctmi-choices { grid-template-columns: 1fr; gap: 12px; } .ctmi .ctmi-privacy { padding: 16px; } }

.ctmi select { appearance: auto; min-height: 52px; }
.ctmi select:disabled { opacity: .65; cursor: not-allowed; }
.ctmi select.select2-hidden-accessible { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; margin: -1px !important; border: 0 !important; overflow: hidden !important; clip-path: inset(50%) !important; }
.ctmi .select2-container { width: 100% !important; margin-top: 7px; }
.ctmi .select2-container .select2-selection--single { height: 52px; border: 1px solid #cbd3de; border-radius: 12px; background: #f8fafc; }
.ctmi .select2-container .select2-selection--single .select2-selection__rendered { padding: 0 30px 0 15px; line-height: 50px; color: #17263b; font-size: 16px; font-weight: 400; }
.ctmi .select2-container .select2-selection--single .select2-selection__arrow { height: 50px; }
