.wp-site-blocks {
  background:
    radial-gradient(circle at top left, rgb(146 0 0 / 0.14), transparent 30%),
    linear-gradient(180deg, rgb(255 255 255 / 0.4), transparent 18%);
}

.site-shell {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}

.site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 97;
  display: flex;
  justify-content: center;
  width: 100%;
  background: transparent;
  transition: background-color 300ms var(--ease-standard);
}

.site-header:hover,
.site-header:focus-within,
.site-header.is-scrolled {
  background: #ffffff;
}

.site-header__inner {
  display: flex;
  flex: 1 1 auto;
  justify-content: space-between;
  width: 100%;
  max-width: 1680px;
  padding: 0 var(--vr-space-xl);
}

.site-header__inner,
.site-header__menus,
.site-header__secondary-row,
.site-header__main-navigation,
.site-header__main-navigation .wp-block-navigation__container,
.site-header__secondary-navigation,
.site-header__secondary-navigation .wp-block-navigation__container,
.site-header__social-links {
  gap: 0;
}

.site-header__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 140px;
  height: 145px;
  padding: var(--vr-space-m) var(--vr-space-s) var(--vr-space-s);
  border-bottom-right-radius: 9px;
  border-bottom-left-radius: 9px;
  background: #ffffff;
}

.site-header__logo .wp-block-site-logo {
  margin: 0;
}

.site-header__logo .custom-logo-link,
.site-header__logo-image img {
  display: block;
}

.site-header__logo-image img {
  width: 110px;
  height: 110px;
  object-fit: contain;
}

.site-header__menus {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(860px, calc(100% - 170px));
}

.site-header__secondary-row {
  display: flex;
  width: 100%;
  flex-wrap: nowrap;
  align-items: flex-end;
  justify-content: space-between;
}

.site-header .site-header__secondary-navigation {
  flex: 1 1 auto;
  min-width: 0;
}

.site-header__main-navigation,
.site-header__main-navigation .wp-block-navigation__container {
  width: 100%;
}

.site-header .site-header__main-navigation .wp-block-navigation__container,
.site-header .site-header__main-navigation .wp-block-page-list {
  display: flex;
  width: 100%;
  justify-content: space-between;
  gap: 0;
}

.site-header .site-header__secondary-navigation .wp-block-navigation__container,
.site-header .site-header__secondary-navigation .wp-block-page-list {
  display: flex;
  width: 100%;
  justify-content: space-between;
  gap: 0;
}

.site-header .site-header__secondary-navigation .wp-block-navigation-item__content,
.site-footer .wp-block-navigation-item__content {
  font-size: var(--vr-font-size-nav-sm);
  font-style: var(--vr-font-style-display);
  font-weight: var(--vr-font-weight-display);
}

.site-header .site-header__main-navigation .wp-block-navigation-item__content {
  font-size: var(--vr-font-size-nav-lg);
  font-style: var(--vr-font-style-display);
  font-weight: var(--vr-font-weight-display);
}

.site-header .site-header__main-navigation .wp-block-navigation-item__content,
.site-header .site-header__main-navigation .wp-block-navigation-item__content:visited,
.site-header .site-header__main-navigation .wp-block-navigation-item__content:hover,
.site-header .site-header__main-navigation .wp-block-navigation-item__content:focus,
.site-header .site-header__secondary-navigation .wp-block-navigation-item__content,
.site-header .site-header__secondary-navigation .wp-block-navigation-item__content:visited,
.site-header .site-header__secondary-navigation .wp-block-navigation-item__content:hover,
.site-header .site-header__secondary-navigation .wp-block-navigation-item__content:focus {
  color: #ffffff;
  text-shadow: 2px 2px 0 #202020;
  text-transform: uppercase;
}

.site-header .site-header__main-navigation .wp-block-navigation-item__content:hover,
.site-header .site-header__secondary-navigation .wp-block-navigation-item__content:hover {
  opacity: 1;
  text-decoration: underline;
  text-decoration-color: currentcolor;
  text-decoration-thickness: 5px;
  text-underline-offset: 0.12em;
}

.site-header .site-header__main-navigation .wp-block-navigation-item__content:hover {
  transform: none;
}

.site-header:hover .site-header__main-navigation .wp-block-navigation-item__content,
.site-header:focus-within .site-header__main-navigation .wp-block-navigation-item__content,
.site-header.is-scrolled .site-header__main-navigation .wp-block-navigation-item__content,
.site-header:hover .site-header__secondary-navigation .wp-block-navigation-item__content,
.site-header:focus-within .site-header__secondary-navigation .wp-block-navigation-item__content,
.site-header.is-scrolled .site-header__secondary-navigation .wp-block-navigation-item__content {
  color: #202020;
  text-shadow: none;
}

.site-header .site-header__secondary-navigation .wp-block-navigation-item__content {
  margin-top: 15px;
  transition: transform 50ms var(--ease-out);
}

.site-header .site-header__secondary-navigation .wp-block-navigation-item__content:hover {
  transform: translateY(-4px);
}

.site-header .site-header__main-navigation .wp-block-navigation-item__content {
  margin-top: 10px;
  margin-bottom: 5px;
}

.site-header .site-header__main-navigation .wp-block-navigation-item__content:hover {
  margin-top: 15px;
  margin-bottom: 0;
  transition: margin 50ms var(--ease-out);
}

