:root {
  --color-bg: var(--wp--preset--color--contrast);
  --color-text: var(--wp--preset--color--base);
  --color-text-muted: var(--wp--preset--color--grey-3);
  --color-border: var(--wp--preset--color--grey-2);
  --color-surface: var(--wp--preset--color--grey-1);
  --color-surface-text: var(--wp--preset--color--base);
  --color-button-bg: var(--wp--preset--color--base);
  --color-button-text: var(--wp--preset--color--contrast);
  --color-button-hover-bg: var(--wp--preset--color--accent-1);
  --color-button-hover-text: var(--wp--preset--color--contrast);
  --color-on-accent: var(--wp--preset--color--contrast);
}

.light-mode {
  --wp--preset--color--accent-1: var(--wp--custom--color--accent-1-dark);
  --color-bg: var(--wp--preset--color--base);
  --color-text: var(--wp--preset--color--contrast);
  --color-text-muted: var(--wp--preset--color--grey-4);
  --color-border: var(--wp--preset--color--grey-5);
  --color-surface: var(--wp--preset--color--grey-4);
  --color-surface-text: var(--wp--preset--color--base);
  --color-button-bg: var(--wp--preset--color--contrast);
  --color-button-text: var(--wp--preset--color--base);
  --color-button-hover-bg: var(--wp--preset--color--accent-1);
  --color-button-hover-text: var(--wp--preset--color--base);
  --color-on-accent: var(--wp--preset--color--base);
}

@media (prefers-contrast: more) {
  :root {
    --color-text-muted: var(--wp--preset--color--grey-5);
    --color-border: var(--wp--preset--color--grey-3);
  }
  .light-mode {
    --color-text-muted: var(--wp--preset--color--grey-1);
    --color-border: var(--wp--preset--color--grey-2);
  }
}
.wp-block-group[style*=background-image] {
  position: relative;
}
.wp-block-group[style*=background-image]::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0);
  z-index: 0;
  pointer-events: none;
  transition: background-color 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .wp-block-group[style*=background-image]::before {
    transition: none;
  }
}
.wp-block-group[style*=background-image] > * {
  position: relative;
  z-index: 1;
}

.light-mode {
  background-color: var(--color-bg);
  color: var(--color-text);
}
.light-mode body {
  background-color: var(--color-bg);
  color: var(--color-text);
}
.light-mode :where(h1, h2, h3, h4, h5, h6, .wp-block-heading) {
  color: var(--color-text);
}
.light-mode :where(p, li) {
  color: inherit;
}
.light-mode :where(a:not(.wp-block-button__link):not(.wp-element-button)) {
  color: var(--color-text);
}
.light-mode .wp-block-button__link,
.light-mode .wp-element-button,
.light-mode .button {
  background-color: var(--color-button-bg);
  color: var(--color-button-text);
}
.light-mode .wp-block-button__link:hover,
.light-mode .wp-element-button:hover,
.light-mode .button:hover {
  background-color: var(--color-button-hover-bg);
  color: var(--color-button-hover-text);
}
.light-mode .wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  border-color: var(--color-button-bg);
  color: var(--color-button-bg);
}
.light-mode .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--color-button-bg);
  color: var(--color-button-text);
}
.light-mode .wp-block-cover .wp-block-cover__background {
  opacity: 0.1;
}
.light-mode .wp-block-group[style*=background-image]::before {
  background-color: rgba(255, 255, 255, 0.85);
}
.light-mode .wpforms-field-label,
.light-mode .wpforms-field:focus-within .wpforms-field-label,
.light-mode .wpforms-field:has(input:not(:placeholder-shown)) .wpforms-field-label,
.light-mode .wpforms-field:has(textarea:not(:placeholder-shown)) .wpforms-field-label {
  color: var(--wp--preset--color--base);
}
.light-mode .wpforms-form input,
.light-mode .wpforms-form textarea {
  color: var(--wp--preset--color--base);
  border-block-end-color: var(--wp--preset--color--grey-5);
}

