:root {
  --cc-motion-ease: cubic-bezier(.22, .72, .18, 1);
  --cc-motion-fast: 220ms;
}

@font-face {
  font-family: "CC Fraunces";
  src: url("./fonts/fraunces-500-700-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
}

header .wp-block-site-title a,
footer .wp-block-site-title a {
  display: inline-block;
  color: inherit;
  font-family: "CC Fraunces", Georgia, serif;
  font-size: 1.12em;
  font-weight: 650;
  letter-spacing: -.012em;
  line-height: 1;
  opacity: 1;
  text-decoration: none !important;
  text-transform: none;
  transform: none !important;
}

h1,
h2,
h3,
.wp-block-post-title,
.wp-block-query-title {
  font-family: "CC Fraunces", Georgia, serif;
  font-weight: 600;
  letter-spacing: -.018em;
  line-height: 1.08;
}

header.wp-block-template-part > .wp-block-group.alignfull {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.home .wp-block-post-content > .wp-block-group.alignfull:first-child {
  padding-top: clamp(44px, 6vw, 72px) !important;
  padding-bottom: clamp(26px, 4vw, 42px) !important;
}

.home .wp-block-post-content > .wp-block-cover {
  min-height: 540px !important;
}

.home .wp-block-post-content > .wp-block-group.alignwide {
  padding-top: clamp(28px, 5vw, 58px) !important;
  padding-bottom: clamp(42px, 6vw, 72px) !important;
}

.home .wp-block-post-content > .wp-block-group.alignwide > .wp-block-group,
.home .wp-block-post-content > .wp-block-group.alignwide > .wp-block-query,
.home .wp-block-post-content > .wp-block-group.alignwide > .wp-block-separator {
  width: 100%;
  max-width: 1040px !important;
}

.home .wp-block-post-content > .wp-block-group.alignwide > .wp-block-query > .wp-block-post-template {
  width: 100%;
  max-width: 1040px !important;
}

.home .wp-block-post-template .wp-block-group[style*="padding-bottom"] {
  padding-bottom: clamp(24px, 4vw, 40px) !important;
}

main.wp-block-group.alignwide {
  padding-top: clamp(28px, 5vw, 58px) !important;
  padding-bottom: clamp(42px, 6vw, 72px) !important;
}

footer.wp-block-template-part > .wp-block-group.alignfull {
  margin-top: clamp(42px, 6vw, 70px) !important;
  padding-top: clamp(28px, 4vw, 42px) !important;
  padding-bottom: clamp(28px, 4vw, 42px) !important;
}

@media (max-width: 781px) {
  .home .wp-block-post-content > .wp-block-cover {
    min-height: 470px !important;
  }
}

header .wp-block-site-title a:hover,
header .wp-block-site-title a:focus-visible,
footer .wp-block-site-title a:hover,
footer .wp-block-site-title a:focus-visible {
  opacity: .78;
  transform: none !important;
}

@media (prefers-reduced-motion: no-preference) {
  main {
    animation: cc-page-settle 320ms ease-out both;
  }

  .wp-block-button__link,
  header a,
  footer a,
  main a {
    transition:
      color var(--cc-motion-fast) ease,
      background-color var(--cc-motion-fast) ease,
      border-color var(--cc-motion-fast) ease,
      box-shadow var(--cc-motion-fast) ease;
  }

  .wp-block-post-featured-image,
  .wp-block-cover {
    overflow: hidden;
  }

  .wp-block-post-featured-image img,
  .wp-block-cover__image-background {
    transition: transform 500ms var(--cc-motion-ease), filter 300ms ease;
  }

  .wp-block-post-template > li:hover .wp-block-post-featured-image img,
  .wp-block-cover:hover .wp-block-cover__image-background {
    transform: scale(1.008);
  }

  .wp-block-button__link:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, .10);
  }

  header .wp-block-navigation-item__content,
  main p a:not(.wp-block-button__link),
  footer a {
    text-decoration-color: transparent;
    text-underline-offset: .22em;
    transition: color var(--cc-motion-fast) ease, text-decoration-color var(--cc-motion-fast) ease;
  }

  header .wp-block-navigation-item__content:hover,
  main p a:not(.wp-block-button__link):hover,
  footer a:hover {
    text-decoration-color: currentColor;
  }

  header .wp-block-site-title a,
  footer .wp-block-site-title a {
    transition: opacity 240ms ease;
  }

  @keyframes cc-page-settle {
    from { opacity: .96; }
    to { opacity: 1; }
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
