/* ==========================================================================================================
   Blog posts + article listings (2026-10-23). Auto-enqueued after style.css (functions.php → hrm_child_enqueue_area_css).
   Palette variables only (--hrm-ink, --hrm-muted, --hrm-line, --hrm-bg, --hrm-panel, --hrm-rail, --hrm-primary,
   --hrm-link, --hrm-back*), so light, dark and the named palettes all work without extra rules.

   Where the markup comes from:
   - Single posts render through Theme Builder body layout 1630 (rebuilt by wp-pages/post_template.py) with the
     sections .hrm-post-head (back link, title, date + reading time, featured image), .hrm-post-body (the post
     content), .hrm-post-more (Divi Blog module: 3 more articles), .hrm-post-offer (module tiles) and
     .hrm-post-contact (Cognito form). The post content itself is migrated Divi 4 markup with no colours of its own,
     so the rules below restyle Divi's defaults (white sections, #666 text, #333 headings, Open Sans).
   - Listing pages (/news/published-articles/, /news/) are legacy Divi pages flagged _hrm_template=v7, which puts
     body.hrm-v7-page on them; their sections carry no hrm-* class, which is how they are told apart from the
     builder pages.
   - Every Divi Blog module in grid mode (.et_pb_posts .et_grid_module) is drawn as the home page's cards.
   ========================================================================================================== */

/* ---------- canvas: posts and legacy v7 pages take the palette surface ---------- */
body.single-post, body.single-post #page-container, body.single-post #et-main-area, body.single-post #main-content { background: var(--hrm-bg) !important; }
body.single-post .et-l--body .et_pb_section:not([class*="hrm-post-"]),
body.hrm-v7-page .et-l--post .et_pb_section:not([class*="hrm-"]) { background-color: transparent !important; }
body.single-post .et-l--body .et_pb_post_content .et_pb_section { background-color: transparent !important; background-image: none !important; }
body.single-post .et-l--body .et_pb_section.hrm-post-head, body.single-post .et-l--body .et_pb_section.hrm-post-body { background-color: transparent !important; }