body,
h1, h2, h3, h4, h5, h6,
p, a,
.wp-block-button__link,
.button {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.wpforms-form input,
.wpforms-form textarea,
.wpforms-field-label {
  transition: color 0.3s ease, border-color 0.3s ease;
}

@media (prefers-reduced-motion: reduce) {
  body,
  h1, h2, h3, h4, h5, h6,
  p, a,
  .wp-block-button__link,
  .button {
    transition: none;
  }
  .wpforms-form input,
  .wpforms-form textarea,
  .wpforms-field-label {
    transition: none;
  }
}
@media (forced-colors: active) {
  .skip-link.screen-reader-text:focus {
    border: 2px solid ButtonText;
    background: Canvas;
    color: CanvasText;
    outline-color: Highlight;
  }
}
.skip-link.screen-reader-text:focus {
  position: fixed;
  inset-block-start: var(--wp--preset--spacing--30);
  inset-inline-start: var(--wp--preset--spacing--40);
  z-index: 1001;
  display: inline-block;
  width: auto;
  height: auto;
  clip: auto;
  clip-path: none;
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  background: var(--wp--preset--color--accent-1);
  color: var(--color-on-accent);
  font-size: var(--wp--preset--font-size--20);
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 9999px;
  outline: 2px solid var(--wp--preset--color--accent-1);
  outline-offset: 2px;
}

.wp-block-button.has-icon .wp-block-button__link,
.button.has-icon {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
}

.wp-block-button.icon-pos-right .wp-block-button__link,
.wp-block-button.icon-pos-left .wp-block-button__link {
  flex-direction: row;
}

.wp-block-button.icon-pos-left .wp-block-button__icon.arrow svg {
  transform: rotate(225deg);
}

.wp-block-button__link .wp-block-button__icon {
  --button-icon-size: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  position: relative;
  width: var(--button-icon-size);
  height: var(--button-icon-size);
  flex-shrink: 0;
}
.wp-block-button__link .wp-block-button__icon svg {
  fill: currentColor;
  width: var(--wp--custom--icon-size--sm);
  height: var(--wp--custom--icon-size--sm);
  display: inline-block;
  vertical-align: middle;
}
.wp-block-button__link .wp-block-button__icon.arrow::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background-color: currentColor;
}
.wp-block-button__link .wp-block-button__icon.arrow svg {
  position: relative;
  width: var(--wp--custom--icon-size--xs);
  height: var(--wp--custom--icon-size--xs);
  color: var(--color-button-bg);
}

.button .button__icon {
  --button-icon-size: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  position: relative;
  width: var(--button-icon-size);
  height: var(--button-icon-size);
  flex-shrink: 0;
}
.button .button__icon svg {
  fill: currentColor;
  width: var(--wp--custom--icon-size--sm);
  height: var(--wp--custom--icon-size--sm);
  display: inline-block;
  vertical-align: middle;
}
.button .button__icon.arrow::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background-color: currentColor;
}
.button .button__icon.arrow svg {
  position: relative;
  width: var(--wp--custom--icon-size--xs);
  height: var(--wp--custom--icon-size--xs);
  color: var(--color-button-bg);
}

.wp-block-button .wp-block-button__link,
.button {
  transition: background-color 0.4s ease-in-out, color 0.4s ease-in-out, border-color 0.4s ease-in-out;
}

.wp-block-button__icon svg,
.button__icon svg {
  transition: transform 0.25s ease-in-out;
}

.wp-block-button__link:hover .wp-block-button__icon svg,
.button:hover .button__icon svg {
  transform: rotate(45deg);
}

.wp-block-button.icon-pos-left .wp-block-button__link:hover .wp-block-button__icon.arrow svg {
  transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-button .wp-block-button__link,
  .button {
    transition: none;
  }
  .wp-block-button__icon svg,
  .button__icon svg {
    transition: none;
  }
}
@media (forced-colors: active) {
  .wp-block-button__icon.arrow::before,
  .button__icon.arrow::before {
    forced-color-adjust: none;
  }
}
input,
textarea {
  color: var(--color-text);
  padding: var(--wp--preset--spacing--20) 0;
  border: 0;
  border-block-end: 1px solid var(--color-border);
  transition: border-color 0.3s ease;
}
input:focus,
textarea:focus {
  outline: none;
  border-block-end-color: var(--wp--preset--color--accent-1);
}

@media (prefers-reduced-motion: reduce) {
  input,
  textarea {
    transition: none;
  }
}
body ::selection {
  color: var(--color-on-accent);
}

