@font-face {
  font-display: swap;
  font-family: "Archivo";
  font-style: normal;
  font-weight: 400 750;
  src: url("../fonts/archivo-latin-wght-normal.woff2") format("woff2");
}

:root {
  --bp-ink: var(--wp--preset--color--ink, #1d1c1a);
  --bp-ink-soft: var(--wp--preset--color--ink-soft, #302e2b);
  --bp-paper: var(--wp--preset--color--paper, #f7f5f1);
  --bp-paper-deep: var(--wp--preset--color--surface-muted, #eeebe5);
  --bp-surface: var(--wp--preset--color--surface, #fffefa);
  --bp-red: var(--wp--preset--color--accent, #c7371d);
  --bp-red-dark: var(--wp--preset--color--accent-dark, #a92c17);
  --bp-slate: var(--wp--preset--color--slate, #8fa3b8);
  --bp-slate-functional: var(--wp--preset--color--slate-functional, #526a80);
  --bp-muted: var(--wp--preset--color--text-muted, #625e58);
  --bp-line: var(--wp--preset--color--line, #d7d3cb);
  --bp-line-strong: var(--wp--preset--color--line-strong, #c8c3ba);
  --bp-font-sans: "Archivo", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --bp-font-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --bp-content: 760px;
  --bp-wide: 1240px;
  --bp-gutter: 40px;
  --bp-motion: 220ms;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--bp-paper);
  color: var(--bp-ink);
  margin: 0;
  overflow-x: clip;
  text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
  font-synthesis: none;
}

button,
input,
select,
textarea {
  border-radius: 0;
}

img {
  border-radius: 0;
  height: auto;
  max-width: 100%;
}

a,
button,
input,
select,
summary,
textarea {
  -webkit-tap-highlight-color: transparent;
}

:where(a, button, input, select, summary, textarea):focus-visible {
  outline: 3px solid var(--bp-slate);
  outline-offset: 3px;
}

.skip-link {
  background: var(--bp-surface);
  color: var(--bp-ink);
  font-family: var(--bp-font-sans);
  font-size: 14px;
  font-weight: 700;
  left: 16px;
  padding: 12px 16px;
  position: fixed;
  text-decoration: none;
  top: -100px;
  z-index: 100000;
}

.skip-link:focus {
  top: 16px;
}

.boardpath-shell {
  background: var(--bp-ink);
  color: var(--bp-surface);
  margin-block-start: 0;
}

.boardpath-utility-bar {
  background: var(--bp-slate);
  color: var(--bp-ink);
  font-family: var(--bp-font-sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1.2;
  min-height: 40px;
  text-transform: uppercase;
}

.boardpath-utility-inner,
.boardpath-primary-inner,
.boardpath-footer-inner,
.boardpath-footer-meta {
  margin-inline: auto;
  max-width: var(--bp-wide);
  width: min(100%, var(--bp-wide));
}

.boardpath-utility-inner {
  min-height: 40px;
}

.boardpath-utility-label {
  margin: 0;
}

.boardpath-utility-navigation a {
  color: var(--bp-ink);
  min-height: 40px;
  text-decoration: none;
}

.boardpath-primary-shell {
  border-bottom: 1px solid rgba(255, 254, 250, 0.16);
  color: var(--bp-surface);
}

.boardpath-primary-inner {
  min-height: 82px;
}

.boardpath-site-title a {
  color: var(--bp-surface);
  text-decoration: none;
}

.boardpath-site-title a::after {
  color: var(--bp-red);
  content: ".";
}

.boardpath-primary-navigation {
  color: var(--bp-surface);
  font-family: var(--bp-font-sans);
}

.boardpath-primary-navigation a {
  color: rgba(255, 254, 250, 0.82);
  min-height: 44px;
  text-decoration: none;
}

.boardpath-primary-navigation a:hover,
.boardpath-primary-navigation a:focus-visible {
  color: var(--bp-surface);
}

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

.wp-block-navigation__responsive-container.is-menu-open {
  background: var(--bp-ink);
  color: var(--bp-surface);
  padding: 32px var(--bp-gutter);
}

.wp-site-blocks > main,
.boardpath-main {
  min-height: 45vh;
}

.boardpath-main {
  margin-block-start: 0;
  padding-block: clamp(82px, 8vw, 112px);
}

.boardpath-main > :where(.alignwide) {
  max-width: var(--bp-wide);
}

.boardpath-main .wp-block-post-title,
.boardpath-main .wp-block-query-title {
  max-width: 18ch;
}

.boardpath-main .wp-block-post-content > :where(p, ul, ol, blockquote) {
  max-width: 68ch;
}

.wp-element-button,
.wp-block-button__link {
  align-items: center;
  color: var(--bp-surface);
  display: inline-flex;
  justify-content: center;
  min-height: 50px;
  transition: background-color var(--bp-motion) ease, border-color var(--bp-motion) ease, transform var(--bp-motion) ease;
}

.wp-element-button:hover,
.wp-block-button__link:hover {
  background: var(--bp-red-dark);
  border-color: var(--bp-red-dark);
  color: var(--bp-surface) !important;
  transform: translateY(-1px);
}

.is-style-outline > :where(.wp-element-button, .wp-block-button__link) {
  color: var(--bp-ink);
}

.is-style-outline > :where(.wp-element-button, .wp-block-button__link):hover,
.is-style-outline > :where(.wp-element-button, .wp-block-button__link):focus-visible {
  background: var(--bp-ink);
  border-color: var(--bp-ink);
  color: var(--bp-surface) !important;
}

.bp-section-dark .is-style-outline > :where(.wp-element-button, .wp-block-button__link):hover,
.bp-section-dark .is-style-outline > :where(.wp-element-button, .wp-block-button__link):focus-visible {
  background: var(--bp-surface);
  border-color: var(--bp-surface);
  color: var(--bp-ink) !important;
}

:where(.wp-block-post-content, .boardpath-main) a:not(.wp-element-button) {
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.wp-block-separator {
  border-color: var(--bp-line);
  border-width: 1px 0 0;
}

.wp-block-image,
.wp-block-cover,
.wp-block-media-text__media {
  border-radius: 0;
}

.wp-block-search__input,
.wp-block-search__button {
  border: 1px solid var(--bp-line-strong);
  min-height: 50px;
}

.wp-block-search__input {
  background: var(--bp-surface);
  color: var(--bp-ink);
  font-family: var(--bp-font-serif);
  font-size: 18px;
  padding-inline: 16px;
}

.wp-block-search__button {
  background: var(--bp-red);
  border-color: var(--bp-red);
  color: var(--bp-surface);
  font-family: var(--bp-font-sans);
  font-size: 14px;
  font-weight: 700;
  margin-left: 8px;
  padding-inline: 21px;
}

.boardpath-query-list {
  list-style: none;
  margin: 48px 0 0;
  padding: 0;
}

.boardpath-query-list > li {
  border-top: 1px solid var(--bp-line);
  padding-block: 32px;
}

.boardpath-query-list .wp-block-post-title {
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.06;
  margin: 0;
}

.boardpath-query-list .wp-block-post-title a {
  text-decoration: none;
}

.boardpath-site-footer {
  background: var(--bp-ink);
  color: var(--bp-surface);
  margin-block-start: 0;
  padding-block: 64px 32px;
}

.boardpath-footer-inner {
  align-items: flex-start;
}

.boardpath-footer-wordmark a {
  color: var(--bp-surface);
  text-decoration: none;
}

.boardpath-footer-wordmark a::after {
  color: var(--bp-red);
  content: ".";
}

.boardpath-footer-statement {
  color: rgba(255, 254, 250, 0.68);
  font-family: var(--bp-font-serif);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.5;
  margin: 0;
  max-width: 44ch;
}

.boardpath-footer-meta {
  border-top: 1px solid rgba(255, 254, 250, 0.16);
  color: rgba(255, 254, 250, 0.62);
  font-family: var(--bp-font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-top: 48px;
  padding-top: 24px;
  text-transform: uppercase;
}

@media (max-width: 1020px) {
  .boardpath-primary-inner {
    min-height: 74px;
  }

  .boardpath-primary-navigation {
    margin-left: auto;
  }
}

@media (max-width: 720px) {
  :root {
    --bp-gutter: 20px;
  }

  .wp-site-blocks {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .editor-styles-wrapper {
    padding-left: var(--bp-gutter) !important;
    padding-right: var(--bp-gutter) !important;
  }

  .boardpath-utility-inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
    padding-block: 8px;
  }

  .boardpath-utility-label {
    font-size: 13px;
    letter-spacing: 0.05em;
  }

  .boardpath-utility-navigation a {
    min-height: 36px;
  }

  .boardpath-primary-inner {
    min-height: 70px;
  }

  .boardpath-main {
    padding-block: 82px;
  }

  .boardpath-footer-inner,
  .boardpath-footer-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 24px;
  }

  .boardpath-footer-meta {
    margin-top: 40px;
  }
}

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

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