form.pcp-filter-by {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    width: auto;
    max-width: 100%;
}

form.pcp-filter-by select,
form.pcp-filter-by label {
    width: auto;
    display: inline-block;
}

/* Phones and tablets: stop the site's letter-wave buttons breaking mid-word ("GROW / N").
   Salient wraps each letter in its own inline-block span for the hover wave, and a line can break between
   any two of them. Below 1000px the wave never plays, so the letters can be ordinary inline text, which
   only breaks at spaces. Paste into Appearance > Customize > Additional CSS. */
@media (max-width:999px){
  .nectar-cta[data-style="text-reveal-wave"] .char{
    display:inline;
    line-height:inherit;
  }
  /* keep the capitals: as inline text, Salient's "capitalize" would only lift the first letter of each word */
  .nectar-cta[data-style="text-reveal-wave"] .link_wrap .text{text-transform:uppercase;}
  /* when a long label does need two lines: a little air between them, even line lengths, centred in the pill */
  .nectar-cta[data-style="text-reveal-wave"] .link_wrap .link_text{
    line-height:1.3;
    text-wrap:balance;
    text-align:center;
  }
}


/* Tighten the gap between Give and the search icon */
#header-outer #top .hps-give{margin-right:0;}
#header-outer #top .nectar-header-text-content{padding-right:0;}
body.material #header-outer:not([data-format="left-header"]) #top nav > .buttons > li.nectar-header-text-content-wrap{margin-right:0;}
body.material #header-outer:not([data-format="left-header"]) #top nav > .buttons > li#search-btn{margin-left:24px;}

/* Line the SOLUTIONS wording up with the menu text, in the normal and the sticky header */
@media (min-width:1201px){
  #header-outer #top #logo{position:relative;top:-6px;transition:top .15s;}
  #header-outer #top .span_9 > nav{position:relative;top:6px;transition:top .15s;}
  /* sticky header: shorter header and smaller logo, so the gap to close is smaller */
  #header-outer.small-nav #top #logo{top:-3px;}
  #header-outer.small-nav #top .span_9 > nav{top:3px;}
}

/* HPS "Get news" header button: the quiet partner to Give. Paste into Appearance > Customize > Additional CSS,
   below the Give button CSS */