/* ---------- typography: Outfit headings, Inter body, palette colours ---------- */
body.single-post .et-l--body,
body.hrm-v7-page .et-l--post .et_pb_section:not([class*="hrm-"]) { font-family: Inter, "Open Sans", Arial, sans-serif; color: var(--hrm-ink); }
body.single-post .et-l--body :is(h1, h2, h3, h4, h5, h6),
body.single-post .et-l--body .et_pb_module_header,
body.hrm-v7-page .et-l--post .et_pb_section:not([class*="hrm-"]) :is(h1, h2, h3, h4, h5, h6) {
  font-family: Outfit, Inter, "Open Sans", sans-serif !important; color: var(--hrm-ink) !important; letter-spacing: -0.01em; font-weight: 700;
}
body.single-post .et-l--body :is(p, li, td, th, dd, dt, blockquote, figcaption),
body.hrm-v7-page .et-l--post .et_pb_section:not([class*="hrm-"]) :is(p, li, td, th) { color: var(--hrm-ink); }
body.single-post .et-l--body .et_pb_post_content a:not(.et_pb_button):not(.more-link):not(.entry-featured-image-url),
body.hrm-v7-page .et-l--post .et_pb_section:not([class*="hrm-"]) .et_pb_text a { color: var(--hrm-primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.single-post .et-l--body .et_pb_post_content a:not(.et_pb_button):hover { color: var(--hrm-primary-d); }
html.hrm-dark body.single-post .et-l--body .et_pb_post_content a:not(.et_pb_button):hover { color: #fff; }

/* ---------- post head ---------- */
body.single-post .hrm-post-head { padding: 44px 0 8px !important; }
body.single-post .hrm-post-head .et_pb_row { padding: 0 !important; width: 90%; max-width: 820px; }
body.single-post .hrm-post-head .hrm-post-tools,
body.single-post .hrm-post-head .et_pb_title_container { max-width: 820px; margin-left: auto; margin-right: auto; }
body.single-post .hrm-post-head .hrm-post-tools { margin-bottom: 14px; }
.hrm-post-back { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--hrm-link) !important; text-decoration: none; }
.hrm-post-back::before { content: "\2190"; font-size: 14px; letter-spacing: 0; }
.hrm-post-back:hover { color: var(--hrm-link-d) !important; }
html.hrm-dark .hrm-post-back:hover { color: #fff !important; }
body.single-post .hrm-post-head .et_pb_post_title { margin: 0 !important; display: block; }
body.single-post .hrm-post-head h1.entry-title {
  font-size: clamp(30px, 3.6vw, 46px) !important; line-height: 1.12 !important; padding: 0 0 12px; margin: 0; text-wrap: balance;
}
body.single-post .hrm-post-head .et_pb_title_meta_container { color: var(--hrm-muted) !important; font-size: 14px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 0; margin: 0; }
body.single-post .hrm-post-head .et_pb_title_meta_container .published { color: var(--hrm-muted); }
body.single-post .hrm-post-head .hrm-readtime::before { content: "\00b7"; margin: 0 8px 0 2px; }
body.single-post .hrm-post-head .et_pb_title_featured_container { margin-top: 26px; }
body.single-post .hrm-post-head .et_pb_title_featured_container img {
  width: 100%; height: auto; display: block; border-radius: 14px; border: 1px solid var(--hrm-line); box-shadow: var(--hrm-shadow);
}

/* ---------- post body: a readable measure ---------- */
body.single-post .hrm-post-body { padding: 30px 0 24px !important; }
/* text rows (one full-width column) and classic content keep an ~80-character measure (820px); rows the 2023-24 posts
   built with 2-4 columns (text beside a video, icon tiles) get the full 1080px so their columns are not squeezed */
body.single-post .hrm-post-body > .et_pb_row { width: 90%; max-width: 1080px; padding: 0 !important; }
body.single-post .hrm-post-body .et_pb_post_content .et_pb_section { padding: 0 !important; margin: 0 !important; }
body.single-post .hrm-post-body .et_pb_post_content .et_pb_row { width: 100% !important; max-width: 820px !important; margin-left: auto !important; margin-right: auto !important; padding: 10px 0 !important; }
body.single-post .hrm-post-body .et_pb_post_content .et_pb_row:has(> .et_pb_column:not(.et_pb_column_4_4)) { max-width: none !important; }
body.single-post .hrm-post-body .et_pb_post_content > :not(.et-l) { max-width: 820px; margin-left: auto; margin-right: auto; }
body.single-post .hrm-post-body .et_pb_post_content .et_pb_module { margin-bottom: 18px; }
body.single-post .hrm-post-body .et_pb_post_content :is(p, li) { font-size: 17px; line-height: 1.72; }
body.single-post .hrm-post-body .et_pb_post_content p { padding-bottom: 0; margin-bottom: 1.05em; }
body.single-post .hrm-post-body .et_pb_post_content h1 { font-size: 32px !important; line-height: 1.2 !important; padding: 0 0 10px; }
body.single-post .hrm-post-body .et_pb_post_content h2 { font-size: clamp(24px, 2.4vw, 30px) !important; line-height: 1.2 !important; padding: 18px 0 10px; }
body.single-post .hrm-post-body .et_pb_post_content h3 { font-size: 21px !important; line-height: 1.3 !important; padding: 12px 0 8px; }
body.single-post .hrm-post-body .et_pb_post_content h4 { font-size: 18px !important; line-height: 1.35 !important; padding: 10px 0 6px; }
body.single-post .hrm-post-body .et_pb_post_content :is(ul, ol) { padding: 0 0 1em 1.3em !important; }
body.single-post .hrm-post-body .et_pb_post_content li { margin-bottom: 6px; }
body.single-post .hrm-post-body .et_pb_post_content li::marker { color: var(--hrm-link); }
body.single-post .hrm-post-body .et_pb_post_content strong, body.single-post .hrm-post-body .et_pb_post_content b { color: var(--hrm-ink); }
body.single-post .hrm-post-body .et_pb_post_content blockquote { border-left: 4px solid var(--hrm-link); background: var(--hrm-rail); padding: 14px 20px; border-radius: 0 10px 10px 0; margin: 0 0 1.2em; }
/* images: rounded, never wider than the column */
body.single-post .hrm-post-body .et_pb_post_content img { max-width: 100%; height: auto; border-radius: 10px; }
body.single-post .hrm-post-body .et_pb_post_content .et_pb_main_blurb_image img { border-radius: 0; }
/* videos: the old embeds carry width:600px; float:left inline; make every iframe a responsive 16:9 */
body.single-post .hrm-post-body .et_pb_post_content iframe[src*="youtube"],
body.single-post .hrm-post-body .et_pb_post_content iframe[src*="youtu.be"],
body.single-post .hrm-post-body .et_pb_post_content iframe[src*="vimeo"] {
  float: none !important; display: block; width: 100% !important; max-width: 100%; height: auto !important; aspect-ratio: 16 / 9; border: 0; border-radius: 12px; margin: 6px 0 18px;
}
body.single-post .hrm-post-body .et_pb_post_content .et_pb_video { border-radius: 12px; overflow: hidden; }
/* dividers */
body.single-post .et-l--body .et_pb_divider::before { border-top-color: var(--hrm-line) !important; }
/* blurbs (2023-era "why choose" posts): icon left, text right */
body.single-post .hrm-post-body .et_pb_blurb .et_pb_module_header { font-size: 20px !important; padding-bottom: 6px; }
body.single-post .hrm-post-body .et_pb_blurb .et_pb_main_blurb_image { margin-bottom: 12px; }
body.single-post .hrm-post-body .et_pb_blurb_position_left .et_pb_main_blurb_image { width: 96px !important; }
body.single-post .hrm-post-body .et_pb_blurb_position_left .et_pb_main_blurb_image img { width: 96px !important; }
@media (max-width: 767px) {
  /* phones: icon above the text instead of a 128px-wide icon column */
  body.single-post .hrm-post-body .et_pb_blurb_position_left .et_pb_blurb_content { display: block !important; }
  body.single-post .hrm-post-body .et_pb_blurb_position_left .et_pb_main_blurb_image { display: block !important; width: 64px !important; margin: 0 0 12px !important; }
  body.single-post .hrm-post-body .et_pb_blurb_position_left .et_pb_main_blurb_image img { width: 64px !important; }
  body.single-post .hrm-post-body .et_pb_blurb_position_left .et_pb_blurb_container { display: block !important; padding-left: 0 !important; }
}
/* buttons inside posts: the site's green pill */
body.single-post .et-l--body .et_pb_post_content .et_pb_button {
  background: var(--hrm-link) !important; color: #0b1829 !important; border: 0 !important; border-radius: 999px !important;
  padding: 12px 24px !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.2 !important; font-family: Inter, sans-serif !important;
}
body.single-post .et-l--body .et_pb_post_content .et_pb_button:hover { background: var(--hrm-link-d) !important; padding: 12px 24px !important; }
body.single-post .et-l--body .et_pb_post_content .et_pb_button::after { display: none !important; }
/* galleries */
body.single-post .hrm-post-body .et_pb_gallery_image { border-radius: 10px; overflow: hidden; border: 1px solid var(--hrm-line); }
/* tables inside posts */
body.single-post .hrm-post-body .et_pb_post_content table { border-color: var(--hrm-line) !important; }
body.single-post .hrm-post-body .et_pb_post_content :is(td, th) { border-color: var(--hrm-line) !important; }
/* the Cognito logo in the 2025 Cognito post has a dark navy logotype: lift it on dark surfaces */
html.hrm-dark body.single-post .hrm-post-body .et_pb_post_content svg [class^="i-logotype"] { fill: var(--hrm-ink); }

/* ---------- "More articles" ---------- */
body.single-post .hrm-post-more { background: var(--hrm-rail) !important; padding: 56px 0 48px !important; border-top: 1px solid var(--hrm-line); }
body.single-post .hrm-post-more .et_pb_row { width: 90%; max-width: 1080px; padding: 0 !important; }
body.single-post .hrm-post-morehead { margin-bottom: 22px !important; }
body.single-post .hrm-post-morehead p { padding: 0; margin: 0; }
body.single-post .hrm-post-morehead h2 { font-size: clamp(26px, 3vw, 34px) !important; line-height: 1.15 !important; padding: 0; margin: 0; }
body.single-post .hrm-post-more .et_pb_blog { margin-bottom: 18px !important; }
.hrm-post-all { margin: 0; padding: 0 !important; }
.hrm-post-all a { font-weight: 600; color: var(--hrm-primary) !important; text-decoration: none; }
.hrm-post-all a::after { content: " \2192"; }
.hrm-post-all a:hover { text-decoration: underline; }

/* ---------- "See what we're offering" tiles → cards ---------- */
body.single-post .hrm-post-offer { background: var(--hrm-bg) !important; padding: 56px 0 32px !important; }
body.single-post .hrm-post-offer .et_pb_row { width: 90%; max-width: 1080px; padding-top: 0 !important; padding-bottom: 0 !important; }
body.single-post .hrm-post-offer .et_pb_row + .et_pb_row { margin-top: 0; }
body.single-post .hrm-post-offer .et_pb_divider { display: none; }
body.single-post .hrm-post-offer .et_pb_row:first-child .et_pb_text { max-width: 760px; margin-bottom: 24px !important; }
body.single-post .hrm-post-offer .et_pb_row:first-child h2 { font-size: clamp(26px, 3vw, 34px) !important; line-height: 1.15 !important; padding-bottom: 10px; }
body.single-post .hrm-post-offer .et_pb_row:first-child p { color: var(--hrm-muted); font-size: 17px; line-height: 1.6; }
body.single-post :is(.hrm-post-offer, .hrm-post-body) .et_pb_row_4col:has(.et_clickable) { display: flex; gap: 16px; }
body.single-post :is(.hrm-post-offer, .hrm-post-body) .et_pb_row_4col:has(.et_clickable) > .et_pb_column { margin: 0 0 16px !important; width: auto !important; flex: 1 1 0; display: flex; }
body.single-post :is(.hrm-post-offer, .hrm-post-body) .et_pb_row_4col .et_pb_text.et_clickable {
  width: 100%; background: var(--hrm-panel); border: 1px solid var(--hrm-line); border-radius: 14px; padding: 22px 20px 18px; margin: 0 !important;
  transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
}
body.single-post :is(.hrm-post-offer, .hrm-post-body) .et_pb_row_4col .et_pb_text.et_clickable:hover { border-color: var(--hrm-primary); transform: translateY(-2px); box-shadow: var(--hrm-shadow); }
body.single-post :is(.hrm-post-offer, .hrm-post-body) .et_pb_row_4col .et_pb_text.et_clickable h3 { font-size: 17px !important; line-height: 1.3 !important; padding: 0 0 6px; }
body.single-post :is(.hrm-post-offer, .hrm-post-body) .et_pb_row_4col .et_pb_text.et_clickable h3:first-child { padding: 0 0 10px; }
body.single-post :is(.hrm-post-offer, .hrm-post-body) .et_pb_row_4col .et_pb_text.et_clickable img { width: 72px !important; height: 72px !important; object-fit: contain; border-radius: 0 !important; }
body.single-post :is(.hrm-post-offer, .hrm-post-body) .et_pb_row_4col .et_pb_text.et_clickable, body.single-post :is(.hrm-post-offer, .hrm-post-body) .et_pb_row_4col .et_pb_text.et_clickable p { color: var(--hrm-muted); font-size: 14.5px; line-height: 1.5; }
@media (max-width: 980px) {
  body.single-post :is(.hrm-post-offer, .hrm-post-body) .et_pb_row_4col:has(.et_clickable) { flex-wrap: wrap; }
  body.single-post :is(.hrm-post-offer, .hrm-post-body) .et_pb_row_4col:has(.et_clickable) > .et_pb_column { flex: 1 1 calc(50% - 8px); }
}
@media (max-width: 560px) {
  body.single-post :is(.hrm-post-offer, .hrm-post-body) .et_pb_row_4col:has(.et_clickable) > .et_pb_column { flex-basis: 100%; }
}

/* ---------- contact band + Cognito form ---------- */
body.single-post .hrm-post-contact { background: var(--hrm-rail) !important; padding: 56px 0 48px !important; border-top: 1px solid var(--hrm-line); }
body.single-post .hrm-post-contact .et_pb_row { width: 90%; max-width: 820px; padding: 0 !important; }
body.single-post .hrm-post-contact .et_pb_divider { display: none; }
body.single-post .hrm-post-contact h2 { font-size: clamp(26px, 3vw, 34px) !important; line-height: 1.15 !important; padding-bottom: 8px; }
body.single-post .hrm-post-contact .et_pb_text p { color: var(--hrm-muted); font-size: 17px; }
/* Cognito keeps its look in CSS variables on .cog-<id>; a longer selector wins over them */
body .et-l .cog-cognito.cog-form, body .et_pb_post_content .cog-cognito.cog-form {
  --font-family: Inter, "Open Sans", Arial, sans-serif; --heading__font-family: Outfit, Inter, sans-serif; --header__font-family: Outfit, Inter, sans-serif;
  --button-primary__font-family: Inter, sans-serif; --button-secondary__font-family: Inter, sans-serif;
  --border-radius: 8px; --button-primary__border-radius: 999px; --button-secondary__border-radius: 999px;
  --button-primary__color: #0b1829; --button-primary__font-weight: 600; --button-primary__font-size: 1.07em;
  --form__background-color: transparent; --font-size: 15px;
}
html.hrm-dark body .et-l .cog-cognito.cog-form, html.hrm-dark body .et_pb_post_content .cog-cognito.cog-form {
  --color: var(--hrm-ink); --heading__color: var(--hrm-ink); --header__color: var(--hrm-ink); --label__color: var(--hrm-ink);
  --input__background-color: var(--hrm-panel); --input__color: var(--hrm-ink); --input__border-color: rgba(255, 255, 255, 0.18);
  --background-hsl: 210, 20%, 30%; --checkable__border-color: rgba(255, 255, 255, 0.3);
  --button-secondary__background-color: transparent; --primary-reverse: #0b1829; --highlight-reverse: #e8eef5;
}
html.hrm-dark body .et-l .cog-cognito.cog-form :is(.cog-label, .cog-heading, .cog-html, .cog-content, .el-radio__label, .el-checkbox__label, .cog-choice__label) { color: var(--hrm-ink); }
html.hrm-dark body .et-l .cog-cognito.cog-form :is(input, textarea, select, .el-input__inner, .el-textarea__inner) { background-color: var(--hrm-panel) !important; color: var(--hrm-ink) !important; }

/* ---------- Divi Blog module (grid) → cards, everywhere ---------- */
.et_pb_posts .et_pb_blog_posts.et_grid_module { display: grid; gap: 20px !important; }
.et_pb_posts .et_grid_module .et_pb_post {
  display: flex; flex-direction: column; padding: 0 !important; margin: 0 !important; overflow: hidden;
  background: var(--hrm-panel) !important; border: 1px solid var(--hrm-line) !important; border-radius: 14px !important;
  transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
}
.et_pb_posts .et_grid_module .et_pb_post:hover { border-color: var(--hrm-primary) !important; transform: translateY(-2px); box-shadow: var(--hrm-shadow); }
.et_pb_posts .et_grid_module .et_pb_image_container { margin: 0 !important; border-radius: 0 !important; overflow: hidden; }
.et_pb_posts .et_grid_module .et_pb_image_container a, .et_pb_posts .et_grid_module .et_pb_image_container img { display: block; border-radius: 0 !important; }
.et_pb_posts .et_grid_module .et_pb_image_container img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; height: auto; }
.et_pb_posts .et_grid_module .et_pb_post .et_overlay { display: none !important; }
.et_pb_posts .et_grid_module .et_pb_post .entry-title { padding: 18px 20px 0 !important; margin: 0 !important; font-family: Outfit, Inter, sans-serif !important; font-size: 19px !important; line-height: 1.3 !important; font-weight: 700 !important; }
.et_pb_posts .et_grid_module .et_pb_post .entry-title a { color: var(--hrm-ink) !important; text-decoration: none !important; }
.et_pb_posts .et_grid_module .et_pb_post:hover .entry-title a { color: var(--hrm-primary) !important; }
.et_pb_posts .et_grid_module .et_pb_post .post-meta { padding: 6px 20px 0 !important; margin: 0 !important; font-size: 13px !important; color: var(--hrm-muted) !important; }
.et_pb_posts .et_grid_module .et_pb_post .post-meta a, .et_pb_posts .et_grid_module .et_pb_post .post-meta span { color: var(--hrm-muted) !important; }
.et_pb_posts .et_grid_module .et_pb_post .post-content { padding: 10px 20px 20px; display: flex; flex-direction: column; flex: 1 1 auto; }
.et_pb_posts .et_grid_module .et_pb_post .post-content-inner { flex: 1 1 auto; }
.et_pb_posts .et_grid_module .et_pb_post .post-content p { font-family: Inter, sans-serif; font-size: 15px !important; line-height: 1.55 !important; color: var(--hrm-muted) !important; padding: 0; }
.et_pb_posts .et_grid_module .et_pb_post .more-link {
  margin-top: 14px; font-size: 0 !important; color: var(--hrm-primary) !important; text-decoration: none !important; align-self: flex-start;
}
.et_pb_posts .et_grid_module .et_pb_post .more-link::after { content: "Read article \2192"; font-size: 14px; font-weight: 600; font-family: Inter, sans-serif; }
/* pagination ("« Older Entries" / "Next Entries »") as outline pills */
.et_pb_posts .pagination { margin-top: 26px; padding: 0; display: flex; justify-content: space-between; gap: 12px; }
.et_pb_posts .pagination .alignleft, .et_pb_posts .pagination .alignright { float: none; }
.et_pb_posts .pagination a {
  display: inline-block; padding: 10px 20px; border-radius: 999px; border: 1.5px solid var(--hrm-primary); color: var(--hrm-primary) !important;
  font-weight: 600; font-size: 14px; text-decoration: none; font-family: Inter, sans-serif;
}
.et_pb_posts .pagination a:hover { background: var(--hrm-hover); }
@media (max-width: 980px) {
  .et_pb_posts .et_pb_blog_posts.et_grid_module { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  .et_pb_posts .et_pb_blog_posts.et_grid_module { grid-template-columns: 1fr !important; }
}

/* ---------- legacy listing pages (/news/published-articles/, /news/) flagged v7 ---------- */
body.hrm-v7-page .et-l--post > .et_builder_inner_content > .et_pb_fullwidth_section:first-child:not([class*="hrm-"]) .et_pb_fullwidth_image img {
  width: 100%; height: clamp(180px, 26vw, 340px); object-fit: cover; display: block;
}
body.hrm-v7-page .et-l--post .et_pb_section:not([class*="hrm-"]) .et_pb_post_title h1.entry-title {
  font-size: clamp(30px, 3.6vw, 44px) !important; line-height: 1.12 !important; padding-bottom: 6px;
}
body.hrm-v7-page .et-l--post .et_pb_section:not([class*="hrm-"]) .et_pb_post_title { margin-bottom: 26px !important; }
body.hrm-v7-page .et-l--post .et_pb_section:not([class*="hrm-"]) .et_pb_text :is(p, li) { font-size: 16px; line-height: 1.7; }
/* the releases table on /news/ */
body.hrm-v7-page .et-l--post .et_pb_section:not([class*="hrm-"]) table {
  border: 1px solid var(--hrm-line) !important; border-collapse: separate; border-spacing: 0; border-radius: 12px; overflow: hidden; background: var(--hrm-panel); margin: 18px 0; width: 100%;
}
body.hrm-v7-page .et-l--post .et_pb_section:not([class*="hrm-"]) :is(td, th) { border: 0 !important; border-top: 1px solid var(--hrm-line) !important; padding: 10px 16px !important; text-align: left; }
body.hrm-v7-page .et-l--post .et_pb_section:not([class*="hrm-"]) thead th { border-top: 0 !important; background: var(--hrm-rail); font-family: Outfit, Inter, sans-serif; font-weight: 700; }
body.hrm-v7-page .et-l--post .et_pb_section:not([class*="hrm-"]) tbody tr:hover td { background: var(--hrm-hover); }

/* ---------- phones: Divi's 80% rows waste a fifth of a 390px screen ---------- */
@media (max-width: 767px) {
  body.single-post .et-l--body > .et_builder_inner_content > .et_pb_section > .et_pb_row,
  body.hrm-v7-page .et-l--post .et_pb_section:not([class*="hrm-"]) > .et_pb_row { width: calc(100% - 40px) !important; }
  body.single-post .hrm-post-head { padding-top: 28px !important; }
  body.single-post .hrm-post-body .et_pb_post_content :is(p, li) { font-size: 16.5px; }
  body.single-post :is(.hrm-post-more, .hrm-post-offer, .hrm-post-contact) { padding: 40px 0 32px !important; }
}

/* ---------- 2023-24 posts that already carry the module tiles and the Cognito contact form in their own content ----------
   (1577, 1660, 1778, 1888, 1899 and the 1569 draft): the template's copies would repeat them, so hide the template's. */
body.single-post:has(.hrm-post-body script[src*="cognitoforms.com"]) .et-l--body .et_pb_section.hrm-post-offer,
body.single-post:has(.hrm-post-body script[src*="cognitoforms.com"]) .et-l--body .et_pb_section.hrm-post-contact { display: none !important; }
body.single-post .hrm-post-body .et_pb_post_content .et_pb_row_4col:has(.et_clickable) { max-width: 1080px !important; }

/* the listing's grid sits on the rail surface so the cards read as cards (as on the home page's module grid) */
body.hrm-v7-page .et-l--post .et_pb_section.et_pb_section:not([class*="hrm-"]):has(.et_pb_posts) { background-color: var(--hrm-rail) !important; padding-top: 48px !important; }
