html.mie-modal-open { overflow:hidden; }
.mie-modal {
 box-sizing:border-box; width:min(720px,calc(100% - 32px)); max-width:none;
 max-height:calc(100dvh - 32px); margin:auto; padding:64px 12px 16px;
 border:0; border-radius:22px; background:#fff; color:var(--mie-ink,#17304d);
 box-shadow:0 24px 90px rgba(5,19,35,.3); overflow:hidden;
 font:16px/1.55 'aptos',Arial,sans-serif;
}
.mie-modal-scroll {
 box-sizing:border-box; max-height:calc(100dvh - 112px); overflow-y:auto;
 overscroll-behavior:contain; scrollbar-gutter:stable;
 padding:0 clamp(12px,3vw,24px) 24px clamp(12px,4vw,36px);
 scrollbar-color:var(--mie-deep-navy,#051323) rgba(5,19,35,.08);
 scrollbar-width:auto;
}
.mie-modal-scroll::-webkit-scrollbar { width:15px; }
.mie-modal-scroll::-webkit-scrollbar-track { background:rgba(5,19,35,.08); border-radius:999px; }
.mie-modal-scroll::-webkit-scrollbar-thumb { background:var(--mie-deep-navy,#051323); border-radius:999px; }
.mie-modal-scroll::-webkit-scrollbar-button { display:none; width:0; height:0; }
@supports selector(::-webkit-scrollbar) {
 .mie-modal-scroll { scrollbar-color:auto; }
}
.mie-modal::backdrop { background:rgba(5,19,35,.76); }
.mie-modal h2 { margin:0 0 20px; color:inherit; font-size:clamp(28px,4vw,40px); line-height:1.15; overflow-wrap:anywhere; }
.mie-modal-intro { margin-bottom:24px; font-size:16px; }
.mie-modal-intro:empty { display:none; }
.mie-modal-intro p { margin:0 0 16px; }
.mie-modal .mie-modal-close {
 position:absolute; right:14px; top:12px; display:grid; place-items:center;
 width:44px; height:44px; margin:0; padding:0; border:0; border-radius:50%;
 background:#f2eeeb; color:#17304d; font:400 30px/1 Arial,sans-serif; cursor:pointer;
}
.mie-modal .mie-modal-close:hover { background:#e5e0dc; }
.mie-modal-status { font-size:16px; }
.mie-modal .mie-modal-retry { border:0; border-radius:7px; padding:12px 22px; background:#cf2030; color:#fff; font:700 16px/1.4 'aptos',Arial,sans-serif; cursor:pointer; }
.mie-modal [hidden] { display:none!important; }
.mie-modal :focus-visible { outline:3px solid var(--mie-cyan,#00d9ff); outline-offset:3px; }
.mie-modal-form iframe { width:100%; max-width:100%; border:0; }
.mie-modal-form {
 --hsf-global__font-family:'aptos',Arial,sans-serif; --hsf-global__font-size:16px; --hsf-global__color:#17304d;
 --hsf-background__background-color:transparent; --hsf-background__padding:0px;
 --hsf-background__border-width:0px; --hsf-background__border-style:none;
 --hsf-heading__color:#17304d; --hsf-richtext__font-size:16px;
 --hsf-field-label__font-size:16px; --hsf-field-label__color:#17304d;
 --hsf-field-input__color:#17304d; --hsf-field-input__background-color:#f2eeeb;
 --hsf-field-input__border-width:0px; --hsf-field-input__border-radius:7px; --hsf-field-input__padding:14px 16px;
 --hsf-field-textarea__color:#17304d; --hsf-field-textarea__background-color:#f2eeeb;
 --hsf-field-textarea__border-width:0px; --hsf-field-textarea__border-radius:7px;
 --hsf-button__font-size:16px; --hsf-button__background-color:#cf2030; --hsf-button__color:#fff;
 --hsf-button__border-radius:var(--mie-button-radius, 100px); --hsf-button__padding:14px 26px; --hsf-button__box-shadow:none;
 --hsf-erroralert__font-size:14px; --hsf-infoalert__font-size:14px; --hsf-row__vertical-spacing:24px;
}
.mie-modal-hubspot { font:16px/1.55 'aptos',Arial,sans-serif; color:#17304d; }
/* HubSpot's embedded styles cap legacy fieldsets at 500px. Override that
   cap only inside our modals, keeping the fields' own column widths. */
.mie-modal .mie-modal-form :is(.hbspt-form, form.mie-modal-hubspot),
.mie-modal .mie-modal-form form.hs-form fieldset {
  box-sizing:border-box;
  width:100% !important;
  max-width:none !important;
  min-width:0;
}
.mie-modal .mie-modal-form form.hs-form fieldset { margin-inline:0; border:0; padding:0; }
.mie-modal-hubspot .hs-form-field { margin-bottom:24px; }
.mie-modal-hubspot label { display:block; margin-bottom:8px; font-size:16px; }
.mie-modal-hubspot :is(input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {
 box-sizing:border-box; width:100%; min-height:48px; padding:14px 16px; border:0; border-radius:7px;
 background:#f2eeeb; color:#17304d; font:16px/1.4 'aptos',Arial,sans-serif;
}
.mie-modal-hubspot :is(input[type=checkbox],input[type=radio]) { accent-color:#cf2030; }
.mie-modal-hubspot :is(input[type=submit],button[type=submit]) { padding:14px 26px; border:0; border-radius:var(--mie-button-radius, 100px); background:#cf2030; color:#fff; font:700 16px/1.3 'aptos',Arial,sans-serif; cursor:pointer; }
.mie-modal-hubspot :is(.hs-error-msgs,.hs-form-required) { color:#cf2030; font-size:14px; }
.mie-modal-hubspot .hs-error-msgs { list-style:none; padding:0; }
.mie-modal-hubspot a { color:inherit; text-decoration:underline; }
.mie-modal-intro small, .mie-modal-hubspot small { font-size:14px; }
@media(max-width:600px) { .mie-modal { padding:64px 10px 16px; border-radius:16px; } .mie-modal-scroll { padding-inline:14px; padding-bottom:12px; } }