.hps-news{
  --hps-news-ink:#154984;
  --hps-news-wave:cubic-bezier(.46,.4,.56,.87);   /* same curve as Give */
  position:relative;
  display:inline-flex !important;  /* the header turns its links into inline-block */
  align-items:center;
  justify-content:center;
  gap:.5em;
  margin-right:.6em;
  padding:.85em 1.7em;
  overflow:hidden;
  border-radius:200px;
  background:transparent;
  box-shadow:inset 0 0 0 1.5px var(--hps-news-ink);
  color:var(--hps-news-ink) !important;
  font-family:'Work Sans',sans-serif;
  font-size:15.84px;
  font-weight:500;
  line-height:1.1;
  text-decoration:none !important;
  text-transform:uppercase;        /* matches GIVE and the site's other wave buttons */
  vertical-align:middle;
  -webkit-tap-highlight-color:transparent;
  transition:background-color .5s cubic-bezier(.23,.46,.4,1),transform .25s cubic-bezier(.32,.72,0,1);
}
.hps-news:hover{background:rgba(21,73,132,.07);}
.hps-news:hover,.hps-news:focus,.hps-news:visited{color:var(--hps-news-ink) !important;}
.hps-news:active{transform:scale(.97);}
.hps-news:focus-visible{outline:2px solid #77a240;outline-offset:3px;}

/* thin envelope, only shown when the button shrinks to a circle */
.hps-news__icon{
  display:none;
  flex:none;
  width:1.25em;
  height:1.25em;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='2.5'/%3E%3Cpath d='M4 7.5l8 5.75 8-5.75'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='2.5'/%3E%3Cpath d='M4 7.5l8 5.75 8-5.75'/%3E%3C/svg%3E") center/contain no-repeat;
}
.hps-news__text{display:inline-flex;white-space:pre;}
.hps-news__text span{display:inline-block;line-height:1;}

@media (hover:hover) and (min-width:1000px){
  .hps-news:hover .hps-news__text span,
  .hps-news:focus-visible .hps-news__text span{
    animation:hpsNewsLetter .5s var(--hps-news-wave) calc(var(--i) * 15ms) both;
  }
  .hps-news:hover .hps-news__icon{animation:hpsNewsIcon .5s var(--hps-news-wave) both;}
}
@keyframes hpsNewsLetter{
  0%{opacity:0;transform:translateY(115%);}
  30%{opacity:1;}
  45%{transform:translateY(-25%);}
  100%{opacity:1;transform:translateY(0);}
}
@keyframes hpsNewsIcon{
  0%{opacity:0;transform:translateY(80%);}
  45%{opacity:1;transform:translateY(-12%);}
  100%{opacity:1;transform:none;}
}

/* Laptops (1201-1439px): the menu needs the room, so Get news becomes an outlined envelope circle
   and the menu items sit a little closer */
@media (min-width:1201px) and (max-width:1439px){
  .hps-news{
    width:2.7em;
    height:2.7em;
    padding:0;
    margin-right:.5em;
  }
  .hps-news__icon{display:block;}
  .hps-news__text{display:none;}
  body #header-outer #top nav > ul.sf-menu:not(.buttons) > li > a{margin-left:12px;margin-right:12px;}
}

/* Phone and tablet menu: white Get news, both buttons on one row */
#slide-out-widget-area .nectar-header-text-content > div{display:flex;flex-wrap:wrap;gap:8px;}
#slide-out-widget-area .hps-news,
#slide-out-widget-area .hps-give{
  flex:1 1 0;
  min-width:max-content;
  justify-content:center;
  margin:0;
  padding-left:0.85em;
  padding-right:0.85em;
}
#slide-out-widget-area .hps-news{background:#fff;box-shadow:none;}

/* Header layout: Salient's centered menu sits in the middle of the page and ignores the buttons on the
   right, so two buttons run into it. Centre the menu in the space between the logo and the buttons instead. */
@media (min-width:1201px){
  #header-outer[data-format="centered-menu"] #top .span_9 > .logo-spacing{display:none;}
  #header-outer[data-format="centered-menu"] #top .span_9 > nav{flex:1 1 auto;}
  #header-outer[data-format="centered-menu"] #top nav > ul.sf-menu:not(.buttons){flex:1 1 auto;justify-content:center;}
  #header-outer[data-format="centered-menu"] #top nav > ul.buttons{position:relative;flex:none;}
}
/* just above the hamburger breakpoint, the menu text steps down a touch so it stays on one line */
@media (min-width:1201px) and (max-width:1279px){
  body #header-outer #top nav > ul.sf-menu:not(.buttons) > li > a{margin-left:10px;margin-right:10px;font-size:14px;white-space:nowrap;}
}

@media (max-width:999px){
  .hps-news{font-size:14px;}
}
@media (prefers-reduced-motion:reduce){
  .hps-news,.hps-news *{animation:none !important;transition:none !important;}
}


