.hsp-quiet-mode {
  min-height: 44px;
  min-width: 44px;
}

.hsp-resource-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: end;
}

.hsp-resource-filters label {
  display: grid;
  gap: .35rem;
}

.hsp-resource-filters select,
.hsp-resource-filters button {
  min-height: 44px;
}

.hsp-resource-card[hidden] {
  display: none;
}

.hsp-resource-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr));
  gap: clamp(22px, 2.2vw, 32px);
}

.hsp-resource-card {
  min-width: 0;
  height: auto;
}

.hsp-resource-card h3 {
  margin-block: 0 12px;
  font-size: clamp(24px, 2vw, 32px);
  line-height: 1.14;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.hsp-resource-card h3 a { text-decoration: none; }
.hsp-resource-card h3 a:hover { text-decoration: underline; text-decoration-thickness: .08em; }

@media (max-width: 1024px) {
  .hsp-sanctuary { --hsp-gutter: clamp(20px, 4vw, 42px); }
  .hsp-sanctuary .hsp-hero-copy { margin-left: var(--hsp-gutter); }
  .hsp-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .hsp-sanctuary { --hsp-gutter: clamp(18px, 5vw, 24px); }
  .hsp-sanctuary .hsp-hero { min-height: clamp(560px, 78vh, 650px); }
  .hsp-sanctuary .hsp-hero h1 { font-size: clamp(38px, 11.5vw, 48px); max-width: 12ch; }
  .hsp-sanctuary .hsp-section h2 { font-size: clamp(32px, 9vw, 40px); }
  .hsp-resource-grid { grid-template-columns: 1fr; }
  .hsp-resource-card h3 { font-size: clamp(24px, 6.6vw, 28px); }
}

.hsp-quiet-mode-active *,
.hsp-quiet-mode-active *::before,
.hsp-quiet-mode-active *::after {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  scroll-behavior: auto !important;
  transition-duration: .001ms !important;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}
.hsp-sanctuary {
  --hsp-content: 840px;
  --hsp-wide: 1360px;
  --hsp-gutter: clamp(20px, 4vw, 64px);
  --wp--style--global--content-size: 840px;
  --wp--style--global--wide-size: 1360px;
}

.hsp-sanctuary .wp-site-blocks,
.hsp-sanctuary .hsp-main,
.hsp-sanctuary .wp-block-post-content {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}

.hsp-sanctuary.page .wp-block-post-content > .hsp-hero,
.hsp-sanctuary.page .wp-block-post-content > .hsp-section,
.hsp-sanctuary.page .wp-block-post-content > .hsp-page-hero,
.hsp-sanctuary.page .wp-block-post-content > .alignfull {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.hsp-sanctuary .hsp-inner,
.hsp-sanctuary .hsp-resource-library,
.hsp-sanctuary .hsp-footer-grid,
.hsp-sanctuary .hsp-footer-bottom { width: min(var(--hsp-wide), 100%); }
.hsp-sanctuary .hsp-narrow,
.hsp-sanctuary .hsp-prose,
.hsp-sanctuary .hsp-policy-wrap { width: min(var(--hsp-content), 100%); }
.hsp-sanctuary .hsp-section { padding-inline: var(--hsp-gutter); }
.hsp-sanctuary .hsp-hero { min-height: clamp(600px, 70vh, 740px); }
.hsp-sanctuary .hsp-hero-copy { width: min(760px, calc(100% - 2 * var(--hsp-gutter))); margin-left: max(var(--hsp-gutter), calc((100vw - var(--hsp-wide)) / 2 + var(--hsp-gutter))); }
.hsp-sanctuary .hsp-hero h1 { font-size: clamp(40px, 4.6vw, 82px); line-height: 1.02; max-width: 15ch; text-wrap: balance; }
.hsp-sanctuary .hsp-section h2 { font-size: clamp(34px, 3.4vw, 58px); line-height: 1.08; max-width: 22ch; text-wrap: balance; }