h1 strong, h1 b,
h2 strong,
h2 b,
h3 strong,
h3 b,
h4 strong,
h4 b,
h5 strong,
h5 b,
h6 strong,
h6 b {
  font-family: var(--wp--preset--font-family--roobert);
  font-weight: 700;
}

:root {
  --footer-bg: var(--wp--preset--color--grey-1);
  --footer-text: var(--wp--preset--color--base);
  --footer-text-muted: var(--wp--preset--color--grey-3);
  --footer-border: var(--wp--preset--color--grey-2);
  --footer-link-hover: var(--wp--preset--color--accent-1);
}

.light-mode {
  --footer-bg: var(--wp--preset--color--base);
  --footer-text: var(--wp--preset--color--contrast);
  --footer-text-muted: var(--wp--preset--color--grey-4);
  --footer-border: var(--wp--preset--color--grey-5);
  --footer-link-hover: var(--wp--preset--color--accent-1);
}

.footer {
  background-color: var(--footer-bg);
  color: var(--footer-text);
  padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
  border-block-start: 1px solid var(--footer-border);
  margin-block-start: var(--wp--preset--spacing--70);
}

.site-main:has(.site-content > :last-child:is(.has-background, .wp-block-cover)) + .footer {
  margin-block-start: 0;
}

.footer__inner {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--50);
  max-width: var(--wp--style--global--content-size, 1440px);
  margin-inline: auto;
}

.footer__contact {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--40);
}
@media (min-width: 992px) {
  .footer__contact {
    flex-direction: row;
    gap: var(--wp--preset--spacing--70);
  }
}

.footer__contact-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--wp--preset--spacing--40);
}
@media (min-width: 992px) {
  .footer__contact-heading {
    flex: 1 1 35%;
  }
}

.footer__contact-body {
  font-size: var(--wp--preset--font-size--30);
}
@media (min-width: 992px) {
  .footer__contact-body {
    flex: 1 1 65%;
    min-width: 0;
    max-width: 450px;
    margin-inline: auto;
  }
}

.footer__heading {
  font-size: var(--wp--preset--font-size--70);
  margin: 0;
}

.footer__description {
  color: var(--footer-text-muted);
  margin: 0;
}
.footer__description > p:first-child {
  margin-block-start: 0;
}
.footer__description a {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
}
.footer__description a:hover {
  color: var(--footer-link-hover);
}
.footer__description a:focus-visible {
  outline: 2px solid var(--footer-link-hover);
  outline-offset: 4px;
}

.footer__separator {
  border: none;
  border-block-start: 1px solid var(--footer-border);
  margin: 0;
}

.footer__bar {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--40);
}
@media (min-width: 768px) {
  .footer__bar {
    flex-direction: row;
    align-items: center;
    justify-content: center;
  }
}

.footer__meta {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--10);
  line-height: 1;
}
@media (min-width: 768px) {
  .footer__meta {
    flex-direction: row;
    align-items: center;
    gap: var(--wp--preset--spacing--30);
  }
}

.footer__copyright {
  color: var(--footer-text-muted);
  margin: 0;
}

.footer__nav-list {
  display: flex;
  gap: var(--wp--preset--spacing--30);
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer__nav-list a {
  color: var(--footer-text-muted);
}
.footer__nav-list a:hover {
  color: var(--footer-link-hover);
}
.footer__nav-list a:focus-visible {
  outline: 2px solid var(--footer-link-hover);
  outline-offset: 4px;
}

@media (min-width: 768px) {
  .footer__social-nav {
    margin-inline-start: auto;
  }
}
.footer__social-nav ul {
  display: flex;
  gap: var(--wp--preset--spacing--30);
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer__social-nav li {
  display: inline-flex;
}

.footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--footer-text-muted);
  transition: color 0.2s ease, transform 0.2s ease;
}
.footer__social-link:hover {
  color: var(--footer-link-hover);
  transform: scale(1.15) translateY(-2px);
}
.footer__social-link:focus-visible {
  outline: 2px solid var(--footer-link-hover);
  outline-offset: 4px;
}
.footer__social-link svg {
  width: var(--wp--custom--icon-size--sm);
  height: var(--wp--custom--icon-size--sm);
  fill: currentColor;
}

