/* ---------- Platform pages: Software Architecture (page 97, wp-pages/architecture_build.py) and Online Support
   (page 106, wp-pages/support_build.py). Added 2026-10-23. Every section carries .hrm-page.hrm-plat; rules that set
   p/li colours start with .hrm-page.hrm-plat so they beat style.css's html.hrm-dark .hrm-page p { color: ink }.
   Palette variables only, so dark mode and the named palettes apply without extra rules. ---------- */

.hrm-plat { --hrm-plat-accent: color-mix(in srgb, var(--hrm-link) 52%, #000); }   /* green text that reads on white */
html.hrm-dark .hrm-plat { --hrm-plat-accent: var(--hrm-link); }
.hrm-plat .et_pb_module { margin-bottom: 0; }
.hrm-plat h2 { margin: 0; padding: 0; }
.hrm-plat .hrm-sechead { max-width: 780px; margin-bottom: 28px; }
.hrm-plat .hrm-sechead.hrm-center { margin-left: auto; margin-right: auto; text-align: center; }
.hrm-page.hrm-plat .hrm-sechead p { font-size: 18px; color: var(--hrm-muted); margin: 10px 0 0; padding: 0; }
.hrm-plat .hrm-actions { margin-top: 26px; }
.hrm-plat .hrm-center { text-align: center; }
.hrm-plat .hrm-prose a, .hrm-archcard a, .hrm-plat .hrm-sechead a { color: var(--hrm-primary); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.hrm-plat-plain { background: var(--hrm-bg) !important; padding: 64px 0 !important; }
.hrm-plat-soft { background: var(--hrm-rail) !important; padding: 64px 0 !important; }
html.hrm-dark .hrm-plat-soft { background: var(--hrm-back-2) !important; }

/* single-column hero (no screenshot column) */
.hrm-plathero h1 { max-width: 20ch; }
.hrm-plathero .hrm-lead p { max-width: 62ch; }

/* at-a-glance stat strip (uses the shared hrm-stats / hrm-stat cards) */
.hrm-platglance { background: var(--hrm-rail) !important; padding: 44px 0 !important; }
html.hrm-dark .hrm-platglance { background: var(--hrm-back-2) !important; }
.hrm-platglance .hrm-stat b { font-size: clamp(28px, 2.4vw, 38px); }

/* ===== Software Architecture ===== */
.hrm-archintro .et_pb_row { display: flex; align-items: flex-start; gap: 56px; }
.hrm-page.hrm-plat .hrm-archintro .hrm-prose p { margin: 0 0 14px; padding: 0; }
.hrm-archintro .hrm-prose h2 { margin-bottom: 16px; }
.hrm-archpoints { background: var(--hrm-rail); border: 1px solid var(--hrm-line); border-radius: 14px; padding: 24px 26px; }
html.hrm-dark .hrm-archpoints { background: rgba(255, 255, 255, 0.04); }
.hrm-page.hrm-plat .hrm-archpoints p.hrm-archpoints-head { font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--hrm-muted); margin: 0 0 4px; padding: 0; }
.hrm-page.hrm-plat .hrm-archpoints .hrm-checklist li { font-size: 16px; line-height: 1.55; }

/* the diagram (inline SVG; two drawings: landscape for desktop, portrait for phones) */
.hrm-archfig { margin: 0; background: var(--hrm-bg); border: 1px solid var(--hrm-line); border-radius: 16px; padding: 28px 28px 20px; box-shadow: 0 10px 30px rgba(12, 24, 40, 0.06); }
html.hrm-dark .hrm-archfig { background: var(--hrm-back); box-shadow: none; }
.hrm-arch-svg { display: block; width: 100%; height: auto; overflow: visible; }
.hrm-arch-svg--m { display: none; max-width: 420px; margin: 0 auto; }
.hrm-arch-svg text { font-family: Inter, "Open Sans", Arial, sans-serif; fill: var(--hrm-ink); }
.hrm-arch-svg .t { font-family: Outfit, Inter, "Open Sans", sans-serif; font-weight: 700; font-size: 15.5px; }
.hrm-arch-svg .s { font-size: 13px; fill: var(--hrm-muted); }
.hrm-arch-svg .k { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; fill: var(--hrm-plat-accent); }
.hrm-arch-svg .h { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; fill: var(--hrm-muted); }
.hrm-arch-svg .lbl { font-size: 11px; font-weight: 700; letter-spacing: 0.06em; fill: var(--hrm-primary); }
.hrm-arch-svg .u { font-size: 13.5px; font-weight: 600; }
.hrm-arch-svg .b { stroke-width: 1.5; }
.hrm-arch-svg .b-user { fill: color-mix(in srgb, var(--hrm-link) 13%, var(--hrm-bg)); stroke: color-mix(in srgb, var(--hrm-link) 70%, transparent); }
.hrm-arch-svg .b-app { fill: var(--hrm-panel); stroke: var(--hrm-primary); }
.hrm-arch-svg .b-tier { fill: color-mix(in srgb, var(--hrm-primary) 7%, var(--hrm-bg)); stroke: color-mix(in srgb, var(--hrm-primary) 45%, transparent); }
.hrm-arch-svg .b-core { fill: var(--hrm-panel); stroke: var(--hrm-primary); stroke-width: 2; }
.hrm-arch-svg .b-legacy { fill: var(--hrm-panel); stroke: var(--hrm-muted); stroke-dasharray: 5 4; }
.hrm-arch-svg .b-db { fill: color-mix(in srgb, var(--hrm-primary) 16%, var(--hrm-panel)); stroke: var(--hrm-primary); }
.hrm-arch-svg .b-ext { fill: var(--hrm-rail); stroke: var(--hrm-line); }
html.hrm-dark .hrm-arch-svg .b-ext { fill: rgba(255, 255, 255, 0.05); stroke: rgba(255, 255, 255, 0.16); }
.hrm-arch-svg .b-soon { fill: var(--hrm-rail); stroke: var(--hrm-muted); stroke-dasharray: 5 4; }
html.hrm-dark .hrm-arch-svg .b-soon { fill: rgba(255, 255, 255, 0.03); }
.hrm-arch-svg .b-ai { fill: color-mix(in srgb, var(--hrm-link) 10%, var(--hrm-panel)); stroke: var(--hrm-link); }
.hrm-arch-svg .bound { fill: none; stroke: var(--hrm-muted); stroke-width: 1.5; stroke-dasharray: 9 6; opacity: 0.75; }
.hrm-arch-svg .ln { fill: none; stroke: var(--hrm-muted); stroke-width: 1.6; }
.hrm-arch-svg .ln--dash { stroke-dasharray: 5 4; }
.hrm-arch-svg .ah { fill: var(--hrm-muted); }
.hrm-arch-svg .badge { fill: var(--hrm-primary); }
.hrm-arch-svg .badge-t { font-size: 9.5px; font-weight: 800; letter-spacing: 0.08em; fill: #fff; }
.hrm-arch-svg .badge--new { fill: var(--hrm-link); }
.hrm-arch-svg .badge--new + .badge-t, .hrm-arch-svg .badge-t--dark, html.hrm-dark .hrm-arch-svg .badge-t { fill: #0b1829; }
.hrm-archlegend { list-style: none !important; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 26px; margin: 18px 0 0 !important; padding: 16px 0 0 !important; border-top: 1px solid var(--hrm-line); }
.hrm-page.hrm-plat .hrm-archlegend li { list-style: none !important; display: flex; align-items: center; gap: 9px; font-size: 13.5px; line-height: 1.4; color: var(--hrm-muted); padding: 0; }
.hrm-archlegend svg { flex: none; }
.hrm-page.hrm-plat .hrm-archcaption { font-size: 14px; color: var(--hrm-muted); text-align: center; margin: 14px 0 0; padding: 0; }

/* component cards */
.hrm-archgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.hrm-archcard { display: flex; flex-direction: column; background: var(--hrm-panel); border: 1px solid var(--hrm-line); border-radius: 14px; padding: 26px 26px 22px; }
.hrm-archcard header { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.hrm-archcard header img { width: 44px; height: 44px; flex: none; object-fit: contain; }
.hrm-page.hrm-plat .hrm-archcard h3 { font-size: 20px; margin: 0; padding: 0; line-height: 1.25; }
.hrm-page.hrm-plat .hrm-archcard header p { font-size: 13px; font-weight: 600; letter-spacing: 0.04em; color: var(--hrm-plat-accent); margin: 2px 0 0; padding: 0; line-height: 1.3; }
.hrm-page.hrm-plat .hrm-archcard p { font-size: 15.5px; line-height: 1.62; color: var(--hrm-ink); margin: 0 0 12px; padding: 0; }
.hrm-archcard > :last-child { margin-bottom: 0 !important; }
.hrm-page.hrm-plat .hrm-archcard p b { font-weight: 600; }
.hrm-archtags { list-style: none !important; display: flex; flex-wrap: wrap; gap: 6px; margin: auto 0 0 !important; padding: 14px 0 0 !important; }
.hrm-page.hrm-plat .hrm-archtags li { list-style: none !important; font-size: 12.5px; font-weight: 600; line-height: 1.3; color: var(--hrm-primary); background: color-mix(in srgb, var(--hrm-primary) 9%, transparent); border: 1px solid color-mix(in srgb, var(--hrm-primary) 25%, transparent); border-radius: 999px; padding: 4px 10px; }
.hrm-archcard .hrm-badge { margin-left: 6px; }

/* security + maintenance */
.hrm-archops { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.hrm-archops .hrm-archcard { background: var(--hrm-panel); }

@media (max-width: 980px) {
  .hrm-plat-plain, .hrm-plat-soft { padding: 44px 0 !important; }
  .hrm-archintro .et_pb_row { display: block; }
  .hrm-archpoints { margin-top: 18px; }
  .hrm-archgrid, .hrm-archops { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .hrm-arch-svg--d { display: none; }
  .hrm-arch-svg--m { display: block; }
  .hrm-archfig { margin: 0 -6vw; padding: 16px 10px 12px; border-radius: 14px; }
  .hrm-archlegend { justify-content: flex-start; }
}
@media (max-width: 560px) {
  .hrm-platglance { padding: 28px 0 !important; }
  .hrm-platglance .hrm-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .hrm-platglance .hrm-stat { padding: 16px 14px 14px; }
  .hrm-platglance .hrm-stat b { font-size: 22px; margin-bottom: 6px; white-space: nowrap; }
  .hrm-platglance .hrm-stat span { font-size: 13.5px; line-height: 1.4; }
  .hrm-archcard { padding: 20px 18px 18px; }
}

/* ===== Online Support (page 106, wp-pages/support_build.py) =====
   Standard Divi modules since 2026-10-23 (William: editors must be able to work in the Visual Builder): Text for prose
   and lists, Blurb for every card, Button for every action. The card look lives here, keyed off the module/row/column
   CSS classes. Conventions an editor should know:
   - channel cards (.hrm-supch columns): Blurb + Button per column; the Blurb's FIRST paragraph is the address line;
   - support package / Support Code (.hrm-suphow Blurbs): the FIRST paragraph is the small tag pill beside the title;
   - downloads (.hrm-supdl Blurbs): an h4 per item, a paragraph, then a list of links ("label (size)"). */

/* each section: a heading row, then card rows; close Divi's row padding between them (the heading's bottom margin is the gap) */
.hrm-plat .hrm-supheadrow.et_pb_row { padding-bottom: 0 !important; }
.hrm-plat .hrm-supheadrow .hrm-sechead { margin-bottom: 2.75% !important; }  /* the gap Divi's module margin gave when heading and cards shared a row */
.hrm-plat .hrm-supchrow.et_pb_row, .hrm-plat .hrm-supfactrow.et_pb_row, .hrm-plat .hrm-supdlrow.et_pb_row { padding-top: 0 !important; }
.hrm-plat .hrm-supdlrow.et_pb_row:not(:last-child) { padding-bottom: 16px !important; }

/* card rows are CSS grids; Divi's float widths/margins on the columns are structural, hence !important */
.hrm-supchrow.et_pb_row, .hrm-supfactrow.et_pb_row, .hrm-supdlrow.et_pb_row { display: grid; gap: 16px; }
.hrm-supchrow.et_pb_row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hrm-supfactrow.et_pb_row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hrm-supdlrow.et_pb_row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hrm-supchrow.et_pb_row::after, .hrm-supfactrow.et_pb_row::after, .hrm-supdlrow.et_pb_row::after { content: none; display: none; }
.hrm-supchrow > .et_pb_column, .hrm-supfactrow > .et_pb_column, .hrm-supdlrow > .et_pb_column { width: auto !important; margin: 0 !important; float: none !important; display: flex; flex-direction: column; min-width: 0; }
.hrm-supfactrow > .et_pb_column > .et_pb_blurb, .hrm-supdlrow > .et_pb_column > .et_pb_blurb { flex: 1 1 auto; }
.hrm-plat .hrm-supch-blurb .et_pb_blurb_content, .hrm-plat .hrm-suphow .et_pb_blurb_content,
.hrm-plat .hrm-supfact .et_pb_blurb_content, .hrm-plat .hrm-supdl .et_pb_blurb_content { max-width: none; text-align: left; }
.hrm-plat .hrm-supch-blurb .et-pb-icon, .hrm-plat .hrm-supfact .et-pb-icon, .hrm-plat .hrm-supdl .et-pb-icon { animation: none !important; opacity: 1 !important; line-height: 1; }

/* icon tile (channel cards and the hours cards) */
.hrm-plat .hrm-supch-blurb .et_pb_main_blurb_image .et_pb_image_wrap, .hrm-plat .hrm-supfact .et_pb_main_blurb_image .et_pb_image_wrap { display: flex; margin: 0; width: 46px; height: 46px; border-radius: 12px; background: color-mix(in srgb, var(--hrm-primary) 12%, transparent); align-items: center; justify-content: center; }
html.hrm-dark .hrm-plat .hrm-supch-blurb .et_pb_main_blurb_image .et_pb_image_wrap, html.hrm-dark .hrm-plat .hrm-supfact .et_pb_main_blurb_image .et_pb_image_wrap { background: rgba(255, 255, 255, 0.08); }

/* the four channels: each column is the card (Blurb + Button) */
.hrm-supchrow > .et_pb_column.hrm-supch { background: var(--hrm-panel); border: 1px solid var(--hrm-line); border-radius: 14px; padding: 24px 22px 22px !important; }
.hrm-supchrow > .et_pb_column.hrm-supch--main { border-color: var(--hrm-primary); box-shadow: inset 0 3px 0 var(--hrm-link); }
.hrm-plat .hrm-supch .et_pb_blurb { margin: 0 !important; }
.hrm-plat .hrm-supch-blurb .et_pb_main_blurb_image { margin: 0 0 16px; text-align: left; width: auto !important; }
.hrm-page.hrm-plat .hrm-supch-blurb .et_pb_module_header { font-size: 19px; margin: 0; padding: 0; line-height: 1.25; }
.hrm-page.hrm-plat .hrm-supch-blurb .et_pb_blurb_description p { font-size: 15px; line-height: 1.58; color: var(--hrm-muted); margin: 0 0 18px; padding: 0; }
.hrm-page.hrm-plat .hrm-supch-blurb .et_pb_blurb_description p:first-child { font-family: Outfit, Inter, sans-serif; font-weight: 600; font-size: 15.5px; color: var(--hrm-primary); margin: 4px 0 10px; line-height: 1.35; overflow-wrap: anywhere; }
.hrm-page .hrm-supch .et_pb_button_module_wrapper { display: block; margin: auto 0 0 !important; }
.hrm-page.hrm-plat .hrm-supch .et_pb_button.hrm-btn { padding: 11px 20px !important; font-size: 14.5px !important; }
.hrm-page.hrm-plat .hrm-supch .et_pb_button.hrm-btn--outline { padding: 10px 19px !important; }
.hrm-page.hrm-plat .et_pb_button.hrm-btn--outline { background: transparent !important; color: var(--hrm-primary) !important; border: 1.5px solid var(--hrm-primary) !important; }
.hrm-page.hrm-plat .et_pb_button.hrm-btn--outline:hover { background: var(--hrm-hover) !important; }

/* hero and closing band: Button modules, spaced as the former button rows (the lead's module margin is the gap above the
   hero buttons; in the band the line has no bottom margin and the buttons sit 26px below it) */
.hrm-page.hrm-plat .et_pb_column .et_pb_button_module_wrapper { margin-bottom: 0 !important; }
.hrm-plathero .hrm-h1wrap + .hrm-lead + .et_pb_button_module_wrapper { margin-top: 0; }
.hrm-page.hrm-plat.hrm-ctaband .hrm-sub { margin-bottom: 0 !important; }
.hrm-page.hrm-plat.hrm-ctaband .hrm-sub p { margin-bottom: 0; padding-bottom: 0; }
.hrm-page.hrm-plat.hrm-ctaband .et_pb_button_module_wrapper { margin: 26px 3px 0; }  /* 3 + 3 + the word space = 10px apart */
.hrm-page.hrm-plathero .et_pb_button_module_wrapper { margin-right: 6px; }  /* 6 + the word space = 10px apart (2026-10-25; was 4px) */

/* what to include */
.hrm-supinclude .et_pb_row { display: flex; align-items: flex-start; gap: 48px; }
.hrm-supinclude .hrm-checklist { gap: 10px; }
.hrm-page.hrm-plat .hrm-supinclude .hrm-checklist li { font-size: 16.5px; line-height: 1.5; }
.hrm-page.hrm-plat .hrm-supinclude .hrm-prose p { margin: 0; padding: 0; }
.hrm-supinclude .hrm-prose h2 { margin-bottom: 12px; }
.hrm-plat .hrm-suplist.et_pb_text { margin-bottom: 0 !important; }
.hrm-page.hrm-plat .hrm-suplist ul { padding-bottom: 0 !important; }
.hrm-page.hrm-plat .hrm-supnote.et_pb_text { margin-top: 45px; padding: 16px 18px; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--hrm-primary) 35%, transparent); background: color-mix(in srgb, var(--hrm-primary) 7%, transparent); }
.hrm-page.hrm-plat .hrm-supnote p { font-size: 15px; line-height: 1.6; color: var(--hrm-ink); margin: 0; padding: 0; }

/* support package / Support Code: Blurb cards; title and the first paragraph (the tag) share a line */
.hrm-plat .et_pb_blurb.hrm-suphow { background: var(--hrm-panel); border: 1px solid var(--hrm-line); border-radius: 14px; padding: 22px; margin: 0 0 16px !important; }
.hrm-plat .et_pb_blurb.hrm-suphow:last-child { margin-bottom: 0 !important; }
/* spacing: lines are 6px apart (title / tag when they wrap); the paragraph margins below are the old ones less those 6px */
.hrm-suphow .et_pb_blurb_container { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 6px 10px; padding: 0; }
.hrm-suphow .et_pb_blurb_description { display: contents; }
.hrm-suphow .et_pb_blurb_description > * { flex: 0 0 100%; }
.hrm-page.hrm-plat .hrm-suphow .et_pb_module_header { font-size: 18px; line-height: 1.3; margin: 0; padding: 0; flex: 0 1 auto; }
.hrm-page.hrm-plat .hrm-suphow .et_pb_blurb_description p { font-size: 15px; line-height: 1.6; color: var(--hrm-ink); margin: 0 0 4px; padding: 0; }
.hrm-page.hrm-plat .hrm-suphow .et_pb_blurb_description > p:nth-child(2) { margin-top: 2px; }
.hrm-page.hrm-plat .hrm-suphow .et_pb_blurb_description p:last-child { margin-bottom: 0; }
.hrm-page.hrm-plat .hrm-suphow .et_pb_blurb_description > p:first-child { flex: none; font-family: Inter, sans-serif; font-size: 11px; font-weight: 700; line-height: 1.3; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; color: var(--hrm-plat-accent); border: 1px solid currentColor; border-radius: 999px; padding: 2px 8px; margin: 0; }
.hrm-page.hrm-plat .hrm-suphow .et_pb_blurb_description p:has(> img) { margin-bottom: 8px; }
.hrm-suphow .et_pb_blurb_description img { display: block; width: 100%; max-width: 441px; height: auto; border-radius: 10px; border: 1px solid var(--hrm-line); background: #fff; }
.hrm-suphow strong, .hrm-suphow b { font-weight: 600; }

/* hours / account manager / release notes: Blurbs with the icon on the left */
.hrm-plat .et_pb_blurb.hrm-supfact { background: var(--hrm-panel); border: 1px solid var(--hrm-line); border-radius: 14px; padding: 22px; margin: 0 !important; }
.hrm-plat .hrm-supfact .et_pb_blurb_content { display: flex; flex-direction: row; gap: 16px; align-items: flex-start; justify-content: flex-start; }
.hrm-plat .hrm-supfact .et_pb_main_blurb_image { display: block; width: 46px !important; flex: none; margin: 0; }
.hrm-plat .hrm-supfact .et_pb_blurb_container { display: block; padding: 0; min-width: 0; }
.hrm-page.hrm-plat .hrm-supfact .et_pb_module_header { font-size: 17.5px; margin: 0 0 4px; padding: 0; line-height: 1.3; }
.hrm-page.hrm-plat .hrm-supfact .et_pb_blurb_description p { font-size: 15px; line-height: 1.55; color: var(--hrm-muted); margin: 0; padding: 0; }
.hrm-page.hrm-plat .hrm-supfact p strong { color: var(--hrm-ink); font-weight: 600; }
.hrm-supfact a, .hrm-supdl .et_pb_blurb_description p a, .hrm-supnote a, .hrm-suphow a { color: var(--hrm-primary); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }

/* downloads: a Blurb per group; icon inline before the title, then h4 / paragraph / link list per item */
.hrm-plat .et_pb_blurb.hrm-supdl { background: var(--hrm-panel); border: 1px solid var(--hrm-line); border-radius: 14px; padding: 22px 24px; margin: 0 !important; }
.hrm-plat .hrm-supdl .et_pb_blurb_content { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; column-gap: 10px; }
.hrm-plat .hrm-supdl .et_pb_main_blurb_image { margin: 0; width: auto !important; flex: none; }
.hrm-plat .hrm-supdl .et_pb_main_blurb_image .et_pb_image_wrap { display: block; }
.hrm-plat .hrm-supdl .et-pb-icon { font-size: 20px !important; }
.hrm-plat .hrm-supdl .et_pb_blurb_container { display: contents; }
.hrm-page.hrm-plat .hrm-supdl .et_pb_module_header { font-size: 18px; line-height: 1.3; margin: 0; padding: 0; flex: 1 1 0; min-width: 0; }
.hrm-plat .hrm-supdl .et_pb_blurb_description { flex: 0 0 100%; margin-top: 12px; }
.hrm-page.hrm-plat .hrm-supdl .et_pb_blurb_description h4 { font-family: Outfit, Inter, sans-serif; font-weight: 600; font-size: 15.5px; line-height: 1.535; letter-spacing: normal; color: var(--hrm-ink); margin: 0; padding: 0; }
.hrm-page.hrm-plat .hrm-supdl .et_pb_blurb_description p { font-size: 14.5px; line-height: 1.55; color: var(--hrm-muted); margin: 2px 0 0; padding: 0; }
.hrm-page.hrm-plat .hrm-supdl .et_pb_blurb_description ul { list-style: none !important; display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 6px 0 14px !important; padding: 0 !important; }
.hrm-page.hrm-plat .hrm-supdl .et_pb_blurb_description ul:last-child { margin-bottom: 0 !important; }
.hrm-page.hrm-plat .hrm-supdl .et_pb_blurb_description li { list-style: none !important; margin: 0; padding: 0; font-size: 14.5px; line-height: 1.55; color: var(--hrm-muted); }
.hrm-supdl .et_pb_blurb_description li::before { content: ""; display: inline-block; width: 15px; height: 15px; margin-right: 6px; vertical-align: -2px; background: var(--hrm-primary);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5 5 5-5M12 15V3M4 21h16'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5 5 5-5M12 15V3M4 21h16'/%3E%3C/svg%3E") center / contain no-repeat; }
.hrm-supdl .et_pb_blurb_description li a { color: var(--hrm-primary); font-weight: 600; text-decoration: none; }
.hrm-supdl .et_pb_blurb_description li a:hover { text-decoration: underline; }

@media (max-width: 1100px) {
  .hrm-supchrow.et_pb_row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  /* Divi drops its module margin below 981px; the old layout then had these gaps */
  .hrm-plat .hrm-supheadrow .hrm-sechead { margin-bottom: 28px !important; }
  .hrm-plathero .hrm-h1wrap + .hrm-lead + .et_pb_button_module_wrapper { margin-top: 26px; }
  .hrm-supinclude .et_pb_row { display: block; }
  .hrm-supinclude .et_pb_column > .hrm-suphow:first-child { margin-top: 24px !important; }
  .hrm-supfactrow.et_pb_row, .hrm-supdlrow.et_pb_row { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .hrm-supchrow.et_pb_row { grid-template-columns: 1fr; gap: 12px; }
  .hrm-supchrow > .et_pb_column.hrm-supch { padding: 20px 18px 18px !important; }
  .hrm-plat .et_pb_blurb.hrm-supdl { padding: 20px 18px; }
}

html.hrm-dark .hrm-plat .hrm-badge--soon { color: #0b1829; }

/* ===== Module pages, v2 layout (page_build.build_v2, `layout: v2` in content/<page>.md; 2026-10-27) =====
   Employee self-service (88), Payroll & integration (114), Reporting & exporting (118). Short product pages on standard
   modules: compact hero, three numbered benefit cards (the Why HR Manage card: .hrm-why-reasons/.hrm-whycard in
   company.css), six capability Blurbs, one spotlight (text + the page's only screenshot, or a checklist panel), four
   "works with" links, testimonial + logo line, FAQ, closing band. No icons (William, 2026-10-26). */

/* heading rows above card rows: the heading's bottom margin is the gap */
.hrm-plat .hrm-modhead.et_pb_row { padding-bottom: 0 !important; }
.hrm-plat .hrm-modhead .hrm-sechead { margin-bottom: 28px !important; }
.hrm-page.hrm-plat.hrm-mod-why { padding: 64px 0 44px !important; }

/* capability cards: a CSS grid of plain Blurbs, a short accent bar instead of an icon */
.hrm-page.hrm-plat.hrm-mod-caps { padding: 64px 0 48px !important; }
.hrm-plat .hrm-modcaprow.et_pb_row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding-top: 0 !important; padding-bottom: 16px !important; }
.hrm-plat .hrm-modcaprow.et_pb_row:last-child { padding-bottom: 0 !important; }
.hrm-modcaprow.et_pb_row::after, .hrm-modworksrow.et_pb_row::after { content: none; display: none; }
.hrm-modcaprow > .et_pb_column, .hrm-modworksrow > .et_pb_column { width: auto !important; margin: 0 !important; float: none !important; display: flex; flex-direction: column; min-width: 0; }
.hrm-modcaprow > .et_pb_column > .et_pb_blurb, .hrm-modworksrow > .et_pb_column > .et_pb_blurb { flex: 1 1 auto; }
.hrm-plat .et_pb_blurb.hrm-modcap { background: var(--hrm-panel); border: 1px solid var(--hrm-line); border-radius: 14px; padding: 22px 22px 20px; margin: 0 !important; }
.hrm-plat .et_pb_blurb.hrm-modcap::before { content: ""; display: block; width: 28px; height: 3px; border-radius: 2px; background: var(--hrm-link); margin-bottom: 14px; }
.hrm-plat .hrm-modcap .et_pb_blurb_content { max-width: none; text-align: left; }
.hrm-plat .hrm-modcap .et_pb_blurb_container { padding: 0; }
.hrm-page.hrm-plat .hrm-modcap .et_pb_module_header { font-family: Outfit, Inter, sans-serif; font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--hrm-ink); margin: 0; padding: 0 0 6px; }
.hrm-page.hrm-plat .hrm-modcap .et_pb_blurb_description p { font-size: 15px; line-height: 1.58; color: var(--hrm-muted); margin: 0; padding: 0; }

/* feature blocks (William, 2026-10-27: "too compact"): six Blurbs, two per row; title, paragraph, ticked list.
   Editors write an ordinary paragraph and bulleted list in the Blurb body; the ticks come from here. */
.hrm-plat .hrm-modfeatrow.et_pb_row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding-top: 0 !important; padding-bottom: 20px !important; }
.hrm-plat .hrm-modfeatrow.et_pb_row:last-child { padding-bottom: 0 !important; }
.hrm-modfeatrow.et_pb_row::after { content: none; display: none; }
.hrm-modfeatrow > .et_pb_column { width: auto !important; margin: 0 !important; float: none !important; display: flex; flex-direction: column; min-width: 0; }
.hrm-modfeatrow > .et_pb_column > .et_pb_blurb { flex: 1 1 auto; }
.hrm-plat .et_pb_blurb.hrm-modfeat { background: var(--hrm-panel); border: 1px solid var(--hrm-line); border-radius: 14px; padding: 28px 30px 26px; margin: 0 !important; }
.hrm-plat .et_pb_blurb.hrm-modfeat::before { content: ""; display: block; width: 32px; height: 3px; border-radius: 2px; background: var(--hrm-link); margin-bottom: 16px; }
.hrm-plat .hrm-modfeat .et_pb_blurb_content { max-width: none; text-align: left; }
.hrm-plat .hrm-modfeat .et_pb_blurb_container { padding: 0; }
.hrm-page.hrm-plat .hrm-modfeat .et_pb_module_header { font-family: Outfit, Inter, sans-serif; font-size: 21px; font-weight: 700; line-height: 1.25; color: var(--hrm-ink); margin: 0; padding: 0 0 10px; }
.hrm-page.hrm-plat .hrm-modfeat .et_pb_blurb_description p { font-size: 16px; line-height: 1.62; color: var(--hrm-muted); margin: 0 0 14px; padding: 0; }
.hrm-page.hrm-plat .hrm-modfeat .et_pb_blurb_description ul { list-style: none !important; margin: 0 !important; padding: 14px 0 0 !important; display: grid; gap: 9px; border-top: 1px solid var(--hrm-line); }
.hrm-page.hrm-plat .hrm-modfeat .et_pb_blurb_description li { list-style: none !important; position: relative; margin: 0; padding: 0 0 0 32px; font-size: 15.5px; line-height: 1.5; color: var(--hrm-ink); }
.hrm-modfeat .et_pb_blurb_description li::before { content: "\2713"; position: absolute; left: 0; top: 0; width: 22px; height: 22px; border-radius: 50%; background: rgba(130, 194, 48, 0.2); color: #3f6a12; font-weight: 800; font-size: 13px; text-align: center; line-height: 22px; }
html.hrm-dark .hrm-modfeat .et_pb_blurb_description li::before { color: var(--hrm-link); }

/* spotlight: two columns; the right one holds the screenshot (Image module, lightbox) or the checklist panel */
.hrm-page.hrm-plat.hrm-mod-spot { padding: 72px 0 !important; }
.hrm-mod-spot .hrm-modspotrow.et_pb_row { display: flex; align-items: center; gap: 56px; }
.hrm-mod-spot .hrm-modspotrow.et_pb_row::after { content: none; display: none; }
.hrm-mod-spot .hrm-modspotrow > .et_pb_column { width: auto !important; margin: 0 !important; float: none !important; flex: 1 1 0; min-width: 0; }
.hrm-mod-spot--shot .hrm-modspotrow > .et_pb_column:first-child { flex: 0 1 40%; }
.hrm-mod-spot--shot .hrm-modspotrow > .et_pb_column:last-child { flex: 1 1 60%; }
.hrm-mod-spot .hrm-modspot-text h2 { margin: 0 0 16px !important; }
.hrm-page.hrm-plat .hrm-modspot-text p { font-size: 17px; line-height: 1.65; color: var(--hrm-ink); margin: 0 0 14px; padding: 0; }
.hrm-page.hrm-plat .hrm-modspot-text p:last-child { margin-bottom: 0; }
.hrm-plat .et_pb_image.hrm-modshot { margin: 0 !important; }
.hrm-modshot img { display: block; width: 100%; height: auto; border-radius: 12px; border: 1px solid var(--hrm-line); box-shadow: 0 18px 50px rgba(12, 24, 40, 0.16); background: #fff; cursor: zoom-in; }
html.hrm-dark .hrm-modshot img { border-color: rgba(255, 255, 255, 0.14); box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45); }
.hrm-plat .hrm-modpanel.et_pb_text { background: var(--hrm-rail); border: 1px solid var(--hrm-line); border-radius: 14px; padding: 26px 28px; }
html.hrm-dark .hrm-plat .hrm-modpanel.et_pb_text { background: rgba(255, 255, 255, 0.04); }
.hrm-page.hrm-plat .hrm-modpanel p.hrm-modpanel-head { font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--hrm-muted); margin: 0; padding: 0; }
.hrm-page.hrm-plat .hrm-modpanel .hrm-checklist { margin-top: 14px; padding-bottom: 0 !important; gap: 10px; }
.hrm-page.hrm-plat .hrm-modpanel .hrm-checklist li { font-size: 16.5px; line-height: 1.5; padding-bottom: 0; }

/* showcase sections (page_build `## Showcase:`): text + a Slider module, one Slide per screenshot ("Design" / "AI assist" /
   "Result"); manual only (no autoplay), arrows always visible, dots below. Alternate showcases flip sides. */
.hrm-mod-show--flip .hrm-modspotrow.et_pb_row { flex-direction: row-reverse; }
.hrm-mod-show .hrm-modshow-text ul { list-style: none !important; margin: 4px 0 0 !important; padding: 0 !important; display: grid; gap: 9px; }
.hrm-page.hrm-plat.hrm-mod-show .hrm-modshow-text li { list-style: none !important; position: relative; margin: 0; padding: 0 0 0 32px; font-size: 16px; line-height: 1.5; color: var(--hrm-ink); }
.hrm-mod-show .hrm-modshow-text li::before { content: "\2713"; position: absolute; left: 0; top: 0; width: 22px; height: 22px; border-radius: 50%; background: rgba(130, 194, 48, 0.2); color: #3f6a12; font-weight: 800; font-size: 13px; text-align: center; line-height: 22px; }
html.hrm-dark .hrm-mod-show .hrm-modshow-text li::before { color: var(--hrm-link); }
.hrm-plat .et_pb_slider.hrm-modslider { margin: 0 !important; background: var(--hrm-panel); border: 1px solid var(--hrm-line); border-radius: 16px; overflow: hidden; box-shadow: 0 18px 50px rgba(12, 24, 40, 0.12); }
html.hrm-dark .hrm-plat .et_pb_slider.hrm-modslider { box-shadow: 0 18px 50px rgba(0, 0, 0, 0.4); }
.hrm-modslider .et_pb_slide { background: transparent !important; padding: 0 !important; }
.hrm-modslider .et_pb_slide .et_pb_container { width: 100% !important; max-width: none !important; height: auto !important; min-height: 0 !important; padding: 16px 16px 44px !important; margin: 0 !important; }
.hrm-modslider .et_pb_slider_container_inner { display: flex !important; flex-direction: column-reverse; width: 100%; }
.hrm-modslider .et_pb_slide_image { display: block !important; position: static !important; width: 100% !important; float: none !important; margin: 0 !important; top: auto !important; transform: none !important; }
.hrm-modslider .et_pb_slide_image img { display: block; width: 100% !important; height: auto !important; max-height: none !important; border-radius: 10px; border: 1px solid var(--hrm-line); background: #fff; box-shadow: none !important; }
.hrm-modslider .et_pb_slide_description { display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px 12px; width: 100% !important; float: none !important; padding: 0 0 12px !important; margin: 0 !important; text-align: left !important; text-shadow: none !important; }
.hrm-page.hrm-plat .hrm-modslider .et_pb_slide_title { font-family: Inter, sans-serif; font-size: 11.5px !important; font-weight: 700; line-height: 1.3 !important; letter-spacing: 0.08em; text-transform: uppercase; color: var(--hrm-primary) !important; background: color-mix(in srgb, var(--hrm-primary) 10%, transparent); border: 1px solid color-mix(in srgb, var(--hrm-primary) 30%, transparent); border-radius: 999px; padding: 4px 11px !important; margin: 0 !important; text-shadow: none !important; }
html.hrm-dark .hrm-page.hrm-plat .hrm-modslider .et_pb_slide_title { color: var(--hrm-link) !important; background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.18); }
.hrm-modslider .et_pb_slide_content { margin: 0 !important; }
.hrm-page.hrm-plat .hrm-modslider .et_pb_slide_content p { font-size: 14.5px !important; line-height: 1.4; color: var(--hrm-muted) !important; margin: 0; padding: 0; text-shadow: none !important; }
.hrm-modslider .et-pb-slider-arrows a { opacity: 1 !important; top: calc(50% + 14px); width: 40px; height: 40px; margin-top: -20px; border-radius: 50%; background: var(--hrm-back); color: #fff !important; font-size: 30px; line-height: 40px; text-align: center; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25); transition: background-color 0.15s; }
.hrm-modslider .et-pb-slider-arrows a::before { line-height: 40px; }
.hrm-modslider .et-pb-slider-arrows a:hover { background: var(--hrm-primary); }
.hrm-modslider .et-pb-arrow-prev, .et_pb_slider:hover.hrm-modslider .et-pb-arrow-prev { left: 24px !important; }
.hrm-modslider .et-pb-arrow-next, .et_pb_slider:hover.hrm-modslider .et-pb-arrow-next { right: 24px !important; }
.hrm-modslider .et-pb-controllers { bottom: 14px; }
.hrm-modslider .et-pb-controllers a { width: 9px; height: 9px; background: var(--hrm-line) !important; opacity: 1; }
.hrm-modslider .et-pb-controllers a.et-pb-active-control { background: var(--hrm-primary) !important; }
html.hrm-dark .hrm-modslider .et-pb-controllers a { background: rgba(255, 255, 255, 0.25) !important; }
html.hrm-dark .hrm-modslider .et-pb-controllers a.et-pb-active-control { background: var(--hrm-link) !important; }

/* cards sections (page_build `## Cards:`): each column is the card; optional logo Image module on a plate, then a Blurb
   whose first paragraph may be the tag pill. Logo styles: --plate (white plate, any logo) and --sagebadge (crops the
   Sage Tech Partner graphic 2025/03/HRMSageTechPartner.png, 2000x1500, to its badge; replace when a clean badge exists). */
.hrm-plat .hrm-modcardrow.et_pb_row { display: grid; gap: 16px; padding-top: 0 !important; }
.hrm-plat .hrm-modcardrow--2.et_pb_row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hrm-plat .hrm-modcardrow--3.et_pb_row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hrm-plat .hrm-modcardrow--4.et_pb_row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hrm-modcardrow.et_pb_row::after { content: none; display: none; }
.hrm-modcardrow > .et_pb_column.hrm-modcardcol { width: auto !important; margin: 0 !important; float: none !important; display: flex; flex-direction: column; min-width: 0; background: var(--hrm-panel); border: 1px solid var(--hrm-line); border-radius: 14px; padding: 24px 22px 22px !important; }
.hrm-plat .hrm-modcardcol .et_pb_module { margin: 0 !important; }
.hrm-plat .hrm-modcardcol .et_pb_image.hrm-modlogo { margin: 0 0 16px !important; text-align: left; }
.hrm-modlogo--plate .et_pb_image_wrap { display: inline-flex; align-items: center; height: 46px; padding: 8px 12px; background: #fff; border: 1px solid var(--hrm-line); border-radius: 10px; }
.hrm-modlogo--plate img { height: 28px !important; width: auto !important; max-width: 200px; object-fit: contain; }
.hrm-modlogo--sagebadge .et_pb_image_wrap { display: block; width: 192px; height: 44px; overflow: hidden; border-radius: 10px; background: #000; }
.hrm-modlogo--sagebadge img { width: 400px !important; max-width: none !important; height: auto !important; margin: -251px 0 0 -200px; }
.hrm-plat .hrm-modcard .et_pb_blurb_content { max-width: none; text-align: left; }
.hrm-plat .hrm-modcard .et_pb_blurb_container { padding: 0; }
.hrm-page.hrm-plat .hrm-modcard .et_pb_module_header { font-family: Outfit, Inter, sans-serif; font-size: 19px; font-weight: 700; line-height: 1.25; color: var(--hrm-ink); margin: 0; padding: 0 0 8px; }
.hrm-page.hrm-plat .hrm-modcard .et_pb_blurb_description p { font-size: 15px; line-height: 1.58; color: var(--hrm-muted); margin: 0 0 10px; padding: 0; }
.hrm-page.hrm-plat .hrm-modcard .et_pb_blurb_description p:last-child { margin-bottom: 0; }
.hrm-page.hrm-plat .hrm-modcard .et_pb_blurb_description p.hrm-modcard-tag { display: inline-block; font-family: Inter, sans-serif; font-size: 11px; font-weight: 700; line-height: 1.3; letter-spacing: 0.08em; text-transform: uppercase; color: var(--hrm-plat-accent); border: 1px solid currentColor; border-radius: 999px; padding: 3px 9px; margin: 0 0 12px; }
@media (max-width: 1100px) {
  .hrm-plat .hrm-modcardrow--4.et_pb_row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .hrm-mod-show--flip .hrm-modspotrow.et_pb_row { display: block; }
}
@media (max-width: 760px) {
  .hrm-plat .hrm-modcardrow.et_pb_row { grid-template-columns: 1fr !important; gap: 12px; }
  .hrm-modslider .et_pb_slide .et_pb_container { padding: 12px 12px 40px !important; }
  .hrm-modslider .et-pb-slider-arrows a { width: 34px; height: 34px; margin-top: -17px; font-size: 26px; line-height: 34px; }
  .hrm-modslider .et-pb-slider-arrows a::before { line-height: 34px; }
  .hrm-modslider .et-pb-arrow-prev, .et_pb_slider:hover.hrm-modslider .et-pb-arrow-prev { left: 14px !important; }
  .hrm-modslider .et-pb-arrow-next, .et_pb_slider:hover.hrm-modslider .et-pb-arrow-next { right: 14px !important; }
}

/* works with: four linked Blurbs in a grid (card look from style.css .hrm-works .hrm-link) */
.hrm-page.hrm-plat.hrm-mod-works { padding: 64px 0 56px !important; }
html.hrm-dark .hrm-page.hrm-plat.hrm-mod-works { background: var(--hrm-back-2) !important; }
.hrm-mod-works { background: var(--hrm-rail) !important; }
.hrm-mod-works.hrm-mod-works--plain { background: var(--hrm-bg) !important; }
html.hrm-dark .hrm-page.hrm-plat.hrm-mod-works.hrm-mod-works--plain { background: var(--hrm-back) !important; }
.hrm-plat .hrm-modworksrow.et_pb_row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding-top: 0 !important; padding-bottom: 0 !important; }
.hrm-mod-works .et_pb_blurb.hrm-link { background: var(--hrm-panel); margin: 0 !important; border-radius: 14px; }
.hrm-mod-works .et_pb_blurb.hrm-link:hover { border-color: var(--hrm-primary); }
.hrm-mod-works .hrm-link .et_pb_module_header::after { content: " \2192"; }

/* proof: testimonial over the logo line (company.css .hrm-logoline) */
.hrm-page.hrm-mod-proof { padding: 60px 0 40px !important; }
.hrm-mod-proof .hrm-logoline.et_pb_row { margin-top: 18px; }
.hrm-mod-proof .hrm-quote .et_pb_testimonial_description_inner::before { content: "\201C"; display: block; font-family: Outfit, Georgia, serif; font-size: 64px; line-height: 0.6; color: var(--hrm-link); margin: 0 auto 10px; text-align: center; }  /* Divi's own quote glyph sat on the text; it is switched off in the module */

/* FAQ: heading left, accordion right */
.hrm-page.hrm-plat.hrm-mod-faq { padding: 64px 0 !important; }
.hrm-mod-faq .hrm-modfaqrow.et_pb_row { display: flex; align-items: flex-start; gap: 48px; }
.hrm-mod-faq .hrm-modfaqrow.et_pb_row::after { content: none; display: none; }
.hrm-mod-faq .hrm-modfaqrow > .et_pb_column { margin: 0 !important; float: none !important; }
.hrm-mod-faq .hrm-modfaqrow > .et_pb_column:first-child { width: auto !important; flex: 0 1 32%; }
.hrm-mod-faq .hrm-modfaqrow > .et_pb_column:last-child { width: auto !important; flex: 1 1 68%; min-width: 0; }
.hrm-plat.hrm-mod-faq .hrm-sechead { margin-bottom: 0; }
.hrm-plat.hrm-mod-faq .et_pb_toggle:last-child { margin-bottom: 0 !important; }

@media (max-width: 980px) {
  .hrm-page.hrm-plat.hrm-mod-why, .hrm-page.hrm-plat.hrm-mod-caps, .hrm-page.hrm-plat.hrm-mod-works, .hrm-page.hrm-plat.hrm-mod-faq { padding: 44px 0 !important; }
  .hrm-page.hrm-plat.hrm-mod-spot { padding: 48px 0 !important; }
  .hrm-plat .hrm-modcaprow.et_pb_row { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-bottom: 16px !important; }
  .hrm-plat .hrm-modworksrow.et_pb_row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hrm-plat .hrm-modfeatrow.et_pb_row { gap: 16px; padding-bottom: 16px !important; }
  .hrm-mod-spot .hrm-modspotrow.et_pb_row, .hrm-mod-faq .hrm-modfaqrow.et_pb_row { display: block; }
  .hrm-mod-spot .hrm-modspotrow > .et_pb_column + .et_pb_column { margin-top: 28px !important; }
  .hrm-mod-faq .hrm-modfaqrow > .et_pb_column + .et_pb_column { margin-top: 24px !important; }
}
@media (max-width: 760px) {
  .hrm-plat .hrm-modfeatrow.et_pb_row { grid-template-columns: 1fr; gap: 12px; padding-bottom: 12px !important; }
}
@media (max-width: 560px) {
  .hrm-plat .hrm-modcaprow.et_pb_row, .hrm-plat .hrm-modworksrow.et_pb_row { grid-template-columns: 1fr; gap: 12px; }
  .hrm-plat .et_pb_blurb.hrm-modfeat { padding: 22px 20px 20px; }
  .hrm-page.hrm-plat .hrm-modfeat .et_pb_module_header { font-size: 19px; }
  .hrm-plat .hrm-modcaprow.et_pb_row { padding-bottom: 12px !important; }
  .hrm-plat .et_pb_blurb.hrm-modcap { padding: 18px 18px 16px; }
  .hrm-plat .hrm-modpanel.et_pb_text { padding: 20px 20px; }
}

/* v2 Partner section (2026-10-27): the partner's own profile text beside its logo (PaySpace asked for their wording) */
.hrm-mod-partner .hrm-modpartnerrow.et_pb_row { display: flex; align-items: flex-start; gap: 36px; }
.hrm-mod-partner .hrm-modpartnerrow .et_pb_column { margin-right: 0 !important; }
.hrm-plat .et_pb_image.hrm-modpartner-logo { margin: 6px 0 0 !important; text-align: left; }
.hrm-mod-partner .hrm-modlogo--plate .et_pb_image_wrap { height: auto; padding: 14px 18px; }
.hrm-mod-partner .hrm-modlogo--plate img { height: 44px !important; max-width: 240px; }
.hrm-page.hrm-plat .hrm-modpartner-text h2 { margin: 0 0 14px !important; }
.hrm-page.hrm-plat .hrm-modpartner-text p { font-size: 16.5px; line-height: 1.65; color: var(--hrm-ink); margin: 0 0 12px; max-width: 70ch; }
.hrm-page.hrm-plat .hrm-modpartner-text p.hrm-modpartner-note { font-size: 13.5px; color: var(--hrm-muted); margin-top: 16px; }
@media (max-width: 980px) {
  .hrm-mod-partner .hrm-modpartnerrow.et_pb_row { display: block; }
  .hrm-plat .et_pb_image.hrm-modpartner-logo { margin: 0 0 18px !important; }
}
/* two partner panels side by side (2026-10-27) */
.hrm-mod-partner .hrm-modpartnerrow--two.et_pb_row { display: flex; align-items: stretch; gap: 24px; padding-top: 0 !important; }
.hrm-mod-partner .hrm-modpartnercol { flex: 1 1 0; min-width: 0; padding: 26px 28px; border-radius: 14px; background: var(--hrm-panel); border: 1px solid var(--hrm-line); }
.hrm-mod-partner .hrm-modpartnercol .et_pb_image.hrm-modpartner-logo { margin: 0 0 16px !important; }
.hrm-page.hrm-plat .hrm-modpartnercol .hrm-modpartner-text h3 { font-family: Outfit, Inter, sans-serif; font-size: 21px; font-weight: 700; color: var(--hrm-ink); margin: 0 0 10px; }
.hrm-page.hrm-plat .hrm-modpartnercol .hrm-modpartner-text p { font-size: 15.5px; line-height: 1.6; }
.hrm-mod-partner .hrm-modhead.et_pb_row { padding-bottom: 0 !important; }
.hrm-mod-partner .hrm-modpartnerrow--one.et_pb_row { padding-top: 0 !important; }
@media (max-width: 980px) {
  .hrm-mod-partner .hrm-modpartnerrow--two.et_pb_row { display: block; }
  .hrm-mod-partner .hrm-modpartnercol + .hrm-modpartnercol { margin-top: 16px; }
}
.hrm-page.hrm-plat .hrm-modpartner-text p.hrm-modcard-tag { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--hrm-primary); background: rgba(68, 123, 180, .12); border-radius: 999px; padding: 4px 10px; margin: 0 0 10px; max-width: none; }
html.hrm-dark .hrm-page.hrm-plat .hrm-modpartner-text p.hrm-modcard-tag { color: var(--hrm-link); background: rgba(255, 255, 255, .08); }
/* partner panels: the Sage badge (a CSS crop of the old 2000x1500 graphic) sits on a plate the same height as the Deel plate
   (2026-10-27). Module-level sizing cannot change this crop; a clean badge image + the plate style would replace it. */
.hrm-mod-partner .hrm-modlogo--sagebadge .et_pb_image_wrap { box-sizing: border-box; width: 320px; height: 74px; padding: 4px 16px; border-radius: 10px; background: #000; border: 1px solid var(--hrm-line); }
.hrm-mod-partner .hrm-modlogo--sagebadge img { width: 600px !important; margin: -376px 0 0 -300px; }  /* the badge crop scaled 1.5x: 288x66 inside the 74px plate */
/* logo style "badge" (2026-10-27): the image is already a badge with its own background, so no white plate; it stands alone at
   the plate's height so it lines up with a plated logo beside it */
.hrm-modlogo--badge .et_pb_image_wrap { display: inline-block; height: 74px; padding: 0; background: transparent; border: 0; }
.hrm-modlogo--badge img { height: 74px !important; width: auto !important; max-width: none; object-fit: contain; }
/* logo style "corner" (2026-10-27, William): a small logo pinned to the top-right of a card (SimplePay, SAP) */
.hrm-plat .hrm-modcardcol { position: relative; }
.hrm-plat .hrm-modcardcol .et_pb_image.hrm-modlogo--corner { position: absolute; top: 18px; right: 18px; margin: 0 !important; z-index: 2; width: auto; }
.hrm-modlogo--corner .et_pb_image_wrap { display: inline-flex; align-items: center; height: 42px; padding: 6px 10px; background: #fff; border: 1px solid var(--hrm-line); border-radius: 8px; }
.hrm-modlogo--corner img { height: 28px !important; width: auto !important; max-width: 110px; object-fit: contain; }
.hrm-plat .hrm-modcardcol:has(.hrm-modlogo--corner) .hrm-modcard .et_pb_module_header,
.hrm-plat .hrm-modcardcol:has(.hrm-modlogo--corner) .hrm-modcard .hrm-modcard-tag { max-width: calc(100% - 130px); }

/* ---- Line icons on v2 feature blocks and works-with cards (Job Profiling, 2026-10-27) ----
   Optional: a content file adds **Icon:** to a feature block or [Icon: url] to a works-with line; pages without icons are unchanged. */
.hrm-plat .et_pb_blurb.hrm-modfeat--icon::before { display: none; }
.hrm-plat .hrm-modfeat--icon .et_pb_blurb_content, .hrm-mod-works .hrm-link--icon .et_pb_blurb_content { text-align: left; }
.hrm-plat .hrm-modfeat--icon .et_pb_main_blurb_image { display: block; width: 52px !important; max-width: 52px; margin: 0 0 16px !important; line-height: 0; text-align: left; }
.hrm-plat .hrm-modfeat--icon .et_pb_main_blurb_image .et_pb_image_wrap, .hrm-mod-works .hrm-link--icon .et_pb_main_blurb_image .et_pb_image_wrap { display: block; margin: 0; }
.hrm-plat .hrm-modfeat--icon .et_pb_main_blurb_image img { width: 52px !important; height: 52px; object-fit: contain; }
.hrm-mod-works .hrm-link--icon .et_pb_main_blurb_image { display: block; width: 40px !important; max-width: 40px; margin: 0 0 12px !important; line-height: 0; text-align: left; }
.hrm-mod-works .hrm-link--icon .et_pb_main_blurb_image img { width: 40px !important; height: 40px; object-fit: contain; }

/* ---- Contact Us block (page_build.contact_section, 2026-10-27, William: no page links to the demo-request page; every
   Book a demo button scrolls to #contact). Form card from company.css .hrm-co-contactform; this is the two-column layout. ---- */
.hrm-page.hrm-co.hrm-mod-contact { padding: 72px 0 !important; }
.hrm-mod-contact .hrm-contacttext h2 { margin: 0 0 12px; }
.hrm-mod-contact .hrm-contacttext .hrm-lede { margin: 0; }
.hrm-mod-contact .hrm-contacttext .hrm-checklist { margin-top: 20px; }
.hrm-mod-contact .hrm-contacttext .hrm-checklist li { font-size: 16px; line-height: 1.5; }
.hrm-mod-contact .hrm-formwrap { flex: 1; display: flex; flex-direction: column; }
.hrm-mod-contact .hrm-formwrap .et_pb_text_inner { flex: 1; display: flex; flex-direction: column; }
@media (max-width: 980px) {
  .hrm-mod-contact .et_pb_row { display: block; }
  .hrm-mod-contact .hrm-formwrap { margin-top: 28px !important; }
  .hrm-page.hrm-co.hrm-mod-contact { padding: 48px 0 !important; }
}
