:root {
  --rdn-a11y-ink: #1b1b1b;
  --rdn-a11y-surface: #ffffff;
  --rdn-a11y-border: #d8d1c7;
  --rdn-a11y-button: #1b1b1b;
  --rdn-a11y-button-text: #ffffff;
  --rdn-a11y-focus: #005fcc;
}

html {
  scroll-behavior: smooth;
}

html[data-rdn-a11y-text="large"] {
  font-size: 112.5%;
}

html[data-rdn-a11y-motion="reduced"] {
  scroll-behavior: auto;
}

:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 3px solid var(--rdn-a11y-focus);
  outline-offset: 4px;
}

.rdn-a11y-skip-link:focus,
.skip-link:focus,
.screen-reader-text:focus {
  clip: auto !important;
  clip-path: none !important;
  height: auto !important;
  width: auto !important;
  min-height: 44px;
  overflow: visible !important;
  padding: 10px 16px !important;
  position: fixed !important;
  top: 12px;
  left: 12px;
  z-index: 100000;
  border-radius: 10px;
  background: var(--rdn-a11y-button);
  color: var(--rdn-a11y-button-text);
  font-weight: 700;
  text-decoration: none;
}

.rdn-a11y-toolbar {
  position: sticky;
  top: 0;
  z-index: 99998;
  padding: 10px clamp(16px, 4vw, 48px);
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid var(--rdn-a11y-border);
  color: var(--rdn-a11y-ink);
  backdrop-filter: blur(12px);
}

.admin-bar .rdn-a11y-toolbar {
  top: 32px;
}

.rdn-a11y-panel {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  align-items: center;
  justify-content: space-between;
}

.rdn-a11y-title {
  margin: 0;
  color: var(--rdn-a11y-ink);
  font-weight: 800;
}

.rdn-a11y-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.rdn-a11y-controls button {
  min-height: 44px;
  border: 1px solid var(--rdn-a11y-border);
  border-radius: 12px;
  background: var(--rdn-a11y-surface);
  color: var(--rdn-a11y-ink);
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  padding: 0 14px;
}

.rdn-a11y-controls button[aria-pressed="true"] {
  background: var(--rdn-a11y-button);
  color: var(--rdn-a11y-button-text);
}

.rdn-a11y-controls .rdn-a11y-reset {
  background: transparent;
}

html[data-rdn-a11y-contrast="high"] {
  --rdn-a11y-ink: #000000;
  --rdn-a11y-surface: #ffffff;
  --rdn-a11y-border: #000000;
  --rdn-a11y-button: #000000;
  --rdn-a11y-button-text: #ffffff;
  --rdn-a11y-focus: #005fcc;
}

html[data-rdn-a11y-contrast="high"] body,
html[data-rdn-a11y-contrast="high"] .wp-site-blocks,
html[data-rdn-a11y-contrast="high"] main,
html[data-rdn-a11y-contrast="high"] header,
html[data-rdn-a11y-contrast="high"] footer,
html[data-rdn-a11y-contrast="high"] article,
html[data-rdn-a11y-contrast="high"] .wp-block-group,
html[data-rdn-a11y-contrast="high"] .wp-block-query,
html[data-rdn-a11y-contrast="high"] .wp-block-post {
  background: #ffffff !important;
  color: #000000 !important;
}

html[data-rdn-a11y-contrast="high"] :where(p, li, h1, h2, h3, h4, h5, h6, figcaption, time, .wp-block-site-tagline) {
  color: #000000 !important;
}

html[data-rdn-a11y-contrast="high"] :where(a, .wp-block-navigation a, .wp-block-post-title a, .wp-block-site-title a) {
  color: #003c9e !important;
  text-decoration: underline !important;
  text-underline-offset: 0.16em;
}

html[data-rdn-a11y-contrast="high"] :where(img, video, iframe) {
  border: 2px solid #000000;
}

html[data-rdn-a11y-contrast="high"] .rdn-a11y-toolbar {
  background: #ffffff;
  border-bottom-color: #000000;
  backdrop-filter: none;
}

html,
body,
.wp-site-blocks {
  max-width: 100%;
  overflow-x: hidden;
}

:where(img, video, iframe, object, embed, canvas) {
  max-width: 100%;
}

:where(img, video, canvas) {
  height: auto;
}

:where(p, li, figcaption, h1, h2, h3, h4, h5, h6, .wp-block-site-title, .wp-block-post-title, .wp-block-navigation-item__label) {
  overflow-wrap: anywhere;
}