@media (prefers-reduced-motion: reduce) {
  .footer__social-link {
    transition: none;
  }
  .footer__social-link:hover {
    transform: none;
  }
}
@media (forced-colors: active) {
  .footer__social-link {
    border: 1px solid ButtonText;
  }
}
:root {
  --header-bg: var(--wp--preset--color--contrast);
  --header-text: var(--wp--preset--color--base);
  --header-border: var(--wp--preset--color--grey-2);
  --header-toggle-bg: var(--wp--preset--color--base);
  --header-toggle-icon: var(--wp--preset--color--contrast);
}

.header {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: 1000;
  background: color-mix(in srgb, var(--header-bg) 85%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-block-end: 1px solid var(--header-border);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.nav-overlay-open .header {
  background: var(--header-bg);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.header__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: var(--wp--style--global--content-size, 1440px);
  margin-inline: auto;
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}
.header__mode-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--header-text);
  border: 1px solid var(--wp--preset--color--grey-4);
  border-radius: 50%;
  width: var(--wp--custom--icon-size--lg);
  height: var(--wp--custom--icon-size--lg);
  cursor: pointer;
  transition: border-color 0.3s ease, color 0.3s ease;
}
.header__mode-toggle:hover {
  border-color: var(--header-text);
}
.header__mode-toggle:focus-visible {
  outline: 2px solid var(--wp--preset--color--accent-1);
  outline-offset: 2px;
}
.header__mode-icon-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--wp--custom--icon-size--sm);
  height: var(--wp--custom--icon-size--sm);
}
.header__mode-icon {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.header__mode-icon svg {
  width: var(--wp--custom--icon-size--sm);
  height: var(--wp--custom--icon-size--sm);
}
.header__mode-icon--sun {
  opacity: 1;
  transform: rotate(0deg);
}
.header__mode-icon--moon {
  opacity: 0;
  transform: rotate(-90deg);
}
.header__logo {
  margin: 0;
  font-size: clamp(1rem, 2vw, 1.25rem);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.header__logo a {
  color: var(--header-text);
  text-decoration: none;
  transition: opacity 0.2s ease, color 0.3s ease;
}
.header__logo a:hover {
  opacity: 0.7;
}
.header__logo a:focus-visible {
  outline: 2px solid var(--wp--preset--color--accent-1);
  outline-offset: 4px;
}
.header__menu-toggle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  background: var(--header-toggle-bg);
  border: none;
  border-radius: 50%;
  padding: 0;
  cursor: pointer;
  width: var(--wp--custom--icon-size--lg);
  height: var(--wp--custom--icon-size--lg);
  transition: background-color 0.3s ease;
}
.header__menu-toggle:hover {
  background-color: var(--wp--preset--color--accent-1);
}
.header__menu-toggle:focus-visible {
  outline: 2px solid var(--wp--preset--color--accent-1);
  outline-offset: 2px;
}
.header__menu-line {
  display: block;
  width: 20px;
  height: 2px;
  background-color: var(--header-toggle-icon);
  transition: transform 0.3s ease, opacity 0.3s ease, background-color 0.3s ease;
}

.header__menu-toggle[aria-expanded=true] .header__menu-line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.header__menu-toggle[aria-expanded=true] .header__menu-line:nth-child(2) {
  opacity: 0;
}
.header__menu-toggle[aria-expanded=true] .header__menu-line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

@media (prefers-reduced-motion: reduce) {
  .header,
  .header__mode-toggle,
  .header__mode-icon,
  .header__logo a,
  .header__menu-toggle,
  .header__menu-line {
    transition: none;
  }
}
html.light-mode {
  --header-bg: var(--wp--preset--color--base);
  --header-text: var(--wp--preset--color--contrast);
  --header-border: var(--wp--preset--color--grey-5);
  --header-toggle-bg: var(--wp--preset--color--contrast);
  --header-toggle-icon: var(--wp--preset--color--base);
}

@media (forced-colors: active) {
  .header__mode-toggle {
    border: 1px solid ButtonText;
  }
  .header__menu-toggle {
    border: 1px solid ButtonText;
  }
  .header__menu-line {
    background: ButtonText;
  }
}
.light-mode .header__mode-icon--sun {
  opacity: 0;
  transform: rotate(90deg);
}
.light-mode .header__mode-icon--moon {
  opacity: 1;
  transform: rotate(0deg);
}

html.nav-overlay-open {
  overflow: hidden;
}

.nav-overlay {
  position: fixed;
  inset: var(--header-height) 0 0;
  z-index: 999;
  background: var(--header-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, background-color 0.3s ease;
}
.nav-overlay[hidden] {
  display: none;
}
.nav-overlay.is-open {
  opacity: 1;
  visibility: visible;
}
.nav-overlay__content {
  width: 100%;
  padding: var(--wp--preset--spacing--50);
}
.nav-overlay__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--wp--preset--spacing--40);
}
.nav-overlay__list li {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.nav-overlay__list li:nth-child(1) {
  transition-delay: 0s;
}
.nav-overlay__list li:nth-child(2) {
  transition-delay: 0.07s;
}
.nav-overlay__list li:nth-child(3) {
  transition-delay: 0.14s;
}
.nav-overlay__list li:nth-child(4) {
  transition-delay: 0.21s;
}
.nav-overlay__list li:nth-child(5) {
  transition-delay: 0.28s;
}
.nav-overlay__list li:nth-child(6) {
  transition-delay: 0.35s;
}
.nav-overlay__list li:nth-child(7) {
  transition-delay: 0.42s;
}
.nav-overlay__list li:nth-child(8) {
  transition-delay: 0.49s;
}
.nav-overlay__list li:nth-child(9) {
  transition-delay: 0.56s;
}
.nav-overlay__list li:nth-child(10) {
  transition-delay: 0.63s;
}
.is-open .nav-overlay__list li {
  opacity: 1;
  transform: translateY(0);
}
.nav-overlay__list a {
  color: var(--header-text);
  text-decoration: none;
  font-size: var(--wp--preset--font-size--60);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 400;
  transition: color 0.2s ease;
}
@media (min-width: 768px) {
  .nav-overlay__list a {
    font-size: var(--wp--preset--font-size--70);
  }
}
.nav-overlay__list a:hover {
  color: var(--wp--preset--color--accent-1);
}
.nav-overlay__list a:focus-visible {
  outline: 2px solid var(--wp--preset--color--accent-1);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .nav-overlay {
    transition: none;
  }
  .nav-overlay__list li {
    transition: none;
    opacity: 1;
    transform: none;
  }
}
.site-main {
  padding-block-start: var(--header-height, 72px);
}

.site-content > :first-child:is(.wp-block-cover[style*="min-height:100vh"],
.wp-block-cover[style*="min-height: 100vh"],
.wp-block-group[style*="min-height:100vh"],
.wp-block-group[style*="min-height: 100vh"]) {
  min-height: calc(100vh - var(--header-height, 72px)) !important;
}

.wpforms-required-label {
  color: var(--wp--preset--color--accent-1);
}

.wpforms-field.wpforms-has-error input, .wpforms-field.wpforms-has-error textarea {
  border-block-end-color: var(--wp--custom--color--error);
}
.wpforms-field.wpforms-has-error .wpforms-field-label {
  color: var(--wp--custom--color--error);
}

label.wpforms-error {
  display: block;
  margin-block-start: var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--10);
  color: var(--wp--custom--color--error);
}

