/* Quadro presentation layer. CMS layouts, plugin widths and Wojo actions remain data-driven.
   Mobile-first breakpoints follow 640 / 768 / 1024 / 1280 / 1536 CSS pixels.
   Larger viewports expand the canvas while prose keeps a readable measure. */
html.mfc-quadro-document {
  font-size: 16px;
  scroll-padding-top: 7rem;
}
body.mfc-quadro {
  --mfc-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;
  --mfc-brand: #c82025;
  --mfc-brand-hover: #a6171c;
  --mfc-text: #243043;
  --mfc-muted: #606c7d;
  --mfc-border: #dfe4eb;
  --mfc-surface: #ffffff;
  --mfc-surface-soft: #f4f6f9;
  --mfc-radius: .25rem;
  --mfc-shadow: 0 .25rem 1.5rem #17223408;
  --mfc-gap: 1rem;
  --mfc-gutter: 1rem;
  --mfc-page-max: 112rem;
  --mfc-type-page: clamp(1.625rem, 1.4rem + .4vw, 2.125rem);
  --mfc-type-article: clamp(1.5rem, 1.2rem + .7vw, 2.25rem);
  --mfc-type-section: 1.375rem;
  --mfc-type-card: 1.125rem;
  --mfc-type-body: .9375rem;
  --mfc-type-small: .8125rem;
  --mfc-type-caption: .75rem;
  --mfc-control-height: 2.5rem;
  --mfc-control-small: 2.125rem;
  --mfc-card-padding: 1.25rem;
  --mfc-section-gap: 2rem;
  font-family: var(--mfc-font);
  font-size: var(--mfc-type-body);
  line-height: 1.65;
  color: var(--mfc-text);
  background-color: #f6f8fa;
  min-height: 100vh;
  height: auto;
  overflow-x: visible;
  -webkit-text-size-adjust: 100%;
}
/* Native components; the :is() aliases below support existing CMS content only. */
.mfc-quadro .mfc-button { display: inline-flex; align-items: center; justify-content: center; gap: .5em; border: 0; background: var(--mfc-brand); color: #fff; cursor: pointer; text-decoration: none; }
.mfc-quadro .mfc-button:hover { background: var(--mfc-brand-hover); color: #fff; }
.mfc-quadro .mfc-button--secondary { background: #fff; color: var(--mfc-text); border: 1px solid var(--mfc-border); }
.mfc-quadro .mfc-button--secondary:hover { background: var(--mfc-surface-soft); color: var(--mfc-text); }
.mfc-quadro .mfc-panel { padding: var(--mfc-card-padding); border: 1px solid var(--mfc-border); background: var(--mfc-surface); }
.mfc-quadro .mfc-form .field { margin-bottom: 1rem; }
.mfc-quadro .mfc-form input:not([type="checkbox"]):not([type="radio"]),
.mfc-quadro .mfc-form textarea { width: 100%; }
.mfc-quadro .mfc-table { width: 100%; border-collapse: collapse; }
.mfc-quadro .mfc-table th { text-align: start; }
.mfc-quadro .mfc-table :where(th, td) { border-bottom: 1px solid var(--mfc-border); }
.mfc-quadro .mfc-input { position: relative; display: flex; }
.mfc-quadro .mfc-tabs { list-style: none; margin: 0; padding: 0; }
.mfc-quadro .mfc-tabs > li > a { display: block; }
.mfc-quadro :is(.mfc-container, .wojo-grid) {
  box-sizing: border-box;
  /*width: calc(100% - var(--mfc-gutter) * 2);*/
  width: 1440px;
  max-width: var(--mfc-page-max);
  margin-inline: auto;
  padding: 0;
  min-width: 0;
}
.mfc-quadro :is(.mfc-container, .wojo-grid) :is(.mfc-container, .wojo-grid) {
  width: 100%;
  max-width: none;
}
.mfc-quadro :where(h1, h2, h3, h4, h5, h6, :is(.mfc-heading, .wojo.header), :is(.mfc-button, .wojo.button), :is(.mfc-badge, .wojo.label), :is(.mfc-table, .wojo.table) th, input, textarea, select) {
  font-family: var(--mfc-font);
}
.mfc-quadro :is(.mfc-heading, .wojo.header, .mfc-badge, .wojo.label) { font-family: var(--mfc-font); }
.mfc-quadro :where(h1, h2, h3, h4, h5, h6) {
  color: #172234;
  line-height: 1.3;
  overflow-wrap: anywhere;
  font-weight: 650;
}
.mfc-quadro h1 { font-size: var(--mfc-type-page); }
.mfc-quadro h2 { font-size: var(--mfc-type-section); }
.mfc-quadro h3 { font-size: var(--mfc-type-card); }
.mfc-quadro h4 { font-size: 1rem; }
.mfc-quadro p { line-height: 1.75; }
.mfc-quadro a { color: var(--mfc-brand); transition: color .15s ease, background-color .15s ease, box-shadow .15s ease; }
.mfc-quadro a:hover { color: var(--mfc-brand-hover); }
.mfc-quadro :where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 3px solid #2269b3;
  outline-offset: 3px;
}
.mfc-quadro .mfc-skip-link {
  position: fixed;
  z-index: 100000;
  top: .75rem;
  left: 1rem;
  padding: .75rem 1rem;
  border-radius: var(--mfc-radius);
  color: #fff;
  background: #172234;
  transform: translateY(-180%);
}
.mfc-quadro .mfc-skip-link:focus { transform: translateY(0); }
.mfc-quadro #page { padding-block: 1.5rem var(--mfc-section-gap); min-width: 0; }
.mfc-quadro #page:focus { outline: none; }
.mfc-quadro #page > :is(.mfc-container, .wojo-grid) > :is(.mfc-content, .wojo-content-full),
.mfc-quadro .mfc-page-layout > div > :is(.mfc-content, .wojo-content-full) { padding: 0; }
.mfc-quadro .mfc-page-layout { display: grid; gap: var(--mfc-gap); }
.mfc-quadro .mfc-page-layout:after { display: none; }
.mfc-quadro .mfc-page-layout > div { float: none; width: auto; min-width: 0; }
.mfc-quadro .mfc-page-layout > .mfc-content-column { order: -1; }
.mfc-quadro .mfc-module,
.mfc-quadro .mfc-page-body { min-width: 0; overflow-wrap: anywhere; }
.mfc-quadro .mfc-page-body > p { max-width: 75ch; }
.mfc-quadro .mfc-page-body img { max-width: 100%; height: auto; }
.mfc-quadro .mfc-page-body > :is(h2, h3) { margin-block: var(--mfc-section-gap) .875rem; letter-spacing: -.015em; }
.mfc-quadro .mfc-page-body > :is(h2, h3):first-child { margin-top: 0; }
.mfc-quadro .mfc-page-body > :is(ul, ol) { max-width: 75ch; padding-inline-start: 1.5rem; }
.mfc-quadro .mfc-page-body > :is(ul, ol) > li { margin-block: .5rem; }
.mfc-quadro .mfc-page-body > blockquote { margin: 1.5rem 0; padding: 1rem 1.5rem; border: 0; border-inline-start: 3px solid var(--mfc-brand); background: #fff; border-radius: 0 var(--mfc-radius) var(--mfc-radius) 0; color: #46566d; max-width: 75ch; }
.mfc-quadro .mfc-page-body :is(video, iframe) { max-width: 100%; }
.mfc-quadro .mfc-page-body iframe:is([src*="youtube.com/embed/"], [src*="youtube-nocookie.com/embed/"], [src*="player.vimeo.com/"]) { width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; border-radius: var(--mfc-radius); }
.mfc-quadro .mfc-page-body pre { max-width: 100%; overflow-x: auto; padding: 1.25rem; border-radius: var(--mfc-radius); background: #eef2f6; font-size: .875rem; }
.mfc-quadro .mfc-page-body > p a { text-decoration: underline; text-decoration-color: #c8202540; text-underline-offset: .2em; }
.mfc-quadro .mfc-page-body > p a:hover { text-decoration-color: currentColor; }
.mfc-quadro #leftwidget > :is(.mfc-content, .wojo-content-full),
.mfc-quadro #rightwidget > :is(.mfc-content, .wojo-content-full) { padding: 0; }
.mfc-quadro :where(#leftwidget, #rightwidget) aside {
  margin-bottom: var(--mfc-gap);
  padding: var(--mfc-card-padding);
  border: 1px solid var(--mfc-border);
  border-radius: var(--mfc-radius);
  background-color: var(--mfc-surface);
  overflow-wrap: anywhere;
}

/* Site chrome shares the page container; CMS menu items keep their own links. */
.mfc-quadro #header { position: relative; z-index: 9100; background: #fff; }
.mfc-quadro #header .middle-bar { padding: 0; min-height: 0; background: #fff; border-bottom: 1px solid var(--mfc-border); }
.mfc-quadro #header .top-bar { position: relative; z-index: 2; background: linear-gradient(to bottom, #cb221c 50%, #a11c17b3 100%); border: 0; box-shadow: inset 0 -1px 0 #fff3; }
.mfc-quadro #header .top-bar .mfc-user-menu { margin: 0; font-size: .75rem; }
.mfc-quadro #header .top-bar .mfc-container { display: flex; flex-wrap: wrap; align-items: center; gap: .125rem; max-width: 100%; }
.mfc-quadro #header .top-bar .right.menu { float: none; margin-inline-start: auto; }
.mfc-quadro #header .mfc-header-tools { display: flex; align-items: center; gap: .375rem; flex: 0 0 auto; }
.mfc-quadro #header .mfc-topbar-search { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; min-height: 2.25rem; padding: 0; border: 0; border-radius: var(--mfc-radius); background: transparent; color: #ffffffe0; }
.mfc-quadro #header .mfc-topbar-search:hover { color: #fff; background: transparent; }
.mfc-quadro #header .mfc-topbar-search > .icon { margin: 0; font-size: .9375rem; line-height: 1; }
.mfc-quadro #header .mfc-user-menu .mfc-container > .item { display: inline-flex; align-items: center; gap: .375rem; padding: .5rem .625rem; min-height: 2.25rem; box-sizing: border-box; color: #fff; line-height: 1.4; }
.mfc-quadro #header .mfc-user-menu .mfc-container > a:hover { color: #fff; background: #fff2; }
.mfc-quadro #header .mfc-user-menu .mfc-container > .mfc-user-greeting { padding-inline-start: 0; margin-inline-end: .25rem; }
.mfc-quadro .mfc-user-greeting strong { color: inherit; font-weight: 600; }
.mfc-quadro #header .top-bar .item > .icon { color: inherit; margin: 0; }
.mfc-quadro #header .mfc-user-menu .mfc-language-switch { position: relative; padding: 0; color: #fff; }
.mfc-quadro .mfc-language-toggle { display: inline-flex; align-items: center; gap: .75rem; min-height: 2.25rem; padding: .5rem .625rem; border: 0; border-radius: var(--mfc-radius); background: transparent; color: inherit; font: inherit; cursor: pointer; }
.mfc-quadro .mfc-language-toggle:hover,
.mfc-quadro .mfc-language-toggle[aria-expanded="true"] { background: #fff2; color: #fff; }
.mfc-quadro .mfc-language-toggle > .icon { float: none; width: auto; margin: 0; }
.mfc-quadro .mfc-language-toggle > .globe.icon { font-size: .9375rem; }
.mfc-quadro .mfc-language-name { max-width: 10rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mfc-quadro .mfc-language-switch > .menu { box-sizing: border-box; top: 100%; inset-inline-end: 0; inset-inline-start: auto; width: max-content; min-width: 11rem; max-width: calc(100vw - 2rem); max-height: min(24rem, calc(100dvh - 4rem)); overflow-y: auto; overscroll-behavior: contain; margin: 0; padding: .375rem; background: #fff; border: 1px solid var(--mfc-border); border-radius: 0 0 var(--mfc-radius) var(--mfc-radius); box-shadow: 0 .5rem 1.25rem #17223416; }
.mfc-quadro .mfc-language-switch > .menu[hidden] { display: none; }
.mfc-quadro .mfc-language-switch > .menu > .item { display: flex; align-items: center; gap: .625rem; padding: .625rem .75rem !important; border: 0; border-radius: var(--mfc-radius); white-space: normal; overflow-wrap: anywhere; color: var(--mfc-text); font-size: .8125rem; line-height: 1.5; }
.mfc-quadro .mfc-language-switch > .menu > .item > .icon { flex: none; width: 1rem; text-align: center; }
.mfc-quadro .mfc-language-switch > .menu > .item > .check.icon { margin-inline-start: auto; color: var(--mfc-brand); font-size: .75rem; }
.mfc-quadro .mfc-language-switch > .menu > .item:is(:hover, .active) { color: var(--mfc-brand); background: var(--mfc-surface-soft); }

/* Global search opens from the top bar and submits to the existing results page. */
html.mfc-site-search-open { overflow: hidden; }
.mfc-quadro .mfc-site-search:not([open]) { display: none; }
.mfc-quadro .mfc-site-search { position: fixed; inset: clamp(2rem, 12vh, 7rem) 0 auto; box-sizing: border-box; width: min(38rem, calc(100vw - 2rem)); max-width: calc(100vw - 2rem); max-height: calc(100vh - clamp(2rem, 12vh, 7rem) - 1rem); max-height: calc(100dvh - clamp(2rem, 12vh, 7rem) - 1rem); margin: 0 auto; padding: 1.5rem; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--mfc-border); border-radius: var(--mfc-radius); background: var(--mfc-surface); color: var(--mfc-text); box-shadow: 0 1rem 4rem #17223433; }
.mfc-quadro .mfc-site-search::backdrop { background: #17223499; }
.mfc-quadro .mfc-site-search[open],
.mfc-quadro .mfc-site-search[open]::backdrop { animation: mfc-site-search-enter 140ms ease-out; }
.mfc-quadro .mfc-site-search-heading { margin-bottom: 1.25rem; }
.mfc-quadro .mfc-site-search-heading h2 { margin: 0; font-size: 1.5rem; }
.mfc-quadro .mfc-site-search-form { margin: 0; }
.mfc-quadro .mfc-site-search-form > label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.mfc-quadro .mfc-site-search-form .mfc-search-field input:focus { outline: none; box-shadow: none; }
.mfc-quadro .mfc-site-search-error { margin: .625rem 0 0; color: var(--mfc-brand); font-size: .8125rem; line-height: 1.5; }
.mfc-quadro .mfc-site-search-error[hidden] { display: none; }
.mfc-quadro .mfc-site-search-form input[aria-invalid="true"] { border-color: var(--mfc-brand); }
@keyframes mfc-site-search-enter { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 24rem) {
  .mfc-quadro .mfc-site-search { padding: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .mfc-quadro .mfc-site-search[open], .mfc-quadro .mfc-site-search[open]::backdrop { animation: none; }
}
.mfc-quadro .mfc-header-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: .5rem 1.5rem; padding-block: .875rem; }
.mfc-quadro .mfc-header-grid:after { display: none; }
.mfc-quadro .mfc-header-grid > div { width: auto; float: none; min-width: 0; }
.mfc-quadro .mfc-header-brand { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.mfc-quadro #header .logo { margin: 0; float: none; }
.mfc-quadro #header .logo .wojo-content { padding: 0; }
.mfc-quadro #header .logo a { display: inline-flex; align-items: center; }
.mfc-quadro #header .logo img { display: block; width: auto; height: auto; max-width: clamp(8rem, 12vw, 10rem); max-height: 2.75rem; }
.mfc-quadro #menu-button { display: inline-flex; justify-content: center; align-items: center; flex: 0 0 auto; width: 2.75rem; height: 2.75rem; margin: 0; padding: 0; border: 1px solid var(--mfc-border); border-radius: var(--mfc-radius); background: #fff; color: var(--mfc-text); cursor: pointer; }
.mfc-quadro #menu-button:before { font-size: 1.25rem; line-height: 1; }
.mfc-quadro #menu-button[aria-expanded="true"]:before { content: "\f00d"; }
.mfc-quadro #menu { --mfc-nav-active-bg: #f5f5f5; width: 100%; }
.mfc-quadro #menu > li { min-width: 0; max-width: 100%; border: 0; }
.mfc-quadro #menu a { white-space: normal; overflow-wrap: anywhere; }
/* Navigation links stay separate from disclosure state and preserve their destinations. */
.mfc-quadro #menu > li > a { position: relative; display: block; box-sizing: border-box; min-height: 3.25rem; padding: .625rem .875rem; border-radius: var(--mfc-radius); text-align: start; font-weight: 500; color: #37465a; }
.mfc-quadro #menu > li > a:has(> i) { padding-inline-start: 2.5rem; }
.mfc-quadro #menu > li > a > i { position: absolute; inset-inline-start: .875rem; top: 50%; transform: translateY(-50%); margin: 0; font-size: 1rem; color: #8290a1; }
.mfc-quadro #menu > li > a strong { display: block; font-size: .875rem; font-weight: 650; text-transform: none; line-height: 1.4; }
.mfc-quadro #menu > li > a small { display: block; margin: .125rem 0 0; font-size: .6875rem; line-height: 1.4; color: #68768a; }
.mfc-quadro #menu > li > a.has-submenu { padding-inline-end: 1.75rem; }
.mfc-quadro #menu > li > a > .sub-arrow { display: block; top: 50%; bottom: auto; left: auto; right: .5rem; width: 1rem; height: 1rem; margin: 0; transform: translateY(-50%); font-size: .75rem; line-height: 1; }
.mfc-quadro #menu > li > a > .sub-arrow > i { display: block; margin: 0; font-size: inherit; line-height: 1; }
.mfc-quadro #menu > li > a:hover,
.mfc-quadro #menu > li > a.active,
.mfc-quadro #menu > li > a.highlighted,
.mfc-quadro #menu > li.is-open > a { background: var(--mfc-nav-active-bg); color: var(--mfc-brand); }
.mfc-quadro #menu > li > a.active { box-shadow: none; }
.mfc-quadro #menu > li > a:is(:hover,.active,.highlighted) > i,
.mfc-quadro #menu > li.is-open > a > i { color: var(--mfc-brand); }
.mfc-quadro #menu li > a :where(i, strong, small) { animation: none; }
.mfc-quadro #menu [hidden] { display: none !important; }
.mfc-quadro #menu ul.menu-submenu { display: none; position: absolute; top: 100%; left: 0; right: auto; z-index: 1; box-sizing: border-box; width: max-content; min-width: 14rem; max-width: calc(100vw - 2rem); margin: 0; padding: .5rem; border: 1px solid var(--mfc-border); border-radius: var(--mfc-radius); border-top-left-radius: 0; box-shadow: 0 .75rem 2rem #1722341a; background: #fff; transform: translate(var(--mfc-submenu-x, 0px), var(--mfc-submenu-y, 0px)); }
.mfc-quadro #menu[data-nav-ready] ul.menu-submenu:not([hidden]),
.mfc-quadro #menu:not([data-nav-ready]) li:is(:hover,:focus-within) > ul { display: flow-root; }
.mfc-quadro #menu ul.menu-submenu:not(:has(ul)) { max-height: calc(100vh - var(--mfc-submenu-top, 8rem) - 1rem); max-height: calc(100dvh - var(--mfc-submenu-top, 8rem) - 1rem); overflow-y: auto; overscroll-behavior: contain; }
.mfc-quadro #menu ul li > ul.menu-submenu { top: 0; left: 100%; }
.mfc-quadro #menu > li.opens-left > ul.menu-submenu { left: auto; right: 0; }
.mfc-quadro #menu ul > li.opens-left > ul.menu-submenu { left: auto; right: 100%; }
.mfc-quadro #menu .mfc-submenu-toggle { position: absolute; top: .375rem; right: .375rem; display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; margin: 0; padding: 0; border: 0; border-radius: var(--mfc-radius); background: transparent; color: var(--mfc-muted); cursor: pointer; }
.mfc-quadro #menu .mfc-submenu-toggle:hover,
.mfc-quadro #menu .mfc-submenu-toggle[aria-expanded="true"] { background: var(--mfc-nav-active-bg); color: var(--mfc-brand); }
.mfc-quadro #menu .mfc-submenu-toggle > i { margin: 0; font-size: .875rem; line-height: 1; }
.mfc-quadro #menu ul a.has-submenu { padding-inline-end: 3.5rem; }
.mfc-quadro #menu ul .sub-arrow { position: absolute; top: 50%; bottom: auto; right: .875rem; left: auto; transform: translateY(-50%) rotate(-90deg); }
.mfc-quadro #menu ul .sub-arrow > i { margin: 0; }
.mfc-quadro #menu li.is-open > a > .sub-arrow > i,
.mfc-quadro #menu li.is-open > .mfc-submenu-toggle > i { transform: rotate(180deg); }
.mfc-quadro #menu ul a { display: block; text-align: start; padding: .75rem 1rem; border-radius: var(--mfc-radius); color: var(--mfc-text); line-height: 1.5; }
.mfc-quadro #menu ul a small { display: block; margin: .125rem 0 0; color: var(--mfc-muted); font-size: .75rem; font-weight: 400; }
.mfc-quadro #menu ul a:is(:hover,.active),
.mfc-quadro #menu ul li.is-open > a { color: var(--mfc-brand); background: var(--mfc-nav-active-bg); }
.mfc-quadro #menu a:is(:hover,.active) small,
.mfc-quadro #menu li.is-open > a small { color: inherit; }

/* Keep Quadro's original dark-to-light page header and CMS background images. */
.mfc-quadro .mfc-page-header { position: relative; background: linear-gradient(to right, #000 50%, #fcfcfc 100%) repeat scroll 0 0 rgba(0, 0, 0, 0); background-repeat: no-repeat; background-position: 50% 0; background-size: cover; color: #fff; border-bottom: 1px solid var(--mfc-border); }
.mfc-quadro .mfc-subheader-content { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem 2rem; align-items: center; padding: 1rem 0; }
.mfc-quadro .mfc-subheader-content.mfc-heading-crumbs { padding-bottom: 0; }
.mfc-quadro .mfc-page-heading { grid-column: 1; min-width: 0; }
.mfc-quadro .mfc-page-heading :is(h1, .mfc-page-title) { margin: 0; color: #fff; font-size: var(--mfc-type-page); font-weight: 700; letter-spacing: -.025em; line-height: 1.25; }
.mfc-quadro .mfc-page-description { margin: .5rem 0 0; max-width: 70ch; font-size: .875rem; line-height: 1.6; color: #eee; }
.mfc-quadro .mfc-breadcrumb { box-sizing: border-box; position: static; grid-column: 1 / -1; justify-self: end; align-self: end; display: flex; flex-wrap: wrap; align-items: baseline; gap: .375rem; max-width: 100%; margin: 0; padding: .375rem .875rem; width: auto; background: var(--mfc-brand); color: #fff; font-size: .75rem; line-height: 1.7; }
.mfc-quadro .mfc-breadcrumb .section { display: inline; color: #fff; text-transform: none; }
.mfc-quadro .mfc-breadcrumb-trail { display: flex; flex-wrap: wrap; align-items: baseline; gap: .375rem; min-width: 0; overflow-wrap: anywhere; }
.mfc-quadro .mfc-breadcrumb a.section:hover { color: #fff; text-decoration: underline; }
.mfc-quadro .mfc-breadcrumb .active { color: #fff; }
.mfc-quadro .mfc-breadcrumb .divider { display: inline-block; margin-inline: .125rem; color: inherit; }
.mfc-quadro .mfc-breadcrumb .divider:before { content: "\00bb"; }
.mfc-quadro .mfc-search-field { position: relative; }
.mfc-quadro .mfc-search-field input { width: 100%; min-height: var(--mfc-control-height); padding: .5rem 2.75rem .5rem .875rem; border: 1px solid #d5dde6; border-radius: var(--mfc-radius); background: #f8fafc; color: var(--mfc-text); font: inherit; font-size: .875rem; box-sizing: border-box; box-shadow: none; }
.mfc-quadro .mfc-search-field input:focus { background: #fff;}
.mfc-quadro #livesearch input:focus { outline: none; box-shadow: none; }
.mfc-quadro .mfc-search-field input::placeholder { color: #6a7686; opacity: 1; }
.mfc-quadro .mfc-search-submit { position: absolute; inset: 0 0 0 auto; display: grid; place-items: center; width: var(--mfc-control-height); padding: 0; border: 0; border-radius: var(--mfc-radius); color: #526174; background: transparent; cursor: pointer; }
.mfc-quadro .mfc-search-submit .icon { margin: 0; }
.mfc-quadro .mfc-search-submit:hover { background: #e9edf2; color: var(--mfc-brand); }
.mfc-quadro #livesearch { float: none; position: relative; margin: .25rem 0 0; width: 100%; }
.mfc-quadro #suggestions { top: calc(100% + .5rem); width: 100%; max-width: 28rem; z-index: 9002; color: var(--mfc-text); }
.mfc-quadro #suggestions[hidden] { display: none; }
.mfc-quadro #suggestions .mfc-search-suggestions { margin: 0; padding: .375rem; list-style: none; max-height: min(24rem, 55vh); overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--mfc-border); border-radius: var(--mfc-radius); background: #fff; box-shadow: 0 .5rem 1.5rem #17223426; }
.mfc-quadro #suggestions .mfc-search-suggestions a { display: block; padding: .75rem; border-radius: var(--mfc-radius); color: var(--mfc-text); line-height: 1.5; overflow-wrap: anywhere; }
.mfc-quadro #suggestions .mfc-search-suggestions a:hover,
.mfc-quadro #suggestions .mfc-search-suggestions a:focus-visible { background: var(--mfc-surface-soft); }
.mfc-quadro #suggestions mark { color: inherit; background: #fff0bd; }
.mfc-quadro .mfc-page-header--image { background-color: #172234; }
.mfc-quadro .mfc-page-header--image:before { content: ""; position: absolute; inset: 0; background: #101d32bf; pointer-events: none; }
.mfc-quadro .mfc-page-header--image :is(h1,.mfc-page-description,.mfc-breadcrumb .section) { color: #fff; }
.mfc-quadro .mfc-page-header--image .mfc-breadcrumb .divider { color: #c7d1df; }
@media (min-width: 768px) {
  .mfc-quadro .mfc-page-header:not(.mfc-page-header--image) .mfc-subheader-content:not(.mfc-heading-search):not(.mfc-heading-crumbs) .mfc-page-heading { max-width: 70%; }
}
@media (max-width: 767px) {
  /* Text spans the full width on phones; keep the gradient's light end legible. */
  .mfc-quadro .mfc-page-header:not(.mfc-page-header--image) { background-image: linear-gradient(to right, #000 50%, #555 100%); }
}

/* Existing Wojo controls keep their classes, events and semantic variants. */
.mfc-quadro :is(.mfc-button, .wojo.button) { font-family: var(--mfc-font); border-radius: var(--mfc-radius); padding: .625rem 1rem; font-size: .875rem; font-weight: 600; line-height: 1.25; min-height: var(--mfc-control-height); box-sizing: border-box; box-shadow: 0 1px 2px rgba(23, 34, 52, .1); text-shadow: none; transition: background-color .15s ease, box-shadow .15s ease; }
.mfc-quadro .wojo.danger.button { background-color: var(--mfc-brand); color: #fff; }
.mfc-quadro .wojo.danger.button:hover { background-color: var(--mfc-brand-hover); }
.mfc-quadro .wojo.positive.button { background: #363b3f; color: #fff; }
.mfc-quadro .wojo.positive.button:hover { background: #252b30; }
.mfc-quadro .wojo.basic.button { background: #fff; color: var(--mfc-text); box-shadow: inset 0 0 0 1px var(--mfc-border); }
.mfc-quadro .wojo.basic.button:hover { background: var(--mfc-surface-soft); box-shadow: inset 0 0 0 1px #aeb9c8; }
.mfc-quadro .wojo.small.button { min-height: var(--mfc-control-small); font-size: var(--mfc-type-small); padding: .5rem .75rem; }
.mfc-quadro .wojo.icon.button { padding-inline: .875rem; }
.mfc-quadro .wojo.circular.button { border-radius: 999px; }
.mfc-quadro .wojo.labeled.icon.button { padding-left: 3.25em; }
.mfc-quadro .wojo.disabled.button,
.mfc-quadro :is(.mfc-button, .wojo.button):disabled { cursor: not-allowed; opacity: .5; }
.mfc-quadro :is(.mfc-form, .wojo.form) :is(input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="tel"], input[type="date"], input[type="search"], textarea),
.mfc-quadro :is(.mfc-input, .wojo.input) input {
  font-family: var(--mfc-font);
  font-size: .9375rem;
  line-height: 1.5;
  min-height: var(--mfc-control-height);
  box-sizing: border-box;
  border: 1px solid #b9c3d0;
  border-radius: var(--mfc-radius);
  color: var(--mfc-text);
  background-color: #fff;
  padding: .5rem .75rem;
  box-shadow: none;
}
.mfc-quadro .wojo.icon.input input { padding-right: 2.75rem; }
.mfc-quadro .wojo .input .icon-prepend ~ input,
.mfc-quadro .wojo .textarea .icon-prepend ~ textarea { padding-left: 2.75rem; }
.mfc-quadro .wojo .input .icon-append ~ input,
.mfc-quadro .wojo .textarea .icon-append ~ textarea { padding-right: 2.75rem; }
.mfc-quadro .wojo .input .captcha-append ~ input { padding-right: 7rem; }
.mfc-quadro .wojo .input .captcha-append { max-width: 5.5rem; max-height: 2rem; top: .375rem; }
.mfc-quadro :is(.mfc-form, .wojo.form) :is(input, textarea):focus,
.mfc-quadro :is(.mfc-input, .wojo.input) input:focus { border-color: #2269b3; box-shadow: 0 0 0 3px rgba(34, 105, 179, .12); }
.mfc-quadro :is(.mfc-form, .wojo.form) :where(input, textarea)::placeholder { color: #6a7686; opacity: 1; }
.mfc-quadro :is(.mfc-form, .wojo.form) .field > label { color: #37465a; font-family: var(--mfc-font); font-size: var(--mfc-type-small); font-weight: 600; white-space: normal; }
.mfc-quadro .chosen-container { max-width: 100%; font: inherit; }
.mfc-quadro .chosen-container-single .chosen-single { min-height: var(--mfc-control-height); height: auto; padding: .5rem .75rem; border: 1px solid #b9c3d0; border-radius: var(--mfc-radius); background: #fff; box-shadow: none; color: var(--mfc-text); font: inherit; line-height: 1.5; }
.mfc-quadro .wojo.small.form .chosen-container-single .chosen-single { font-size: var(--mfc-type-body); }
.mfc-quadro .chosen-container-single .chosen-single div { top: 50%; height: 1rem; transform: translateY(-50%); }
.mfc-quadro .chosen-container-single .chosen-single div b:before { line-height: 1rem; }
.mfc-quadro .chosen-container .chosen-drop { border-color: #b9c3d0; border-radius: 0 0 var(--mfc-radius) var(--mfc-radius); box-shadow: 0 .5rem 1.5rem rgba(23, 34, 52, .1); }
.mfc-quadro .chosen-container-active .chosen-single { border-color: #2269b3; }
.mfc-quadro :is(.mfc-panel, .wojo.segment) { border-radius: var(--mfc-radius); border-color: var(--mfc-border); box-shadow: 0 1px 3px rgba(23, 34, 52, .04); }
.mfc-quadro .wojo.basic.segment { box-shadow: none; }
.mfc-quadro :is(.mfc-table, .wojo.table) { color: var(--mfc-text); font-size: .875rem; }
.mfc-quadro :is(.mfc-table, .wojo.table) th { font-family: var(--mfc-font); font-weight: 600; color: #4b586a; background-color: var(--mfc-surface-soft); text-shadow: none; }
.mfc-quadro :is(.mfc-table, .wojo.table) :where(th, td) { padding: .75rem .875rem; border-color: var(--mfc-border); }
.mfc-quadro :is(.mfc-table, .wojo.table) tbody tr:nth-child(2n) { background-color: rgba(23, 34, 52, .02); }
.mfc-quadro .mfc-table-scroll { width: 100%; overflow-x: auto; border: 1px solid var(--mfc-border); border-radius: var(--mfc-radius); background: #fff; -webkit-overflow-scrolling: touch; }
.mfc-quadro .mfc-table-scroll > table { margin: 0; }
.mfc-quadro :is(.mfc-message, .wojo.message) { border-radius: var(--mfc-radius); line-height: 1.65; }
.mfc-quadro :is(.mfc-tabs, .wojo.tabs) { display: flex; flex-wrap: wrap; gap: .25rem; border-color: var(--mfc-border); }
.mfc-quadro :is(.mfc-tabs, .wojo.tabs)::after { display: none; }
.mfc-quadro :is(.mfc-tabs, .wojo.tabs) > li { float: none; }
.mfc-quadro :is(.mfc-tabs, .wojo.tabs) > li > a { font-family: var(--mfc-font); padding: .75rem 1rem; }
.mfc-quadro #pagination { margin-block: 1.5rem .5rem; }
/* Shared footer: CMS bottom widgets, contextual columns, then useful links and copyright. */
.mfc-quadro #mfc-page-footer { --mfc-footer-surface: #f0f2f5; --mfc-footer-text: #243043; --mfc-footer-muted: #5d6a7d; --mfc-footer-line: #dce2e9; margin-top: 1.5rem; border-top: 1px solid var(--mfc-border); background: #fff; color: var(--mfc-muted); }
.mfc-quadro #mfc-page-footer.mfc-footer-home { --mfc-footer-surface: #1d2530; --mfc-footer-text: #f5f7fa; --mfc-footer-muted: #c0c9d4; --mfc-footer-line: #394450; }
.mfc-quadro #mfc-page-footer .mfc-footer-main { padding-block: 2.5rem; background: var(--mfc-footer-surface); color: var(--mfc-footer-text); }
.mfc-quadro #mfc-page-footer .mfc-footer-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; align-items: start; }
.mfc-quadro #mfc-page-footer .mfc-footer-brand { min-width: 0; }
.mfc-quadro #mfc-page-footer .mfc-footer-brand > .logo { display: inline-flex; align-items: center; justify-content: center; width: auto; max-width: 9rem; margin: 0 0 1.125rem; color: #243043; }
.mfc-quadro #mfc-page-footer .mfc-footer-brand > .logo img { display: block; max-width: 100%; max-height: 2.25rem; width: auto; height: auto; }
.mfc-quadro #mfc-page-footer .mfc-footer-brand h2 { margin: 0 0 .625rem; color: var(--mfc-footer-text); font-size: 1.125rem; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.mfc-quadro #mfc-page-footer .mfc-footer-brand p { max-width: 48ch; margin: 0; color: var(--mfc-footer-muted); font-size: .875rem; line-height: 1.8; overflow-wrap: anywhere; }
.mfc-quadro #mfc-page-footer .mfc-footer-group { min-width: 0; }
.mfc-quadro #mfc-page-footer .mfc-footer-group h2 { margin: 0 0 .75rem; padding: 0 0 .75rem; border-bottom: 1px solid var(--mfc-footer-line); color: var(--mfc-footer-text); font-size: .9375rem; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.mfc-quadro #mfc-page-footer .mfc-footer-group ul { display: grid; gap: .125rem; margin: 0; padding: 0; list-style: none; }
.mfc-quadro #mfc-page-footer .mfc-footer-group li { min-width: 0; margin: 0; padding: 0; }
.mfc-quadro #mfc-page-footer .mfc-footer-group a { display: flex; align-items: center; min-height: 2rem; min-width: 0; width: 100%; max-width: 100%; padding-block: .25rem; color: var(--mfc-footer-muted); font-size: .875rem; line-height: 1.4; }
.mfc-quadro #mfc-page-footer .mfc-footer-link-label { display: block; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mfc-quadro #mfc-page-footer .mfc-footer-group a:hover,
.mfc-quadro #mfc-page-footer .mfc-footer-group a[aria-current="page"] { color: var(--mfc-footer-text); text-decoration: underline; text-underline-offset: .25em; }
.mfc-quadro #mfc-page-footer .mfc-footer-bottom { display: grid; gap: .875rem; padding-block: 1.125rem; }
.mfc-quadro #mfc-page-footer .mfc-footer-pages { display: flex; flex-wrap: wrap; align-items: center; gap: .125rem 1.25rem; min-width: 0; }
.mfc-quadro #mfc-page-footer .mfc-footer-pages a { display: inline-flex; align-items: center; min-height: 2.5rem; color: #526174; font-size: .8125rem; line-height: 1.5; overflow-wrap: anywhere; }
.mfc-quadro #mfc-page-footer .mfc-footer-pages a:hover,
.mfc-quadro #mfc-page-footer .mfc-footer-pages a[aria-current="page"] { color: var(--mfc-brand); text-decoration: underline; text-underline-offset: .25em; }
.mfc-quadro #mfc-page-footer .mfc-footer-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1.5rem; min-width: 0; }
.mfc-quadro #mfc-page-footer .mfc-footer-links { display: flex; flex-wrap: wrap; gap: .375rem; }
.mfc-quadro #mfc-page-footer .mfc-footer-links a { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border: 1px solid var(--mfc-border); border-radius: var(--mfc-radius); background: #fff; color: #536174; }
.mfc-quadro #mfc-page-footer .mfc-footer-links a:hover { background: var(--mfc-surface-soft); color: var(--mfc-brand); }
.mfc-quadro #mfc-page-footer .mfc-footer-links .icon { width: auto; height: auto; margin: 0; padding: 0; background: transparent; color: inherit; }
.mfc-quadro #mfc-page-footer .mfc-footer-links svg { display: block; fill: currentColor; }
.mfc-quadro #mfc-page-footer .copyright { margin: 0; padding: 0; background: transparent; color: var(--mfc-muted); text-align: start; font-size: var(--mfc-type-caption); line-height: 1.8; overflow-wrap: anywhere; }
.mfc-quadro #mfc-page-footer a:focus-visible { outline: 2px solid #7b92b1; outline-offset: 3px; }
.mfc-quadro #mfc-page-footer #botwidget:empty,
.mfc-quadro #mfc-page-footer #botwidget:not(:has(.mfc-bottom-cell)) { display: none; }
.mfc-quadro #mfc-page-footer .mfc-bottom-widgets { border-top: 0; }
@media (min-width: 40rem) {
  .mfc-quadro #mfc-page-footer .mfc-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 2.5rem; }
}
@media (min-width: 40rem) and (max-width: 63.999rem) {
  .mfc-quadro #mfc-page-footer.mfc-footer-contextual .mfc-footer-brand,
  .mfc-quadro #mfc-page-footer.mfc-footer-contextual .mfc-footer-group:only-of-type { grid-column: 1 / -1; }
}
@media (min-width: 64rem) {
  .mfc-quadro #mfc-page-footer .mfc-footer-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 2.5rem; }
  .mfc-quadro #mfc-page-footer .mfc-footer-meta { justify-content: space-between; }
}
@media (pointer: coarse) {
  .mfc-quadro #mfc-page-footer .mfc-footer-group a,
  .mfc-quadro #mfc-page-footer .mfc-footer-pages a { min-height: 2.75rem; }
  .mfc-quadro #mfc-page-footer .mfc-footer-links a { width: 2.75rem; height: 2.75rem; }
}
.mfc-quadro #scrollUp { width: 2.75rem; height: 2.75rem; bottom: max(1rem, env(safe-area-inset-bottom)); right: max(1rem, env(safe-area-inset-left)); line-height: 2rem; border-radius: var(--mfc-radius); background: #243043; opacity: 1; }
.mfc-error-page #error-page { box-sizing: border-box; min-height: 100vh; height: auto; display: grid; align-items: center; padding-block: 3rem; background-image: none; background-color: #172234; box-shadow: none; }
.mfc-error-page #error-page .logo { padding-top: 0; }
.mfc-error-page #error-page .logo img { max-width: 11rem; height: auto; }
.mfc-error-page #error-page h1 { padding-top: 0; margin-block: 2rem; font-size: clamp(3rem, 8vw, 6rem); }
.mfc-error-page #error-page h3 { color: #dce3ec; font-size: 1.125rem; }
.mfc-error-page #error-page h3.primary { margin-top: 2rem; }

@media (min-width: 40rem) {
  body.mfc-quadro { --mfc-gutter: 1.5rem; --mfc-gap: 1.5rem; }
}
@media (min-width: 48rem) {
  .mfc-quadro .mfc-subheader-content:is(.mfc-heading-search, .mfc-heading-crumbs) { grid-template-columns: minmax(0, 1fr) minmax(15rem, 24%); }
  .mfc-quadro .mfc-page-heading { grid-column: 1; grid-row: 1; }
  .mfc-quadro #livesearch { grid-column: 2; grid-row: 1; max-width: 18rem; margin: 0; justify-self: end; }
  .mfc-quadro .mfc-heading-crumbs .mfc-page-heading { grid-row: 1 / span 2; align-self: center; padding-bottom: 1rem; }
  .mfc-quadro .mfc-heading-crumbs .mfc-breadcrumb { grid-column: 2; grid-row: 2; }
}
@media (min-width: 64rem) {
  body.mfc-quadro { --mfc-gutter: 2rem; }
  .mfc-quadro .mfc-header-grid { grid-template-columns: auto minmax(0, 1fr); gap: 1.5rem; padding-block: .25rem; }
  .mfc-quadro #menu-button { display: none; }
  .mfc-quadro #menu { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0; }
  .mfc-quadro #menu::after { display: none; }
  .mfc-quadro #menu > li { display: flex; float: none; flex: 0 1 clamp(6rem, 7.5vw, 7.5rem); min-width: 6rem; max-width: 7.5rem; }
  .mfc-quadro #menu > li + li { border-inline-start: 1px solid #eef0f3; }
  .mfc-quadro #menu > li > a,
  .mfc-quadro #menu > li > a:has(> i),
  .mfc-quadro #menu > li > a.has-submenu { width: 100%; max-width: none; min-height: 4.5rem; padding: .375rem .625rem 1rem; border-radius: 0; text-align: center; }
  .mfc-quadro #menu > li > a > i { position: static; display: block; transform: none; margin: 0 0 .25rem; color: #41464c; font-size: 1.375rem; line-height: 1; }
  .mfc-quadro #menu > li > a strong { font-size: .8125rem; text-transform: uppercase; line-height: 1.3; }
  .mfc-quadro #menu > li > a small { margin: 0; font-size: .6875rem; line-height: 1.4; }
  .mfc-quadro #menu > li > a > .sub-arrow { top: auto; right: auto; bottom: .125rem; left: 50%; transform: translateX(-50%); font-size: .625rem; }
  .mfc-quadro #menu > li.has-submenu-toggle > a { padding-inline-end: 2.25rem; }
  .mfc-quadro #menu > li > .mfc-submenu-toggle { top: 0; right: 0; bottom: 0; width: 2rem; height: 100%; border-inline-start: 1px solid #eef0f3; border-radius: 0; }
  .mfc-quadro .mfc-layout-left { grid-template-columns: minmax(14rem, 22%) minmax(0, 1fr); }
  .mfc-quadro .mfc-layout-right { grid-template-columns: minmax(0, 1fr) minmax(14rem, 22%); }
  .mfc-quadro .mfc-layout-both { grid-template-columns: minmax(12rem, 18%) minmax(0, 1fr) minmax(12rem, 18%); }
  .mfc-quadro .mfc-page-layout > .mfc-content-column { order: 0; }
  .mfc-quadro .mfc-layout-both > .mfc-sidebar-left { grid-column: 1; grid-row: 1; }
  .mfc-quadro .mfc-layout-both > .mfc-content-column { grid-column: 2; grid-row: 1; }
  .mfc-quadro .mfc-layout-both > .mfc-sidebar-right { grid-column: 3; grid-row: 1; }
}
@media (min-width: 80rem) {
  body.mfc-quadro { --mfc-gutter: 2.5rem; --mfc-gap: 2rem; }
}
@media (min-width: 96rem) {
  body.mfc-quadro { --mfc-gutter: 3rem; }
  .mfc-quadro .mfc-layout-left { grid-template-columns: minmax(16rem, 20%) minmax(0, 1fr); }
  .mfc-quadro .mfc-layout-right { grid-template-columns: minmax(0, 1fr) minmax(16rem, 20%); }
}
@media (min-width: 160rem) {
  .mfc-quadro .mfc-layout-left { grid-template-columns: minmax(18rem, 24rem) minmax(0, 1fr); }
  .mfc-quadro .mfc-layout-right { grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem); }
  .mfc-quadro .mfc-layout-both { grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr) minmax(16rem, 22rem); }
}
@media (max-width: 63.999rem) {
  .mfc-quadro #header .middle-bar { overflow: visible; }
  .mfc-quadro #menu { max-height: calc(100vh - var(--mfc-menu-offset, 8rem)); max-height: calc(100dvh - var(--mfc-menu-offset, 8rem)); overflow-y: auto; overscroll-behavior-y: contain; }
  .mfc-quadro .mfc-header-brand { position: sticky; top: 0; z-index: 2; padding-block: .25rem; background: #fff; }
  .mfc-quadro #menu.collapsed { display: none; }
  .mfc-quadro #menu > li { float: none; }
  .mfc-quadro #menu > li > a { padding: .875rem 1rem; min-height: 3.5rem; }
  .mfc-quadro #header #menu ul.menu-submenu { position: static; width: auto !important; max-width: none !important; min-width: 0 !important; }
  .mfc-quadro #menu ul { display: none; position: static; top: auto !important; left: auto !important; margin: 0 !important; width: auto !important; min-width: 0 !important; max-width: none !important; }
  .mfc-quadro #menu ul.menu-submenu { top: auto; left: auto; right: auto; max-height: none; transform: none; overflow: visible; border: 0; border-left: 2px solid var(--mfc-border); border-radius: 0; margin-left: 1rem !important; box-shadow: none; }
  .mfc-quadro #menu ul.menu-submenu:not(:has(ul)) { max-height: none; overflow: visible; }
  .mfc-quadro #menu > li.has-submenu-toggle > a { padding-inline-end: 3.75rem; }
  .mfc-quadro #header #menu ul > li { float: none; width: auto; box-shadow: none; }
}
@media (max-width: 39.999rem) {
  body.mfc-quadro { --mfc-control-height: 2.75rem; --mfc-control-small: 2.5rem; }
  .mfc-quadro :is(.mfc-form, .wojo.form) :is(input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="tel"], input[type="date"], input[type="search"], textarea, select),
  .mfc-quadro :is(.mfc-input, .wojo.input) input,
  .mfc-quadro .chosen-container .chosen-search input,
  .mfc-quadro .mfc-search-field input { font-size: 1rem; }
  .mfc-quadro #header .top-bar .item { padding: .625rem .5rem; }
  .mfc-quadro #header .top-bar :is(.mfc-container, .wojo-grid) > a:first-child { max-width: 100%; overflow-wrap: anywhere; }
  .mfc-quadro #page { padding-block: 1rem; }
  .mfc-quadro #header .mfc-user-greeting { display: none !important; }
  .mfc-quadro :is(.mfc-tabs, .wojo.tabs) > li > a { padding: .75rem; }
}
@media (prefers-reduced-motion: reduce) {
  .mfc-quadro *, .mfc-quadro *:before, .mfc-quadro *:after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