:where(.wp-block-gallery, .wp-block-query, .wp-block-post-template, .wp-block-post, .wp-block-group, .wp-block-column) {
  min-width: 0;
}

:where(.wp-block-post-terms a) {
  white-space: normal !important;
}

@media (max-width: 1100px) {
  body {
    --wp--style--root--padding-right: 32px;
    --wp--style--root--padding-left: 32px;
    background-size: 960px auto;
  }

  .wp-block-group.is-nowrap,
  .wp-container-core-group-is-layout-58c3a1c0,
  .wp-container-core-group-is-layout-154222c2,
  .wp-container-core-group-is-layout-e5edad21,
  .wp-container-core-group-is-layout-9366075c {
    flex-wrap: wrap !important;
  }

  .wp-container-core-group-is-layout-534c1740,
  .wp-block-post-template-is-layout-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 782px) {
  body {
    --wp--style--root--padding-right: 22px;
    --wp--style--root--padding-left: 22px;
    background-position: 50% 0;
    background-size: 820px auto;
    font-size: 1.0625rem;
  }

  .admin-bar .rdn-a11y-toolbar {
    top: 46px;
  }

  header.wp-block-template-part .wp-container-core-group-is-layout-58c3a1c0,
  footer.wp-block-template-part .wp-container-core-group-is-layout-e5edad21,
  footer.wp-block-template-part .wp-container-core-group-is-layout-19858539,
  footer.wp-block-template-part .wp-container-core-group-is-layout-9366075c {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 20px !important;
    justify-content: flex-start !important;
  }

  .wp-block-site-title,
  .wp-block-site-title.has-xx-large-font-size {
    font-size: 2.7rem !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
  }

  .wp-block-site-tagline {
    max-width: 42rem;
  }

  .wp-block-navigation__responsive-container-open,
  .wp-block-navigation__responsive-container-close {
    min-width: 44px;
    min-height: 44px;
  }

  .wp-block-navigation__responsive-container.is-menu-open {
    padding: 22px !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    align-items: flex-start !important;
    gap: 14px !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    font-size: 1.25rem;
    line-height: 1.3;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .wp-container-core-group-is-layout-534c1740,
  .wp-block-post-template-is-layout-grid {
    grid-template-columns: 1fr !important;
  }

  .wp-container-core-group-is-layout-154222c2 {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  .wp-container-core-group-is-layout-154222c2 .wp-block-post-date {
    text-align: left !important;
  }

  .wp-block-post-title.has-xx-large-font-size,
  h1.has-xx-large-font-size {
    font-size: 2.25rem !important;
  }

  .wp-block-post-title.has-x-large-font-size,
  h2.has-x-large-font-size {
    font-size: 1.8rem !important;
  }
}

@media (max-width: 700px) {
  .rdn-a11y-panel {
    align-items: stretch;
  }

  .rdn-a11y-controls {
    width: 100%;
  }

  .rdn-a11y-controls button {
    flex: 1 1 150px;
  }
}

@media (max-width: 520px) {
  body {
    --wp--style--root--padding-right: 16px;
    --wp--style--root--padding-left: 16px;
    background-size: 680px auto;
    line-height: 1.5;
  }

  .rdn-a11y-toolbar {
    position: static;
    padding: 10px 12px;
  }

  .rdn-a11y-controls button {
    flex-basis: 100%;
  }

  .wp-block-site-title,
  .wp-block-site-title.has-xx-large-font-size {
    font-size: 2.15rem !important;
  }

  .wp-block-post-title.has-xx-large-font-size,
  h1.has-xx-large-font-size {
    font-size: 1.9rem !important;
  }

  .wp-block-post-title.has-x-large-font-size,
  h2.has-x-large-font-size,
  .wp-block-post-title.has-large-font-size,
  h3.has-large-font-size {
    font-size: 1.45rem !important;
  }

  .wp-block-gallery.has-nested-images {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px !important;
  }

  .wp-block-gallery.has-nested-images figure.wp-block-image {
    width: 100% !important;
  }

  footer.wp-block-template-part p {
    text-align: left !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

html[data-rdn-a11y-motion="reduced"] *,
html[data-rdn-a11y-motion="reduced"] *::before,
html[data-rdn-a11y-motion="reduced"] *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  scroll-behavior: auto !important;
  transition-duration: 0.01ms !important;
}