.dropdown {
  position: relative;
  display: inline-block;
}

.dropdown__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.4em;
  min-width: 150px;
}

.dropdown__icon {
  display: inline-flex;
  align-items: center;
  transition: transform 0.2s ease;
}
.dropdown__icon svg {
  width: var(--wp--custom--icon-size--sm);
  height: var(--wp--custom--icon-size--sm);
}
[aria-expanded=true] .dropdown__icon {
  transform: rotate(180deg);
}

.dropdown__menu {
  font-size: var(--wp--preset--font-size--20);
  position: absolute;
  inset-block-start: calc(100% + 0.4em);
  inset-inline-end: 0;
  min-width: 100%;
  margin: 0;
  padding: var(--wp--preset--spacing--20) 0;
  list-style: none;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--wp--preset--spacing--20);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  z-index: 100;
}
[aria-expanded=true] + .dropdown__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.dropdown__item {
  padding: var(--wp--preset--spacing--20);
  cursor: pointer;
  white-space: nowrap;
  color: var(--color-surface-text);
  transition: background-color 0.15s ease, color 0.15s ease;
}
.dropdown__item:hover, .dropdown__item:focus {
  background: var(--wp--preset--color--accent-1);
  color: var(--color-on-accent);
}
.dropdown__item[aria-selected=true] {
  font-weight: 700;
}
.dropdown__item[aria-disabled=true] {
  opacity: 0.4;
  pointer-events: none;
  cursor: default;
}
.dropdown__item:focus-visible {
  outline: 2px solid var(--wp--preset--color--accent-1);
  outline-offset: -2px;
}

