/* ---- HPtE component styles ---- */

/* Tables — document style: caps header, hairline grid, white cells.
   Selectors doubled so they outrank Kadence's own table rules, and
   scoped to .entry-content so raw <table> in HTML blocks is covered too. */
.entry-content table,
.entry-content .wp-block-table table { border-collapse: collapse; width: 100%; line-height: 1.5; }
.entry-content table th,
.entry-content .wp-block-table th {
  background: var(--global-palette7);
  color: var(--global-palette6);
  font-size: .68rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; text-align: left;
  padding: .7em .85em; border: 1px solid #DEDCD6;
}
.entry-content table td,
.entry-content .wp-block-table td {
  padding: .8em .85em; border: 1px solid #DEDCD6;
  vertical-align: top; background: #fff; color: var(--global-palette5);
}
.entry-content .wp-block-table.is-style-stripes td,
.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) td { background: #fff; }
.entry-content table td strong { color: var(--global-palette3); }
.entry-content table td em {
  color: var(--global-palette6); font-style: normal;
  font-size: .9em; display: inline-block; margin-top: .3em;
}
.entry-content .wp-block-table, .entry-content .table-scroll { overflow-x: auto; }

/* Callouts — pullquote becomes the left-bar callout */
.wp-block-pullquote {
  background: #FAF0E2; border: 0;
  border-left: 5px solid var(--global-palette10);
  padding: 1.15em 1.4em; margin: 1.9em 0; text-align: left;
}
.wp-block-pullquote blockquote { border: 0; margin: 0; padding: 0; max-width: none; }
.wp-block-pullquote p {
  font-size: 1.02rem; font-style: normal; font-weight: 400;
  line-height: 1.55; color: #8A5A2B; text-align: left; margin: 0;
}

/* Headings — hairline rule under section heads */
.entry-content h2 {
  border-bottom: 1px solid #DEDCD6;
  padding-bottom: .35em; margin-top: 2.4em;
}
.entry-content .hpte-hero h2,
.entry-content .hpte-card h2,
.entry-content .hpte-plate h2 { border-bottom: 0; padding-bottom: 0; margin-top: 0; }

/* Separators — thin rule, not a heavy line */
.wp-block-separator {
  border: 0; border-top: 1px solid #DEDCD6;
  max-width: 100%; margin: 2.7em 0; opacity: 1;
}

/* Framed diagram plate */
.hpte-plate {
  border: 1px solid #DEDCD6; background: #fff;
  padding: 1.6rem; margin: 1.8em 0; text-align: center;
}
.hpte-plate img { max-width: 100%; height: auto; }
.hpte-plate figcaption,
.hpte-plate .caption {
  border-top: 1px solid #DEDCD6; margin-top: 1.1rem; padding-top: .9rem;
  font-size: .85rem; font-style: italic; color: var(--global-palette6);
}

/* Hero card */
.hpte-hero {
  border: 1px solid #DEDCD6; background: #fff;
  padding: 2.2rem 2.2rem 1.9rem; margin: 0 0 1.4rem;
}
.hpte-eyebrow {
  text-transform: uppercase; letter-spacing: .16em;
  font-size: .72rem; font-weight: 700;
  color: var(--global-palette2); margin: 0 0 .9rem;
}
.hpte-hero h2 {
  font-size: 2.05rem; line-height: 1.15; font-weight: 800;
  color: var(--global-palette3); margin: 0 0 .9rem; border: 0; padding: 0;
}
.hpte-lede { font-size: 1.05rem; line-height: 1.6; margin: 0 0 1.5rem; }
.hpte-btns { display: flex; flex-wrap: wrap; gap: .6rem; }
.hpte-btn {
  display: inline-block; padding: .72em 1.2em;
  border: 1px solid var(--global-palette1); color: var(--global-palette1);
  font-weight: 700; font-size: .92rem; text-decoration: none; border-radius: 2px;
}
.hpte-btn.is-filled { background: var(--global-palette1); color: #fff; }
.hpte-note { font-size: .95rem; color: var(--global-palette6); margin: 1.3rem 0 0; }

/* Cards, pills and bio rows */
.hpte-cards { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.6em 0; }
.hpte-card {
  flex: 1 1 220px; border: 1px solid #DEDCD6; background: #fff;
  padding: 1.3rem 1.4rem; line-height: 1.6;
}
.hpte-card-wide { flex: 1 1 300px; }
.hpte-card h3 { margin: 0 0 .5rem; font-size: 1.05rem; color: var(--global-palette3); }
.hpte-pill {
  display: inline-block; padding: .3em .75em; margin: 0 .35em .35em 0;
  border: 1px solid #DEDCD6; border-radius: 999px; background: var(--global-palette8);
  font-size: .78rem; letter-spacing: .04em; color: var(--global-palette6);
}
.hpte-bio { display: flex; flex-wrap: wrap; gap: 1.2rem; margin: 1.6em 0; align-items: flex-start; }
.hpte-bio-avatar { flex: 0 0 104px; }
.hpte-bio-avatar img { width: 104px; height: 104px; object-fit: cover; border-radius: 50%; }
.hpte-bio-text { flex: 1 1 300px; }

@media (max-width: 600px) {
  .hpte-hero { padding: 1.4rem; }
  .hpte-hero h2 { font-size: 1.6rem; }
  .hpte-btn { width: 100%; text-align: center; }
}

/* Reading measure — container is wide, the text column is not.
   Headings, rules, tables and cards use the full container width;
   running text stops at a comfortable line length. */
.entry-content > p.wp-block-paragraph,
.entry-content > ul.wp-block-list,
.entry-content > ol.wp-block-list,
.entry-content.single-content > p,
.entry-content.single-content > ul,
.entry-content.single-content > ol,
.entry-content.single-content > blockquote { max-width: 960px; }
/* ---- Home page ---- */

/* One quiet ground and one accent, in place of five different washes.
   Rows are targeted by their Kadence row IDs. */
body.home .entry-content .kb-row-layout-id4499_0c5d9b-ba,
body.home .entry-content .kb-row-layout-id4499_8caeb8-8d,
body.home .entry-content .kb-row-layout-id4499_5ce2d8-e8 {
  background-color: var(--global-palette8);
  border-top: 1px solid #DEDCD6;
  border-bottom: 1px solid #DEDCD6;
}

/* The three zones are parallel cases, so they share one treatment */
body.home .entry-content .kb-row-layout-id4499_909159-56,
body.home .entry-content .kb-row-layout-id4499_de457b-34,
body.home .entry-content .kb-row-layout-id4499_348b29-cf {
  background-color: #fff;
  border: 1px solid #DEDCD6;
}

/* The turn of the argument keeps the single accent */
body.home .entry-content .kb-row-layout-id4499_b37e10-33 {
  background-color: #FAF0E2;
  border: 0; border-left: 5px solid #A5641B;
}

/* Hero copy held to a readable measure */
body.home .entry-content .kb-row-layout-id4499_0c5d9b-ba p {
  font-size: 1.06rem; line-height: 1.6;
  max-width: 720px; margin-left: auto; margin-right: auto;
}