/* generated shared stylesheet ownership */
:root { --generated-shared-stylesheet: 1; }
html, body { max-width: 100%; }
@media (max-width: 600px) {
  h1, h2, h3, p, a, button, li, span { overflow-wrap: anywhere; }
}
footer nav a { color: inherit; text-decoration: none; }
footer nav a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
footer [data-consent-manage], footer [data-consent-reopen], footer [data-consent-settings-open] { appearance: none; min-height: 2.75rem; padding: .6rem 1rem; border: 1px solid currentColor; border-radius: 999px; background: transparent; color: inherit; cursor: pointer; font: inherit; }

[data-header-search] [data-search-results] {
  display: grid;
  gap: .35rem;
  max-width: 900px;
  margin: .75rem auto 0;
  color: #000;
  font: 400 1rem/1.3 system-ui, sans-serif;
}
[data-header-search] [data-search-results] a {
  display: block;
  padding: .6rem .75rem;
  background: #f3f5fa;
  color: #064fd7;
  text-decoration: none;
}
[data-header-search] [data-search-results] a:hover,
[data-header-search] [data-search-results] a:focus-visible { background: #e8efff; color: #000; }
[data-header-search] [data-search-empty] { margin: .4rem 0 0; color: #4b5260; }

@media (min-width: 601px) {
  [data-header-search] [data-search-results] { position: relative; z-index: 1; }
}

/* Keep the homepage shell rules attached to helper-page hero navigation as well. */
:is(:is([data-homepage-region="01-site-header"], [data-helper-shell="header"]), [data-helper-shell="header"], [data-hero-navigation], .hero-navigation, .helper-hero-navigation, .hero-nav) .site-header__nav { display: flex; align-items: center; }
:is(:is([data-homepage-region="01-site-header"], [data-helper-shell="header"]), [data-helper-shell="header"], [data-hero-navigation], .hero-navigation, .helper-hero-navigation, .hero-nav) .site-header__nav-link { color: inherit; text-decoration: none; }

/* generated-shell:start */
html, body { margin: 0; min-width: 320px; width: 100%; }
*, *::before, *::after { box-sizing: border-box; }
[data-consent-banner] {
  position: fixed;
  inset: auto clamp(1rem, 4vw, 4rem) clamp(1rem, 4vw, 3rem);
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 1rem 1.25rem;
  border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
  border-radius: .75rem;
  background: #1b1012;
  color: #fff;
  box-shadow: 0 1rem 3rem rgb(0 0 0 / 28%);
  font: 500 1rem/1.4 system-ui, sans-serif;
}
[data-consent-banner][hidden] { display: none; }
[data-consent-banner] p { flex: 1 1 auto; margin: 0; }
[data-consent-banner] button {
  min-height: 2.75rem;
  padding: .6rem 1rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
}
[data-consent-banner] button:first-of-type { background: var(--consent-accent, #fff); color: #1b1012; }
[data-consent-banner] button:focus-visible { outline: 3px solid #f2c879; outline-offset: 2px; }
footer [data-consent-manage], footer [data-consent-reopen], footer [data-consent-settings-open] {
  appearance: none;
  min-height: 2.75rem;
  padding: .6rem 1rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
}
footer [data-consent-manage]:focus-visible, footer [data-consent-reopen]:focus-visible, footer [data-consent-settings-open]:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
@media (max-width: 640px) {
  [data-consent-banner] { align-items: stretch; flex-wrap: wrap; inset: auto .75rem .75rem; }
  [data-consent-banner] p { flex-basis: 100%; }
  [data-consent-banner] button { flex: 1 1 auto; }
  [data-nav-panel]:not(.is-open):not([data-nav-panel-open]) { display: none !important; }
  [data-nav-panel].is-open, [data-nav-panel][data-nav-panel-open] { display: var(--nav-open-display, flex) !important; }
}
/* generated-shell:end */
[data-consent-theme="ff2ngu"] { --consent-accent: hsl(246 78% 72%); --consent-radius: 11px; border-radius: var(--consent-radius); }
[data-consent-layout="split"] { inset: auto 0 0; border-width: 1px 0 0; border-radius: 0; padding: 1.25rem clamp(1rem, 7vw, 7rem); justify-content: space-between; }
[data-consent-layout="split"] [data-consent-copy] { max-width: 42rem; }
[data-consent-layout="split"] aside { margin-left: auto; }