/* HPS "Give" header button: paste into Appearance > Customize > Additional CSS */
.hps-give{
  --hps-give-bg:#154984;           /* site accent, same as the current Give */
  --hps-give-ring:#77a240;
  --hps-give-spring:cubic-bezier(.34,1.56,.64,1);
  --hps-give-wave:cubic-bezier(.46,.4,.56,.87);   /* Salient's text-reveal-wave curve */
  display:inline-flex !important;  /* the header turns its links into inline-block */
  align-items:center;
  gap:.5em;
  margin-right:1em;
  padding:.85em 2.2em .85em 1.8em; /* a little less on the left, where the leaves sit */
  overflow:hidden;
  border-radius:200px;
  background:var(--hps-give-bg);
  color:#fff !important;
  font-family:'Work Sans',sans-serif;
  font-size:15.84px;
  font-weight:500;
  line-height:1.1;
  text-decoration:none !important;
  text-transform:capitalize;
  vertical-align:middle;
  -webkit-tap-highlight-color:transparent;
  transition:transform .25s cubic-bezier(.32,.72,0,1);
}
.hps-give:hover,.hps-give:focus,.hps-give:visited{color:#fff !important;}
.hps-give:active{transform:scale(.97);}
.hps-give:focus-visible{outline:2px solid var(--hps-give-ring);outline-offset:3px;}

.hps-give__icon{
  position:relative;
  display:block;
  flex:none;
  width:1.75em;
  aspect-ratio:89/49;              /* the two leaves are ~1.8 times as wide as tall */
}
/* Each leaf is a white shape cut out with a mask, so the header field only needs plain spans
   (WordPress strips <svg> from that field) */
.hps-give__leaf{
  position:absolute;
  inset:0;
  background:#fff;
  -webkit-mask:var(--hps-give-leaf) center/100% 100% no-repeat;
          mask:var(--hps-give-leaf) center/100% 100% no-repeat;
}
.hps-give__leaf--l{
  --hps-give-leaf:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='164 27 89 49'%3E%3Cpath d='M165.9 28.1C166.2 28.1 166.4 28 166.6 28C167.2 28 167.8 28.1 168.4 28.2C169.9 28.4 171.4 28.7 172.9 29.1C174.7 29.6 176.5 30.3 178.3 30.9C179.1 31.2 179.8 31.5 180.4 31.9C181.4 32.4 182.4 33 183.3 33.6C184.5 34.5 185.7 35.4 186.8 36.5C187.8 37.6 188.8 38.9 189.6 40.2C190.3 41.6 191 43 191.4 44.6C191.8 46.2 192.1 47.9 192.1 49.6C192.1 51 191.7 52.4 191.3 53.7C191.1 54.3 190.8 54.8 190.4 55.3C189.9 56 189.4 56.5 188.8 57.1C188.4 57.5 187.9 57.8 187.5 58.1L186.4 57.9C186.2 56.7 186.1 55.5 185.8 54.3C185.6 53.1 185.3 52 184.9 50.9C184.7 50.1 184.4 49.4 184.1 48.7C183.7 47.7 183.2 46.8 182.7 45.9C182.2 45 181.8 44.1 181.2 43.3C181.1 43.1 180.8 43 180.7 42.8C180.5 42.5 180.4 42.3 180.2 42L179.9 42L179.8 42.3C179.8 42.5 179.8 42.8 179.9 43.1C180 43.4 180.3 43.5 180.4 43.8C180.7 44.6 181.1 45.4 181.3 46.2C182 48.5 182.6 51 183 53.4C183.3 55.1 183.4 56.9 183.4 58.7C183.4 58.9 183.2 59 183.1 59.2C182.7 59.3 182.4 59.5 182 59.4C180.5 59.4 179 59.3 177.6 59C176.7 58.8 175.9 58.5 175.2 58.2C174.6 57.9 174.1 57.6 173.6 57.3C173.3 57 172.9 56.7 172.6 56.3C172.3 56 171.9 55.7 171.7 55.3C171.3 54.7 170.9 54.1 170.6 53.5C170.3 52.9 170 52.3 169.7 51.6C169.4 50.7 169.1 49.8 168.8 48.8C168.4 47.5 168.1 46.2 167.9 44.9C167.4 41.2 167.3 37.5 166.7 33.9C166.4 32.1 165.8 30.4 165.5 28.7C165.4 28.6 165.5 28.5 165.5 28.4C165.7 28.3 165.8 28.2 165.9 28.1Z'/%3E%3C/svg%3E");
  transform-origin:23% 66%;        /* the base of the green logo leaf */
}
.hps-give__leaf--r{
  --hps-give-leaf:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='164 27 89 49'%3E%3Cpath d='M218.3 36C219.5 35.9 220.7 35.8 221.9 35.9C223.6 36 225.3 36.1 226.9 36.4C228.5 36.6 230 37 231.6 37.4C232.6 37.7 233.6 38 234.6 38.3C236.2 38.9 237.8 39.5 239.3 40.2C241.3 41 243.2 42 245.1 43C247.1 44.1 249 45.4 250.9 46.7C251.2 46.9 251.4 47.2 251.7 47.5L251.7 48C249.1 50 246.4 51.9 243.9 54C242 55.5 240.3 57.1 238.5 58.7C236.5 60.6 234.6 62.6 232.5 64.4C231.1 65.7 229.6 67 228 68.1C226.1 69.4 224.2 70.7 222.2 71.8C220.8 72.5 219.3 73.1 217.8 73.6C216.6 74 215.3 74.2 214.1 74.3C213.4 74.4 212.7 74.5 212 74.4C210.9 74.3 209.7 74.1 208.6 73.8C207.7 73.6 206.8 73.2 205.9 72.8C204.8 72.3 203.8 71.6 202.8 71C201.2 69.9 199.7 68.7 198.2 67.5C198 67.4 198 67.2 197.9 67C197.9 67 197.9 66.9 197.9 66.8C198 66.5 198.1 66.2 198.3 66C198.6 65.6 198.9 65.3 199.2 65C200.1 64.1 201 63.2 201.9 62.4C203.4 61 204.9 59.7 206.4 58.4C208 57.2 209.6 56.1 211.2 55C212.8 54 214.3 53 216 52.2C217.3 51.4 218.7 50.8 220.1 50.2C220.5 50 221 50 221.4 49.8C221.8 49.6 222.3 49.3 222.7 49.1C223.2 49 223.7 48.9 224.1 48.8L224.1 48.5C223.7 48.5 223.4 48.4 223 48.4C222.4 48.4 221.9 48.4 221.4 48.5C221.1 48.6 220.9 48.8 220.6 48.9C218.8 49.4 216.9 49.7 215.2 50.3C213.5 50.8 211.8 51.5 210.2 52.2C208.9 52.7 207.7 53.3 206.5 54C205 54.8 203.5 55.7 202.1 56.7C200.8 57.5 199.5 58.5 198.3 59.5C197.4 60.2 196.7 61.1 195.8 61.7C195.5 61.9 195.1 61.9 194.8 62C194.6 61.9 194.4 61.8 194.3 61.6C194 60.7 193.7 59.9 193.6 59C193.4 57.7 193.3 56.3 193.5 55C193.6 53.6 194 52.2 194.5 50.9C195 49.7 195.7 48.6 196.3 47.6C196.9 46.8 197.5 46.1 198.2 45.4C199 44.5 199.8 43.6 200.8 42.9C202 41.9 203.3 40.9 204.7 40.1C205.8 39.4 207 38.9 208.2 38.3C208.9 38 209.7 37.7 210.4 37.4C211.7 37 213 36.6 214.4 36.4C215.7 36.1 217 36.1 218.3 36Z'/%3E%3C/svg%3E");
  transform-origin:37% 73%;        /* the base of the navy logo leaf */
}

.hps-give__text{display:inline-flex;white-space:nowrap;}
.hps-give__text span{display:inline-block;line-height:1;}

/* Hover (desktop, like the rest of the site): letters rise in a wave, the leaves sprout again */
@media (hover:hover) and (min-width:1000px){
  .hps-give:hover .hps-give__text span,
  .hps-give:focus-visible .hps-give__text span{
    animation:hpsGiveLetter .5s var(--hps-give-wave) calc(var(--i) * 15ms) both;
  }
  .hps-give:hover .hps-give__leaf--l,
  .hps-give:focus-visible .hps-give__leaf--l{animation:hpsGiveLeafL .6s var(--hps-give-spring) both;}
  .hps-give:hover .hps-give__leaf--r,
  .hps-give:focus-visible .hps-give__leaf--r{animation:hpsGiveLeafR .6s var(--hps-give-spring) .07s both;}
}
@keyframes hpsGiveLetter{
  0%{opacity:0;transform:translateY(115%);}
  30%{opacity:1;}
  45%{transform:translateY(-25%);}
  100%{opacity:1;transform:translateY(0);}
}
@keyframes hpsGiveLeafL{
  0%{opacity:0;transform:rotate(35deg) scale(0);}
  40%{opacity:1;}
  100%{opacity:1;transform:none;}
}
@keyframes hpsGiveLeafR{
  0%{opacity:0;transform:rotate(-50deg) scale(0);}
  40%{opacity:1;}
  100%{opacity:1;transform:none;}
}

@media (max-width:999px){
  .hps-give{font-size:14px;}
}
@media (prefers-reduced-motion:reduce){
  .hps-give,.hps-give *{animation:none !important;transition:none !important;}
}


/* Milestones: keep the number and its suffix on one line, shrinking together when the column is narrow */
.nectar-milestone { container-type: inline-size; }
.nectar-milestone .number { white-space: nowrap; }
.nectar-milestone .number > span { font-size: min(1em, 33cqi); }
.nectar-milestone .number .symbol { font-size: min(1em, 20cqi); }

/* Tablet: put the figures side by side */
@media (min-width: 691px) and (max-width: 999px) {
	.inner_row:has(> .row_col_wrap_12_inner > .wpb_column .nectar-milestone) > .row_col_wrap_12_inner {
		display: flex;
	}
	.inner_row:has(> .row_col_wrap_12_inner > .wpb_column .nectar-milestone) > .row_col_wrap_12_inner > .wpb_column {
		flex: 1 1 0;
		width: auto !important;
		min-width: 0;
	}
}


/* ==========================================================================
   HarvestPlus Solutions — single blog post redesign (Salient theme)
   Everything is scoped to body.single-post, so no other page is affected.
   ========================================================================== */

body.single-post {
  --hps-navy: #154984;
  --hps-ink-strong: #0f2f57;
  --hps-ink: #26303b;
  --hps-muted: #5f6b7a;
  --hps-green: #77a240;
  --hps-green-ink: #4a7a1e;
  --hps-paper: #f9f7f5;
  --hps-line: #e7e2da;
  --hps-tint: #edf3e5;
}

/* ---------- Title band ---------------------------------------------------- */

body.single-post .container-wrap { padding-top: 0 !important; }

body.single-post .row.heading-title {
  position: relative;
  padding: 72px 0 150px !important;
  margin-bottom: 0 !important;
  text-align: center;
  background: var(--hps-paper);
  /* full-bleed band without breaking Salient's container */
  box-shadow: 0 0 0 100vmax var(--hps-paper);
  clip-path: inset(0 -100vmax);
  border: 0 !important;
}

body.single-post .row.heading-title .meta-category {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 0 22px !important;
}
body.single-post .row.heading-title .meta-category a {
  display: inline-block;
  margin: 0 !important;
  padding: 7px 14px !important;
  border: 1px solid #d8e5c6 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--hps-green-ink) !important;
  font: 600 11px/1 "Work Sans", sans-serif !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: background .2s, color .2s, border-color .2s;
}
body.single-post .row.heading-title .meta-category a:hover {
  background: var(--hps-green) !important;
  border-color: var(--hps-green) !important;
  color: #fff !important;
}

/* font and size stay as Salient sets them; width matches the image box */
body.single-post .row.heading-title h1.entry-title {
  max-width: 940px !important;
  margin: 0 auto 26px !important;
  color: var(--hps-ink-strong) !important;
  text-wrap: balance;
}

body.single-post #single-below-header {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px 22px;
  color: var(--hps-muted) !important;
  font: 500 14px/1.4 "Work Sans", sans-serif !important;
}
body.single-post #single-below-header > span {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: inherit !important;
}
body.single-post #single-below-header > span::after { display: none !important; }
body.single-post #single-below-header .rich-snippet-hidden,
body.single-post #single-below-header .meta-author,
body.single-post #single-below-header .meta-comment-count { display: none !important; }
body.single-post #single-below-header .meta-date.published::before,
body.single-post #single-below-header .meta-reading-time::before {
  content: "";
  width: 16px; height: 16px;
  background: var(--hps-green);
  -webkit-mask: var(--hps-icon) center / contain no-repeat;
          mask: var(--hps-icon) center / contain no-repeat;
}
body.single-post #single-below-header .meta-date.published {
  --hps-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");
}
body.single-post #single-below-header .meta-reading-time {
  --hps-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

