#th-newsletter-dialog {
    box-sizing: border-box; width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 32px);
    margin: auto; padding: 38px; border: 0; border-radius: 18px;
    background: #fff; color: #003349; font-family: "Avenir Next", sans-serif; overflow: auto;
    box-shadow: 0 24px 80px #00334940;
}
#th-newsletter-dialog::backdrop { background: #003349b3; }
#th-newsletter-dialog .th-newsletter-close { display: block; margin: -12px -12px 12px auto; padding: 8px 12px; background: #eef7fa; border: 0; border-radius: 6px; color: #003349; font: inherit; cursor: pointer; }
#th-newsletter-dialog .th-newsletter-eyebrow { margin: 0 0 12px; padding: 0; color: #005e93; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
#th-newsletter-dialog h2 { padding: 0; margin: 0 0 14px; color: #003349; font-family: "Mr Eaves Mod OT", "Avenir Next", sans-serif; font-size: 34px; line-height: 1.12; }
#th-newsletter-copy { margin: 0 0 22px; padding: 0; color: #345661; font-size: 16px; line-height: 1.6; }
#th-newsletter-dialog .th-newsletter-form, #th-newsletter-dialog .v_fw { width: 100%; background: #fff; color: #003349; }
#th-newsletter-dialog .v_fr { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
#th-newsletter-dialog .v_fc { min-width: 0; padding: 0; flex: 1 1 100%; }
#th-newsletter-dialog .v_fc__2 { flex-basis: calc(50% - 6px); }
#th-newsletter-dialog label { color: #003349; font-size: 14px; }
#th-newsletter-dialog input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]) { box-sizing: border-box; width: 100%; min-height: 46px; border: 1px solid #a7bac2; border-radius: 5px; padding: 10px 12px; font-size: 16px; color: #003349; background: #fff; }
#th-newsletter-dialog button[type="submit"], #th-newsletter-dialog input[type="submit"] { width: 100%; min-height: 48px; padding: 14px 20px 10px; border: 0; border-radius: 999px; background: #f18721; color: #003349; font: 700 16px/1.5 "Avenir Next",sans-serif; cursor: pointer; }
#th-newsletter-dialog .th-newsletter-note { padding: 0; margin: 16px 0 0; color: #506773; font-size: 12px; line-height: 1.6; }
#th-newsletter-dialog a { color: #005e93; text-decoration: underline; }
#th-newsletter-dialog :focus-visible { outline: 3px solid #005e93; outline-offset: 3px; }
@media (max-width: 480px) { #th-newsletter-dialog { padding: 26px; } #th-newsletter-dialog h2 { font-size: 29px; } #th-newsletter-dialog .v_fc__2 { flex-basis: 100%; } }

/* Virtuous's form-ID rules target the dark footer. Override only inside this dialog. */
#th-newsletter-dialog #vcrm_2A358C10-BF4A-4357-9331-F48A0BFF1F70 label,
#th-newsletter-dialog #vcrm_2A358C10-BF4A-4357-9331-F48A0BFF1F70 button .v-text { color: #003349 !important; }
#th-newsletter-dialog #vcrm_2A358C10-BF4A-4357-9331-F48A0BFF1F70 input:not([type="checkbox"]) { color: #003349 !important; border-color: #a7bac2 !important; }
#th-newsletter-dialog #vcrm_2A358C10-BF4A-4357-9331-F48A0BFF1F70 button[type="submit"] { background: #f18721 !important; color: #003349 !important; }