@media (prefers-reduced-motion: reduce) {
  .dropdown__icon {
    transition: none;
  }
  .dropdown__menu {
    transition: none;
  }
}
@media (forced-colors: active) {
  .dropdown__menu {
    border: 1px solid ButtonText;
  }
  .dropdown__item:hover, .dropdown__item:focus {
    background: Highlight;
    color: HighlightText;
  }
}
:root {
  --section-nav-pill-bg: var(--wp--preset--color--grey-2);
  --section-nav-pill-text: var(--wp--preset--color--grey-3);
  --section-nav-pill-hover-bg: var(--wp--preset--color--grey-4);
  --section-nav-pill-hover-text: var(--wp--preset--color--base);
  --section-nav-pill-active-bg: var(--wp--preset--color--accent-1);
  --section-nav-pill-active-text: var(--wp--preset--color--contrast);
}

.light-mode {
  --section-nav-pill-bg: var(--wp--preset--color--base);
  --section-nav-pill-text: var(--wp--preset--color--grey-4);
  --section-nav-pill-hover-bg: var(--wp--preset--color--grey-5);
  --section-nav-pill-hover-text: var(--wp--preset--color--contrast);
  --section-nav-pill-active-bg: var(--wp--preset--color--accent-1);
  --section-nav-pill-active-text: var(--wp--preset--color--base);
}

html {
  scroll-padding-block-start: var(--header-height, 0px);
}

.section-nav {
  position: fixed;
  inset-block-end: var(--wp--preset--spacing--40);
  inset-inline-end: var(--wp--preset--spacing--40);
  z-index: 998;
  display: none;
}
@media (min-width: 992px) {
  .section-nav {
    display: block;
  }
}
.section-nav {
  transform: translateY(0);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.section-nav.is-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
}
.section-nav__list {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  padding: var(--wp--preset--spacing--20);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  transition: background-color 0.3s ease;
}
.section-nav__pill {
  display: inline-block;
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  border-radius: 9999px;
  font-size: var(--wp--preset--font-size--10);
  line-height: 1.4;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
  background: var(--section-nav-pill-bg);
  color: var(--section-nav-pill-text);
  transition: background-color 0.3s ease, color 0.3s ease;
}
.section-nav__pill:hover, .section-nav__pill:focus {
  background: var(--section-nav-pill-hover-bg);
  color: var(--section-nav-pill-hover-text);
}
.section-nav__pill:focus-visible {
  outline: 2px solid var(--wp--preset--color--accent-1);
  outline-offset: 2px;
}
.section-nav__pill.is-active {
  background: var(--section-nav-pill-active-bg);
  color: var(--section-nav-pill-active-text);
}
.section-nav__overflow {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.section-nav__overflow-toggle {
  border: none;
  cursor: pointer;
  letter-spacing: 0.15em;
  font-family: inherit;
}
.section-nav__overflow-menu {
  position: absolute;
  inset-block-end: calc(100% + 0.5em);
  inset-inline-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--20);
  padding: var(--wp--preset--spacing--20);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--wp--preset--spacing--30);
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}
[aria-expanded=true] + .section-nav__overflow-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.section-nav__overflow-item {
  display: block;
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  border-radius: 9999px;
  font-size: var(--wp--preset--font-size--10);
  line-height: 1.4;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
  background: var(--section-nav-pill-bg);
  color: var(--section-nav-pill-text);
  transition: background-color 0.3s ease, color 0.3s ease;
}
.section-nav__overflow-item:hover, .section-nav__overflow-item:focus {
  background: var(--section-nav-pill-hover-bg);
  color: var(--section-nav-pill-hover-text);
}
.section-nav__overflow-item:focus-visible {
  outline: 2px solid var(--wp--preset--color--accent-1);
  outline-offset: 2px;
}
.section-nav__overflow-item.is-active {
  background: var(--section-nav-pill-active-bg);
  color: var(--section-nav-pill-active-text);
}

