/* ==========================================================================
   How to Choose a Property Manager - page styles
   Loaded only by /how-to-choose-a-property-manager. Builds on the site's
   tokens (:root in critical CSS) and components (.btn, .checks, ol.bubble,
   .launch-accordion, .form-container, #secondary-banner, #sub-nav).
   Every selector is prefixed .hcpm- or scoped to .hcpm-page.
============================================================================= */

.hcpm-page section[id] { scroll-margin-top: 180px; }

/* Hero
============================================================================= */
.hcpm-page #secondary-banner .prompt .hero__lead small { margin-top: 16px; letter-spacing: 1px; }
.hcpm-page #secondary-banner .prompt .hero__sub { max-width: 780px; margin: 0 auto; }
.hcpm-page #secondary-banner .prompt .btn-list { margin-top: 35px; }
@media (max-width: 767px) {
  .hcpm-page #secondary-banner { min-height: 0; }
  .hcpm-page #secondary-banner .prompt .hero__lead small { font-size: .6em; }
  .hcpm-page #secondary-banner .prompt .btn-list { flex-direction: column; align-items: center; }
}

/* "On this page" links reuse #sub-nav. Below 1200px the site turns #sub-nav
   into a prev/next pager for service pages, so show a scrollable row instead. */
@media (max-width: 1199px) {
  .hcpm-page #hero:has(#sub-nav) { padding-bottom: 0; }
  .hcpm-page #sub-nav { position: relative; bottom: auto; width: 100%; height: auto; margin: 0; padding: 16px 0; background: #fff; }
  .hcpm-page #sub-nav.affix { position: fixed; left: 0; right: 0; z-index: 50; padding: 10px 0; border-bottom: 1px solid var(--border-color); }
  .hcpm-guide { padding-top: 32px; }
  .hcpm-page #sub-nav .nav { flex-wrap: nowrap; justify-content: flex-start !important; gap: 8px; padding: 0 16px; overflow-x: auto; scrollbar-width: none; }
  .hcpm-page #sub-nav .nav::before { display: none; }
  .hcpm-page #sub-nav .nav-item { display: flex !important; flex: 0 0 auto; padding: 0 !important; font-size: var(--default-fs) !important; }
  .hcpm-page #sub-nav .nav-item::before, .hcpm-page #sub-nav .nav-item::after { display: none !important; }
  .hcpm-page #sub-nav .nav-link { padding: 10px 16px; border: 1px solid var(--dark); white-space: nowrap; }
}

/* Shared type
============================================================================= */
.hcpm-byline { margin: 0 0 24px; color: var(--gray-md); font-family: var(--alt-font); font-size: 14px; letter-spacing: .06em; text-transform: uppercase; }
.hcpm-lede { font-size: min(1.375rem, 22px); line-height: 1.5; }
.hcpm-eyebrow { margin: 0 0 12px; color: var(--primary); font-family: var(--secondary-font); font-size: 15px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }

/* Buttons
============================================================================= */
.hcpm-btn-light { --btn-bg: #fff; --btn-color: var(--gray-dark); --btn-hover: var(--dark-rgb); }
.hcpm-btn-light:is(:hover, :focus-visible) { --btn-color: #fff; }
.hcpm-link-btn { padding: 8px 4px; background: none; border: 0; color: var(--secondary); font-family: var(--secondary-font); font-size: 16px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.hcpm-link-btn:hover { color: var(--dark); }

/* ==========================================================================
   Variation A - editorial guide
============================================================================= */
.hcpm-guide { padding-top: 80px; }
.hcpm-article { font-size: 18px; }
.hcpm-article h2 { margin: 0 0 24px; font-size: clamp(32px, 3.4vw, 48px); }
.hcpm-article h3 { margin: 48px 0 12px; font-size: min(1.75rem, 28px); }
.hcpm-section { padding-top: 72px; }
.hcpm-article a:not(.btn) { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

.hcpm-keypoints { margin: 40px 0 0; padding: 32px 36px; background: var(--light); border-left: 6px solid var(--primary); border-radius: var(--border-radius-sm); }
.hcpm-keypoints .hcpm-keypoints__title { margin: 0; font-size: 26px; }
.hcpm-keypoints .checks { margin: 20px 0 0; gap: 16px; font-size: 17px; }

.hcpm-duties { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 16px 32px; font-size: 17px; }

/* Criteria cards (same surface as .management-item) */
.hcpm-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: var(--gap); margin-top: 40px; }
.hcpm-card { display: flex; flex-direction: column; gap: 12px; padding: 32px; background: var(--light); border-radius: var(--border-radius); }
.hcpm-card p { margin: 0; font-size: 17px; }
.hcpm-card__icon svg { width: 44px; height: 44px; fill: var(--primary); }
.hcpm-article .hcpm-card__title { margin: 0; font-size: 24px; }
.hcpm-card__ask { margin-top: auto !important; padding-top: 14px; border-top: 1px solid rgba(var(--dark-rgb), .18); font-size: 16px !important; }

/* Numbered questions (ol.bubble keeps numbering across groups) */
.hcpm-questions { gap: 32px; margin-bottom: 0; }
.hcpm-questions[start="4"] { counter-reset: counter 3; }
.hcpm-questions[start="8"] { counter-reset: counter 7; }
.hcpm-questions[start="11"] { counter-reset: counter 10; }
.hcpm-questions h4 { margin: 4px 0 8px; font-family: var(--secondary-font); font-size: 22px; font-weight: 700; line-height: 1.2; }
.hcpm-questions p { margin: 0; font-size: 17px; }

.hcpm-video { margin: 56px 0 24px; }
.hcpm-video figcaption { margin-top: 12px; color: var(--gray-md); font-family: var(--secondary-font); font-size: 16px; }

/* Fee table */
.hcpm-table-wrap { margin: 32px 0 8px; overflow-x: auto; border: 1px solid var(--border-color); border-radius: var(--border-radius-sm); }
.hcpm-table-wrap:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.hcpm-table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 16px; }
.hcpm-table caption { caption-side: top; padding: 16px 20px; color: var(--body-text); font-family: var(--secondary-font); font-weight: 700; }
.hcpm-table th, .hcpm-table td { padding: 16px 20px; vertical-align: top; text-align: left; }
.hcpm-table thead th { background: var(--gray-dark); color: #fff; font-family: var(--secondary-font); }
.hcpm-table tbody tr:nth-child(even) { background: var(--light); }
.hcpm-table tbody th { font-family: var(--secondary-font); font-weight: 700; }
.hcpm-compact-checks { gap: 14px; font-size: 17px; }

/* Warning signs */
.hcpm-flags { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px; margin: 32px 0; padding: 0; list-style: none; font-size: 17px; }
.hcpm-flags li { position: relative; padding: 20px 24px 20px 64px; background: #fff; border: 1px solid var(--border-color); border-left: 4px solid var(--primary); border-radius: var(--border-radius-sm); }
.hcpm-flags li::before { content: '!'; position: absolute; top: 20px; left: 20px; width: 28px; height: 28px; border-radius: 50%; background: var(--primary); color: #fff; font-family: var(--secondary-font); font-weight: 700; line-height: 28px; text-align: center; }
.hcpm-flags strong { display: block; margin-bottom: 4px; font-family: var(--secondary-font); }

/* Checklist */
.hcpm-checklist__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: var(--gap); margin-top: 32px; }
.hcpm-checklist__group { padding: 28px; background: #fff; border: 1px solid var(--secondary); border-radius: var(--border-radius-sm); }
.hcpm-article .hcpm-checklist__group h3 { margin: 0 0 8px; font-size: 24px; }
.hcpm-checklist__group .checks { margin: 16px 0 0; gap: 14px; font-size: 17px; }

/* Grace answers */
.hcpm-answers { margin: 32px 0; border-top: 1px solid rgba(var(--gray-dark-rgb), .2); }
.hcpm-answers__row { display: grid; grid-template-columns: 170px 1fr; gap: 8px 32px; padding: 20px 0; border-bottom: 1px solid rgba(var(--gray-dark-rgb), .2); }
.hcpm-answers dt { color: var(--dark); font-family: var(--secondary-font); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.hcpm-answers dd { margin: 0; font-size: 17px; }
.hcpm-answers dd a { white-space: nowrap; }
@media (max-width: 575px) { .hcpm-answers__row { grid-template-columns: 1fr; } }

/* Sidebar */
.hcpm-sidebar__inner { position: sticky; top: 150px; display: flex; flex-direction: column; gap: var(--gap); }
.hcpm-cta-card { padding: 36px 32px; }
.hcpm-cta-card .form-container__header { font-size: min(2rem, 32px); }
.hcpm-cta-card .btn-list { display: flex; flex-direction: column; width: 100%; }
.hcpm-cta-card .btn { width: 100%; }
.hcpm-cta-card .tel { font-weight: 700; }
.hcpm-related { padding: 28px 32px; background: var(--light); border-radius: var(--border-radius-sm); }
.hcpm-related .hcpm-related__title { margin: 0 0 16px; font-family: var(--secondary-font); font-size: 22px; letter-spacing: normal; line-height: 1.2; text-transform: none; }
.hcpm-related ul { display: flex; flex-direction: column; gap: 12px; margin: 0; padding-left: 1.1em; font-size: 16px; }
@media (max-width: 991px) { .hcpm-sidebar__inner { position: static; } }

/* ==========================================================================
   FAQs + final CTA (both variations)
============================================================================= */
.hcpm-faqs { padding: 100px 0; background: var(--light); }
.hcpm-faqs header h2 { margin-bottom: 48px; }
.hcpm-faqs.hcpm-band--white { background: #fff; }

.hcpm-final-cta { padding: 100px 0; color: #fff; }
.hcpm-final-cta h2 { margin-bottom: 24px; }
.hcpm-final-cta__text { max-width: 760px; margin: 0 auto 36px; font-size: min(1.375rem, 22px); }
.hcpm-final-cta .btn { --btn-hover: var(--dark-rgb); }
.hcpm-final-cta__phone { margin: 28px 0 0; font-family: var(--secondary-font); font-size: 18px; }
.hcpm-final-cta__phone a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* ==========================================================================
   Variation B - interactive selection guide
============================================================================= */
.hcpm-intro .hcpm-lede { margin-bottom: 16px; }

/* Step bar. The site sets main { overflow-x: hidden } below 992px, which
   disables position: sticky; clip trims overflow the same way without that. */
.hcpm-page--tool main { overflow-x: clip; }
.hcpm-steps { position: sticky; top: var(--hcpm-header-h, 0px); z-index: 50; background: #fff; border-bottom: 1px solid var(--border-color); }
.hcpm-steps__list { display: flex; justify-content: center; gap: 4px; margin: 0; padding: 12px 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.hcpm-steps__link { display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px; border-radius: 40px; color: var(--body-text); font-family: var(--secondary-font); font-size: 16px; font-weight: 700; white-space: nowrap; }
.hcpm-steps__num { display: inline-grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--dark); border-radius: 50%; font-size: 14px; }
.hcpm-steps__link:hover, .hcpm-steps__link[aria-current="step"] { background: var(--secondary); color: #fff; }
.hcpm-steps__link[aria-current="step"] .hcpm-steps__num, .hcpm-steps__link:hover .hcpm-steps__num { border-color: #fff; }
@media (max-width: 767px) {
  .hcpm-steps__list { justify-content: flex-start; }
  .hcpm-steps__link { padding: 8px 12px; font-size: 15px; }
}

/* Bands */
.hcpm-band { padding: clamp(72px, 8vw, 120px) 0; background: var(--light); }
.hcpm-band--white { background: #fff; }
.hcpm-band__header { max-width: 900px; margin: 0 auto 56px; text-align: center; }
.hcpm-band__header h2 { margin-bottom: 24px; }
.hcpm-band__header p:last-child { margin: 0; font-size: min(1.25rem, 20px); }
.hcpm-band h3 { margin: 0 0 8px; font-size: 24px; }

/* Step 1: needs */
.hcpm-needs__options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 16px; margin: 0; padding: 0; border: 0; }
.hcpm-need { position: relative; display: block; cursor: pointer; }
.hcpm-need input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.hcpm-need__card { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: clamp(16px, 2vw, 24px); background: #fff; border: 2px solid transparent; border-radius: var(--border-radius); transition: border-color .2s, box-shadow .2s; }
.hcpm-need__card svg { width: 40px; height: 40px; fill: var(--primary); }
.hcpm-need__title { font-family: var(--secondary-font); font-size: 19px; font-weight: 700; line-height: 1.2; }
.hcpm-need__text { font-size: 16px; }
.hcpm-need:hover .hcpm-need__card { border-color: rgba(var(--primary-rgb), .4); }
.hcpm-need input:checked + .hcpm-need__card { border-color: var(--primary); box-shadow: var(--box-shadow-lg); }
.hcpm-need input:focus-visible + .hcpm-need__card { box-shadow: 0 0 0 4px rgba(var(--primary-rgb), .45); }
.hcpm-needs__panels { display: grid; gap: 16px; margin-top: 24px; }
.hcpm-need-panel { padding: clamp(28px, 3vw, 44px); background: #fff; border-top: 6px solid var(--primary); border-radius: var(--border-radius-sm); }
.hcpm-need-panel[hidden] { display: none; }
.hcpm-need-panel .checks { gap: 14px; font-size: 17px; }
.hcpm-need-panel__ask { margin: 0; font-size: 17px; }

/* Step 2: checklist */
.hcpm-progress { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; max-width: 1200px; margin: 0 auto 32px; }
.hcpm-progress__bar { flex: 1 1 280px; height: 12px; overflow: hidden; background: var(--gray); border-radius: 99px; }
.hcpm-progress__fill { display: block; width: var(--hcpm-pct, 0%); height: 100%; background: var(--primary); border-radius: inherit; transition: width .3s ease; }
.hcpm-progress__label { margin: 0; font-family: var(--secondary-font); font-size: 18px; font-weight: 700; }
.hcpm-progress__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.hcpm-checklist { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 16px; max-width: 1200px; margin: 0 auto; padding: 0; list-style: none; }
.hcpm-check { position: relative; }
.hcpm-check input { position: absolute; top: 26px; left: 24px; width: 24px; height: 24px; margin: 0; accent-color: var(--primary); cursor: pointer; }
.hcpm-check label { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 22px 24px 22px 68px; background: #fff; border: 1px solid var(--border-color); border-radius: var(--border-radius-sm); cursor: pointer; transition: background-color .2s, border-color .2s; }
.hcpm-check input:checked + label { background: var(--light); border-color: var(--primary); }
.hcpm-check input:focus-visible + label { box-shadow: 0 0 0 3px rgba(var(--primary-rgb), .45); }
.hcpm-check__title { font-family: var(--secondary-font); font-size: 19px; font-weight: 700; line-height: 1.25; }
.hcpm-check__text { font-size: 16px; }

/* Step 3: scorecard */
.hcpm-scorecard { max-width: 1200px; margin: 0 auto; }
.hcpm-scorecard__help { margin: 0 0 20px; color: var(--gray-md); font-size: 16px; }
.hcpm-scorecard__names { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; margin-bottom: 24px; }
.hcpm-scorecard__names label { display: flex; flex-direction: column; gap: 6px; font-family: var(--secondary-font); font-weight: 700; }
.hcpm-scorecard input[type="text"], .hcpm-scorecard select { width: 100%; padding: 10px 12px; background: #fff; border: 1px solid var(--border-color); border-radius: var(--border-radius-sm); color: var(--body-text); font-family: var(--alt-font); font-size: 16px; }
.hcpm-scorecard :is(input, select):focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; }
.hcpm-scorecard__wrap { overflow: hidden; background: #fff; border: 1px solid var(--border-color); border-radius: var(--border-radius-sm); }
.hcpm-scorecard__table { width: 100%; border-collapse: collapse; }
.hcpm-scorecard__table :is(th, td) { padding: 12px 16px; text-align: left; vertical-align: middle; }
.hcpm-scorecard__table thead th { background: var(--gray-dark); color: #fff; font-family: var(--secondary-font); }
.hcpm-scorecard__table tbody tr + tr { border-top: 1px solid var(--border-color); }
.hcpm-scorecard__table tbody th { width: 34%; font-family: var(--secondary-font); font-weight: 700; }
.hcpm-scorecard__table tfoot { background: var(--light); font-family: var(--secondary-font); font-weight: 700; }
.hcpm-scorecard__table tfoot output { font-size: 24px; }
.hcpm-scorecard__table .is-leader { background: rgba(var(--primary-rgb), .08); }
.hcpm-scorecard__table thead .is-leader { background: var(--primary); }
.hcpm-scorecard__summary { min-height: 1.5em; margin: 16px 0; font-family: var(--secondary-font); font-size: 18px; }
@media (max-width: 767px) {
  .hcpm-scorecard__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .hcpm-scorecard__table, .hcpm-scorecard__table :is(tbody, tfoot, tr, th, td) { display: block; width: 100% !important; }
  .hcpm-scorecard__table tbody th, .hcpm-scorecard__table tfoot th { padding-bottom: 4px; }
  .hcpm-scorecard__table td { display: grid; grid-template-columns: 40% 1fr; align-items: center; gap: 12px; padding-top: 6px; padding-bottom: 6px; }
  .hcpm-scorecard__table td::before { content: attr(data-label); font-size: 15px; overflow-wrap: anywhere; }
  .hcpm-scorecard__table tr { padding-bottom: 10px; }
}
.hcpm-tips { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: var(--gap); max-width: 1200px; margin: 56px auto 0; }
.hcpm-tip { padding: 24px 28px; background: #fff; border-left: 4px solid var(--primary); border-radius: var(--border-radius-sm); }
.hcpm-tip h3 { font-size: 21px; }
.hcpm-tip p { margin: 0; font-size: 16px; }

/* Step 4: questions (details/summary styled like .launch-accordion) */
.hcpm-qa { max-width: 1200px; margin: 0 auto; border-bottom: 1px solid rgba(var(--gray-dark-rgb), .5); }
.hcpm-qa__item { border-top: 1px solid rgba(var(--gray-dark-rgb), .5); }
.hcpm-qa__item summary { position: relative; display: flex; align-items: center; gap: 16px; padding: 28px 48px 28px 2px; font-family: var(--secondary-font); font-size: min(1.5rem, 23px); font-weight: 700; line-height: 1.2; list-style: none; cursor: pointer; }
.hcpm-qa__item summary::-webkit-details-marker { display: none; }
.hcpm-qa__item summary::after { content: ''; position: absolute; top: 50%; right: 8px; width: 12px; height: 12px; border-right: 2px solid var(--secondary); border-bottom: 2px solid var(--secondary); transform: translateY(-75%) rotate(45deg); transition: transform .3s; }
.hcpm-qa__item[open] summary::after { transform: translateY(-25%) rotate(-135deg); }
.hcpm-qa__item summary:focus-visible { outline: 2px solid var(--primary); outline-offset: 4px; }
.hcpm-qa__num { flex: 0 0 40px; display: inline-grid; place-items: center; height: 40px; border-radius: 50%; background: var(--primary); color: #fff; font-size: 17px; }
.hcpm-qa__body { padding: 0 0 32px 56px; font-size: 17px; }
.hcpm-qa__compare { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 16px; }
.hcpm-qa__compare > div { padding: 20px 24px; border-radius: var(--border-radius-sm); }
.hcpm-qa__compare h4 { margin: 0 0 6px; font-family: var(--secondary-font); font-size: 15px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.hcpm-qa__compare p { margin: 0; }
.hcpm-qa__good { background: var(--gray); border-left: 4px solid var(--gray-dark); }
.hcpm-qa__good h4::before { content: '\2713\00a0'; }
.hcpm-qa__bad { background: var(--light); border-left: 4px solid var(--primary); }
.hcpm-qa__bad h4 { color: var(--secondary); }
.hcpm-qa__bad h4::before { content: '!\00a0'; }
.hcpm-more { max-width: 1200px; margin: 32px auto 0; text-align: center; }
@media (max-width: 575px) { .hcpm-qa__body { padding-left: 0; } .hcpm-qa__item summary { font-size: 19px; } }

/* Mistakes (dark band) */
.hcpm-band--dark { color: #fff; }
.hcpm-band--dark .hcpm-band__header p { color: rgba(255, 255, 255, .85); }
.hcpm-mistakes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: var(--gap); margin: 0 0 56px; padding: 0; list-style: none; counter-reset: mistake; }
.hcpm-mistakes li { position: relative; padding: 32px; border: 1px solid rgba(255, 255, 255, .22); border-radius: var(--border-radius); counter-increment: mistake; }
.hcpm-mistakes li::before { content: '0' counter(mistake); display: block; margin-bottom: 16px; color: var(--light-alt); font-family: var(--secondary-font--alt); font-size: 56px; line-height: 1; }
.hcpm-mistakes h3 { color: #fff; }
.hcpm-mistakes p { margin: 0; color: rgba(255, 255, 255, .85); font-size: 17px; }

/* Final decision timeline */
.hcpm-timeline { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; max-width: 1400px; margin: 0 auto; padding: 0; list-style: none; counter-reset: step; }
.hcpm-timeline li { position: relative; padding-top: 76px; counter-increment: step; }
.hcpm-timeline li::before { content: counter(step); position: absolute; top: 0; left: 0; z-index: 1; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--primary); color: #fff; font-family: var(--secondary-font); font-size: 22px; font-weight: 700; }
.hcpm-timeline li:not(:last-child)::after { content: ''; position: absolute; top: 26px; left: 52px; right: -24px; height: 2px; background: var(--light-alt); }
.hcpm-timeline h3 { font-size: 22px; }
.hcpm-timeline p { margin: 0; font-size: 16px; }
@media (max-width: 991px) {
  .hcpm-timeline { grid-template-columns: 1fr; gap: 32px; max-width: 720px; }
  .hcpm-timeline li { padding: 6px 0 0 76px; }
  .hcpm-timeline li:not(:last-child)::after { top: 52px; bottom: -32px; left: 25px; right: auto; width: 2px; height: auto; }
}

/* Grace proof points */
#grace h2 { margin-bottom: 32px; font-size: clamp(32px, 3.4vw, 48px); }
#grace .checks { font-size: 17px; gap: 16px; }
.hcpm-proof { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.hcpm-proof__item { padding: 28px; background: #fff; border-radius: var(--border-radius); }
.hcpm-proof__item svg { width: 40px; height: 40px; fill: var(--primary); }
.hcpm-proof__item h3 { margin: 12px 0 6px; font-size: 20px; }
.hcpm-proof__item p { margin: 0; font-size: 16px; }
.hcpm-proof__more { margin: 24px 0 0; }

/* Print: A prints the article; B prints only the checklist or scorecard
============================================================================= */
@media print {
  #header, .launch-menu, .launch-menu-mask, footer, #affiliations, #sub-nav, .hcpm-steps,
  .hcpm-sidebar, .hcpm-final-cta, .hcpm-video, #secondary-banner .btn-list,
  .hcpm-progress__actions, .hcpm-scorecard .btn-list { display: none !important; }
  #secondary-banner { min-height: 0 !important; padding-top: 0 !important; background: none !important; }
  .hcpm-article { width: 100% !important; }
  .hcpm-band, .hcpm-faqs { padding: 24px 0 !important; background: none !important; color: #000 !important; }
  .launch-accordion > li > div { display: block !important; }
  .hcpm-qa__item:not([open]) .hcpm-qa__body { display: block; }
  html[data-hcpm-print] main > :not([data-hcpm-printing]) { display: none !important; }
  .hcpm-check label, .hcpm-card, .hcpm-flags li, .hcpm-mistakes li { break-inside: avoid; }
}
