/* Service detail uses the existing Vloom editorial system, without new scripts. */
.service-page { --service-muted: #515865; }
.site-rebrand .service-hero { padding: 110px 0 78px; background: var(--paper); }
.service-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 42px; font-size: 12px; color: var(--service-muted); }
.service-breadcrumb a { color: #213fd1; text-underline-offset: 3px; }
.service-hero-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.8fr); gap: clamp(42px,7vw,110px); align-items: center; }
.site-rebrand .service-eyebrow { margin: 0 0 14px; color: #2548d9; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.site-rebrand .service-hero h1 { margin: 0 0 25px; font-size: clamp(3.4rem,5.5vw,5.8rem); line-height: .98; }
.service-hero h1 em { color: #3155f5; font-weight: inherit; }
.service-lead { max-width: 650px; margin: 0 0 28px; font-size: 18px; line-height: 1.65; color: var(--service-muted); }
.service-summary { padding: 34px; border-radius: 8px; background: #10131a; color: #fff; }
.service-summary > p { margin: 0 0 22px; color: #b9c5ec; font-size: 12px; }
.site-rebrand .service-summary h2 { margin: 0 0 24px; color: #fff; font-size: 36px; line-height: 1.1; }
.service-summary ul { list-style: none; margin: 0 0 24px; padding: 0; }
.service-summary li { padding: 13px 0; border-top: 1px solid #343a46; font-size: 14px; line-height: 1.55; color: #d6d9e2; }
.service-summary a { display: inline-block; color: #c6d0ff; font-size: 13px; line-height: 1.5; text-underline-offset: 4px; }
.service-jump { display: flex; flex-wrap: wrap; gap: 12px 32px; padding-block: 18px; border-block: 1px solid var(--line); }
.service-jump a { display: inline-flex; align-items: center; min-height: 44px; color: #213fd1; font-size: 13px; text-underline-offset: 4px; }
.service-section { padding: 86px 0; scroll-margin-top: 72px; }
.service-section-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(38px,7vw,100px); }
.site-rebrand .service-section h2 { margin: 0 0 24px; font-size: clamp(2.6rem,4vw,4.3rem); line-height: 1; }
.service-section p { color: var(--service-muted); font-size: 16px; line-height: 1.75; }
.site-rebrand .service-section a { color: #213fd1; text-underline-offset: 4px; }
.service-deliverables { margin: 0; }
.service-deliverables > div { border-top: 1px solid var(--line); padding: 22px 0; }
.service-deliverables dt, .service-copy h3 { color: #10131a; font: 500 26px/1.15 'Source Serif 4',Georgia,serif; }
.service-deliverables dd { margin: 12px 0 0; color: var(--service-muted); font-size: 16px; line-height: 1.75; }
.service-copy h3 { margin: 0 0 12px; }
.service-copy h3:not(:first-child) { margin-top: 32px; }
.service-copy > p:first-child { margin-top: 0; }
.service-evidence { background: #edeae3; }
.service-evidence figure { margin: 0; align-self: center; }
.service-evidence img { display: block; width: 100%; height: auto; border-radius: 10px; border: 1px solid #d3d3ce; }
.service-evidence figcaption { margin-top: 16px; font-size: 12px; color: var(--service-muted); line-height: 1.6; }
.service-questions { border-top: 1px solid var(--line); }
.service-questions details { border-bottom: 1px solid var(--line); padding: 20px 0; }
.service-questions details:first-child { border-top: 1px solid var(--line); }
.service-questions summary { padding: 4px 0; min-height: 44px; cursor: pointer; font-size: 17px; line-height: 1.5; font-weight: 600; color: #10131a; }
.service-questions details p { margin: 14px 0 0; }
.service-sources { padding: 40px 0 70px; background: #edeae3; }
.site-rebrand .service-sources h2 { font: 700 14px/1.4 'Instrument Sans',Arial,sans-serif; }
.service-sources p, .service-sources li { font-size: 13px; line-height: 1.7; color: var(--service-muted); }
.service-sources ul { padding-left: 18px; }
.service-sources a { color: #213fd1; text-underline-offset: 3px; }
.service-page a:focus-visible, .service-page summary:focus-visible { outline: 2px solid #3155f5; outline-offset: 5px; }
.site-rebrand.service-page .editorial-cta .section-label { color: #fff; }
@media(max-width:800px) {
  .service-hero-grid, .service-section-grid { grid-template-columns: 1fr; }
  .site-rebrand .service-hero { padding: 94px 0 54px; }
  .site-rebrand .service-hero h1 { font-size: clamp(2.5rem,10.4vw,3.5rem); }
  .service-lead { font-size: 16px; }
  .service-breadcrumb { margin-bottom: 30px; }
  .service-summary { padding: 27px; }
  .service-section { padding: 58px 0; }
  .service-jump { gap: 4px 24px; }
  .service-jump a { font-size: 12px; }
  .service-sources { padding-bottom: 50px; }
}