@media (prefers-reduced-motion: reduce) {
  .section-nav {
    transition: none;
  }
  .section-nav__list {
    transition: none;
  }
  .section-nav__pill {
    transition: none;
  }
  .section-nav__overflow-menu {
    transition: none;
  }
  .section-nav__overflow-item {
    transition: none;
  }
}
@media (forced-colors: active) {
  .section-nav__pill {
    border: 1px solid ButtonText;
  }
  .section-nav__pill.is-active {
    background: Highlight;
    color: HighlightText;
  }
  .section-nav__overflow-menu {
    border: 1px solid ButtonText;
  }
  .section-nav__overflow-item {
    border: 1px solid ButtonText;
  }
  .section-nav__overflow-item.is-active {
    background: Highlight;
    color: HighlightText;
  }
}
.wp-block-accordion {
  --accordion-number-width: 2.5rem;
  --accordion-number-gap: var(--wp--preset--spacing--40);
  --accordion-content-offset: calc(var(--accordion-number-width) + var(--accordion-number-gap));
  counter-reset: accordion-index;
}

.wp-block-accordion-item {
  counter-increment: accordion-index;
}
.is-layout-flow > .wp-block-accordion-item + .wp-block-accordion-item {
  margin-block-start: var(--wp--preset--spacing--40);
  border-block-start: 1px solid var(--wp--preset--color--grey-5);
  padding-block-start: var(--wp--preset--spacing--40);
}

.wp-block-accordion-heading__toggle {
  padding: 0;
}
.wp-block-accordion-heading__toggle::before {
  content: counter(accordion-index, decimal-leading-zero);
  font-weight: 400;
  color: var(--color-text-muted);
  min-width: var(--accordion-number-width);
  margin-inline-end: var(--accordion-number-gap);
}
.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
  text-decoration: none;
}

.wp-block-accordion-heading__toggle-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: var(--wp--custom--icon-size--md);
  height: var(--wp--custom--icon-size--md);
}
.wp-block-accordion-heading__toggle-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background-color: var(--wp--preset--color--accent-1);
}
.wp-block-accordion-heading__toggle-icon svg {
  position: relative;
  width: var(--wp--custom--icon-size--sm);
  height: var(--wp--custom--icon-size--sm);
  color: var(--color-on-accent);
  transition: transform 0.3s ease;
}

.wp-block-accordion-heading__toggle[aria-expanded=true] .wp-block-accordion-heading__toggle-icon svg {
  transform: rotate(135deg);
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-accordion-heading__toggle-icon svg {
    transition: none;
  }
}
@media (forced-colors: active) {
  .wp-block-accordion-heading__toggle-icon {
    border: 1px solid ButtonText;
    border-radius: 50%;
  }
}
.wp-block-accordion-panel {
  margin-inline-start: var(--accordion-content-offset);
  margin-block-start: var(--wp--preset--spacing--40);
  color: var(--wp--preset--color--grey-5);
}
.wp-block-accordion-panel.is-layout-flow > * {
  margin-block-start: var(--wp--preset--spacing--40);
}

.wp-block-button.is-style-muted .wp-block-button__link {
  background: none;
  border: none;
  padding: 0;
  color: var(--color-text-muted);
  text-decoration-line: underline;
  text-decoration-color: var(--wp--preset--color--accent-1);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  font-size: var(--wp--preset--font-size--20);
  text-transform: none;
  transition: color 0.2s ease;
}
.wp-block-button.is-style-muted .wp-block-button__link:hover, .wp-block-button.is-style-muted .wp-block-button__link:focus {
  background: none;
  color: var(--wp--preset--color--accent-1);
}
.wp-block-button.is-style-muted .wp-block-button__link .wp-block-button__icon {
  color: var(--color-button-text);
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-button.is-style-muted .wp-block-button__link {
    transition: none;
  }
}
:is(.wp-block-group, .wp-block-cover, .wp-block-columns).has-background {
  padding-block: var(--wp--preset--spacing--50);
  padding-inline: var(--wp--preset--spacing--40);
}

:is(.site-content, .is-root-container) > :is(.wp-block-group, .wp-block-cover, .wp-block-columns).has-background {
  padding-block: var(--wp--preset--spacing--70);
}

.is-style-dark {
  background-color: var(--color-surface);
  color: var(--color-surface-text);
  border: 1px solid var(--color-border);
  border-radius: var(--wp--custom--border-radius);
  padding: var(--wp--preset--spacing--40);
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .is-style-dark {
    transition: none;
  }
}

