/* MVH editorial index: a dossier-led reading route, shared by every page. */
:root { --mvh-forest:#173f3a; --mvh-orange:#be5c2b; --mvh-sage:#d9e5dc; --mvh-paper:#f5f1e8; --mvh-quiet:#59635e; }
body { background:var(--mvh-paper); color:var(--mvh-forest); }
.service-shell { width:min(calc(100% - 40px),1180px); }
.service-header__inner { padding-block:26px 20px; }
.service-brand strong { font-size:clamp(3.5rem,7vw,5.3rem); }
.service-nav .service-shell { gap:clamp(14px,2.6vw,30px); }
.service-hero { border-bottom:0; }
.service-hero__inner { padding-block:clamp(54px,8vw,94px) clamp(48px,7vw,76px); }
.service-hero h1 { max-width:12ch; font-size:4rem; }
.service-hero__inner > div > p:not(.service-kicker) { max-width:34rem; }
.service-lead { padding-block:clamp(52px,7vw,84px); }
.service-lead article { grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr); }
.service-lead h2 { font-size:clamp(2.25rem,4.2vw,4.25rem); max-width:12ch; }
.service-section { padding-block:clamp(54px,7vw,88px); }
.service-section__head h2 { font-size:3.8rem; max-width:12ch; }
.service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,4vw,48px) clamp(22px,3.5vw,40px); }
.service-card { grid-template-columns:minmax(120px,.72fr) minmax(0,1.28fr); gap:18px; border-top:2px solid var(--mvh-forest); padding-top:18px; }
.service-card h3 { font-size:clamp(1.25rem,2vw,1.75rem); line-height:1.08; }
.service-card__media { aspect-ratio:1.35; }
.service-footer { margin-top:0; }
.article-header h1, .category-head h1 { color:var(--mvh-forest); font-size:3.5rem; max-width:13ch; }
.article-header { padding-top:clamp(28px,5vw,60px); }
.prose h2 { color:var(--mvh-forest); font-size:clamp(1.65rem,2.7vw,2.35rem); }
.prose h3 { color:var(--mvh-orange); }
@media (max-width:700px) {
  .service-shell { width:min(calc(100% - 24px),1180px); }
  .service-brand strong { font-size:3.5rem; }
  .service-hero h1 { max-width:10ch; font-size:3rem; }
  .service-lead h2 { max-width:none; font-size:2.35rem; }
  .service-section__head h2 { max-width:none; font-size:2.65rem; }
  .service-card { grid-template-columns:100px minmax(0,1fr); gap:12px; }
  .service-card h3 { font-size:1.25rem; }
  .article-header h1, .category-head h1 { max-width:none; font-size:2.75rem; }
}
