/* Homepage-only sections (jobs strip, trust row, review, below-the-fold restyle).
   The shared hero/card/form styles live in site.css. */
/* ---------- Three jobs (editorial, asymmetric) ---------- */
.hm-jobs { padding: 4.5rem 0 3.5rem; }
.hm-jobs-head { max-width: 560px; margin: 0 0 2rem; }
.hm-jobs-head h2, .hm-review h2, .hm-trust h2 { font-family: "Playfair Display", Georgia, serif; font-weight: 500; font-size: clamp(1.8rem, 4.2vw, 2.6rem); line-height: 1.12; margin: 0 0 .6rem; letter-spacing: -.01em; }
.hm-jobs-head p { margin: 0; color: var(--hm-ink-2); font-size: 1.05rem; }
.hm-jobs-grid { display: grid; gap: 2rem; }
.hm-job { margin: 0; }
.hm-job .hm-job-img { display: block; overflow: hidden; border-radius: 6px; background: var(--hm-bg-2); }
.hm-job img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.hm-job a.hm-job-img:hover img { transform: scale(1.03); }
.hm-job--lead .hm-job-img { aspect-ratio: 1 / 1; }
.hm-job--b .hm-job-img { aspect-ratio: 4 / 3; }
.hm-job--c .hm-job-img { aspect-ratio: 6 / 5; }
.hm-job figcaption { margin-top: .75rem; font-size: 1.02rem; line-height: 1.5; color: var(--hm-ink); }
.hm-job .hm-svc { display: block; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: var(--hm-accent); font-weight: 600; margin-bottom: .2rem; }
.hm-job figcaption a.hm-more { color: var(--hm-accent); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
@media (max-width: 899px) {
  .hm-job--c { width: 82%; margin-left: auto; }
}
@media (min-width: 900px) {
  .hm-jobs { padding: 6rem 0 5rem; }
  .hm-jobs-grid { grid-template-columns: 7fr 5fr; grid-template-rows: auto auto; gap: 2.5rem 3rem; align-items: start; }
  .hm-job--lead { grid-row: 1 / span 2; }
  .hm-job--c { width: 78%; margin-top: .5rem; }
  .hm-job--lead figcaption { font-size: 1.12rem; max-width: 34rem; }
}

/* ---------- Trust row (ruled, not cards) ---------- */
.hm-trust { border-top: 1px solid var(--hm-line); border-bottom: 1px solid var(--hm-line); background: var(--hm-paper); }
.hm-trust ul { list-style: none; margin: 0 auto; padding: 0; display: grid; max-width: 1240px; }
.hm-trust li { padding: 1.35rem 1.25rem; border-top: 1px solid var(--hm-line); }
.hm-trust li:first-child { border-top: 0; }
.hm-trust strong { display: block; font-family: "Playfair Display", Georgia, serif; font-weight: 500; font-size: 1.4rem; line-height: 1.2; color: var(--hm-ink); }
.hm-trust span { display: block; margin-top: .3rem; font-size: .93rem; color: var(--hm-ink-2); }
@media (min-width: 900px) {
  .hm-trust ul { grid-template-columns: 1.15fr 1.3fr 1fr 1fr; }
  .hm-trust li { border-top: 0; border-left: 1px solid var(--hm-line); padding: 2rem 1.75rem; }
  .hm-trust li:first-child { border-left: 0; padding-left: 1.25rem; }
}

/* ---------- One review next to a photo ---------- */
.hm-review { padding: 4.5rem 0; }
.hm-review-grid { display: grid; gap: 2rem; align-items: center; }
.hm-review figure { margin: 0; }
.hm-review figure img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; }
.hm-review figure figcaption { margin-top: .6rem; font-size: .88rem; color: var(--hm-ink-2); }
.hm-review figure figcaption a { color: var(--hm-accent); text-decoration: underline; text-underline-offset: 2px; }
.hm-quote { margin: 0; }
.hm-quote .stars { color: var(--hm-accent); letter-spacing: .12em; margin: 0 0 .8rem; font-size: 1.05rem; }
.hm-quote blockquote { margin: 0; }
.hm-quote blockquote p { font-family: "Playfair Display", Georgia, serif; font-size: clamp(1.35rem, 3.2vw, 1.85rem); line-height: 1.38; margin: 0; color: var(--hm-ink); }
.hm-quote figcaption { margin-top: 1.1rem; font-size: .95rem; color: var(--hm-ink-2); }
.hm-quote .hm-quote-links { margin-top: 1.1rem; font-size: .9rem; }
.hm-quote .hm-quote-links a { color: var(--hm-accent); text-decoration: underline; text-underline-offset: 2px; }
@media (min-width: 900px) {
  .hm-review { padding: 6rem 0; }
  .hm-review-grid { grid-template-columns: 6fr 5fr; gap: 4rem; }
}

/* ---------- Below-the-fold SEO content, restyled warm ---------- */
.hm-page .bhi-rp-home-band { padding-top: 1rem; }
.hm-svc-list { list-style: none; margin: 0 auto; padding: 0; max-width: 960px; }
.hm-svc-list li { border-top: 1px solid var(--hm-line); }
.hm-svc-list li:last-child { border-bottom: 1px solid var(--hm-line); }
.hm-svc-list a { display: grid; gap: .2rem 2rem; padding: 1.1rem .25rem; }
.hm-svc-list .name { font-family: "Playfair Display", Georgia, serif; font-size: 1.35rem; font-weight: 500; }
.hm-svc-list .desc { color: var(--hm-ink-2); }
.hm-svc-list a:hover .name { color: var(--hm-accent); }
@media (min-width: 760px) { .hm-svc-list a { grid-template-columns: 16rem 1fr; align-items: baseline; } }
.hm-page .area-grid { gap: 0 2.5rem; }
.hm-page .area-card { background: none; border: 0; border-top: 1px solid var(--hm-line); border-radius: 0; padding: 1.1rem 0; box-shadow: none; }
.hm-page .area-card h3 a, .hm-page .entity-block a, .hm-page .prose a, .hm-page .faq a, .hm-page .area-card p a { color: var(--hm-accent); text-decoration: underline; text-underline-offset: 2px; }
.hm-page .entity-block { background: var(--hm-paper); border-color: var(--hm-line); }
.hm-page .faq details { background: var(--hm-paper); border-color: var(--hm-line); }
.hm-page .reviews { display: block; columns: 1; column-gap: 1.25rem; }
.hm-page .review { break-inside: avoid; margin: 0 0 1.25rem; background: var(--hm-paper); border-color: var(--hm-line); }
@media (min-width: 768px) { .hm-page .reviews { columns: 2; } }
@media (min-width: 1100px) { .hm-page .reviews { columns: 3; } }
.hm-page .final-cta.bg-dark { background: var(--hm-ink); }