.is-style-numbered-list {
  gap: var(--wp--preset--spacing--65);
  counter-reset: numbered-item;
}
.is-style-numbered-list > .wp-block-group {
  counter-increment: numbered-item;
  position: relative;
  border-top: 1px solid var(--color-border);
}
@media (min-width: 768px) {
  .is-style-numbered-list > .wp-block-group {
    display: grid;
    grid-template-columns: 40% 1fr;
    column-gap: var(--wp--preset--spacing--40);
  }
}
.is-style-numbered-list > .wp-block-group::before {
  content: counter(numbered-item, decimal-leading-zero);
  font-size: clamp(4rem, 16vw, 200px);
  font-weight: 300;
  line-height: 1;
  color: var(--color-border);
  display: block;
  padding-top: var(--wp--preset--spacing--65);
}
@media (min-width: 768px) {
  .is-style-numbered-list > .wp-block-group::before {
    justify-self: center;
  }
}
.is-style-numbered-list > .wp-block-group > .wp-block-group {
  display: flex;
  flex-direction: column;
  padding-top: var(--wp--preset--spacing--40);
}
@media (min-width: 768px) {
  .is-style-numbered-list > .wp-block-group > .wp-block-group {
    padding-top: var(--wp--preset--spacing--65);
  }
}

.wp-block-cover:not(.has-text-color) {
  color: var(--color-text);
}

.wp-block-cover.is-style-animated .wp-block-cover__image-background {
  opacity: 0;
  mask-image: linear-gradient(to right, #000 50%, transparent 100%);
  mask-size: 250% 100%;
  mask-position: 100% 0;
  animation: coverFadeLeftToRight 2.5s ease-out 0.3s forwards;
}

@keyframes coverFadeLeftToRight {
  0% {
    opacity: 0;
    mask-position: 100% 0;
  }
  10% {
    opacity: 0.6;
  }
  100% {
    opacity: 0.6;
    mask-position: 0% 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .wp-block-cover.is-style-animated .wp-block-cover__image-background {
    animation: none;
    opacity: 0.6;
    mask-image: none;
  }
}
.wp-block-heading.is-style-subheading {
  font-family: var(--wp--preset--font-family--roobert);
  font-size: var(--wp--preset--font-size--40);
  font-weight: 700;
}

p.is-style-muted,
.wp-block-list.is-style-muted {
  font-size: var(--wp--preset--font-size--30);
  color: var(--color-text-muted);
}

.wp-block-code.is-style-muted,
.wp-block-code.is-style-muted code {
  font-size: var(--wp--preset--font-size--10);
  color: var(--color-text-muted);
}

.wp-block-table.is-style-muted,
.wp-block-table.is-style-muted td,
.wp-block-table.is-style-muted th {
  font-size: var(--wp--preset--font-size--30);
  color: var(--color-text-muted);
}

.wp-block-post-terms .wp-block-term-template,
.wp-block-terms-query .wp-block-term-template {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  list-style: none;
  padding: 0;
  margin: 0;
}
.wp-block-post-terms .wp-block-term-template > li,
.wp-block-terms-query .wp-block-term-template > li {
  margin-block-start: 0;
}
.wp-block-post-terms p,
.wp-block-terms-query p {
  margin-block-start: 0;
}
.wp-block-post-terms .wp-block-term-name,
.wp-block-terms-query .wp-block-term-name {
  margin: 0;
}
.wp-block-post-terms .wp-block-term-name a,
.wp-block-terms-query .wp-block-term-name a {
  display: inline-block;
  padding: 0.25em 1em;
  border: 1px solid var(--wp--preset--color--accent-1);
  border-radius: 9999px;
  font-size: var(--wp--preset--font-size--10);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--wp--preset--color--accent-1);
  text-decoration: none;
}

.wp-block-post-terms a {
  display: inline-block;
  padding: 0.25em 1em;
  border: 1px solid var(--wp--preset--color--accent-1);
  border-radius: 9999px;
  font-size: var(--wp--preset--font-size--10);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--wp--preset--color--accent-1);
  text-decoration: none;
}

@media print {
  .header,
  .section-nav,
  .skip-link,
  .nav-overlay,
  .footer__social-nav {
    display: none;
  }
  .wp-block-accordion-item {
    break-inside: avoid;
  }
}