/* HowToRepel Direction A — Exclusion Field · single post template
   Aligns singular guides with homepage tokens (forest / copper / Newsreader).
   Fonts load via wp_head (preconnect + stylesheet) — do NOT @import here. */

body.single-post {
  --forest: #0b1811;
  --forest-mid: #143024;
  --forest-deep: #122a1f;
  --paper: #fafcfb;
  --mist: #eef4f0;
  --sage: #dce8df;
  --white: #ffffff;
  --ink: #101a14;
  --muted: #3a4a41;
  --moss: #2a5640;
  --moss-soft: #3a6b52;
  --copper: #c06f2e;
  --copper-deep: #8f4f1c;
  --copper-light: #e0b68a;
  --warn: #8a3b2a;
  --warn-bg: #f8efe9;
  --line: rgba(16, 26, 20, .11);
  --shell: 52rem; /* match homepage Exclusion Field shell */
  --toc-rail: 11rem;
  --toc-gap: 1.5rem;
  /* Outer = reading column + sticky TOC rail (TOC does not steal prose width) */
  --shell-wide: calc(var(--shell) + var(--toc-rail) + var(--toc-gap));
  --page-pad: clamp(1.15rem, 3.5vw, 1.85rem);
  --header-sticky-offset: 5.75rem;
  --font-display: "Newsreader", Georgia, "Times New Roman", serif;
  --font-body: "Public Sans", system-ui, sans-serif;
  /* Beat custom.css / brand-kit font tokens used with !important */
  --htr-font-head: "Newsreader", Georgia, "Times New Roman", serif !important;
  --htr-font-sans: "Public Sans", system-ui, sans-serif !important;
  --htr-font-serif: "Newsreader", Georgia, "Times New Roman", serif !important;
  --ease: cubic-bezier(.22, .8, .2, 1);
  --shadow-soft: 0 1px 0 rgba(16, 26, 20, .04), 0 12px 28px -18px rgba(11, 24, 17, .28);

  color: var(--ink) !important;
  background:
    radial-gradient(120% 55% at 50% -8%, rgba(220, 232, 223, .45), transparent 52%),
    var(--paper) !important;
  font-family: var(--font-body) !important;
  font-size: 1.0625rem !important;
  line-height: 1.7 !important;
  -webkit-font-smoothing: antialiased;
}

body.single-post #page,
body.single-post .site-content,
body.single-post #primary,
body.single-post #main,
body.single-post .ast-container,
body.single-post article,
body.single-post .site-header,
body.single-post .main-header-bar {
  background-color: transparent !important;
}

body.single-post a {
  color: var(--moss) !important;
  text-decoration: none;
}
body.single-post a:hover {
  color: var(--copper-deep) !important;
}

/* Fonts — beat Customizer Additional CSS (wp-custom-css / DM Sans) */
html body.single-post,
html body.single-post .entry-content,
html body.single-post .htr-post-content,
html body.single-post .htr-post-excerpt,
html body.single-post .htr-post-content p,
html body.single-post .htr-post-content li,
html body.single-post .htr-post-content td,
html body.single-post .htr-post-content th,
html body.single-post .ez-toc-container,
html body.single-post .htr-byline-strip,
html body.single-post .htr-quick-answer {
  font-family: "Public Sans", system-ui, sans-serif !important;
}
html body.single-post .htr-post-content h1,
html body.single-post .htr-post-content h2,
html body.single-post .htr-post-content h3,
html body.single-post .htr-post-content h4,
html body.single-post .htr-post-title-editorial,
html body.single-post .entry-title,
html body.single-post .htr-related-ttl,
html body.single-post .htr-related-title,
html body.single-post .htr-related-guides-hub h3 {
  font-family: "Newsreader", Georgia, "Times New Roman", serif !important;
}

/* Kill design-refresh Poppins + emoji heading hacks on posts */
body.single-post,
body.single-post .entry-content,
body.single-post .htr-post-content {
  font-family: var(--font-body) !important;
}
body.single-post .htr-post-content h1,
body.single-post .htr-post-content h2,
body.single-post .htr-post-content h3,
body.single-post .htr-post-content h4,
body.single-post .htr-post-title-editorial {
  font-family: var(--font-display) !important;
  color: var(--ink) !important;
  font-weight: 600 !important;
}
body.single-post .entry-content h2::before,
body.single-post .entry-content h2.wp-block-heading::before,
body.single-post h2.wp-block-heading::before {
  content: none !important;
  display: none !important;
  margin: 0 !important;
}
body.single-post h2.wp-block-heading {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Reading column — room for sticky TOC rail on wide screens */
body.single-post .site-content .ast-container {
  max-width: min(100% - (var(--page-pad) * 2), var(--shell-wide)) !important;
  margin-inline: auto !important;
  padding: 0 !important;
}
body.single-post #secondary,
body.single-post .widget-area {
  display: none !important;
}
body.single-post #primary {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
body.single-post .entry-content,
body.single-post .htr-post-content {
  max-width: var(--shell) !important;
  margin-inline: auto !important;
  color: var(--ink) !important;
  font-size: 1.05rem !important;
  line-height: 1.72 !important;
}
body.single-post .htr-post-body-container {
  grid-template-columns: 1fr !important;
  max-width: min(100%, var(--shell-wide)) !important;
  margin-inline: auto !important;
  padding: 0 var(--page-pad) !important;
  gap: 0 !important;
}
body.single-post .htr-floating-share,
body.single-post .htr-share-row,
body.single-post .htr-trust-strip,
body.single-post .htr-evidence-badges {
  display: none !important; /* declutter; keep focus on guide */
}

/* Breadcrumbs */
body.single-post .htr-bc,
body.single-post nav[aria-label="Breadcrumb"],
body.single-post .ast-breadcrumbs-wrapper {
  font-size: .88rem !important;
  color: var(--muted) !important;
  padding: 1.25rem 0 .35rem !important;
}
body.single-post .htr-bc a,
body.single-post .ast-breadcrumbs-wrapper a {
  color: var(--muted) !important;
}
body.single-post .htr-bc a:hover {
  color: var(--moss) !important;
}

/* Category pill — copper text, not teal pill soup */
body.single-post .htr-cat-pill-wrap {
  margin: .35rem 0 .75rem !important;
}
body.single-post .htr-post-cat-pill,
body.single-post .htr-cat-pill {
  display: inline-block !important;
  background: transparent !important;
  color: var(--copper) !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-size: .74rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  margin-bottom: .55rem !important;
}
body.single-post .htr-post-cat-pill:hover {
  background: transparent !important;
  color: var(--copper-deep) !important;
}

/* Title + excerpt */
body.single-post .htr-post-title-editorial,
body.single-post .entry-title {
  margin: 0 0 .85rem !important;
  font-size: clamp(1.95rem, 4vw, 2.55rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -.022em !important;
  font-weight: 600 !important;
  max-width: 22ch;
}
body.single-post .htr-post-excerpt {
  margin: 0 0 1.15rem !important;
  font-size: 1.05rem !important;
  line-height: 1.55 !important;
  color: var(--muted) !important;
  max-width: 40rem !important;
  font-family: var(--font-body) !important;
  font-weight: 400 !important;
}

/* Byline */
body.single-post .htr-byline-strip,
body.single-post .htr-post-meta-premium {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: .65rem 1.15rem !important;
  border-top: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
  padding: .85rem 0 !important;
  margin: 0 0 1.75rem !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.single-post .htr-byline-strip a,
body.single-post .htr-meta-author-name a {
  color: var(--ink) !important;
  font-weight: 600 !important;
}
body.single-post .htr-meta-sub,
body.single-post .htr-byline-strip {
  font-size: .9rem !important;
  color: var(--muted) !important;
}
body.single-post .htr-avatar-img,
body.single-post .htr-byline-strip img {
  border-radius: 50% !important;
  border: 1px solid var(--line) !important;
  box-shadow: none !important;
}

/* Split hero → simpler stack when present */
body.single-post .htr-split-hero {
  display: block !important;
  max-width: min(100%, var(--shell-wide)) !important;
  margin: .75rem auto 1.25rem !important;
  padding: 0 var(--page-pad) !important;
  gap: 0 !important;
}
body.single-post .htr-split-image-wrap {
  border-radius: 0 !important;
  box-shadow: var(--shadow-soft) !important;
  margin-top: 1.25rem !important;
  aspect-ratio: 16 / 9 !important;
}
body.single-post .htr-reading-progress-bar {
  background: linear-gradient(90deg, var(--forest-mid), var(--copper)) !important;
  height: 3px !important;
}

/* Quick Answer — EF mist panel, copper rail */
body.single-post .htr-quick-answer {
  background: var(--mist) !important;
  border: 1px solid var(--line) !important;
  border-left: 3px solid var(--copper) !important;
  border-radius: 0 !important;
  padding: 1.35rem 1.4rem !important;
  margin: 0 0 1rem !important;
  box-shadow: var(--shadow-soft) !important;
}
body.single-post .htr-quick-answer > div:first-child,
body.single-post .htr-quick-answer h3 {
  font-size: .74rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--moss) !important;
  font-family: var(--font-body) !important;
  margin: 0 0 .65rem !important;
  background: transparent !important;
}
body.single-post .htr-quick-answer p {
  margin: 0 !important;
  font-size: 1.04rem !important;
  line-height: 1.6 !important;
  color: var(--ink) !important;
}
body.single-post .htr-quick-answer ul {
  margin: .55rem 0 0 !important;
  padding-left: 1.15rem !important;
}
body.single-post .htr-quick-answer li {
  margin: .35rem 0 !important;
  font-size: .98rem !important;
  line-height: 1.5 !important;
  color: var(--ink) !important;
}

/* Lead */
body.single-post .htr-lead-p {
  font-size: 1.06rem !important;
  line-height: 1.7 !important;
  color: var(--muted) !important;
  margin: 0 0 1.5rem !important;
  max-width: 40rem !important;
}

/* Callouts */
body.single-post .htr-callout {
  display: block !important;
  background: var(--mist) !important;
  border: 1px solid var(--line) !important;
  border-left: 3px solid var(--moss) !important;
  border-radius: 0 !important;
  padding: 1.15rem 1.3rem !important;
  margin: 1.65rem 0 1.85rem !important;
  box-shadow: var(--shadow-soft) !important;
  align-items: stretch !important;
}
body.single-post .htr-callout strong {
  color: var(--moss) !important;
  font-size: .92rem !important;
}
body.single-post .htr-callout[style*="#fff8f8"],
body.single-post .htr-callout[style*="b91c1c"] {
  background: var(--warn-bg) !important;
  border-left-color: var(--warn) !important;
}
body.single-post .htr-callout[style*="#fff8f8"] strong,
body.single-post .htr-callout[style*="b91c1c"] strong {
  color: var(--warn) !important;
}

/* Figures — quieter chrome (size capped in v7d editorial block) */
body.single-post .htr-image-container {
  margin: 1.15rem 0 1.65rem !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-soft) !important;
}
body.single-post .htr-image-container > div:first-child {
  background: var(--sage) !important;
  border: 0 !important;
}
body.single-post .htr-image-container > div:last-child,
body.single-post .htr-image-container > p {
  padding: .65rem 0 0 !important;
  font-size: .88rem !important;
  color: var(--muted) !important;
  background: transparent !important;
  border: 0 !important;
  font-style: italic !important;
}
body.single-post .entry-content img,
body.single-post .htr-post-content img {
  border-radius: 0 !important;
}

/* TOC — slim sticky rail on desktop */
body.single-post #ez-toc-container,
body.single-post .ez-toc-container,
body.single-post .htr-toc-container {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 1.75rem !important;
}
body.single-post .ez-toc-title,
body.single-post .htr-toc-title,
body.single-post #ez-toc-container .ez-toc-title {
  font-family: var(--font-body) !important;
  font-size: .72rem !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--moss) !important;
  font-weight: 700 !important;
  margin: 0 0 .65rem !important;
  cursor: default !important;
}
body.single-post #ez-toc-container .ez-toc-title-toggle,
body.single-post #ez-toc-container .ez-toc-js-icon-con {
  display: none !important; /* always expanded on desktop rail */
}
body.single-post .ez-toc-list,
body.single-post #ez-toc-container ul.ez-toc-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.single-post .ez-toc-list a,
body.single-post .htr-toc-item a,
body.single-post #ez-toc-container ul.ez-toc-list a {
  color: var(--ink) !important;
  font-size: .84rem !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  display: block !important;
  padding: .35rem 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  text-decoration: none !important;
}
body.single-post .ez-toc-list a:hover,
body.single-post #ez-toc-container ul.ez-toc-list a:hover {
  color: var(--moss) !important;
}
body.single-post #ez-toc-container ul.ez-toc-list ul {
  margin: 0 0 0 .65rem !important;
  padding: 0 !important;
}
body.single-post #ez-toc-container ul.ez-toc-list li {
  margin: 0 !important;
}

