html.fi-form-dialog-open { overflow: hidden; }
.fi-form-dialog {
    box-sizing: border-box;
    width: min(540px, calc(100% - 32px));
    max-height: calc(100dvh - 32px);
    overflow: auto;
    margin: auto;
    padding: clamp(24px, 5vw, 42px);
    border: 1px solid var(--fi-line, #dfe5df);
    border-radius: 24px;
    color: var(--fi-ink, #08271f);
    background: var(--fi-paper, #fbfcf7);
    box-shadow: 0 24px 100px #08271f40;
    font: inherit;
    text-align: left;
    overflow-wrap: anywhere;
}
.fi-form-dialog::backdrop { background: #08271fb3; }
.fi-form-dialog-brand {
    display: inline-block; margin-bottom: 24px; padding: 6px 12px;
    border-radius: 100px; background: var(--fi-lime, #dfff73);
    font-size: 13px; font-weight: 700; letter-spacing: .03em;
}
.fi-form-dialog h2 { margin: 0 0 18px; font-size: clamp(24px, 5vw, 32px); line-height: 1.16; letter-spacing: -.025em; }
.fi-form-dialog p { margin: 0 0 28px; font-size: 16px; line-height: 1.65; }
.fi-form-dialog button {
    display: block; min-height: 48px; min-width: 110px; padding: 12px 24px;
    border: 0; border-radius: 100px; background: var(--fi-forest, #0e3b2d);
    color: #fff; font: inherit; font-weight: 600; cursor: pointer;
}
.fi-form-dialog button:focus-visible { outline: 3px solid var(--fi-forest, #0e3b2d); outline-offset: 4px; }
.fi-form-dialog[data-kind="error"] .fi-form-dialog-brand,
.fi-form-dialog[data-kind="partial"] .fi-form-dialog-brand { background: var(--fi-mist, #e8eee7); }
.fi-form-feedback:empty { display: none; }
.fi-contact-form[aria-busy="true"] button, #fi-plan-email[aria-busy="true"] button { cursor: wait; opacity: .7; }