.site-header .site-header__social-links {
  flex: 0 0 auto;
  flex-wrap: nowrap;
  gap: var(--wp--preset--spacing--xs);
  margin: 0 0 0 var(--wp--preset--spacing--l);
}

.site-header__social-links .wp-social-link {
  flex: 0 0 auto;
  color: #ffffff;
  filter: drop-shadow(2px 2px 0 #202020);
  transform: none;
}

.site-header:hover .site-header__social-links .wp-social-link,
.site-header:focus-within .site-header__social-links .wp-social-link,
.site-header.is-scrolled .site-header__social-links .wp-social-link {
  color: #202020;
  filter: none;
}

.site-header__social-links .wp-social-link a {
  margin-top: 19px;
  padding: 0;
  transition: margin 50ms var(--ease-out);
}

.site-header__social-links .wp-social-link:hover {
  transform: none;
}

.site-header__social-links .wp-social-link a:hover {
  margin-top: 15px;
}

.site-footer {
  margin-top: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  min-height: 320px;
  padding: 75px 50px 50px;
  background: #202020;
  color: #ffffff;
}

.site-footer__columns {
  width: 100%;
  max-width: 1400px;
  min-height: 170px;
  margin: 0;
  column-gap: var(--vr-space-xl);
}

.site-footer__column {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  row-gap: var(--vr-space-xs);
}

.site-footer__column--lower {
  justify-content: flex-end;
}

.site-footer__heading,
.site-footer__entry,
.site-footer__navigation .wp-block-navigation-item__content {
  color: #ffffff;
  font-size: var(--vr-font-size-nav-sm);
  font-style: var(--vr-font-style-display);
  font-weight: var(--vr-font-weight-display);
  line-height: calc(26 / 18);
  margin: 2px;
}

.site-footer__heading {
  text-transform: uppercase;
}

.site-footer__entry {
  max-width: 220px;
}

.site-footer__navigation {
  row-gap: var(--vr-space-2xs);
}

.site-footer__navigation .wp-block-navigation-item__content:hover {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-thickness: 5px;
}

.site-footer__social-links {
  gap: var(--vr-space-xs);
  margin: 0 0 var(--vr-space-m);
}

.site-footer__social-links .wp-social-link {
  color: #ffffff;
  transform: none;
}

.site-footer__social-links .wp-social-link a {
  margin-top: 19px;
  padding: 0;
  transition: margin 50ms var(--ease-out);
}

.site-footer__social-links .wp-social-link:hover {
  transform: none;
}

.site-footer__social-links .wp-social-link a:hover {
  margin-top: 15px;
}

.archive-loop article,
.search-results article {
  padding: var(--vr-space-lg);
  border: 1px solid rgb(32 32 32 / 0.1);
  border-radius: 1.25rem;
  background: rgb(255 255 255 / 0.78);
}

.archive-loop .wp-block-post-featured-image img,
.search-results .wp-block-post-featured-image img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.archive-loop .wp-block-post-excerpt,
.search-results .wp-block-post-excerpt {
  color: rgb(32 32 32 / 0.82);
  font-weight: var(--vr-font-weight-body);
  line-height: 26px;
}

.hero-frame {
  padding-top: var(--vr-space-4xl);
  padding-bottom: var(--vr-space-4xl);
}

.hero-frame {
  background:
    linear-gradient(135deg, rgb(32 32 32 / 1) 0%, rgb(146 0 0 / 0.65) 55%, rgb(255 255 255 / 1) 100%);
  color: #ffffff;
}

.hero-frame .wp-block-heading,
.hero-frame p {
  color: inherit;
}

.hero-frame .wp-block-heading {
  font-style: var(--vr-font-style-display);
  font-weight: var(--vr-font-weight-display);
  font-size: clamp(2.625rem, 6vw, 6.5rem);
  line-height: 1.03;
}

.vr-topics {
  border-top: 1px solid rgb(32 32 32 / 0.12);
  row-gap: var(--vr-space-2xl);
}

.vr-topics .wp-block-heading {
  max-width: 12ch;
  color: #202020;
  font-style: var(--vr-font-style-display);
  font-weight: var(--vr-font-weight-display);
  font-size: clamp(1.875rem, 4vw, 2.625rem);
  line-height: 1.095;
}

.vr-topics .wp-block-button__link {
  box-shadow: inset 0 0 0 1px rgb(32 32 32 / 0.14);
}

.vr-topics .wp-block-button__link:hover {
  background: #920000;
  box-shadow: inset 0 0 0 1px rgb(146 0 0 / 0.5);
  color: #ffffff;
}

@media (orientation: landscape) {
  .archive-loop {
    align-items: stretch;
  }
}

@media (orientation: portrait) {
  .site-header__inner {
    padding-right: var(--vr-space-lg);
    padding-left: var(--vr-space-lg);
  }

  .site-footer {
    padding: 50px;
  }

  .site-footer__columns {
    min-height: 0;
    row-gap: 50px;
  }

  .site-footer__column--lower {
    justify-content: flex-start;
  }

  .hero-frame {
    padding-top: var(--vr-space-3xl);
    padding-bottom: var(--vr-space-3xl);
  }
}