@media (min-width: 1120px) {
  /* Keep reading column at homepage --shell (52rem); TOC lives in the left gutter via grid */
  html body.single.single-post .site-content .ast-container {
    max-width: min(100% - (var(--page-pad) * 2), var(--shell-wide)) !important;
  }
  html body.single.single-post .entry-content:has(#ez-toc-container),
  html body.single.single-post .htr-post-content:has(#ez-toc-container) {
    display: grid !important;
    grid-template-columns: var(--toc-rail) minmax(0, 1fr) !important;
    column-gap: var(--toc-gap) !important;
    max-width: var(--shell-wide) !important;
    width: min(100%, var(--shell-wide)) !important;
    margin-inline: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    align-items: start !important;
  }
  html body.single.single-post .entry-content:has(#ez-toc-container) > *:not(#ez-toc-container),
  html body.single.single-post .htr-post-content:has(#ez-toc-container) > *:not(#ez-toc-container) {
    grid-column: 2 !important;
  }
  /* Figures: full photo, width-capped, left-aligned with prose */
  html body.single.single-post .entry-content:has(#ez-toc-container) > .htr-image-container:not(#ez-toc-container),
  html body.single.single-post .htr-post-content:has(#ez-toc-container) > .htr-image-container:not(#ez-toc-container),
  html body.single.single-post .entry-content:has(#ez-toc-container) > figure:not(#ez-toc-container),
  html body.single.single-post .htr-post-content:has(#ez-toc-container) > figure:not(#ez-toc-container) {
    width: min(100%, 34rem) !important;
    max-width: min(100%, 34rem) !important;
    justify-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  /* Prose blocks stay full column */
  html body.single.single-post .entry-content:has(#ez-toc-container) > p:not(#ez-toc-container),
  html body.single.single-post .entry-content:has(#ez-toc-container) > h2:not(#ez-toc-container),
  html body.single.single-post .entry-content:has(#ez-toc-container) > h3:not(#ez-toc-container),
  html body.single.single-post .entry-content:has(#ez-toc-container) > ul:not(#ez-toc-container),
  html body.single.single-post .entry-content:has(#ez-toc-container) > ol:not(#ez-toc-container),
  html body.single.single-post .entry-content:has(#ez-toc-container) > div:not(#ez-toc-container):not(.htr-image-container),
  html body.single.single-post .htr-post-content:has(#ez-toc-container) > p:not(#ez-toc-container),
  html body.single.single-post .htr-post-content:has(#ez-toc-container) > h2:not(#ez-toc-container),
  html body.single.single-post .htr-post-content:has(#ez-toc-container) > h3:not(#ez-toc-container),
  html body.single.single-post .htr-post-content:has(#ez-toc-container) > ul:not(#ez-toc-container),
  html body.single.single-post .htr-post-content:has(#ez-toc-container) > ol:not(#ez-toc-container),
  html body.single.single-post .htr-post-content:has(#ez-toc-container) > div:not(#ez-toc-container):not(.htr-image-container) {
    max-width: none !important;
    width: 100% !important;
  }
  html body.single.single-post #ez-toc-container {
    grid-column: 1 !important;
    grid-row: 1 / span 999 !important;
    float: none !important;
    width: var(--toc-rail) !important;
    max-width: var(--toc-rail) !important;
    margin: 0 !important;
    padding: .15rem .75rem .85rem 0 !important;
    /* Sticky on the outer box — never put overflow on this element */
    position: sticky !important;
    top: var(--header-sticky-offset) !important;
    align-self: start !important;
    height: fit-content !important;
    max-height: none !important;
    overflow: visible !important;
    z-index: 5 !important;
    border-right: 1px solid var(--line) !important;
  }
  /* Long TOCs scroll inside the list, not the sticky shell */
  html body.single.single-post #ez-toc-container nav,
  html body.single.single-post #ez-toc-container .ez-toc-list,
  html body.single.single-post #ez-toc-container ul.ez-toc-list {
    max-height: calc(100vh - var(--header-sticky-offset) - 4.5rem) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-width: thin;
  }
  html body.single.single-post #ez-toc-container .ez-toc-title-toggle {
    display: none !important;
  }
}

@media (max-width: 1119px) {
  body.single-post #ez-toc-container {
    background: var(--white) !important;
    border: 1px solid var(--line) !important;
    padding: 1rem 1.15rem !important;
    margin: 0 0 1.75rem !important;
  }
  body.single-post #ez-toc-container .ez-toc-title-toggle,
  body.single-post #ez-toc-container .ez-toc-js-icon-con {
    display: inline-flex !important;
  }
}

/* Headings in body */
body.single-post .entry-content h2,
body.single-post .htr-post-content h2 {
  font-size: clamp(1.4rem, 2.6vw, 1.72rem) !important;
  margin: 2.35rem 0 .85rem !important;
  line-height: 1.2 !important;
  letter-spacing: -.018em !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  border: 0 !important;
  scroll-margin-top: 6.5rem;
}
body.single-post .entry-content h3,
body.single-post .htr-post-content h3 {
  font-family: var(--font-body) !important;
  font-size: 1.08rem !important;
  margin: 1.75rem 0 .55rem !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  letter-spacing: -.01em !important;
  scroll-margin-top: 6.5rem;
}
body.single-post .entry-content p,
body.single-post .htr-post-content p {
  margin: 0 0 1.05rem !important;
  color: var(--ink) !important;
}
body.single-post .entry-content li,
body.single-post .htr-post-content li {
  margin: .4rem 0 !important;
}

/* Infographics — quiet single surface, no nested card soup */
body.single-post .htr-infographic-wrap {
  background: var(--white) !important;
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 1.15rem 1.2rem !important;
  margin: 1.5rem 0 !important;
}
body.single-post .htr-infographic-wrap > div:first-child {
  color: var(--moss) !important;
  font-size: .72rem !important;
  letter-spacing: .1em !important;
}
body.single-post .htr-infographic-wrap [style*="border-radius:10px"],
body.single-post .htr-infographic-wrap [style*="border-radius: 10px"] {
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.single-post .htr-myth {
  gap: .75rem !important;
  margin: 1.25rem 0 2rem !important;
}
body.single-post .htr-myth > div {
  border-radius: 0 !important;
  box-shadow: none !important;
  border-width: 1px !important;
  padding: .95rem 1rem !important;
}
body.single-post .htr-sources {
  background: var(--mist) !important;
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.single-post .htr-related-guides-hub,
body.single-post .htr-disclaimer-card {
  background: var(--mist) !important;
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.single-post .htr-related-guides-hub h3,
body.single-post .htr-related-guides-hub a strong {
  color: var(--moss) !important;
  font-family: var(--font-display) !important;
}
body.single-post .htr-related-guides-hub a {
  border-radius: 0 !important;
  border-color: var(--line) !important;
  box-shadow: none !important;
}
body.single-post .htr-related-guides-hub a:hover {
  border-color: rgba(42, 86, 64, .35) !important;
}

/* Tables */
body.single-post .htr-table-wrap,
body.single-post .entry-content table {
  border-radius: 0 !important;
  box-shadow: var(--shadow-soft) !important;
  border: 1px solid var(--line) !important;
  overflow: hidden !important;
}
body.single-post .entry-content table thead tr,
body.single-post .htr-table-wrap thead tr {
  background: var(--forest) !important;
  color: #f4f8f5 !important;
}
body.single-post .entry-content th {
  font-size: .72rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

/* Related cards from theme */
body.single-post .htr-related-card {
  border-radius: 0 !important;
  box-shadow: var(--shadow-soft) !important;
  border-color: var(--line) !important;
}
body.single-post .htr-related-cat {
  background: transparent !important;
  color: var(--copper) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  letter-spacing: .12em !important;
}
body.single-post .htr-related-ttl {
  font-family: var(--font-display) !important;
  color: var(--ink) !important;
}
body.single-post .htr-related-title {
  font-family: var(--font-display) !important;
  color: var(--ink) !important;
}

/* Drop cap off — fights long-form readability */
body.single-post .htr-drop-cap > p:first-of-type::first-letter {
  float: none !important;
  font-size: inherit !important;
  padding: 0 !important;
  color: inherit !important;
}

@media (max-width: 760px) {
  body.single-post .htr-post-title-editorial {
    max-width: none;
  }
  body.single-post .htr-post-body-container,
  body.single-post .htr-split-hero {
    padding-inline: var(--page-pad) !important;
  }
}

/* ============================================================
   v8 — unified single-post shell
   Keep the article on the same 52rem reading rhythm as the homepage.
   This is presentation-only; post HTML and SEO markup are untouched.
   ============================================================ */
html body.single.single-post article.htr-single-post {
  width: 100% !important;
  max-width: var(--shell-wide) !important;
  margin-inline: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.single.single-post .htr-editorial-header,
html body.single.single-post .htr-hero-image-container,
html body.single.single-post .htr-trust-bar {
  width: min(100%, var(--shell)) !important;
  max-width: var(--shell) !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

html body.single.single-post .htr-editorial-header {
  padding-top: 2rem !important;
  padding-bottom: 0 !important;
}

html body.single.single-post .htr-hero-image-container {
  margin-top: 1.35rem !important;
  margin-bottom: 1.75rem !important;
}

html body.single.single-post .htr-single-container {
  width: min(100%, var(--shell)) !important;
  max-width: var(--shell) !important;
  margin-inline: auto !important;
  padding: 0 !important;
}

/* The share filter currently inserts this row inside Quick Answer. Remove
   that duplicate chrome so the answer reads as one intentional panel. */
html body.single.single-post .htr-quick-answer .htr-share-row {
  display: none !important;
}

/* Keep one transparency statement: the byline disclosure is the canonical
   location; the late duplicate author card made the footer feel repetitive. */
html body.single.single-post .htr-post-content > .htr-author-bio {
  display: none !important;
}

html body.single.single-post .htr-post-content {
  font-size: 1.0625rem !important;
  line-height: 1.72 !important;
}

html body.single.single-post .htr-post-content > h2:first-of-type {
  margin-top: 2.1rem !important;
}

@media (max-width: 1119px) {
  html body.single.single-post .htr-editorial-header,
  html body.single.single-post .htr-hero-image-container,
  html body.single.single-post .htr-single-container {
    width: min(100% - (var(--page-pad) * 2), var(--shell)) !important;
  }
}

@media (max-width: 760px) {
  html body.single.single-post .htr-editorial-header {
    padding-top: 1.25rem !important;
  }

  html body.single.single-post .htr-hero-image-container {
    width: calc(100% + (var(--page-pad) * 2)) !important;
    max-width: none !important;
    margin-left: calc(-1 * var(--page-pad)) !important;
    margin-right: calc(-1 * var(--page-pad)) !important;
    margin-top: 1rem !important;
    margin-bottom: 1.25rem !important;
  }

  html body.single.single-post .htr-single-container {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
}

/* ============================================================
   VQA FIX v6 — beat custom.css 740px/820px/70ch + white-card chrome
   Homepage shell is 52rem; TOC rail sits outside that width.
   ============================================================ */
html body.single.single-post .htr-single-wrap,
html body.single.single-post .htr-single-container,
html body.single.single-post .htr-editorial-header,
html body.single.single-post .htr-editorial,
html body.single.single-post .htr-post-body-container,
html body.single.single-post .htr-split-hero,
html body.single.single-post .htr-related,
html body.single.single-post .htr-post-footer,
html body.single.single-post .htr-author-box,
html body.single.single-post .htr-author-card {
  width: min(100% - (var(--page-pad) * 2), var(--shell-wide)) !important;
  max-width: var(--shell-wide) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Beat design-refresh unified-chrome article padding */
html body.htr-unified-chrome.single.single-post article.ast-article-single,
html body.htr-unified-chrome.single.single-post:not(.postid-4874):not(.postid-6018) article.ast-article-single,
html body.single.single-post article,
html body.single.single-post article.ast-article-single,
html body.single.single-post article.htr-single-post,
html body.single.single-post .ast-article-single {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

html body.single.single-post .site-content .ast-container {
  max-width: min(100% - (var(--page-pad) * 2), var(--shell-wide)) !important;
  width: min(100% - (var(--page-pad) * 2), var(--shell-wide)) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html body.single.single-post .entry-content,
html body.single.single-post .htr-post-content {
  width: min(100%, var(--shell)) !important;
  max-width: var(--shell) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  color: var(--ink) !important;
  font-size: 1.05rem !important;
  line-height: 1.72 !important;
}

html body.single.single-post .entry-content p,
html body.single.single-post .entry-content li,
html body.single.single-post .htr-post-content p,
html body.single.single-post .htr-post-content li {
  max-width: none !important;
  width: 100% !important;
  color: var(--ink) !important;
}

html body.single.single-post .htr-post-title-editorial,
html body.single.single-post .entry-title {
  max-width: 28ch !important;
}

/* Hide noisy trust strip — Exclusion Field keeps trust in byline/sources */
html body.single.single-post .htr-trust-bar,
html body.single.single-post .htr-trust-badges,
html body.single.single-post .trust-badges {
  display: none !important;
}

/* Featured / theme image chrome — square corners, editorial scale */
html body.single.single-post .htr-split-image-wrap,
html body.single.single-post .post-thumb img,
html body.single.single-post .ast-single-post-featured img,
html body.single.single-post .htr-image-container,
html body.single.single-post .htr-image-container img {
  border-radius: 0 !important;
}
/* In-content step figures — full photo visible, width-capped */
html body.single.single-post .entry-content:has(#ez-toc-container) > .htr-image-container:not(#ez-toc-container),
html body.single.single-post .htr-post-content:has(#ez-toc-container) > .htr-image-container:not(#ez-toc-container),
html body.single.single-post .entry-content .htr-image-container,
html body.single.single-post .htr-post-content .htr-image-container,
html body.single.single-post .htr-image-container {
  width: min(100%, 34rem) !important;
  max-width: min(100%, 34rem) !important;
  justify-self: center !important;
  margin: 1.25rem auto 1.5rem !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
html body.single.single-post .htr-image-container > div:first-child {
  aspect-ratio: auto !important;
  padding-bottom: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  position: relative !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
html body.single.single-post .htr-image-container > div:first-child img {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
}
html body.single.single-post .entry-content:has(#ez-toc-container) > figure:not(.htr-hero-image-container),
html body.single.single-post .entry-content figure:not(.htr-hero-image-container),
html body.single.single-post .htr-post-content figure:not(.htr-hero-image-container) {
  max-width: min(100%, 34rem) !important;
  width: min(100%, 34rem) !important;
  justify-self: center !important;
  margin: 1.25rem auto 1.5rem !important;
}
html body.single.single-post .entry-content figure:not(.htr-hero-image-container) img,
html body.single.single-post .htr-post-content figure:not(.htr-hero-image-container) img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}
/* Bare content images only — never figure fills inside .htr-image-container */
html body.single.single-post .entry-content > img,
html body.single.single-post .htr-post-content > img,
html body.single.single-post .entry-content p > img,
html body.single.single-post .htr-post-content p > img {
  border-radius: 0 !important;
  max-width: min(100%, 36rem) !important;
  max-height: 16rem !important;
  width: auto !important;
  height: auto !important;
  object-fit: cover !important;
  box-shadow: none !important;
}
/* Figure photos must fill their crop frame (beat any leftover max-width) */
html body.single.single-post .htr-image-container img,
html body.single.single-post .htr-image-container > div img,
html body.single.single-post .entry-content .htr-image-container img:not(.htr-hero-image-element),
html body.single.single-post .htr-post-content .htr-image-container img:not(.htr-hero-image-element) {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Quiet byline — no green pill soup */
html body.single.single-post .htr-byline-strip .htr-meta-badge,
html body.single.single-post .htr-post-meta-premium .htr-meta-badge,
html body.single.single-post .htr-expertise-pill,
html body.single.single-post .htr-byline-strip [class*="pill"],
html body.single.single-post .htr-byline-strip [class*="badge"],
html body.single.single-post .htr-post-meta-premium [class*="pill"],
html body.single.single-post .htr-post-meta-premium [class*="badge"] {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--muted) !important;
  padding: 0 !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

@media (min-width: 1120px) {
  html body.single.single-post .entry-content:has(#ez-toc-container),
  html body.single.single-post .htr-post-content:has(#ez-toc-container) {
    width: min(100%, var(--shell-wide)) !important;
    max-width: var(--shell-wide) !important;
    display: grid !important;
    grid-template-columns: var(--toc-rail) minmax(0, 1fr) !important;
    column-gap: var(--toc-gap) !important;
  }
  /* Prose column fills remaining space up to --shell (figures sized separately) */
  html body.single.single-post .entry-content:has(#ez-toc-container) > *:not(#ez-toc-container):not(.htr-image-container):not(figure),
  html body.single.single-post .htr-post-content:has(#ez-toc-container) > *:not(#ez-toc-container):not(.htr-image-container):not(figure) {
    max-width: var(--shell) !important;
  }
}

/* ============================================================
   REDESIGN v7 — single-post polish (all posts)
   Hero chrome, H2 rules, byline, TOC, mobile meta.
   ============================================================ */

/* Copper top accent — matches homepage brand bar */
html body.single.single-post .site-header::before,
html body.single.single-post #masthead::before {
  content: "" !important;
  display: block !important;
  height: 3px !important;
  width: 100% !important;
  background: var(--copper) !important;
}

/* Kill H2 underlines from custom.css */
html body.single.single-post .entry-content h2,
html body.single.single-post .htr-post-content h2,
html body.single.single-post .entry-content h2.wp-block-heading,
html body.single.single-post .htr-post-content h2.wp-block-heading {
  border: 0 !important;
  border-bottom: 0 !important;
  border-top: 0 !important;
  padding-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* Hero featured block — full column, shorter cinematic crop */
html body.single.single-post .htr-hero-image-container,
html body.single.single-post .htr-hero-image-aspect {
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-soft) !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 0 1.5rem !important;
}
html body.single.single-post .htr-hero-image-aspect {
  aspect-ratio: 2.2 / 1 !important;
  max-height: 20rem !important;
  height: auto !important;
  background: var(--sage) !important;
}
html body.single.single-post .htr-hero-image-container {
  max-height: 20rem !important;
}
html body.single.single-post .htr-hero-image-element {
  border-radius: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
/* Generic theme caption adds noise; hide it (steps keep real figure captions) */
html body.single.single-post .htr-hero-image-caption {
  display: none !important;
}

/* Byline — calmer single strip */
html body.single.single-post .htr-byline-strip {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: .55rem 1.1rem !important;
  padding: .9rem 0 !important;
  margin: 0 0 1.5rem !important;
  border-top: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
  background: transparent !important;
}
html body.single.single-post .htr-byline-strip .htr-byline-avatar {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 1px solid var(--line) !important;
}
html body.single.single-post .htr-byline-independent,
html body.single.single-post .htr-byline-strip em,
html body.single.single-post .htr-byline-strip .htr-independent-note {
  display: none !important; /* reduce meta clutter */
}
html body.single.single-post .htr-byline-strip,
html body.single.single-post .htr-byline-strip * {
  font-size: .9rem !important;
  color: var(--muted) !important;
}
html body.single.single-post .htr-byline-strip a {
  color: var(--ink) !important;
  font-weight: 600 !important;
}

/* TOC — quieter counter + moss links */
html body.single.single-post #ez-toc-container.ez-toc-counter ul.ez-toc-list li,
html body.single.single-post #ez-toc-container.counter-hierarchy ul.ez-toc-list li {
  list-style: none !important;
}
html body.single.single-post #ez-toc-container.ez-toc-counter ul.ez-toc-list a::before,
html body.single.single-post #ez-toc-container .ez-toc-list a::before {
  color: var(--copper) !important;
  font-weight: 700 !important;
  font-size: .72rem !important;
  letter-spacing: .04em !important;
  margin-right: .35rem !important;
}
html body.single.single-post #ez-toc-container ul.ez-toc-list a {
  color: var(--ink) !important;
}
html body.single.single-post #ez-toc-container ul.ez-toc-list a:hover {
  color: var(--moss) !important;
}

/* Infographic inner cards — less nested-box feel */
html body.single.single-post .htr-infographic-wrap [style*="background:#faf8f5"],
html body.single.single-post .htr-infographic-wrap [style*="background: #faf8f5"] {
  background: var(--mist) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Related / sources / disclaimer — typography over cards */
html body.single.single-post .htr-related-guides-hub {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--line) !important;
  padding: 1.5rem 0 0 !important;
  margin: 2rem 0 !important;
}
html body.single.single-post .htr-related-guides-hub > div[style*="grid"] {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .65rem 1.25rem !important;
}
html body.single.single-post .htr-related-guides-hub a {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
html body.single.single-post .htr-related-guides-hub a span {
  display: none !important;
}

/* Mobile byline / header */
@media (max-width: 760px) {
  html body.single.single-post .htr-byline-strip {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: .65rem !important;
  }
  html body.single.single-post .htr-byline-author-info {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: .45rem .75rem !important;
    width: 100% !important;
  }
  html body.single.single-post .htr-byline-avatar-link {
    flex: 0 0 auto !important;
  }
  html body.single.single-post .htr-byline-strip strong,
  html body.single.single-post .htr-byline-strip a {
    white-space: nowrap !important;
  }
  html body.single.single-post .htr-post-excerpt {
    font-size: .98rem !important;
  }
  html body.single.single-post .htr-hero-image-container {
    margin-inline: calc(-1 * var(--page-pad)) !important;
    width: calc(100% + (var(--page-pad) * 2)) !important;
    max-width: none !important;
  }
  html body.single.single-post #ez-toc-container {
    margin-top: .5rem !important;
  }
}

/* ============================================================
   v7d — sticky TOC + editorial image scale
   ============================================================ */

/* overflow-x:hidden on html/body computes overflow-y:auto and kills sticky.
   clip avoids that while still containing horizontal bleed. */
html.single,
html body.single.single-post {
  overflow-x: clip !important;
  overflow-y: visible !important;
}

/* ============================================================
   v7h — show full photos (no crop), width-capped
   ============================================================ */
html body.single.single-post .htr-image-container {
  width: min(100%, 34rem) !important;
  max-width: min(100%, 34rem) !important;
  justify-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
html body.single.single-post .htr-image-container > div:first-child {
  width: 100% !important;
  aspect-ratio: auto !important;
  max-height: none !important;
  height: auto !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  position: relative !important;
}
html body.single.single-post .htr-image-container img,
html body.single.single-post .entry-content .htr-image-container img,
html body.single.single-post .htr-post-content .htr-image-container img,
html body.single.single-post .entry-content .htr-image-container img:not(.htr-hero-image-element),
html body.single.single-post .htr-post-content .htr-image-container img:not(.htr-hero-image-element) {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
}
html body.single.single-post .htr-image-container > div:last-child,
html body.single.single-post .htr-image-container > p {
  padding: .55rem 0 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

/* HTR alignment normalization 20260930: avoid a second mobile inset. */
@media (max-width: 760px) {
  html body.single.single-post .entry-content,
  html body.single.single-post .htr-post-content {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/* HTR readable mobile tables and post navigation 20260930-v1 */
body.single-post .post-navigation {
  width: 100% !important;
  margin: 3rem auto 0 !important;
  padding: 0 var(--page-pad) !important;
  box-sizing: border-box !important;
}
body.single-post .post-navigation .nav-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  width: min(100%, 53rem) !important;
  margin: 0 auto !important;
}
body.single-post .post-navigation .nav-previous,
body.single-post .post-navigation .nav-next {
  width: auto !important;
  min-width: 0 !important;
  float: none !important;
}
body.single-post .post-navigation a {
  display: flex !important;
  min-height: 7rem !important;
  height: 100% !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: .45rem !important;
  padding: 1rem 1.15rem !important;
  border: 1px solid var(--line) !important;
  border-radius: .75rem !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(15, 51, 47, .06) !important;
}
body.single-post .post-navigation .nav-next a { align-items: flex-end !important; text-align: right !important; }
body.single-post .post-navigation .nav-previous a { align-items: flex-start !important; text-align: left !important; }
body.single-post .post-navigation a p {
  display: block !important;
  margin: 0 !important;
  color: var(--ink) !important;
  font-family: var(--font-display) !important;
  font-size: 1.05rem !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
}

@media (max-width: 760px) {
  body.single-post .htr-post-content .htr-legacy-table-scroll,
  body.single-post .htr-post-content .wp-block-table,
  body.single-post .htr-post-content .htr-pts-table-scroll {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  body.single-post .htr-post-content .htr-legacy-table-scroll > table,
  body.single-post .htr-post-content table.htr-pts-table-scroll,
  body.single-post .htr-post-content .wp-block-table > table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border: 0 !important;
    background: transparent !important;
  }
  body.single-post .htr-post-content table.htr-mobile-card-table thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  body.single-post .htr-post-content table.htr-mobile-card-table tbody,
  body.single-post .htr-post-content table.htr-mobile-card-table tr,
  body.single-post .htr-post-content table.htr-mobile-card-table td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body.single-post .htr-post-content table.htr-mobile-card-table tr {
    margin: 0 0 .9rem !important;
    padding: .45rem .9rem !important;
    border: 1px solid var(--line) !important;
    border-radius: .75rem !important;
    background: #fff !important;
    box-shadow: 0 6px 20px rgba(15,51,47,.055) !important;
  }
  body.single-post .htr-post-content table.htr-mobile-card-table td {
    display: grid !important;
    grid-template-columns: minmax(6.5rem, 36%) minmax(0, 1fr) !important;
    gap: .75rem !important;
    padding: .65rem 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    background: transparent !important;
    color: var(--ink) !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
  }
  body.single-post .htr-post-content table.htr-mobile-card-table td:last-child { border-bottom: 0 !important; }
  body.single-post .htr-post-content table.htr-mobile-card-table td::before {
    content: attr(data-htr-label);
    color: var(--moss) !important;
    font-size: .75rem !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
  }
  body.single-post .post-navigation { margin-top: 2rem !important; padding: 0 1rem !important; }
  body.single-post .post-navigation .nav-links { grid-template-columns: 1fr !important; gap: .75rem !important; }
  body.single-post .post-navigation a { min-height: 5.5rem !important; padding: .9rem 1rem !important; }
  body.single-post .post-navigation .nav-next a { align-items: flex-start !important; text-align: left !important; }
  body.single-post .post-navigation a p { display: block !important; font-size: .98rem !important; }
}

/* HTR mobile post nav explicit placement reset 20260930-v1 */
@media (max-width: 760px) {
  html body.single.single-post .navigation.post-navigation .nav-links {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html body.single.single-post .navigation.post-navigation .nav-previous,
  html body.single.single-post .navigation.post-navigation .nav-next {
    grid-column: auto !important;
    grid-row: auto !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }
}

/* HTR post table and navigation visual containment 20260930-v1 */
html body.single.single-post .navigation.post-navigation .nav-links {
  align-items: stretch !important;
}
html body.single.single-post .navigation.post-navigation .nav-previous,
html body.single.single-post .navigation.post-navigation .nav-next,
html body.single.single-post .navigation.post-navigation a,
html body.single.single-post .navigation.post-navigation a p {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
html body.single.single-post .navigation.post-navigation a {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  text-decoration: none !important;
}
html body.single.single-post .navigation.post-navigation a::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: var(--copper) !important;
}
html body.single.single-post .navigation.post-navigation a p {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  transform: none !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-overflow: clip !important;
}
html body.single.single-post .navigation.post-navigation .ast-post-nav {
  display: flex !important;
  align-items: center !important;
  gap: .45rem !important;
  color: var(--moss) !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

@media (max-width: 760px) {
  html body.single.single-post .htr-post-content table.htr-mobile-card-table tr {
    padding: .25rem 1rem !important;
    overflow: visible !important;
  }
  html body.single.single-post .htr-post-content table.htr-mobile-card-table td {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: .8rem 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    line-height: 1.55 !important;
  }
  html body.single.single-post .htr-post-content table.htr-mobile-card-table td::before {
    display: block !important;
    width: 100% !important;
    margin: 0 0 .35rem !important;
    line-height: 1.25 !important;
  }
  html body.single.single-post .navigation.post-navigation .nav-links {
    width: 100% !important;
    padding: 0 !important;
  }
  html body.single.single-post .navigation.post-navigation a {
    width: 100% !important;
    min-height: 0 !important;
    padding: 1rem 1.05rem 1.1rem !important;
  }
  html body.single.single-post .navigation.post-navigation a p {
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }
}

/* HTR TOC coherent laptop breakpoint 20260930-v1 */
@media (min-width: 960px) and (max-width: 1119px) {
  html body.single.single-post .entry-content:has(#ez-toc-container),
  html body.single.single-post .htr-post-content:has(#ez-toc-container) {
    display: grid !important;
    grid-template-columns: 11rem minmax(0, 1fr) !important;
    column-gap: 2rem !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  html body.single.single-post .entry-content:has(#ez-toc-container) > #ez-toc-container,
  html body.single.single-post .htr-post-content:has(#ez-toc-container) > #ez-toc-container {
    grid-column: 1 !important;
    grid-row: 1 / span 999 !important;
    align-self: start !important;
    position: sticky !important;
    top: 6.5rem !important;
    width: 11rem !important;
    max-width: 11rem !important;
    min-width: 0 !important;
    margin: 0 !important;
    max-height: calc(100vh - 8rem) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  html body.single.single-post .entry-content:has(#ez-toc-container) > *:not(#ez-toc-container),
  html body.single.single-post .htr-post-content:has(#ez-toc-container) > *:not(#ez-toc-container) {
    grid-column: 2 !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

@media (max-width: 959px) {
  html body.single.single-post .entry-content #ez-toc-container,
  html body.single.single-post .htr-post-content #ez-toc-container {
    position: static !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 1.5rem 0 2rem !important;
  }
}

/* HTR editorial TOC visual refinement 20260930-v1 */
html body.single.single-post #ez-toc-container {
  box-sizing: border-box !important;
  background: linear-gradient(180deg, #fff 0%, #fbfaf7 100%) !important;
  border: 1px solid rgba(15, 100, 99, .16) !important;
  border-top: 3px solid var(--copper) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 26px rgba(16, 26, 20, .07) !important;
  padding: .95rem .85rem 1rem !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(15, 100, 99, .34) transparent;
}
html body.single.single-post #ez-toc-container::-webkit-scrollbar {
  width: 5px;
}
html body.single.single-post #ez-toc-container::-webkit-scrollbar-thumb {
  background: rgba(15, 100, 99, .34);
  border-radius: 999px;
}
html body.single.single-post #ez-toc-container .ez-toc-title-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .5rem !important;
  min-height: 0 !important;
  padding: 0 0 .72rem !important;
  margin: 0 0 .28rem !important;
  border-bottom: 1px solid rgba(15, 100, 99, .14) !important;
}
html body.single.single-post #ez-toc-container .ez-toc-title {
  color: var(--moss) !important;
  font-size: .69rem !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}
html body.single.single-post #ez-toc-container nav {
  padding-top: .18rem !important;
}
html body.single.single-post #ez-toc-container ul.ez-toc-list,
html body.single.single-post #ez-toc-container ul.ez-toc-list li {
  margin: 0 !important;
  padding: 0 !important;
}
html body.single.single-post #ez-toc-container ul.ez-toc-list > li + li {
  border-top: 1px solid rgba(16, 26, 20, .065) !important;
}
html body.single.single-post #ez-toc-container ul.ez-toc-list a.ez-toc-link {
  display: grid !important;
  grid-template-columns: 1.2rem minmax(0, 1fr) !important;
  column-gap: .28rem !important;
  align-items: start !important;
  color: #24342c !important;
  font-size: .79rem !important;
  line-height: 1.38 !important;
  font-weight: 600 !important;
  padding: .58rem .32rem !important;
  border-radius: 7px !important;
  text-decoration: none !important;
  overflow-wrap: anywhere !important;
  transition: color .16s ease, background-color .16s ease, transform .16s ease !important;
}
html body.single.single-post #ez-toc-container ul.ez-toc-list a.ez-toc-link::before {
  display: block !important;
  width: auto !important;
  color: var(--copper) !important;
  font-size: .68rem !important;
  line-height: 1.62 !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
}
html body.single.single-post #ez-toc-container ul.ez-toc-list a.ez-toc-link:hover,
html body.single.single-post #ez-toc-container ul.ez-toc-list a.ez-toc-link:focus-visible,
html body.single.single-post #ez-toc-container ul.ez-toc-list a.ez-toc-link.active,
html body.single.single-post #ez-toc-container ul.ez-toc-list a.ez-toc-link[aria-current="true"] {
  color: var(--moss) !important;
  background: rgba(15, 100, 99, .075) !important;
  box-shadow: none !important;
  transform: translateX(2px) !important;
  outline: none !important;
}
html body.single.single-post #ez-toc-container ul.ez-toc-list a.ez-toc-link:focus-visible {
  box-shadow: 0 0 0 2px rgba(15, 100, 99, .28) !important;
}

@media (max-width: 959px) {
  html body.single.single-post #ez-toc-container {
    border-top-width: 4px !important;
    border-radius: 14px !important;
    padding: 1rem 1rem 1.05rem !important;
    box-shadow: 0 8px 22px rgba(16, 26, 20, .065) !important;
  }
  html body.single.single-post #ez-toc-container .ez-toc-title-container {
    padding-bottom: .8rem !important;
  }
  html body.single.single-post #ez-toc-container .ez-toc-title {
    font-size: .73rem !important;
  }
  html body.single.single-post #ez-toc-container ul.ez-toc-list a.ez-toc-link {
    grid-template-columns: 1.35rem minmax(0, 1fr) !important;
    font-size: .9rem !important;
    line-height: 1.42 !important;
    padding: .7rem .4rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.single.single-post #ez-toc-container ul.ez-toc-list a.ez-toc-link {
    transition: none !important;
  }
}

/* HTR editorial TOC cascade correction 20260930-v2 */
html body.single.single-post .entry-content:has(#ez-toc-container) > #ez-toc-container,
html body.single.single-post .htr-post-content:has(#ez-toc-container) > #ez-toc-container {
  box-sizing: border-box !important;
  background-color: #fffdfa !important;
  background-image: linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%) !important;
  padding: .95rem .85rem 1rem !important;
}

@media (min-width: 1120px) {
  html body.single.single-post .entry-content:has(#ez-toc-container),
  html body.single.single-post .htr-post-content:has(#ez-toc-container) {
    grid-template-columns: 12.5rem minmax(0, 52rem) !important;
  }
  html body.single.single-post .entry-content:has(#ez-toc-container) > #ez-toc-container,
  html body.single.single-post .htr-post-content:has(#ez-toc-container) > #ez-toc-container {
    grid-row: 1 / span 999 !important;
    width: 12.5rem !important;
    max-width: 12.5rem !important;
  }
}

@media (min-width: 960px) and (max-width: 1119px) {
  html body.single.single-post .entry-content:has(#ez-toc-container) > #ez-toc-container,
  html body.single.single-post .htr-post-content:has(#ez-toc-container) > #ez-toc-container {
    padding: .82rem .68rem .9rem !important;
  }
}

@media (max-width: 959px) {
  html body.single.single-post .entry-content #ez-toc-container,
  html body.single.single-post .htr-post-content #ez-toc-container {
    background-color: #fffdfa !important;
    background-image: linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%) !important;
    padding: 1rem 1rem 1.05rem !important;
  }
}

/* HTR editorial TOC mobile toggle 20260930-v3 */
@media (max-width: 959px) {
  html body.single.single-post #ez-toc-container .ez-toc-title-container > p:last-child {
    margin: 0 !important;
    line-height: 1 !important;
  }
  html body.single.single-post #ez-toc-container .ez-toc-title-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  html body.single.single-post #ez-toc-container .ez-toc-title-toggle .ez-toc-btn {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 2rem !important;
    height: 2rem !important;
    min-width: 2rem !important;
    padding: 0 !important;
    color: var(--moss) !important;
    background: rgba(15, 100, 99, .075) !important;
    border: 1px solid rgba(15, 100, 99, .22) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    text-decoration: none !important;
  }
  html body.single.single-post #ez-toc-container .ez-toc-title-toggle .ez-toc-btn:hover,
  html body.single.single-post #ez-toc-container .ez-toc-title-toggle .ez-toc-btn:focus-visible {
    color: #fff !important;
    background: var(--moss) !important;
    border-color: var(--moss) !important;
    outline: none !important;
  }
  html body.single.single-post #ez-toc-container .ez-toc-title-toggle .ez-toc-btn:focus-visible {
    box-shadow: 0 0 0 3px rgba(15, 100, 99, .2) !important;
  }
  html body.single.single-post #ez-toc-container .ez-toc-title-toggle .ez-toc-js-icon-con {
    display: none !important;
  }
  html body.single.single-post #ez-toc-container .ez-toc-title-toggle .ez-toc-btn::after {
    content: "" !important;
    display: block !important;
    width: .45rem !important;
    height: .45rem !important;
    margin-top: -.2rem !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    transform: rotate(45deg) !important;
  }
}

/* HTR legacy TOC rail wrapper support 20260930-v4 */
@media (min-width: 960px) {
  html body.single.single-post .entry-content:has(.htr-toc-rail > #ez-toc-container) > .htr-toc-rail,
  html body.single.single-post .htr-post-content:has(.htr-toc-rail > #ez-toc-container) > .htr-toc-rail {
    grid-column: 1 !important;
    grid-row: 1 / span 999 !important;
    align-self: start !important;
    position: sticky !important;
    top: 6.5rem !important;
    min-width: 0 !important;
    max-height: calc(100vh - 8rem) !important;
    margin: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(15, 100, 99, .34) transparent;
  }
  html body.single.single-post .entry-content .htr-toc-rail > #ez-toc-container,
  html body.single.single-post .htr-post-content .htr-toc-rail > #ez-toc-container {
    position: static !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: visible !important;
    background-color: #fffdfa !important;
    background-image: linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%) !important;
    padding: .95rem .85rem 1rem !important;
  }
}
@media (min-width: 960px) and (max-width: 1119px) {
  html body.single.single-post .entry-content:has(.htr-toc-rail > #ez-toc-container) > .htr-toc-rail,
  html body.single.single-post .htr-post-content:has(.htr-toc-rail > #ez-toc-container) > .htr-toc-rail {
    width: 11rem !important;
    max-width: 11rem !important;
  }
  html body.single.single-post .entry-content .htr-toc-rail > #ez-toc-container,
  html body.single.single-post .htr-post-content .htr-toc-rail > #ez-toc-container {
    padding: .82rem .68rem .9rem !important;
  }
}
@media (min-width: 1120px) {
  html body.single.single-post .entry-content:has(.htr-toc-rail > #ez-toc-container) > .htr-toc-rail,
  html body.single.single-post .htr-post-content:has(.htr-toc-rail > #ez-toc-container) > .htr-toc-rail {
    width: 12.5rem !important;
    max-width: 12.5rem !important;
  }
}
@media (max-width: 959px) {
  html body.single.single-post .entry-content > .htr-toc-rail,
  html body.single.single-post .htr-post-content > .htr-toc-rail {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 1.5rem 0 2rem !important;
    overflow: visible !important;
  }
  html body.single.single-post .entry-content .htr-toc-rail > #ez-toc-container,
  html body.single.single-post .htr-post-content .htr-toc-rail > #ez-toc-container {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}

/* HTR legacy TOC grid specificity 20260930-v5 */
@media (min-width: 960px) {
  html body.single.single-post .entry-content:has(.htr-toc-rail > #ez-toc-container) > .htr-toc-rail:has(> #ez-toc-container),
  html body.single.single-post .htr-post-content:has(.htr-toc-rail > #ez-toc-container) > .htr-toc-rail:has(> #ez-toc-container) {
    grid-column: 1 !important;
    grid-row: 1 / span 999 !important;
  }
  html body.single.single-post .entry-content .htr-toc-rail:has(> #ez-toc-container) > #ez-toc-container,
  html body.single.single-post .htr-post-content .htr-toc-rail:has(> #ez-toc-container) > #ez-toc-container {
    position: static !important;
    top: auto !important;
  }
}

/* HTR post table text clipping correction 20260930-v1 */
@media (min-width: 761px) {
  html body.single.single-post .htr-post-content .htr-legacy-table-scroll,
  html body.single.single-post .entry-content .htr-legacy-table-scroll,
  html body.single.single-post .htr-post-content .wp-block-table,
  html body.single.single-post .entry-content .wp-block-table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  html body.single.single-post .htr-post-content table,
  html body.single.single-post .entry-content table,
  html body.single.single-post .htr-post-content table.htr-pts-table-scroll,
  html body.single.single-post .entry-content table.htr-pts-table-scroll {
    display: table !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    overflow: visible !important;
  }
  html body.single.single-post .htr-post-content table th,
  html body.single.single-post .htr-post-content table td,
  html body.single.single-post .entry-content table th,
  html body.single.single-post .entry-content table td {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    vertical-align: top !important;
    line-height: 1.5 !important;
  }
}

/* HTR publisher trust card treatment 20261001-v1 */
html body.single.single-post .htr-editorial-header .htr-byline-strip.htr-solo-byline {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 3rem minmax(0, 1fr) !important;
  gap: 1rem !important;
  align-items: start !important;
  box-sizing: border-box !important;
  width: 100% !important;
  margin: .35rem 0 1.65rem !important;
  padding: 1.15rem 1.25rem 1.1rem !important;
  color: var(--ink) !important;
  background: linear-gradient(135deg, #fffdfa 0%, #f5f8f4 100%) !important;
  border: 1px solid rgba(15, 100, 99, .18) !important;
  border-left: 4px solid var(--moss) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(16, 26, 20, .055) !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-strip.htr-solo-byline::before {
  content: "HTR" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 3rem !important;
  height: 3rem !important;
  box-sizing: border-box !important;
  color: #fff !important;
  background: var(--moss) !important;
  border: 3px solid rgba(255, 255, 255, .82) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 0 1px rgba(15, 100, 99, .24), 0 5px 12px rgba(15, 100, 99, .18) !important;
  font-family: var(--font-body) !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .045em !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-author-info,
html body.single.single-post .htr-editorial-header .htr-byline-text {
  width: 100% !important;
  min-width: 0 !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-top {
  margin: 0 0 .65rem !important;
  color: #66736c !important;
  font-size: .7rem !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-top .htr-author-name-link {
  display: inline-block !important;
  margin-left: .35rem !important;
  color: var(--moss) !important;
  font-size: 1rem !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  text-underline-offset: .18em !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-top .htr-author-name-link:hover,
html body.single.single-post .htr-editorial-header .htr-byline-top .htr-author-name-link:focus-visible {
  color: #0b4f4e !important;
  text-decoration: underline !important;
  outline: none !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-top .htr-author-name-link:focus-visible {
  box-shadow: 0 0 0 3px rgba(15, 100, 99, .17) !important;
  border-radius: 3px !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-meta-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: .45rem .55rem !important;
  margin: 0 !important;
  color: #374a40 !important;
  font-size: .75rem !important;
  line-height: 1.35 !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-meta-row > span:not(.htr-meta-sep),
html body.single.single-post .htr-editorial-header .htr-byline-meta-row .htr-independent-tag {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 1.75rem !important;
  box-sizing: border-box !important;
  padding: .32rem .58rem !important;
  background: rgba(255, 255, 255, .76) !important;
  border: 1px solid rgba(15, 100, 99, .14) !important;
  border-radius: 999px !important;
  font-style: normal !important;
  font-weight: 650 !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-meta-row .htr-meta-badge::before {
  content: "✓" !important;
  margin-right: .32rem !important;
  color: var(--moss) !important;
  font-weight: 900 !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-meta-row .htr-independent-tag::before {
  content: "Independent" !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-meta-row .htr-independent-tag {
  font-size: 0 !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-meta-row .htr-independent-tag::before {
  font-size: .75rem !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-meta-row .htr-meta-sep {
  display: none !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-disclosure {
  display: block !important;
  margin: .85rem 0 0 !important;
  padding: .8rem 0 0 !important;
  color: #536159 !important;
  border-top: 1px solid rgba(15, 100, 99, .13) !important;
  font-size: .77rem !important;
  line-height: 1.55 !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-disclosure::before {
  content: "Editorial transparency" !important;
  display: inline-block !important;
  margin: 0 .42rem .2rem 0 !important;
  color: var(--moss) !important;
  font-size: .68rem !important;
  font-weight: 850 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-disclosure a {
  display: inline-flex !important;
  align-items: center !important;
  margin-left: .25rem !important;
  color: var(--moss) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-disclosure a:hover,
html body.single.single-post .htr-editorial-header .htr-byline-disclosure a:focus-visible {
  color: #0b4f4e !important;
  text-decoration: underline !important;
  outline: none !important;
}

@media (max-width: 600px) {
  html body.single.single-post .htr-editorial-header .htr-byline-strip.htr-solo-byline {
    grid-template-columns: 2.55rem minmax(0, 1fr) !important;
    gap: .8rem !important;
    margin-bottom: 1.35rem !important;
    padding: 1rem .9rem .95rem !important;
    border-radius: 10px !important;
  }
  html body.single.single-post .htr-editorial-header .htr-byline-strip.htr-solo-byline::before {
    width: 2.55rem !important;
    height: 2.55rem !important;
    font-size: .61rem !important;
  }
  html body.single.single-post .htr-editorial-header .htr-byline-top {
    line-height: 1.4 !important;
  }
  html body.single.single-post .htr-editorial-header .htr-byline-top .htr-author-name-link {
    display: block !important;
    margin: .18rem 0 0 !important;
    font-size: .96rem !important;
  }
  html body.single.single-post .htr-editorial-header .htr-byline-meta-row {
    align-items: stretch !important;
    gap: .42rem !important;
  }
  html body.single.single-post .htr-editorial-header .htr-byline-meta-row > span:not(.htr-meta-sep),
  html body.single.single-post .htr-editorial-header .htr-byline-meta-row .htr-independent-tag {
    width: 100% !important;
    border-radius: 7px !important;
  }
  html body.single.single-post .htr-editorial-header .htr-byline-disclosure {
    grid-column: 1 / -1 !important;
    font-size: .76rem !important;
  }
}

/* HTR publisher trust card mobile polish 20261001-v2 */
html body.single.single-post .htr-editorial-header .htr-byline-meta-row > span:not(.htr-meta-sep) {
  gap: .24rem !important;
}
html body.single.single-post .htr-editorial-header .htr-byline-disclosure::before {
  content: none !important;
  display: none !important;
}
@media (max-width: 600px) {
  html body.single.single-post .htr-editorial-header .htr-byline-strip.htr-solo-byline {
    display: block !important;
    padding: 1rem .95rem .95rem !important;
  }
  html body.single.single-post .htr-editorial-header .htr-byline-strip.htr-solo-byline::before {
    display: none !important;
  }
  html body.single.single-post .htr-editorial-header .htr-byline-disclosure {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  html body.single.single-post .htr-editorial-header .htr-byline-disclosure a {
    margin: .25rem 0 0 !important;
    white-space: normal !important;
  }
}

/* HTR end-of-article continuation flow 20261001-v1 */
html body.single.single-post .htr-post-footer:not(:has(*)) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Compact reader feedback strip. */
html body.single.single-post .htr-post-content .htr-helpful-counter {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: .85rem 1.25rem !important;
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 2.25rem 0 1.25rem !important;
  padding: 1.15rem 1.25rem !important;
  background: linear-gradient(135deg, #fffdfa 0%, #f3f8f5 100%) !important;
  border: 1px solid rgba(15, 100, 99, .17) !important;
  border-left: 4px solid var(--moss) !important;
  border-radius: 12px !important;
  box-shadow: 0 7px 20px rgba(16, 26, 20, .045) !important;
  text-align: left !important;
}
html body.single.single-post .htr-helpful-counter .htr-helpful-title {
  margin: 0 !important;
  color: var(--ink) !important;
  font-family: var(--font-display) !important;
  font-size: clamp(1.18rem, 2vw, 1.42rem) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}
html body.single.single-post .htr-helpful-counter .htr-helpful-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: .55rem !important;
  margin: 0 !important;
}
html body.single.single-post .htr-helpful-counter .htr-helpful-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .45rem !important;
  min-height: 2.75rem !important;
  box-sizing: border-box !important;
  padding: .65rem .9rem !important;
  color: #294238 !important;
  background: #fff !important;
  border: 1px solid rgba(15, 100, 99, .2) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  font-family: var(--font-body) !important;
  font-size: .82rem !important;
  line-height: 1.2 !important;
  font-weight: 750 !important;
  cursor: pointer !important;
  transition: color .16s ease, background-color .16s ease, border-color .16s ease, transform .16s ease !important;
}
html body.single.single-post .htr-helpful-counter .htr-helpful-btn-yes {
  color: #fff !important;
  background: var(--moss) !important;
  border-color: var(--moss) !important;
}
html body.single.single-post .htr-helpful-counter .htr-helpful-btn:hover {
  color: #fff !important;
  background: #0b4f4e !important;
  border-color: #0b4f4e !important;
  transform: translateY(-1px) !important;
}
html body.single.single-post .htr-helpful-counter .htr-helpful-btn:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(15, 100, 99, .2) !important;
}
html body.single.single-post .htr-helpful-counter .htr-helpful-btn:disabled {
  opacity: .62 !important;
  cursor: default !important;
  transform: none !important;
}
html body.single.single-post .htr-helpful-counter .htr-helpful-msg {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  padding: .7rem .8rem !important;
  color: #174f3b !important;
  background: rgba(15, 100, 99, .075) !important;
  border-radius: 8px !important;
  font-size: .8rem !important;
  line-height: 1.45 !important;
  font-weight: 650 !important;
}

/* Adjacent-guide navigation aligned to the post shell. */
html body.single.single-post .navigation.post-navigation {
  box-sizing: border-box !important;
  width: min(calc(100% - 2rem), 65.5rem) !important;
  max-width: 65.5rem !important;
  margin: 1.5rem auto 0 !important;
  padding: 0 !important;
}
html body.single.single-post .navigation.post-navigation .nav-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  width: 100% !important;
}
html body.single.single-post .navigation.post-navigation .nav-previous,
html body.single.single-post .navigation.post-navigation .nav-next {
  width: 100% !important;
  min-width: 0 !important;
}
html body.single.single-post .navigation.post-navigation a {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 7.25rem !important;
  box-sizing: border-box !important;
  padding: 1.15rem 1.25rem 1.25rem !important;
  color: var(--ink) !important;
  background: linear-gradient(180deg, #fff 0%, #fbfaf7 100%) !important;
  border: 1px solid rgba(16, 26, 20, .12) !important;
  border-radius: 12px !important;
  box-shadow: 0 7px 20px rgba(16, 26, 20, .05) !important;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}
html body.single.single-post .navigation.post-navigation a:hover {
  border-color: rgba(15, 100, 99, .34) !important;
  box-shadow: 0 10px 24px rgba(16, 26, 20, .085) !important;
  transform: translateY(-2px) !important;
}
html body.single.single-post .navigation.post-navigation a:focus-visible {
  outline: none !important;
  border-color: var(--moss) !important;
  box-shadow: 0 0 0 3px rgba(15, 100, 99, .18) !important;
}
html body.single.single-post .navigation.post-navigation a p {
  margin: .5rem 0 0 !important;
  color: var(--ink) !important;
  font-family: var(--font-body) !important;
  font-size: 1rem !important;
  line-height: 1.38 !important;
  font-weight: 750 !important;
}
html body.single.single-post .navigation.post-navigation .nav-next a,
html body.single.single-post .navigation.post-navigation .nav-next a p {
  text-align: right !important;
}

/* Related guides become a deliberate continuation panel. */
html body.single.single-post .htr-related-guides-hub {
  box-sizing: border-box !important;
  width: min(calc(100% - 2rem), 65.5rem) !important;
  max-width: 65.5rem !important;
  margin: 1.25rem auto 2.75rem !important;
  padding: 1.35rem !important;
  background: linear-gradient(135deg, #f7f9f5 0%, #fffdfa 100%) !important;
  border: 1px solid rgba(15, 100, 99, .15) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 22px rgba(16, 26, 20, .045) !important;
}
html body.single.single-post .htr-related-guides-hub > div:first-child {
  display: flex !important;
  align-items: center !important;
  gap: .65rem !important;
  margin: 0 0 .35rem !important;
}
html body.single.single-post .htr-related-guides-hub > div:first-child > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2.15rem !important;
  height: 2.15rem !important;
  flex: 0 0 2.15rem !important;
  background: rgba(15, 100, 99, .08) !important;
  border-radius: 50% !important;
  font-size: 1rem !important;
}
html body.single.single-post .htr-related-guides-hub h3 {
  margin: 0 !important;
  color: var(--ink) !important;
  font-family: var(--font-display) !important;
  font-size: 1.3rem !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}
html body.single.single-post .htr-related-guides-hub > p {
  margin: 0 0 1rem 2.8rem !important;
  color: #5b6861 !important;
  font-size: .83rem !important;
  line-height: 1.45 !important;
}
html body.single.single-post .htr-related-guides-hub .htr-related-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .75rem !important;
}
html body.single.single-post .htr-related-guides-hub .htr-related-grid > a {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
  min-height: 8.5rem !important;
  box-sizing: border-box !important;
  padding: 1rem 1rem 1.1rem !important;
  color: var(--ink) !important;
  background: #fff !important;
  border: 1px solid rgba(16, 26, 20, .11) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  text-decoration: none !important;
  overflow: hidden !important;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}
html body.single.single-post .htr-related-guides-hub .htr-related-grid > a::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 0 0 !important;
  height: 3px !important;
  background: var(--copper) !important;
}
html body.single.single-post .htr-related-guides-hub .htr-related-grid > a:hover {
  border-color: rgba(15, 100, 99, .32) !important;
  box-shadow: 0 8px 20px rgba(16, 26, 20, .075) !important;
  transform: translateY(-2px) !important;
}
html body.single.single-post .htr-related-guides-hub .htr-related-grid > a:focus-visible {
  outline: none !important;
  border-color: var(--moss) !important;
  box-shadow: 0 0 0 3px rgba(15, 100, 99, .18) !important;
}
html body.single.single-post .htr-related-guides-hub .htr-related-grid > a strong {
  display: block !important;
  margin: 0 0 .5rem !important;
  color: var(--moss) !important;
  font-size: .86rem !important;
  line-height: 1.38 !important;
  font-weight: 800 !important;
  overflow-wrap: anywhere !important;
}
html body.single.single-post .htr-related-guides-hub .htr-related-grid > a span {
  display: block !important;
  color: #5e6963 !important;
  font-size: .76rem !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 760px) {
  html body.single.single-post .htr-post-content .htr-helpful-counter {
    display: block !important;
    margin: 1.75rem 0 1rem !important;
    padding: 1rem !important;
  }
  html body.single.single-post .htr-helpful-counter .htr-helpful-title {
    margin-bottom: .8rem !important;
    text-align: center !important;
  }
  html body.single.single-post .htr-helpful-counter .htr-helpful-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .55rem !important;
  }
  html body.single.single-post .htr-helpful-counter .htr-helpful-btn {
    width: 100% !important;
  }
  html body.single.single-post .htr-helpful-counter .htr-helpful-msg {
    margin-top: .7rem !important;
  }
  html body.single.single-post .navigation.post-navigation {
    width: min(calc(100% - 1.5rem), 65.5rem) !important;
    margin-top: 1.15rem !important;
  }
  html body.single.single-post .navigation.post-navigation .nav-links {
    grid-template-columns: 1fr !important;
    gap: .7rem !important;
  }
  html body.single.single-post .navigation.post-navigation a {
    min-height: 0 !important;
    padding: 1rem !important;
  }
  html body.single.single-post .navigation.post-navigation .nav-next a,
  html body.single.single-post .navigation.post-navigation .nav-next a p {
    text-align: left !important;
  }
  html body.single.single-post .htr-related-guides-hub {
    width: min(calc(100% - 1.5rem), 65.5rem) !important;
    margin: 1rem auto 2rem !important;
    padding: 1rem !important;
    border-radius: 11px !important;
  }
  html body.single.single-post .htr-related-guides-hub > p {
    margin: .35rem 0 .9rem !important;
  }
  html body.single.single-post .htr-related-guides-hub .htr-related-grid {
    grid-template-columns: 1fr !important;
    gap: .65rem !important;
  }
  html body.single.single-post .htr-related-guides-hub .htr-related-grid > a {
    min-height: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.single.single-post .htr-helpful-counter .htr-helpful-btn,
  html body.single.single-post .navigation.post-navigation a,
  html body.single.single-post .htr-related-guides-hub .htr-related-grid > a {
    transition: none !important;
  }
}

/* HTR related guide grid specificity 20261001-v2 */
html body.single.single-post .site-content .htr-related-guides-hub .htr-related-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .75rem !important;
}
html body.single.single-post .site-content .htr-related-guides-hub .htr-related-grid > a {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
}
@media (max-width: 760px) {
  html body.single.single-post .site-content .htr-related-guides-hub .htr-related-grid {
    grid-template-columns: 1fr !important;
  }
}

/* HTR single-post hero focal crop 20261002-v1
 * Preserve the compact hero footprint while letting object-fit perform a real,
 * centered editorial crop instead of clipping the top of an intrinsic image.
 */
html body.single.single-post .htr-hero-image-container,
html body.single.single-post .htr-hero-image-aspect {
  height: clamp(15rem, 30vw, 20rem) !important;
  max-height: 20rem !important;
}

html body.single.single-post .htr-hero-image-aspect {
  position: relative !important;
}

html body.single.single-post .htr-hero-image-element {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: 50% 56% !important;
}

@media (max-width: 760px) {
  html body.single.single-post .htr-hero-image-container,
  html body.single.single-post .htr-hero-image-aspect {
    height: clamp(14rem, 66vw, 17rem) !important;
  }

  html body.single.single-post .htr-hero-image-element {
    object-position: 50% 54% !important;
  }
}

/* HTR hero inner geometry follow-up 20261002-v2 */
html body.single.single-post .htr-hero-image-container > .htr-hero-image-aspect {
  height: clamp(15rem, 30vw, 20rem) !important;
  max-height: 20rem !important;
}
@media (max-width:760px) {
  html body.single.single-post .htr-hero-image-container > .htr-hero-image-aspect {
    height: clamp(14rem, 66vw, 17rem) !important;
  }
}

/* HTR pinned hero crop layer 20261002-v3 */
html body.single.single-post .htr-hero-image-container { position: relative !important; }
html body.single.single-post .htr-hero-image-container > .htr-hero-image-aspect {
  position: absolute !important; inset: 0 !important; width: 100% !important;
  height: 100% !important; max-height: none !important;
}

/* HTR hero aspect reset 20261002-v4 */
html body.single.single-post .htr-hero-image-container > .htr-hero-image-aspect,
html body.single.single-post .htr-hero-image-container > .htr-hero-image-aspect > .htr-hero-image-element {
  aspect-ratio: auto !important;
  block-size: 100% !important;
  max-block-size: 100% !important;
}

/* HTR hero focal translation 20261002-v5 */
@media (min-width:761px) {
 html body.single.single-post .htr-hero-image-container .htr-hero-image-element { transform:translateY(-22%) !important; }
}

/* HTR final TOC rail authority 20261003-v1 */
@media (min-width: 960px) {
  html body.single.single-post .entry-content:has(#ez-toc-container) > #ez-toc-container,
  html body.single.single-post .htr-post-content:has(#ez-toc-container) > #ez-toc-container,
  html body.single.single-post .entry-content:has(.htr-toc-rail > #ez-toc-container) > .htr-toc-rail,
  html body.single.single-post .htr-post-content:has(.htr-toc-rail > #ez-toc-container) > .htr-toc-rail {
    grid-row: 1 / span 999 !important;
    position: sticky !important;
    align-self: start !important;
  }
}

@media (min-width: 1120px) {
  html body.single.single-post #ez-toc-container ul.ez-toc-list a.ez-toc-link {
    font-size: .76rem !important;
    line-height: 1.32 !important;
    padding: .46rem .28rem !important;
  }
  html body.single.single-post #ez-toc-container ul.ez-toc-list a.ez-toc-link::before {
    line-height: 1.45 !important;
  }
}

/* HTR table border authority 20261003-v1 */
@media (min-width: 761px) {
  html body.single.single-post .htr-post-content table.htr-pts-table-scroll,
  html body.single.single-post .htr-post-content table.htr-mobile-card-table,
  html body.single.single-post .entry-content table.htr-pts-table-scroll,
  html body.single.single-post .entry-content table.htr-mobile-card-table {
    border: 1px solid var(--line) !important;
    border-collapse: collapse !important;
  }
  html body.single.single-post .htr-post-content table.htr-pts-table-scroll th,
  html body.single.single-post .htr-post-content table.htr-pts-table-scroll td,
  html body.single.single-post .htr-post-content table.htr-mobile-card-table th,
  html body.single.single-post .htr-post-content table.htr-mobile-card-table td,
  html body.single.single-post .entry-content table.htr-pts-table-scroll th,
  html body.single.single-post .entry-content table.htr-pts-table-scroll td,
  html body.single.single-post .entry-content table.htr-mobile-card-table th,
  html body.single.single-post .entry-content table.htr-mobile-card-table td {
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
  }
  html body.single.single-post .htr-post-content table.htr-pts-table-scroll tbody tr:not(:last-child) td,
  html body.single.single-post .htr-post-content table.htr-mobile-card-table tbody tr:not(:last-child) td,
  html body.single.single-post .entry-content table.htr-pts-table-scroll tbody tr:not(:last-child) td,
  html body.single.single-post .entry-content table.htr-mobile-card-table tbody tr:not(:last-child) td {
    border-bottom: 1px solid rgba(16, 26, 20, .1) !important;
  }
}