/* ---------- Featured image: a fixed-size box; the image is cropped to fill it */

body.single-post .post-area { padding-top: 0 !important; margin-top: 0 !important; }

body.single-post .post-content > .post-featured-img {
  position: relative;
  z-index: 2;
  display: block !important;
  width: 100%;
  max-width: 940px;
  aspect-ratio: 940 / 480;   /* 940 × 480 on desktop, same shape when narrower */
  margin: -110px auto 64px !important;
  padding: 0 !important;
  overflow: hidden;
  border-radius: 22px;
  background: var(--hps-tint);
  box-shadow: 0 30px 60px -30px rgba(15, 47, 87, .5);
}
body.single-post .post-content > .post-featured-img img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover;
  object-position: center;   /* change to "center top" to keep the top of photos */
  border-radius: 0;
}

/* ---------- Body text: Salient's own column width and text size ---------- */

body.single-post .content-inner p { color: var(--hps-ink); }
body.single-post .content-inner a:not(.wp-block-button__link) {
  color: var(--hps-green-ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .2s;
}
body.single-post .content-inner a:not(.wp-block-button__link):hover { color: var(--hps-navy); }

body.single-post .content-inner h2,
body.single-post .content-inner h3,
body.single-post .content-inner h4 { color: var(--hps-ink-strong); }

body.single-post .content-inner ul,
body.single-post .content-inner ol { margin: 0 0 1.45em 1.2em !important; }
body.single-post .content-inner li { margin-bottom: .5em; }
body.single-post .content-inner ul li::marker { color: var(--hps-green); }

/* images and captions inside the article */
body.single-post .content-inner figure,
body.single-post .content-inner .wp-block-image { margin: 2.2em auto !important; }
body.single-post .content-inner figure img,
body.single-post .content-inner p > img { border-radius: 12px; height: auto; }
body.single-post .content-inner .wp-block-image:not(.alignleft):not(.alignright) { text-align: center; }
body.single-post .content-inner figcaption {
  margin-top: 10px !important;
  color: var(--hps-muted) !important;
  font-size: 14px !important;
  line-height: 1.5;
  text-align: center;
}
body.single-post .content-inner .alignwide { max-width: 940px; margin-left: 50%; transform: translateX(-50%); width: 940px; }

/* quotes */
body.single-post .content-inner blockquote,
body.single-post .content-inner .wp-block-quote {
  margin: 2em 0 !important;
  padding: 4px 0 4px 26px !important;
  border-left: 4px solid var(--hps-green) !important;
  background: none !important;
  color: var(--hps-ink-strong) !important;
  font: 500 21px/1.55 "Montserrat", sans-serif !important;
}

/* ---------- Tags ---------------------------------------------------------- */

body.single-post .post-tags {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 56px 0 0 !important;
  padding: 26px 0 0 !important;
  border-top: 1px solid var(--hps-line);
}
body.single-post .post-tags h4 {
  margin: 0 8px 0 0 !important;
  color: var(--hps-muted) !important;
  font: 500 12px/1 "Work Sans", sans-serif !important;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.single-post .post-tags a {
  margin: 0 !important;
  padding: 8px 15px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--hps-tint) !important;
  color: var(--hps-ink-strong) !important;
  font: 500 14px/1 "Work Sans", sans-serif !important;
  transition: background .2s, color .2s;
}
body.single-post .post-tags a:hover { background: var(--hps-green) !important; color: #fff !important; }
body.single-post .post-tags .clear { display: none; }

/* ---------- Similar posts: fonts stay as Salient sets them --------------- */

body.single-post .related-post-wrap {
  margin-top: 40px !important;
  padding: 72px 0 0 !important;   /* bottom spacing stays as Salient has it */
  background: var(--hps-paper);
  box-shadow: 0 0 0 100vmax var(--hps-paper);
  clip-path: inset(0 -100vmax);
}
body.single-post .related-post-wrap .row-bg-wrap { display: none; }
body.single-post .related-post-wrap h3.related-title {
  margin: 0 0 32px !important;
  padding: 0 !important;
  color: var(--hps-ink-strong) !important;
  text-align: left;
}
body.single-post .related-posts .col .inner-wrap {
  position: relative;
  display: flex !important;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(15, 47, 87, .06), 0 18px 36px -24px rgba(15, 47, 87, .35) !important;
  transition: transform .3s cubic-bezier(.22, 1, .36, 1), box-shadow .3s;
}
body.single-post .related-posts .col .inner-wrap:hover {
  transform: translateY(-4px);
  box-shadow: 0 1px 2px rgba(15, 47, 87, .06), 0 28px 48px -26px rgba(15, 47, 87, .45) !important;
}
body.single-post .related-posts .post-featured-img {
  display: block !important;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  margin: 0 !important;
}
body.single-post .related-posts .post-featured-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.22, 1, .36, 1);
}
body.single-post .related-posts .inner-wrap:hover .post-featured-img img { transform: scale(1.04); }
body.single-post .related-posts .meta-category {
  position: relative !important;
  z-index: 3;
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 !important;
  padding: 22px 24px 0 !important;
}
body.single-post .related-posts .meta-category a {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--hps-green-ink) !important;
}
body.single-post .related-posts .meta-category a + a::before {
  content: "·";
  display: inline !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin-right: 6px;
  background: none !important;
  color: var(--hps-muted);
}
body.single-post .related-posts .article-content-wrap {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 10px 24px 24px !important;
}
body.single-post .related-posts .post-header { margin: 0 !important; padding: 0 !important; }
body.single-post .related-posts h3.title {
  margin: 0 0 18px !important;
  color: var(--hps-ink-strong) !important;
}
body.single-post .related-posts .grav-wrap {
  position: static !important;
  margin-top: auto !important;
  padding: 0 !important;
}
body.single-post .related-posts .grav-wrap img,
body.single-post .related-posts .grav-wrap .text a { display: none !important; }
body.single-post .related-posts .grav-wrap .text,
body.single-post .related-posts .grav-wrap .text span {
  padding: 0 !important;
  margin: 0 !important;
  color: var(--hps-muted) !important;
}

/* ---------- Small screens ------------------------------------------------- */

@media (max-width: 999px) {
  body.single-post .row.heading-title { padding: 48px 0 110px !important; }
  body.single-post .post-content > .post-featured-img { margin: -80px auto 44px !important; border-radius: 18px; }
  body.single-post .content-inner .alignwide { width: auto; max-width: 100%; margin-left: 0; transform: none; }
  body.single-post .related-post-wrap { padding-top: 52px !important; }
}
@media (max-width: 690px) {
  body.single-post .post-content > .post-featured-img { aspect-ratio: 4 / 3; }
}