@font-face { font-family: "CFP02 OpenDyslexic"; src: url("fonts/OpenDyslexic-Regular.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "CFP02 OpenDyslexic"; src: url("fonts/OpenDyslexic-Bold.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "CFP02 OpenDyslexic"; src: url("fonts/OpenDyslexic-Italic.woff2") format("woff2"); font-style: italic; font-weight: 400; font-display: swap; }
@font-face { font-family: "CFP02 OpenDyslexic"; src: url("fonts/OpenDyslexic-Bold-Italic.woff2") format("woff2"); font-style: italic; font-weight: 700; font-display: swap; }
.cfp02-a11y, .cfp02-a11y * { box-sizing: border-box; }
.cfp02-a11y { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 2147483000; width: min(350px, calc(100vw - 32px)); font: 16px/1.45 Arial, sans-serif; color: #17253b; }
.cfp02-a11y button, .cfp02-a11y input { font: inherit; }
.cfp02-a11y button { cursor: pointer; }
.cfp02-a11y__trigger { display: flex; align-items: center; gap: 9px; margin-left: auto; min-height: 48px; padding: 10px 16px; border: 2px solid #fff; border-radius: 999px; background: #073780; color: #fff; box-shadow: 0 3px 16px rgba(0,0,0,.25); font-weight: 700 !important; }
.cfp02-a11y__trigger svg { display: block; flex: none; fill: currentColor; }
.cfp02-a11y__panel { position: absolute; right: 0; bottom: calc(100% + 10px); width: 100%; max-height: min(700px, calc(100vh - 90px)); overflow: auto; padding: 18px; border: 2px solid #073780; border-radius: 16px; background: #fff; color: #17253b; box-shadow: 0 12px 35px rgba(0,0,0,.25); }
.cfp02-a11y__panel[hidden] { display: none !important; }
.cfp02-a11y__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.cfp02-a11y__header h2 { margin: 0; color: inherit; font: 700 20px/1.3 Arial, sans-serif !important; }
.cfp02-a11y__close { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid #8695ab; border-radius: 8px; background: #fff; color: #17253b; font-size: 25px !important; line-height: 1 !important; }
.cfp02-a11y__group { display: block; margin: 0 0 16px; padding: 0; border: 0; }
.cfp02-a11y__group legend, .cfp02-a11y__label { display: block; width: 100%; margin-bottom: 8px; color: inherit; font-weight: 700 !important; }
.cfp02-a11y__row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cfp02-a11y__row button { min-width: 54px; min-height: 42px; border: 1px solid #073780; border-radius: 8px; background: #e9f0fb; color: #073780; font-weight: 700 !important; }
.cfp02-a11y__size { min-width: 70px; text-align: center; font-weight: 700; }
.cfp02-a11y__choices { display: flex; flex-wrap: wrap; gap: 8px; }
.cfp02-a11y__choices label, .cfp02-a11y__motion { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; cursor: pointer; }
.cfp02-a11y__choices label { padding: 4px 8px; border: 1px solid #b7c4d4; border-radius: 8px; }
.cfp02-a11y__option { display: flex; align-items: center; gap: 8px; min-height: 36px; cursor: pointer; }
.cfp02-a11y input { width: 18px; height: 18px; margin: 0; accent-color: #073780; }
.cfp02-a11y__motion { margin-bottom: 15px; }
.cfp02-a11y__reset { display: block; width: 100%; min-height: 42px; padding: 7px 12px; border: 1px solid #073780; border-radius: 8px; background: #fff; color: #073780; font-weight: 700 !important; }
.cfp02-a11y__note { margin: 12px 0 0; color: #405270; font-size: 13px !important; }
.cfp02-a11y :focus-visible { outline: 3px solid #f9b900 !important; outline-offset: 3px !important; }

html[data-cfp02-font="dys"] { --cfp02-reader-font: "CFP02 OpenDyslexic", Arial, sans-serif; }
html[data-cfp02-font="arial"] { --cfp02-reader-font: Arial, Helvetica, sans-serif; }
html:is([data-cfp02-font="dys"], [data-cfp02-font="arial"]) body,
html:is([data-cfp02-font="dys"], [data-cfp02-font="arial"]) body :is(div, span, p, li, a, button, label, legend, summary, blockquote, figcaption, td, th, input, select, textarea, h1, h2, h3, h4, h5, h6):not(.cfp02-a11y, .cfp02-a11y *, [class*="icon"], [class^="fa-"], [class*=" fa-"]) { font-family: var(--cfp02-reader-font) !important; }
html.cfp02-a11y-letter-spacing body :is(p, li, a, button, label, legend, summary, blockquote, figcaption, td, th, input, select, textarea, h1, h2, h3, h4, h5, h6):not(.cfp02-a11y *) { letter-spacing: .08em !important; word-spacing: .12em !important; }
html.cfp02-a11y-line-spacing body :is(p, li, blockquote, figcaption, td, th, label, summary, .fusion-text):not(.cfp02-a11y *) { line-height: 1.75 !important; }

html[data-cfp02-contrast="light"] body,
html[data-cfp02-contrast="light"] body :is(#wrapper, #main, main, header, footer, section, article, nav, aside, .fusion-fullwidth, .fusion-builder-row, .fusion-column-wrapper, .fusion-header-wrapper, .fusion-footer):not(.cfp02-a11y *) { background: #fff !important; color: #111 !important; box-shadow: none !important; }
html[data-cfp02-contrast="dark"] body,
html[data-cfp02-contrast="dark"] body :is(#wrapper, #main, main, header, footer, section, article, nav, aside, .fusion-fullwidth, .fusion-builder-row, .fusion-column-wrapper, .fusion-header-wrapper, .fusion-footer):not(.cfp02-a11y *) { background: #101820 !important; color: #fff !important; box-shadow: none !important; }
html[data-cfp02-contrast="light"] body :is(h1, h2, h3, h4, h5, h6, p, li, label, legend, figcaption, blockquote, td, th):not(.cfp02-a11y *),
html[data-cfp02-contrast="light"] body :is(h1, h2, h3, h4, h5, h6, p, li, label, legend, figcaption, blockquote, td, th) *:not(.cfp02-a11y *) { color: #111 !important; text-shadow: none !important; }
html[data-cfp02-contrast="dark"] body :is(h1, h2, h3, h4, h5, h6, p, li, label, legend, figcaption, blockquote, td, th):not(.cfp02-a11y *),
html[data-cfp02-contrast="dark"] body :is(h1, h2, h3, h4, h5, h6, p, li, label, legend, figcaption, blockquote, td, th) *:not(.cfp02-a11y *) { color: #fff !important; text-shadow: none !important; }
html[data-cfp02-contrast="light"] body a:not(.cfp02-a11y *) { color: #003c8f !important; text-decoration: underline !important; }
html[data-cfp02-contrast="dark"] body a:not(.cfp02-a11y *) { color: #ffe17a !important; text-decoration: underline !important; }
html[data-cfp02-contrast="light"] body :is(button, input, select, textarea, .fusion-button):not(.cfp02-a11y *),
html[data-cfp02-contrast="dark"] body :is(button, input, select, textarea, .fusion-button):not(.cfp02-a11y *) { background: #fff !important; color: #111 !important; border: 2px solid #111 !important; }
html[data-cfp02-contrast="dark"] body :is(button, input, select, textarea, .fusion-button):not(.cfp02-a11y *) { background: #101820 !important; color: #fff !important; border-color: #fff !important; }
html[data-cfp02-contrast="light"] body :focus-visible,
html[data-cfp02-contrast="dark"] body :focus-visible { outline: 3px solid #e99b00 !important; outline-offset: 3px !important; }

html.cfp02-a11y-reduce-motion *, html.cfp02-a11y-reduce-motion *::before, html.cfp02-a11y-reduce-motion *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
@media (prefers-reduced-motion: reduce) { html *, html *::before, html *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
@media (max-width: 480px) { .cfp02-a11y { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); width: min(350px, calc(100vw - 24px)); } .cfp02-a11y__trigger { padding: 10px 12px; } }
