/* Shared editorial shell and detail pages. Homepage content keeps its chosen stylesheet. */
:root {
  --paper: #fbfaf7;
  --paper-alt: #f4f1ea;
  --white: #ffffff;
  --ink: #0b1220;
  --soft: #3a4859;
  --navy: #0a2540;
  --blue: #0f4c81;
  --gold: #c8a04e;
  --line: #e7e3da;
  --line-soft: #efece4;
  --sans: "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Sans", "Yu Gothic", "Meiryo", system-ui, sans-serif;
  --max: 1180px;
  --maxw: 1180px;
  --paper-2: var(--paper-alt);
  --band: var(--paper-alt);
  --ink-soft: var(--soft);
  --muted: var(--soft);
  --biz-navy: var(--navy);
  --biz-blue: var(--blue);
  --navy-2: var(--blue);
  --line-2: var(--line-soft);
  --surface: var(--white);
  --canvas: var(--paper);
  --blue-soft: var(--paper-alt);
  --r-sm: 9px;
  --r: 14px;
  --r-lg: 22px;
}
.editorial-site, .editorial-site * { box-sizing: border-box; }
.editorial-site [hidden] { display: none !important; }
.editorial-site .ed-anchor-host { position: relative; }
.editorial-site .ed-compat-anchor { position: absolute; inset-block-start: 0; inset-inline-start: 0; width: 1px; height: 1px; pointer-events: none; scroll-margin-top: 28px; }
html { scroll-padding-top: 28px; }
body.editorial-site { margin: 0; background: var(--paper); color: var(--ink); font: 400 16px/1.85 var(--sans); font-feature-settings: "palt" 1; -webkit-font-smoothing: antialiased; overflow-wrap: anywhere; }
.editorial-site :is(a, button, summary, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.editorial-site :is(a, summary, button) { -webkit-tap-highlight-color: transparent; }
.editorial-site .wrap { width: calc(100% - 80px); max-width: var(--max); margin-inline: auto; }
.editorial-site .skip, .editorial-site .skip-link { position: fixed; top: -120px; left: 16px; z-index: 200; padding: 12px 24px; background: var(--white); color: var(--blue); border: 2px solid var(--blue); transform: none; }
.editorial-site .skip:focus, .editorial-site .skip-link:focus { top: 12px; }

/* Common navigation and comparison controls. */
.editorial-site > .site-header { position: relative; z-index: 20; color: var(--ink); background: var(--paper); border: 0; border-bottom: 1px solid var(--line); box-shadow: none; }
.editorial-site .site-header .header-inner { width: calc(100% - 80px); max-width: var(--max); min-height: 90px; margin-inline: auto; padding: 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.editorial-site .site-header .brand, .editorial-site .site-footer .brand { display: inline-flex; align-items: center; flex-shrink: 0; gap: 16px; min-height: 48px; color: var(--ink); text-decoration: none; }
.editorial-site .site-header .brand strong, .editorial-site .site-footer .brand strong { font-size: 22px; letter-spacing: .12em; line-height: 1; font-weight: 700; }
.editorial-site .site-header .brand span, .editorial-site .site-footer .brand span { display: inline; padding-left: 16px; border-left: 1px solid var(--line); color: var(--soft); font-size: 13px; font-weight: 400; line-height: 1.7; }
.editorial-site .desktop-nav { display: flex; flex-wrap: nowrap; gap: 20px; align-items: center; }
.editorial-site .desktop-nav > a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 0; color: var(--ink); border: 0; border-radius: 0; background: transparent; font-size: 14px; font-weight: 400; text-decoration: none; white-space: nowrap; }
.editorial-site .desktop-nav > a:hover, .editorial-site .desktop-nav > a[aria-current] { color: var(--blue); text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 2px; text-underline-offset: 8px; }
.editorial-site .desktop-nav > a.button { justify-content: center; min-height: 44px; padding: 8px 20px; color: var(--white); background: var(--blue); border: 1px solid var(--blue); border-radius: 999px; font-weight: 700; text-decoration: none; }
.editorial-site .desktop-nav > a.button:hover { text-decoration: underline; text-decoration-color: currentColor; text-underline-offset: 4px; }
.editorial-site .mobile-menu { display: none; margin: 0; padding: 0; border: 0; background: transparent; }
.editorial-site .ed-compare-bar { background: var(--paper-alt); border-bottom: 1px solid var(--line); }
.editorial-site .ed-compare-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 24px; width: calc(100% - 80px); max-width: var(--max); min-height: 44px; margin-inline: auto; color: var(--soft); font-size: 13px; line-height: 1.7; }
.editorial-site .ed-compare-inner p { margin: 0; font-size: inherit; }
.editorial-site .ed-compare-inner nav, .editorial-site .ed-compare-inner > div { display: flex; flex-wrap: wrap; gap: 0 24px; }
.editorial-site .ed-compare-inner a { display: inline-flex; align-items: center; min-height: 44px; padding: 0; color: var(--blue); background: transparent; border-radius: 0; text-decoration: underline; text-underline-offset: 4px; }
.editorial-site > .site-footer { padding: 32px 0; margin: 0; background: var(--paper); color: var(--soft); border-top: 1px solid var(--line); }
.editorial-site .site-footer .footer-row { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.editorial-site .site-footer .footer-nav, .editorial-site .site-footer .footer-links { display: flex; flex-wrap: wrap; gap: 0 20px; margin: 0; padding: 0; background: transparent; box-shadow: none; border: 0; position: static; }
.editorial-site .site-footer .footer-nav a, .editorial-site .site-footer .footer-links a { display: inline-flex; min-height: 44px; align-items: center; padding: 0; color: var(--soft); font-size: 13px; text-decoration: none; }
.editorial-site .site-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.editorial-site .site-footer .footer-note { display: flex; justify-content: space-between; gap: 24px; padding-top: 20px; margin-top: 20px; border-top: 1px solid var(--line); font-size: 13px; line-height: 1.8; }
.editorial-site .site-footer .footer-note p { max-width: 860px; margin: 0; font-size: inherit; }
.editorial-site .site-footer .ed-legal { padding-top: 20px; margin-top: 20px; border-top: 1px solid var(--line); font-size: 13px; line-height: 1.8; }
.editorial-site .site-footer .ed-legal p { max-width: 980px; margin: 0 0 12px; font-size: inherit; }
.editorial-site .site-footer .ed-legal p:last-child { margin-bottom: 0; }
.editorial-site .site-footer .ed-legal a { color: var(--blue); }
.editorial-site .site-footer .ed-legal .link-grid { display: flex; flex-wrap: wrap; gap: 0 20px; }
.editorial-site .site-footer .ed-legal .link-grid a { display: inline-flex; align-items: center; min-height: 44px; }
.editorial-site .site-footer .foot, .editorial-site .site-footer .site-footer-inner { width: auto; max-width: none; margin: 0; padding: 0; }

/* Detail pages start here. No homepage body component uses these rules. */
.editorial-detail .ed-page { width: calc(100% - 80px); max-width: var(--max); margin: 0 auto; padding: 0 0 64px; }
.editorial-detail .ed-page :is(h1, h2, h3, h4) { color: var(--ink); font-family: var(--sans); font-weight: 700; font-style: normal; letter-spacing: 0; line-height: 1.5; }
.editorial-detail .ed-page h1 { margin: 20px 0 24px; font-size: clamp(32px, 4.4vw, 56px); line-height: 1.4; }
.editorial-detail .ed-page h2 { margin: 0 0 24px; font-size: clamp(26px, 2.5vw, 32px); }
.editorial-detail .ed-page h3 { margin: 0 0 14px; font-size: 21px; }
.editorial-detail .ed-page h4 { margin: 0 0 12px; font-size: 18px; }
.editorial-detail .ed-page p { max-width: none; margin: 0 0 16px; }
.editorial-detail .ed-page :is(ul, ol) { margin: 16px 0; padding-left: 1.5em; }
.editorial-detail .ed-page li { margin: 0 0 8px; }
.editorial-detail .ed-page :is(figure, dl) { margin: 24px 0; }
.editorial-detail .ed-page :is(dd) { margin-left: 0; }
.editorial-detail .ed-page a { color: var(--blue); text-underline-offset: 5px; }
.editorial-detail .ed-page a:hover { text-decoration-thickness: 2px; }
.editorial-detail .ed-page img { display: block; max-width: 100%; height: auto; }
.editorial-detail .ed-page :is(section[id], article[id], aside[id], div[id], figure[id], h2[id], details[id], li[id]) { scroll-margin-top: 28px; }
.editorial-detail .ed-page .service-icon { display: inline-block; width: 28px; height: 28px; object-fit: contain; vertical-align: -.2em; margin-right: 12px; flex-shrink: 0; }
.editorial-detail .ed-page .button { display: inline-flex; justify-content: center; align-items: center; gap: 20px; min-height: 48px; max-width: 100%; padding: 12px 24px; border: 1px solid var(--blue); border-radius: 999px; background: var(--blue); color: var(--white); font: 700 16px/1.7 var(--sans); text-decoration: none; text-align: center; }
.editorial-detail .ed-page .button:hover { text-decoration: underline; text-underline-offset: 4px; }
.editorial-detail .ed-page .button.secondary, .editorial-detail .ed-page .button.outline { color: var(--blue); background: transparent; border-color: var(--line); }
.editorial-detail .ed-page :is(.breadcrumb, .ed-breadcrumb) { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 24px 0 12px; color: var(--soft); font-size: 13px; line-height: 1.7; }
.editorial-detail .ed-page :is(.breadcrumb, .ed-breadcrumb) a { display: inline-flex; align-items: center; min-height: 44px; }
.editorial-detail .ed-page :is(.subnav, .help-subnav, .audience-subnav, .decision-nav, .global-nav, .options-toc, .journey-subnav, .portfolio-index nav) { position: static; display: flex; flex-wrap: wrap; gap: 0 20px; margin: 0 0 16px; padding: 8px 0; background: transparent; color: var(--soft); border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.editorial-detail .ed-page :is(.subnav, .help-subnav, .audience-subnav, .decision-nav, .global-nav, .options-toc, .journey-subnav, .portfolio-index nav) a { display: inline-flex; align-items: center; min-height: 44px; padding: 4px 0; font-size: 14px; color: var(--soft); text-decoration: none; border: 0; border-radius: 0; background: transparent; white-space: normal; }
.editorial-detail .ed-page :is(.subnav, .help-subnav, .audience-subnav, .decision-nav, .global-nav, .options-toc, .journey-subnav) a[aria-current] { color: var(--blue); text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 2px; text-underline-offset: 6px; }
.editorial-detail .ed-page .global-nav ul { width: 100%; display: flex; flex-wrap: wrap; gap: 0 20px; padding: 0; margin: 0; list-style: none; overflow: visible; }
.editorial-detail .ed-page .global-nav li { margin: 0; }
.editorial-detail .ed-page-header { display: block; width: auto; max-width: 960px; margin: 0 auto; padding: 48px 0 40px; color: var(--ink); background: transparent; text-align: center; border: 0; border-radius: 0; box-shadow: none; }
.editorial-detail .ed-page-header .hero-copy { max-width: none; min-width: 0; }
.editorial-detail .ed-page-header :is(.label, .eyebrow, .sitemap-eyebrow) { display: inline-block; width: auto; margin: 0 0 4px; padding: 5px 16px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--soft); font-size: 13px; font-weight: 500; letter-spacing: .02em; }
.editorial-detail .ed-page-header .lead { max-width: 760px; margin: 0 auto 20px; color: var(--soft); font-size: 18px; font-weight: 400; line-height: 1.85; }
.editorial-detail .ed-page-header :is(h1, .lead) br { display: none; }
.editorial-detail .ed-page-header > p { max-width: 760px; margin-inline: auto; }
.editorial-detail .ed-page-header .hero-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 24px; margin-top: 24px; }
.editorial-detail .ed-page-header .status-row { justify-content: center; margin-top: 24px; }
.editorial-detail .ed-page-header .status-label { border: 1px solid var(--line); color: var(--soft); background: transparent; font-weight: 500; }
.editorial-detail .ed-hero-visual { margin: 0 0 40px; }
.editorial-detail .ed-hero-visual > :first-child { margin-top: 0; }
.editorial-detail .ed-hero-visual > :last-child { margin-bottom: 0; }
.editorial-detail .ed-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: start; gap: 64px; margin-top: 48px; }
.editorial-detail .ed-outline { min-width: 0; align-self: stretch; }
.editorial-detail .ed-outline-inner { position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow-y: auto; scrollbar-width: thin; }
.editorial-detail .ed-outline-title, .editorial-detail .ed-outline-inner > summary { display: block; margin: 0 0 16px; padding: 0 0 12px; border-bottom: 2px solid var(--gold); font-size: 14px; line-height: 1.7; font-weight: 700; color: var(--ink); }
.editorial-detail .ed-outline :is(ol, ul) { list-style: none; padding: 0; margin: 0; }
.editorial-detail .ed-outline li { margin: 0; }
.editorial-detail .ed-outline nav { display: block; }
.editorial-detail .ed-outline a { display: flex; align-items: center; min-height: 44px; padding: 8px 0; border-bottom: 1px solid var(--line-soft); color: var(--soft); font-size: 13px; line-height: 1.8; text-decoration: none; }
.editorial-detail .ed-outline a:hover { color: var(--blue); text-decoration: underline; }
.editorial-detail .ed-page .ed-outline .page-index { margin: 0; padding: 0; border: 0; }
.editorial-detail .ed-page .ed-outline .page-index nav { display: block; margin: 0; padding: 0; border: 0; }
.editorial-detail .ed-page .ed-outline .page-index a { display: flex; font-size: 13px; }
.editorial-detail .ed-outline-inner > summary { min-height: 44px; cursor: pointer; }
.editorial-detail .ed-outline-mobile { display: none; }
.editorial-detail .ed-content { min-width: 0; }
.editorial-detail .ed-content > :is(section, .section-block, .portfolio-section) { margin: 0; padding: 0 0 64px; border: 0; border-bottom: 1px solid var(--line); background: transparent; border-radius: 0; box-shadow: none; }
.editorial-detail .ed-content > :is(section, .section-block, .portfolio-section) + :is(section, .section-block, .portfolio-section) { padding-top: 64px; }
.editorial-detail .ed-content > :is(section, .section-block, .portfolio-section):last-child { border-bottom: 0; }
.editorial-detail .ed-content section section { margin: 32px 0 0; padding: 24px 0 0; border-top: 1px solid var(--line); }
.editorial-detail .ed-page .section-heading, .editorial-detail .ed-page .section-head { display: block; margin: 0 0 24px; padding: 0; border: 0; }
.editorial-detail .ed-page .section-heading::before { display: none; content: none; }
.editorial-detail .ed-page .section-heading h2 { margin: 0; font-size: clamp(26px, 2.5vw, 32px); }
.editorial-detail .ed-page :is(.section-tag, .section-kicker, .eyebrow, .case-kicker) { display: inline-block; margin: 0 0 16px; padding: 0 0 6px; border: 0; border-bottom: 2px solid var(--gold); border-radius: 0; background: transparent; color: var(--blue); font-size: 13px; font-weight: 700; letter-spacing: .02em; line-height: 1.7; }
.editorial-detail .ed-page :is(.section-intro, .small-copy, .fiction-label, .case-notice, .table-hint, .scene-disclosure, .infographic-note, .plan-caption) { color: var(--soft); }
.editorial-detail .ed-page .table-hint { margin: 24px 0 8px; font-size: 13px; }

/* Summary bands, lists and reusable content groups. */
.editorial-detail .ed-page :is(.v9-page-summary, .summary-bar) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0 0 32px; padding: 16px 0; border: 0; border-block: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.editorial-detail .ed-page .v9-summary-item { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; min-width: 0; min-height: 76px; padding: 8px 20px; border: 0; border-right: 1px solid var(--line); border-radius: 0; background: transparent; text-decoration: none; }
.editorial-detail .ed-page .v9-summary-item:first-child { padding-left: 0; }
.editorial-detail .ed-page .v9-summary-item:last-child { border-right: 0; }
.editorial-detail .ed-page .v9-summary-item small { color: var(--soft); font-size: 13px; }
.editorial-detail .ed-page .v9-summary-item b { font-size: 17px; line-height: 1.6; color: var(--blue); }
.editorial-detail .ed-page .v9-summary-item:hover { text-decoration: underline; background: var(--white); }
.editorial-detail .ed-page .service-glance { margin: 24px 0; padding: 24px 0; background: transparent; border-block: 1px solid var(--line); }
.editorial-detail .ed-page .service-glance .summary-bar { margin: 0; padding: 0; border: 0; }
.editorial-detail .ed-page .summary-bar > div { min-width: 0; padding: 0 20px; border-right: 1px solid var(--line); }
.editorial-detail .ed-page .summary-bar > div:first-child { padding-left: 0; }
.editorial-detail .ed-page .summary-bar > div:last-child { border: 0; }
.editorial-detail .ed-page .summary-bar dt { color: var(--soft); font-size: 13px; margin-bottom: 8px; }
.editorial-detail .ed-page .summary-bar dd { margin: 0; font-size: 17px; font-weight: 500; }
.editorial-detail .ed-page :is(.glance-boundary, .related-work, .portfolio-state) { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.editorial-detail .ed-page :is(.grid, .choice-grid, .role-cards, .audience-results, .portfolio-audiences, .support-three, .effect-grid, .customer-grid, .industry-cards, .scope-grid, .grid-2, .grid-3, .grid-4) { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 24px 32px; margin: 24px 0; }
.editorial-detail .ed-page :is(.card, .choice-grid > article, .role-cards > article, .audience-results > div, .portfolio-audiences > article, .support-three > article, .industry-cards > article, .customer-grid > article, .scope-card) { min-width: 0; padding: 24px 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.editorial-detail .ed-page :is(.card, .choice-grid > article, .role-cards > article, .portfolio-audiences > article) > a:not(.button) { display: inline-flex; min-height: 44px; align-items: center; font-weight: 700; }
.editorial-detail .ed-page :is(.card, .choice-grid > article, .role-cards > article, .audience-results > div, .portfolio-audiences > article) p:last-child { margin-bottom: 0; }
.editorial-detail .ed-page :is(.label, .tag, .portfolio-tag, .status-badge, .option-category) { font-size: 13px; font-weight: 700; color: var(--soft); }
.editorial-detail .ed-page :is(.note, .callout, .materials-callout, .portfolio-notice, .audience-context, .human-check, .scope-box, .case-notice, .example-notice, .plan-teaser-more, .professional-strip) { margin: 24px 0; padding: 20px 24px; border: 0; border-left: 2px solid var(--gold); border-radius: 0; background: var(--paper-alt); box-shadow: none; }
.editorial-detail .ed-page :is(.note, .callout, .materials-callout, .portfolio-notice, .audience-context, .human-check, .scope-box, .case-notice, .example-notice, .professional-strip) p:last-child { margin-bottom: 0; }
.editorial-detail .ed-page :is(.portfolio-notice-title, .scene-title, .infographic-title) { color: var(--ink); font-size: 21px; font-weight: 700; line-height: 1.6; }
.editorial-detail .ed-page :is(.link-grid, .related-links, .industry-links, .resource-links, .plan-links) { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 24px; margin: 12px 0; }
.editorial-detail .ed-page :is(.link-grid, .related-links, .industry-links, .resource-links, .plan-links) > a { display: inline-flex; min-height: 44px; align-items: center; }
.editorial-detail .ed-page :is(.v9-related-links, .task-links) { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 24px; margin: 32px 0; padding: 24px 0; border-block: 1px solid var(--line); }
.editorial-detail .ed-page :is(.v9-related-links, .task-links) > a { display: block; min-width: 0; padding: 12px 0; background: transparent; border: 0; border-radius: 0; color: var(--blue); text-decoration: none; }
.editorial-detail .ed-page :is(.v9-related-links, .task-links) b { display: block; font-size: 18px; margin-bottom: 8px; }
.editorial-detail .ed-page :is(.v9-related-links, .task-links) span { display: block; color: var(--soft); font-size: 14px; }
.editorial-detail .ed-page :is(.v9-related-links, .task-links) a:hover b { text-decoration: underline; }

/* Prices remain complete; wide comparison tables scroll within their own region. */
.editorial-detail .ed-page .table-wrap, .editorial-detail .ed-page .sample-scroll { display: block; width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; margin: 16px 0 24px; border: 1px solid var(--line); border-radius: 9px; background: var(--white); }
.editorial-detail .ed-page table { width: 100%; min-width: 680px; border-collapse: collapse; color: var(--ink); background: var(--white); font-size: 16px; line-height: 1.8; }
.editorial-detail .ed-page caption { padding: 16px 20px; background: var(--paper-alt); color: var(--ink); font-size: 16px; font-weight: 700; text-align: left; }
.editorial-detail .ed-page th, .editorial-detail .ed-page td { padding: 16px 20px; vertical-align: top; border: 0; border-bottom: 1px solid var(--line); text-align: left; overflow-wrap: anywhere; }
.editorial-detail .ed-page thead th { background: var(--navy); color: var(--white); font-weight: 700; }
.editorial-detail .ed-page tbody th { width: auto; min-width: 140px; background: var(--paper-alt); color: var(--ink); font-weight: 700; }
.editorial-detail .ed-page tr:last-child > * { border-bottom: 0; }
.editorial-detail .ed-page :is(th, td) :is(ul, ol, p) { margin-top: 0; }
.editorial-detail .ed-page :is(th, td) a { display: inline-flex; min-height: 44px; align-items: center; }
.editorial-detail .ed-page :is(.price, .package-price, .option-price) { color: var(--ink); font-size: 30px; font-weight: 500; font-variant-numeric: tabular-nums; line-height: 1.5; }
.editorial-detail .ed-page .plan-grid { display: block; margin: 24px 0; }
.editorial-detail .ed-page .plan-teaser-card { display: grid; grid-template-columns: minmax(0, 1fr) 160px; gap: 12px 32px; position: relative; margin: 0; padding: 28px 20px; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); text-decoration: none; box-shadow: none; }
.editorial-detail .ed-page .plan-teaser-card > :not(.price) { grid-column: 1; }
.editorial-detail .ed-page .plan-teaser-card:last-child { border-bottom: 1px solid var(--line); }
.editorial-detail .ed-page .plan-teaser-card.recommended { padding-left: 17px; border-left: 3px solid var(--blue); background: var(--white); }
.editorial-detail .ed-page .plan-teaser-card:hover { background: var(--paper-alt); }
.editorial-detail .ed-page .plan-teaser-card h3 { font-size: 23px; margin: 0; }
.editorial-detail .ed-page .plan-teaser-card .price { grid-column: 2; grid-row: 1 / 6; align-self: center; margin: 0; }
.editorial-detail .ed-page .plan-teaser-card .price small { display: block; margin-top: 8px; color: var(--soft); font-size: 13px; font-weight: 400; }
.editorial-detail .ed-page .plan-teaser-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--blue); font-weight: 700; text-decoration: underline; }
.editorial-detail .ed-page .v9-recommended { display: inline-block; width: fit-content; padding: 4px 12px; margin: 0; border: 1px solid var(--line); border-radius: 999px; color: var(--blue); font-size: 13px; }
.editorial-detail .ed-page .plan-teaser-more { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; }
.editorial-detail .ed-page .plan-teaser-more p { margin: 0; }
.editorial-detail .ed-page .plan-icon { width: 36px; height: 36px; object-fit: contain; }

/* HTML diagrams and the original uncropped explanatory images. */
.editorial-detail .ed-page .v9-infographic { margin: 24px 0; padding: 32px; border: 0; border-radius: 22px; background: var(--paper-alt); }
.editorial-detail .ed-page .v9-infographic figcaption { margin: 0 0 20px; color: var(--ink); font-size: 21px; font-weight: 700; line-height: 1.6; }
.editorial-detail .ed-page .v9-diagram-intro { color: var(--soft); }
.editorial-detail .ed-page .v9-diagram-nodes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; list-style: none; margin: 0; padding: 0; }
.editorial-detail .ed-page .v9-infographic[data-nodes="4"] .v9-diagram-nodes { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.editorial-detail .ed-page .v9-diagram-nodes > li { position: relative; min-width: 0; margin: 0; padding: 20px 0 0; border: 0; border-top: 2px solid var(--gold); border-radius: 0; background: transparent; }
.editorial-detail .ed-page .v9-infographic[data-kind="flow"] .v9-diagram-nodes > li:not(:last-child)::after { position: absolute; right: -26px; top: 42%; content: "→"; font-size: 20px; color: var(--blue); }
.editorial-detail .ed-page .v9-node-label { display: block; font-size: 13px; color: var(--soft); margin-bottom: 12px; }
.editorial-detail .ed-page .v9-node-icon { float: right; width: 30px; height: 30px; margin: 0 0 8px 12px; }
.editorial-detail .ed-page .v9-diagram-nodes h3 { font-size: 20px; }
.editorial-detail .ed-page .v9-diagram-nodes p { margin: 0; font-size: 16px; }
.editorial-detail .ed-page .v9-diagram-result { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid var(--line); font-weight: 700; }
.editorial-detail .ed-page .service-scene, .editorial-detail .ed-page .concrete-infographic { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: center; gap: 24px 32px; margin: 32px 0; padding: 28px 0; border-block: 1px solid var(--line); background: transparent; }
.editorial-detail .ed-page .service-scene .scene-art { min-width: 0; text-align: left; }
.editorial-detail .ed-page .service-scene .scene-art img, .editorial-detail .ed-page .concrete-infographic > img, .editorial-detail .ed-page .concrete-infographic > a img { width: 100%; max-width: 420px; height: auto; margin-inline: auto; object-fit: contain; border-radius: 14px; }
.editorial-detail .ed-page :is(.service-scene, .concrete-infographic) figcaption { min-width: 0; max-width: none; margin: 0; font-weight: 400; }
.editorial-detail .ed-page :is(.service-scene, .concrete-infographic) dl { display: block; margin: 20px 0; }
.editorial-detail .ed-page :is(.service-scene, .concrete-infographic) dl > div { padding: 12px 0; border-top: 1px solid var(--line); }
.editorial-detail .ed-page :is(.service-scene, .concrete-infographic) dt { color: var(--blue); font-size: 13px; font-weight: 700; margin: 0 0 4px; }
.editorial-detail .ed-page :is(.service-scene, .concrete-infographic) dd { margin: 0; font-size: 16px; }
.editorial-detail .ed-page :is(.scene-open, .infographic-open) { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; }
.editorial-detail .ed-page :is(.scene-example, .scene-scope, .infographic-scope) { color: var(--soft); font-size: 14px; line-height: 1.85; }
.editorial-detail .ed-page :is(.scene-disclosure, .infographic-note) { margin: 12px 0 0; font-size: 13px; line-height: 1.8; }
.editorial-detail .ed-page .case-infographic { margin: 24px 0; }
.editorial-detail .ed-page .case-infographic > a { display: block; }
.editorial-detail .ed-page .case-infographic img { width: 100%; max-width: 480px; height: auto; object-fit: contain; margin-inline: auto; border-radius: 14px; }
.editorial-detail .ed-page .case-infographic figcaption { margin-top: 12px; font-size: 13px; color: var(--soft); font-weight: 400; }

/* Process pages use a continuous line instead of disconnected boxes. */
.editorial-detail .ed-page :is(.steps, .material-flow, .portfolio-flow ol) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; counter-reset: editorial-step; margin: 24px 0; padding: 0; list-style: none; }
.editorial-detail .ed-page :is(.steps, .material-flow, .portfolio-flow ol) > li { counter-increment: editorial-step; min-width: 0; margin: 0; padding: 20px 0 0; background: transparent; border: 0; border-top: 1px solid var(--line); border-radius: 0; }
.editorial-detail .ed-page :is(.steps, .material-flow, .portfolio-flow ol) > li::before { display: block; content: counter(editorial-step, decimal-leading-zero); margin-bottom: 14px; color: var(--blue); font-size: 14px; font-weight: 700; }
.editorial-detail .ed-page :is(.steps, .material-flow, .portfolio-flow ol) h3 { font-size: 20px; }
.editorial-detail .ed-page :is(.portfolio-flow, .audience-process) { margin: 24px 0; padding: 24px 0; background: transparent; border: 0; border-block: 1px solid var(--line); border-radius: 0; }
.editorial-detail .ed-page :is(.portfolio-flow, .audience-process) figcaption { font-weight: 700; font-size: 21px; margin-bottom: 24px; }
.editorial-detail .ed-page .audience-process ol { padding: 0; list-style: none; counter-reset: audience-step; }
.editorial-detail .ed-page .audience-process li { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 20px; padding: 24px 0; margin: 0; border-bottom: 1px solid var(--line); counter-increment: audience-step; }
.editorial-detail .ed-page .audience-process li::before { content: counter(audience-step, decimal-leading-zero); color: var(--blue); font-size: 14px; font-weight: 700; }
.editorial-detail .ed-page .onboarding-flow { margin: 32px 0; padding: 28px; border-radius: 22px; background: var(--paper-alt); }
.editorial-detail .ed-page .onboarding-caption-title { font-size: 23px; font-weight: 700; }
.editorial-detail .ed-page .onboarding-kicker { font-size: 13px; font-weight: 700; color: var(--blue); }
.editorial-detail .ed-page .onboarding-phase-nav { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 16px 0 24px; }
.editorial-detail .ed-page .onboarding-phase-nav a { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; }
.editorial-detail .ed-page .onboarding-overview { display: block; margin: 0; padding: 0; list-style: none; }
.editorial-detail .ed-page .onboarding-stage { position: relative; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 20px; margin: 0; padding: 0 0 32px; }
.editorial-detail .ed-page .onboarding-stage::before { position: absolute; content: ""; left: 19px; top: 40px; bottom: 0; width: 1px; background: var(--gold); }
.editorial-detail .ed-page .onboarding-stage:last-child { padding-bottom: 0; }
.editorial-detail .ed-page .onboarding-stage:last-child::before { display: none; }
.editorial-detail .ed-page .onboarding-number { display: grid; place-items: center; width: 40px; height: 40px; color: var(--blue); font-size: 14px; font-weight: 700; border: 1px solid var(--gold); border-radius: 50%; }
.editorial-detail .ed-page .onboarding-card { min-width: 0; padding: 0 0 24px; border-bottom: 1px solid var(--line); }
.editorial-detail .ed-page .onboarding-step-title { display: flex; align-items: center; gap: 12px; min-height: 44px; margin-bottom: 16px; font-size: 21px; font-weight: 700; text-decoration: none; }
.editorial-detail .ed-page .onboarding-step-title small { display: block; color: var(--soft); font-size: 13px; font-weight: 400; }
.editorial-detail .ed-page .onboarding-icon { width: 28px; height: 28px; flex-shrink: 0; }
.editorial-detail .ed-page :is(.onboarding-provider, .onboarding-customer) { margin: 16px 0; display: grid; grid-template-columns: 126px minmax(0, 1fr); gap: 12px; }
.editorial-detail .ed-page :is(.onboarding-provider, .onboarding-customer) dt { font-size: 13px; color: var(--blue); font-weight: 700; }
.editorial-detail .ed-page :is(.onboarding-provider, .onboarding-customer) dd { margin: 0; }
.editorial-detail .ed-page .onboarding-result { padding: 16px 20px; margin: 20px 0 0; background: var(--white); border-radius: 9px; }
.editorial-detail .ed-page .onboarding-result span { display: block; font-size: 13px; color: var(--soft); margin-bottom: 4px; }
.editorial-detail .ed-page :is(.onboarding-guard, .onboarding-loop) { margin-top: 20px; padding: 16px 0 0; border-top: 1px solid var(--line); }
.editorial-detail .ed-page :is(.onboarding-loop-note, .onboarding-scope, .onboarding-support) { color: var(--soft); font-size: 14px; }
.editorial-detail .ed-page :is(.onboarding-scope, .onboarding-support) { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.editorial-detail .ed-page .onboarding-loop-links { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.editorial-detail .ed-page .onboarding-loop-links a, .editorial-detail .ed-page .onboarding-back { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; }
.editorial-detail .ed-page .onboarding-detail-intro { font-size: 13px; color: var(--soft); margin: 32px 0; }

/* Work examples keep their source / judgment / output sequence. */
.editorial-detail .ed-page .case-title { display: flex; align-items: flex-start; gap: 24px; }
.editorial-detail .ed-page .large-number { flex-shrink: 0; padding-top: 8px; border-top: 2px solid var(--gold); color: var(--blue); font-size: 36px; line-height: 1.4; }
.editorial-detail .ed-page .persona-strip, .editorial-detail .ed-page .investigation, .editorial-detail .ed-page .result-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 32px; margin: 24px 0; }
.editorial-detail .ed-page .persona-strip { gap: 0; background: var(--paper-alt); }
.editorial-detail .ed-page .persona-strip p { margin: 0; padding: 20px; }
.editorial-detail .ed-page .persona-strip b { display: block; font-weight: 400; color: var(--soft); font-size: 13px; margin-bottom: 8px; }
.editorial-detail .ed-page .problem { padding: 24px 0; border-bottom: 1px solid var(--line); }
.editorial-detail .ed-page .problem > p { font-size: 20px; font-weight: 700; }
.editorial-detail .ed-page :is(.work-chain, .after-chain) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; padding: 0; margin: 24px 0; list-style: none; }
.editorial-detail .ed-page :is(.work-chain, .after-chain) li { position: relative; min-width: 0; padding: 20px 0 0; margin: 0; background: transparent; border: 0; border-top: 2px solid var(--gold); border-radius: 0; }
.editorial-detail .ed-page :is(.work-chain, .after-chain) li:not(:last-child)::after { position: absolute; content: "→"; top: 24px; right: -26px; color: var(--blue); }
.editorial-detail .ed-page .investigation { padding: 16px 0; align-items: start; }
.editorial-detail .ed-page .source-document { margin-top: 20px; padding: 20px; background: var(--white); border: 1px solid var(--line); border-radius: 9px; }
.editorial-detail .ed-page .document-meta { display: flex; gap: 12px; flex-wrap: wrap; padding-bottom: 12px; margin-bottom: 16px; border-bottom: 1px solid var(--line); color: var(--soft); font-size: 13px; }
.editorial-detail .ed-page .dialogue { margin: 24px 0; padding: 20px; background: var(--paper-alt); }
.editorial-detail .ed-page .dialogue b { display: block; margin-bottom: 8px; color: var(--blue); }
.editorial-detail .ed-page .dialogue p + p { padding-top: 20px; border-top: 1px solid var(--line); }
.editorial-detail .ed-page .dialogue p:last-child { margin-bottom: 0; }
.editorial-detail .ed-page .result-panel { margin: 24px 0; padding: 28px; background: var(--paper-alt); border-radius: 14px; }
.editorial-detail .ed-page .result-header { margin: 0 0 24px; }
.editorial-detail .ed-page .result-header .eyebrow { grid-column: 1 / -1; justify-self: start; }
.editorial-detail .ed-page .output-sample { margin: 24px 0; }
.editorial-detail .ed-page .output-sample > figcaption { padding: 16px 20px; margin: 0; background: var(--navy); color: var(--white); font-size: 18px; font-weight: 700; }
.editorial-detail .ed-page .output-sample .sample-scroll { margin-top: 0; border-radius: 0 0 9px 9px; }
.editorial-detail .ed-page .output-sample table { min-width: 600px; }
.editorial-detail .ed-page .output-sample thead th { background: var(--paper-alt); color: var(--ink); }
.editorial-detail .ed-page .after-flow figcaption { font-size: 20px; font-weight: 700; }
.editorial-detail .ed-page .effect-grid > div { padding-top: 20px; border-top: 1px solid var(--line); }
.editorial-detail .ed-page .case-pagination { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; margin: 32px 0; border-block: 1px solid var(--line); }
.editorial-detail .ed-page .case-pagination a, .editorial-detail .ed-page .return-link { display: inline-flex; min-height: 44px; align-items: center; }

/* FAQ and the next action. Native details keep their keyboard behavior. */
.editorial-detail .ed-content details { margin: 0; padding: 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.editorial-detail .ed-content details:first-of-type { border-top: 1px solid var(--line); }
.editorial-detail .ed-content details > summary { position: relative; display: flex; align-items: center; min-height: 76px; padding: 22px 48px 22px 0; color: var(--ink); font-size: 18px; line-height: 1.7; font-weight: 700; list-style: none; cursor: pointer; }
.editorial-detail .ed-content details > summary::-webkit-details-marker { display: none; }
.editorial-detail .ed-content details > summary::after { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); content: "+"; display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--line); border-radius: 50%; color: var(--blue); font-size: 20px; font-weight: 400; line-height: 1; }
.editorial-detail .ed-content details[open] { padding: 0 20px 24px; background: var(--white); }
.editorial-detail .ed-content details[open] > summary { color: var(--blue); margin-bottom: 0; }
.editorial-detail .ed-content details[open] > summary::after { content: "−"; }
.editorial-detail .ed-page :is(.contact, .help-next) { margin: 48px 0 0; padding: 32px 0; border: 0; border-block: 1px solid var(--line); border-radius: 0; background: transparent; }
.editorial-detail .ed-content > .contact.contact-teaser { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; padding: 40px 0; }
.editorial-detail .ed-page .contact h2 { font-size: 28px; }
.editorial-detail .ed-page .contact .button { flex-shrink: 0; }
.editorial-detail .ed-page .help-next { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.editorial-detail .ed-page .help-next h2 { font-size: 24px; }
.editorial-detail .ed-page .help-next > div + div { padding-left: 32px; border-left: 1px solid var(--line); }
.editorial-detail .ed-page .page-index { margin: 24px 0; padding: 20px 0; border-block: 1px solid var(--line); }
.editorial-detail .ed-page .page-index nav { display: flex; flex-wrap: wrap; gap: 0 20px; }
.editorial-detail .ed-page .page-index a { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; }

/* Sitemap and internal appendices use the same paper, rules and typography. */
.editorial-detail .ed-page .sitemap-root { margin: 24px 0 40px; }
.editorial-detail .ed-page .sitemap-root-node { display: block; width: fit-content; padding: 20px 28px; background: var(--paper-alt); border: 1px solid var(--line); border-radius: 14px; text-decoration: none; }
.editorial-detail .ed-page .sitemap-branches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.editorial-detail .ed-page .sitemap-branch { margin: 0; padding: 24px 0 0; border: 0; border-top: 2px solid var(--gold); }
.editorial-detail .ed-page .sitemap-branch-head { display: flex; gap: 20px; align-items: flex-start; margin-bottom: 24px; }
.editorial-detail .ed-page .sitemap-branch-number { font-size: 14px; color: var(--blue); padding-top: 8px; }
.editorial-detail .ed-page .sitemap-branch h2 { margin: 0; font-size: 26px; }
.editorial-detail .ed-page .sitemap-leaves { list-style: none; margin: 0; padding: 0; }
.editorial-detail .ed-page .sitemap-leaves li { margin: 0; padding: 12px 0; border-top: 1px solid var(--line); }
.editorial-detail .ed-page .sitemap-node { display: block; min-height: 44px; padding-block: 6px; text-decoration: none; }
.editorial-detail .ed-page .sitemap-node b { display: block; font-size: 18px; }
.editorial-detail .ed-page .sitemap-description { display: block; color: var(--soft); font-size: 14px; margin-top: 6px; }
.editorial-detail .ed-page .sitemap-node:hover b { text-decoration: underline; }
.editorial-detail .ed-page .sitemap-internal { margin-top: 40px; padding: 16px 0; border-block: 1px solid var(--line); }
.editorial-detail .ed-page .sitemap-internal summary { min-height: 44px; cursor: pointer; }
.editorial-internal .ed-page .hero-dashboard { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; padding: 24px 0; border-block: 1px solid var(--line); background: transparent; box-shadow: none; }
.editorial-internal .ed-page .hero-stat { min-width: 0; padding: 16px; color: var(--ink); background: var(--paper-alt); border: 0; border-radius: 9px; }
.editorial-internal .ed-page .hero-stat :is(.hero-stat-label, .hero-stat-value, span, strong) { color: var(--ink); }
.editorial-internal .ed-page :is(.section-block, .visual-panel, .source-box, .flagship-section, .package-card, .option-card) { color: var(--ink); background: transparent; box-shadow: none; border-color: var(--line); }
.editorial-internal .ed-page :is(.executive-card, .segment-card, .growth-card, .value-card, .layer-card, .gate-card, .resource-card, .reference-card, .channel-card, .product-status-card) { min-width: 0; color: var(--ink); background: var(--white); border: 1px solid var(--line); border-radius: 9px; box-shadow: none; }
.editorial-internal .ed-page :is(.executive-grid, .segment-router, .foundation-matrix, .growth-grid, .flagship-grid, .objective-map, .resource-grid, .validation-grid, .value-grid, .gate-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 24px; }
.editorial-internal .ed-page :is(.visual-title, .section-kicker) { color: var(--blue); }
.editorial-internal .ed-page .source-box { padding: 24px 0; border-top: 1px solid var(--line); font-size: 14px; }
.editorial-internal .ed-page .source-box h2 { font-size: 24px; }
.editorial-internal .ed-page :is(button, input, select, textarea) { font-family: var(--sans); font-size: 16px; }
.editorial-internal .ed-page .filter-button { color: var(--blue); background: var(--white); border: 1px solid var(--line); font-weight: 500; }
.editorial-internal .ed-page .filter-button[aria-pressed="true"] { color: var(--white); background: var(--blue); border-color: var(--blue); }
.editorial-internal .ed-page :is(button, select, input:not([type="checkbox"]):not([type="radio"])) { min-height: 44px; }
.editorial-internal .ed-page button { cursor: pointer; }
.editorial-internal .ed-page :is(input, select, textarea) { max-width: 100%; }
.editorial-internal .ed-page :is(.owner-compact-list, .owner-refs, .owner-status) { font-size: 14px; }
.editorial-detail .ed-page .ed-internal-notice { padding: 16px 20px; margin: 24px 0; border-left: 2px solid var(--gold); color: var(--soft); background: var(--paper-alt); font-size: 14px; }
.editorial-comparison .ed-comparison-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; margin: 16px 0 40px; }
.editorial-comparison .ed-comparison-choices article { padding: 32px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.editorial-comparison .ed-comparison-choices article:last-child { border-top: 3px solid var(--blue); padding-top: 30px; }
.editorial-comparison .ed-comparison-list > section { margin: 0; padding: 48px 0; border-top: 1px solid var(--line); }
.editorial-comparison .ed-comparison-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 32px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line-soft); }
.editorial-comparison .ed-page .ed-comparison-row h3 { margin: 0; font-size: 18px; }
.editorial-comparison .ed-comparison-row > div { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.editorial-comparison .ed-comparison-row a { display: inline-flex; min-height: 44px; align-items: center; font-size: 16px; }

@media (max-width: 1120px) {
  .editorial-site .site-header .brand span { display: none; }
  .editorial-site .desktop-nav { gap: 16px; }
  .editorial-detail .ed-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 40px; }
  .editorial-detail .ed-page :is(.service-scene, .concrete-infographic, .investigation) { grid-template-columns: minmax(0, 1fr); }
  .editorial-detail .ed-page .concrete-infographic > .infographic-open { justify-self: start; }
  .editorial-detail .ed-page .v9-infographic[data-nodes="4"] .v9-diagram-nodes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 920px) {
  .editorial-site .wrap, .editorial-site .site-header .header-inner, .editorial-site .ed-compare-inner, .editorial-detail .ed-page { width: calc(100% - 48px); }
  .editorial-site .desktop-nav { display: none; }
  .editorial-site .site-header .header-inner { position: relative; min-height: 76px; }
  .editorial-site .mobile-menu { display: block; }
  .editorial-site .mobile-menu > summary { display: flex; justify-content: center; align-items: center; min-width: 90px; min-height: 44px; margin: 0; padding: 8px 16px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); font-size: 13px; font-weight: 400; line-height: 1.7; list-style: none; cursor: pointer; }
  .editorial-site .mobile-menu > summary::-webkit-details-marker { display: none; }
  .editorial-site .mobile-menu > summary::after { content: "+"; margin-left: 12px; font-size: 18px; }
  .editorial-site .mobile-menu[open] > summary::after { content: "−"; }
  .editorial-site .mobile-menu nav { position: absolute; z-index: 30; top: 68px; left: 0; right: 0; display: grid; padding: 16px 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); box-shadow: 0 2px 8px rgba(11, 18, 32, .05); }
  .editorial-site .mobile-menu nav a { display: flex; align-items: center; min-height: 48px; padding: 8px 0; color: var(--ink); font-size: 16px; border: 0; border-bottom: 1px solid var(--line-soft); border-radius: 0; background: transparent; text-decoration: none; }
  .editorial-site .mobile-menu nav a:hover, .editorial-site .mobile-menu nav a[aria-current] { color: var(--blue); text-decoration: underline; }
  .editorial-site .site-footer .footer-row, .editorial-site .site-footer .footer-note { flex-direction: column; align-items: flex-start; gap: 16px; }
  .editorial-detail .ed-layout { grid-template-columns: minmax(0, 1fr); gap: 40px; margin-top: 32px; }
  .editorial-detail .ed-outline-inner { position: static; max-height: none; }
  .editorial-detail .ed-outline-desktop { display: none; }
  .editorial-detail .ed-outline-mobile { display: block; }
  .editorial-detail .ed-outline :is(details, .ed-outline-mobile) { margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 9px; background: transparent; }
  .editorial-detail .ed-outline :is(details, .ed-outline-mobile) > summary { min-height: 48px; margin: 0; padding: 12px 16px; border: 0; font-size: 14px; font-weight: 700; cursor: pointer; }
  .editorial-detail .ed-outline :is(details, .ed-outline-mobile)[open] > summary { border-bottom: 1px solid var(--line); }
  .editorial-detail .ed-outline :is(details, .ed-outline-mobile) nav { padding: 0 16px 12px; }
  .editorial-detail .ed-outline a { font-size: 14px; }
  .editorial-detail .ed-page .service-scene, .editorial-detail .ed-page .concrete-infographic { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
}
@media (max-width: 700px) {
  .editorial-site .wrap, .editorial-site .site-header .header-inner, .editorial-site .ed-compare-inner, .editorial-detail .ed-page { width: calc(100% - 40px); }
  .editorial-site .site-header .brand strong, .editorial-site .site-footer .brand strong { font-size: 20px; }
  .editorial-site .ed-compare-inner { padding-top: 8px; gap: 0 16px; }
  .editorial-site .ed-compare-inner > span, .editorial-site .ed-compare-inner > p { flex-basis: 100%; }
  .editorial-site .ed-compare-inner nav, .editorial-site .ed-compare-inner > div { gap: 0 20px; }
  .editorial-site .site-footer .brand span { font-size: 12px; }
  .editorial-detail .ed-page { padding-bottom: 40px; }
  .editorial-detail .ed-page-header { padding: 32px 0; }
  .editorial-detail .ed-page h1 { font-size: clamp(30px, 7.4vw, 42px); line-height: 1.5; margin: 20px 0; }
  .editorial-detail .ed-page-header .lead { font-size: 17px; text-align: left; }
  .editorial-detail .ed-page-header .hero-actions { flex-direction: column; gap: 8px; }
  .editorial-detail .ed-page-header .hero-actions .button { width: 100%; }
  .editorial-detail .ed-hero-visual { margin-bottom: 24px; }
  .editorial-detail .ed-page .section-heading h2, .editorial-detail .ed-page h2 { font-size: 26px; }
  .editorial-detail .ed-page h3 { font-size: 20px; }
  .editorial-detail .ed-content > :is(section, .section-block, .portfolio-section) { padding-bottom: 40px; }
  .editorial-detail .ed-content > :is(section, .section-block, .portfolio-section) + :is(section, .section-block, .portfolio-section) { padding-top: 40px; }
  .editorial-detail .ed-page :is(.v9-page-summary, .summary-bar) { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; }
  .editorial-detail .ed-page .v9-summary-item, .editorial-detail .ed-page .summary-bar > div { padding: 16px 12px; }
  .editorial-detail .ed-page .v9-summary-item:first-child, .editorial-detail .ed-page .summary-bar > div:first-child { padding-left: 12px; }
  .editorial-detail .ed-page .v9-summary-item:nth-child(even), .editorial-detail .ed-page .summary-bar > div:nth-child(even) { border-right: 0; }
  .editorial-detail .ed-page .v9-summary-item:nth-child(n+3), .editorial-detail .ed-page .summary-bar > div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .editorial-detail .ed-page .v9-summary-item b { font-size: 16px; }
  .editorial-detail .ed-page :is(.v9-diagram-nodes, .v9-infographic[data-nodes="4"] .v9-diagram-nodes, .service-scene, .concrete-infographic, .steps, .material-flow, .portfolio-flow ol, .persona-strip, .investigation, .result-header, .effect-grid, .work-chain, .after-chain, .help-next, .sitemap-branches) { grid-template-columns: minmax(0, 1fr); }
  .editorial-detail .ed-page .v9-infographic { padding: 24px; border-radius: 14px; }
  .editorial-detail .ed-page .v9-infographic[data-kind="flow"] .v9-diagram-nodes > li:not(:last-child)::after, .editorial-detail .ed-page :is(.work-chain, .after-chain) li:not(:last-child)::after { content: "↓"; right: auto; left: 0; top: auto; bottom: -29px; }
  .editorial-detail .ed-page .plan-teaser-card { grid-template-columns: minmax(0, 1fr); padding: 24px 16px; gap: 8px; }
  .editorial-detail .ed-page .plan-teaser-card.recommended { padding-left: 13px; }
  .editorial-detail .ed-page .plan-teaser-card h3 { font-size: 22px; }
  .editorial-detail .ed-page .plan-teaser-card .price { grid-column: 1; grid-row: auto; margin: 8px 0; }
  .editorial-detail .ed-page :is(.note, .callout, .materials-callout, .portfolio-notice, .audience-context, .human-check, .scope-box, .case-notice, .example-notice, .plan-teaser-more, .professional-strip, .result-panel) { padding: 20px; }
  .editorial-detail .ed-page .onboarding-flow { padding: 20px 16px; border-radius: 14px; }
  .editorial-detail .ed-page .onboarding-stage { grid-template-columns: 32px minmax(0, 1fr); gap: 12px; }
  .editorial-detail .ed-page .onboarding-stage::before { left: 15px; top: 32px; }
  .editorial-detail .ed-page .onboarding-number { width: 32px; height: 32px; font-size: 13px; }
  .editorial-detail .ed-page .onboarding-step-title { font-size: 19px; align-items: flex-start; gap: 8px; }
  .editorial-detail .ed-page .onboarding-icon { width: 24px; height: 24px; margin-top: 4px; }
  .editorial-detail .ed-page :is(.onboarding-provider, .onboarding-customer) { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .editorial-detail .ed-page .onboarding-result { padding: 12px; }
  .editorial-detail .ed-page .help-next > div + div { padding: 24px 0 0; border: 0; border-top: 1px solid var(--line); }
  .editorial-detail .ed-page th, .editorial-detail .ed-page td { padding: 14px 16px; }
  .editorial-detail .ed-content details > summary { font-size: 17px; min-height: 68px; }
  .editorial-detail .ed-content details[open] { padding-inline: 16px; }
  .editorial-detail .ed-page .case-title { gap: 16px; }
  .editorial-detail .ed-page .large-number { font-size: 30px; }
  .editorial-detail .ed-page .case-pagination { flex-direction: column; gap: 0; padding: 8px 0; }
  .editorial-comparison .ed-comparison-choices, .editorial-comparison .ed-comparison-row { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .editorial-comparison .ed-comparison-choices article { padding: 24px; }
  .editorial-comparison .ed-comparison-choices article:last-child { padding-top: 22px; }
  .editorial-comparison .ed-comparison-list > section { padding-block: 32px; }
}
@media print {
  /* Show native disclosure content in print without changing its screen state. */
  .editorial-detail details::details-content { display: block; content-visibility: visible; }
  .editorial-detail details > :not(summary):not([hidden]) { display: block !important; }
  .editorial-site .site-header, .editorial-site .site-footer, .editorial-site .ed-compare-bar, .editorial-site .skip, .editorial-site .skip-link, .editorial-detail .ed-outline, .editorial-detail .ed-page :is(.breadcrumb, .subnav, .help-subnav, .audience-subnav, .global-nav, .page-index, .v9-page-summary, .v9-related-links, .scene-open, .infographic-open, .case-pagination) { display: none !important; }
  body.editorial-site { font-size: 11pt; background: var(--white); }
  .editorial-detail .ed-page { width: 100%; max-width: none; padding: 0; }
  .editorial-detail .ed-layout { display: block; margin-top: 24px; }
  .editorial-detail .ed-page-header { padding: 12px 0 24px; }
  .editorial-detail .ed-page h1 { font-size: 24pt; }
  .editorial-detail .ed-page h2, .editorial-detail .ed-page .section-heading h2 { font-size: 18pt; }
  .editorial-detail .ed-page h3 { font-size: 13pt; }
  .editorial-detail .ed-page .table-wrap, .editorial-detail .ed-page .sample-scroll { overflow: visible; }
  .editorial-detail .ed-page table { min-width: 0; table-layout: fixed; font-size: 9pt; }
  .editorial-detail .ed-page th, .editorial-detail .ed-page td { padding: 6px; }
  .editorial-detail .ed-page tbody th { min-width: 0; }
  .editorial-detail .ed-page tr { break-inside: avoid; }
  .editorial-detail .ed-page thead { display: table-header-group; }
  .editorial-detail .ed-content > :is(section, .section-block, .portfolio-section) { padding-block: 24px; }
  .editorial-detail .ed-page :is(.v9-diagram-nodes, .steps, .material-flow, .work-chain, .after-chain) { display: block; }
  .editorial-detail .ed-page :is(.v9-diagram-nodes, .steps, .material-flow, .work-chain, .after-chain) > li { padding: 12px 0; break-inside: avoid; }
  .editorial-detail .ed-page :is(.v9-diagram-nodes, .work-chain, .after-chain) > li::after { display: none; }
  .editorial-detail .ed-page a { color: var(--ink); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .editorial-site *, .editorial-site *::before, .editorial-site *::after { animation: none !important; transition: none !important; }
}

@media screen {
  /* Readability revision: screen only; the existing print rules are unchanged. */
  .editorial-site { --read-line: #7f8b98; --read-divider: #bcc4cc; }
  body.editorial-site { font-size: 18px; font-weight: 500; line-height: 1.8; }
  .editorial-site :is(small, code) { font-size: 16px; line-height: 1.75; }
  .editorial-site :is(h1, h2, h3, h4, h5, h6) { font-weight: 700; }
  .editorial-site .site-header .brand span,
  .editorial-site .site-footer .brand span,
  .editorial-site .desktop-nav > a,
  .editorial-site .ed-compare-inner,
  .editorial-site .site-footer :is(.footer-nav a, .footer-links a, .footer-note, .ed-legal),
  .editorial-site .site-footer .ed-legal :is(p, a),
  .editorial-site .mobile-menu > summary { font-size: 16px; font-weight: 500; line-height: 1.75; }
  .editorial-site .desktop-nav { gap: 18px; }
  .editorial-site :is(.desktop-nav > a, .ed-compare-inner a),
  .editorial-site .site-footer :is(.footer-nav a, .footer-links a, .ed-legal .link-grid a) { min-height: 48px; }
  .editorial-site .desktop-nav > a.button { min-height: 48px; border-width: 2px; font-weight: 700; }
  .editorial-site > .site-header,
  .editorial-site .ed-compare-bar,
  .editorial-site > .site-footer,
  .editorial-site .site-footer :is(.footer-note, .ed-legal) { border-color: var(--read-divider); }

  /* Explanatory copy, labels and captions. */
  .editorial-detail .ed-page { font-size: 18px; line-height: 1.8; }
  .editorial-detail .ed-page-header .lead { font-size: 20px; font-weight: 500; line-height: 1.8; }
  .editorial-detail .ed-page :is(p, li, dd) { font-size: 18px; line-height: 1.8; }
  .editorial-detail .ed-page :is(.breadcrumb, .ed-breadcrumb, .label, .tag, .portfolio-tag, .status-badge, .status-label, .option-category, .section-tag, .section-kicker, .eyebrow, .case-kicker, .table-hint, .v9-node-label, .scene-open, .infographic-open, .scene-example, .scene-scope, .infographic-scope, .scene-disclosure, .infographic-note, .onboarding-kicker, .onboarding-loop-note, .onboarding-scope, .onboarding-support, .onboarding-detail-intro, .document-meta, .sitemap-branch-number, .sitemap-description, .source-box, .owner-compact-list, .owner-refs, .owner-status, .ed-internal-notice, .v9-recommended),
  .editorial-detail .ed-page :is(.subnav, .help-subnav, .audience-subnav, .decision-nav, .global-nav, .options-toc, .journey-subnav, .portfolio-index nav) a,
  .editorial-detail .ed-page-header :is(.label, .eyebrow, .sitemap-eyebrow),
  .editorial-detail .ed-page .v9-summary-item small,
  .editorial-detail .ed-page .summary-bar dt,
  .editorial-detail .ed-page :is(.v9-related-links, .task-links) span,
  .editorial-detail .ed-page .plan-teaser-card .price small,
  .editorial-detail .ed-page :is(.service-scene, .concrete-infographic) dt,
  .editorial-detail .ed-page .case-infographic figcaption,
  .editorial-detail .ed-page :is(.steps, .material-flow, .portfolio-flow ol) > li::before,
  .editorial-detail .ed-page .audience-process li::before,
  .editorial-detail .ed-page .onboarding-phase-nav a,
  .editorial-detail .ed-page .onboarding-step-title small,
  .editorial-detail .ed-page :is(.onboarding-provider, .onboarding-customer) dt,
  .editorial-detail .ed-page .onboarding-result span,
  .editorial-detail .ed-page .onboarding-loop-links a,
  .editorial-detail .ed-page .onboarding-back,
  .editorial-detail .ed-page .persona-strip b,
  .editorial-detail .ed-page .page-index a { font-size: 16px; font-weight: 500; line-height: 1.75; }
  .editorial-detail .ed-page :is(.section-tag, .section-kicker, .case-kicker, .v9-node-label, .onboarding-kicker, .v9-recommended) { font-weight: 700; }
  .editorial-detail .ed-page .v9-summary-item b,
  .editorial-detail .ed-page .summary-bar dd,
  .editorial-detail .ed-page :is(.v9-diagram-nodes p, .service-scene dd, .concrete-infographic dd) { font-size: 18px; line-height: 1.8; }
  .editorial-detail .ed-page :is(.service-scene, .concrete-infographic) figcaption { font-weight: 500; }
  .editorial-detail .ed-page .service-icon,
  .editorial-detail .ed-page .onboarding-icon,
  .editorial-detail .ed-page .v9-node-icon { width: 34px; height: 34px; }
  .editorial-detail .ed-page .service-icon { margin-right: 10px; }

  /* Navigation and controls have visible, touch-friendly boundaries. */
  .editorial-detail .ed-page .button { min-height: 48px; border-width: 2px; font-size: 18px; line-height: 1.75; }
  .editorial-detail .ed-page .button:is(.secondary, .outline) { border-color: var(--read-line); }
  .editorial-detail .ed-page :is(.breadcrumb, .ed-breadcrumb, .subnav, .help-subnav, .audience-subnav, .decision-nav, .global-nav, .options-toc, .journey-subnav, .portfolio-index nav, .link-grid, .related-links, .industry-links, .resource-links, .plan-links, .onboarding-phase-nav, .onboarding-loop-links, .case-pagination, .page-index) a,
  .editorial-detail .ed-page :is(.scene-open, .infographic-open, .plan-teaser-link, .return-link, .onboarding-back, .sitemap-node, .sitemap-internal summary),
  .editorial-detail .ed-page :is(th, td) a,
  .editorial-detail .ed-page :is(.card, .choice-grid > article, .role-cards > article, .portfolio-audiences > article) > a:not(.button),
  .editorial-comparison .ed-comparison-row a { min-height: 48px; }
  .editorial-detail .ed-outline-title,
  .editorial-detail .ed-outline-inner > summary,
  .editorial-detail .ed-page .ed-outline .page-index a,
  .editorial-detail .ed-outline a { min-height: 48px; font-size: 16px; line-height: 1.75; }
  .editorial-detail .ed-outline-title,
  .editorial-detail .ed-outline-inner > summary { font-weight: 700; border-bottom-color: var(--blue); }
  .editorial-detail .ed-outline a { padding-block: 12px; border-color: var(--read-divider); font-weight: 500; }
  .editorial-detail .ed-page :is(.v9-related-links, .task-links) > a { min-height: 48px; }

  /* Strong rules identify tables, selectable plans and the progression of a task. */
  .editorial-detail .ed-page :is(.table-wrap, .sample-scroll, .sitemap-root-node, .source-document) { border: 2px solid var(--read-line); }
  .editorial-detail .ed-page table { font-size: 18px; line-height: 1.8; }
  .editorial-detail .ed-page :is(th, td) { border-bottom: 2px solid var(--read-divider); border-inline-end: 2px solid var(--read-divider); padding: 18px 20px; }
  .editorial-detail .ed-page :is(th, td):last-child { border-inline-end: 0; }
  .editorial-detail .ed-page caption { font-size: 18px; line-height: 1.8; }
  .editorial-detail .ed-page thead th { border-bottom-color: var(--navy); }
  .editorial-detail .ed-page .plan-teaser-card { border-top: 2px solid var(--read-line); }
  .editorial-detail .ed-page .plan-teaser-card:last-child { border-bottom: 2px solid var(--read-line); }
  .editorial-detail .ed-page .plan-teaser-card.recommended { border-left-width: 4px; }
  .editorial-detail .ed-page :is(.card, .choice-grid > article, .role-cards > article, .audience-results > div, .portfolio-audiences > article, .support-three > article, .industry-cards > article, .customer-grid > article, .scope-card) { border-top: 2px solid var(--read-line); }
  .editorial-detail .ed-page .v9-diagram-nodes > li,
  .editorial-detail .ed-page :is(.work-chain, .after-chain) li,
  .editorial-detail .ed-page :is(.steps, .material-flow, .portfolio-flow ol) > li { border-top: 3px solid var(--blue); }
  .editorial-detail .ed-page :is(.v9-infographic[data-kind="flow"] .v9-diagram-nodes, .work-chain, .after-chain) > li:not(:last-child)::after { font-size: 24px; font-weight: 700; }
  .editorial-detail .ed-page .onboarding-stage::before { width: 3px; left: 18px; background: var(--blue); }
  .editorial-detail .ed-page .onboarding-number { width: 40px; height: 40px; border: 2px solid var(--blue); background: var(--white); font-size: 16px; line-height: 1; }
  .editorial-detail .ed-page .onboarding-stage { grid-template-columns: 40px minmax(0, 1fr); }
  .editorial-detail .ed-page .onboarding-step-title { min-height: 48px; line-height: 1.75; }
  .editorial-detail .ed-page :is(.service-scene, .concrete-infographic) dl > div,
  .editorial-detail .ed-page :is(.onboarding-card, .document-meta, .v9-diagram-result, .sitemap-leaves li) { border-color: var(--read-divider); border-width: 2px; }
  .editorial-detail .ed-page :is(.v9-page-summary, .summary-bar, .service-glance) { border-color: var(--read-divider); }
  .editorial-detail .ed-page :is(.v9-summary-item, .summary-bar > div) { border-color: var(--read-divider); }
  .editorial-detail .ed-content > :is(section, .section-block, .portfolio-section) { border-bottom-color: var(--read-divider); }

  /* Native details behavior is retained. */
  .editorial-detail .ed-content details { border-bottom: 2px solid var(--read-line); }
  .editorial-detail .ed-content details:first-of-type { border-top: 2px solid var(--read-line); }
  .editorial-detail .ed-content details > summary { min-height: 80px; padding-right: 56px; font-size: 20px; line-height: 1.75; }
  .editorial-detail .ed-content details > summary::after { width: 36px; height: 36px; border: 2px solid var(--blue); background: var(--blue); color: var(--white); font-size: 26px; font-weight: 700; }

  /* Existing internal-only review.css and inline estimator CSS. */
  .editorial-internal .ed-page :is(.hero-stat-label, .card-index, .journey-number, .journey-choice span, .insight-label, .benefit-symbol, .decision-card span, .stage-kicker, .stage-detail, .flow-node span, .status-pending, .axis-x, .axis-y, .position-dot span, .layer-card > span, .reference-card > span, .gate-grid .gate-card > span, .source-cloud span, .process-six span, .tutor-answer > span, .product-status-card dt, .segment-card > span, .flagship-grid article > span, .price-status-list article > span, .segment-card dt, .journey-v36 article > span, .package-body dt, .package-body .note, .audience-card span, .timeline span, .estimate-note, .option-card code, .option-card p),
  .editorial-internal .ed-page figcaption,
  .editorial-internal .ed-page small,
  .editorial-internal .ed-page .footer-meta { font-size: 16px; font-weight: 500; line-height: 1.75; }
  .editorial-internal .ed-page :is(.package-head h3, .package-head .package-price, .package-head .package-price strong, .package-head p) { color: var(--white); }
  .editorial-internal .ed-page .channel-card.cta { background: var(--blue); border: 2px solid var(--blue); color: var(--white); }
  .editorial-internal .ed-page .channel-card.cta :is(strong, small) { color: var(--white); }
  .editorial-internal .ed-page :is(.package-head, .journey-card.primary, .journey-v36 article.primary, .route-node.flagship) h3 { color: var(--white); }
  .editorial-internal .ed-page :is(button, select, input:not([type="checkbox"]):not([type="radio"]), .radio-label, .option-select) { min-height: 48px; }
  .editorial-internal .ed-page :is(.filter-button, .radio-label) { border-width: 2px; border-color: var(--read-line); font-size: 16px; line-height: 1.75; }
  .editorial-internal .ed-page .filter-button[aria-pressed="true"] { border-color: var(--blue); }
  .editorial-internal .ed-page :is(input[type="checkbox"], input[type="radio"]) { flex-shrink: 0; }
  .editorial-internal .ed-page .option-price { white-space: normal; }
  .editorial-internal .ed-page .option-meta { flex-wrap: wrap; }
  .editorial-internal .ed-page :is(.option-grid, .included-summary, .audience-map, .safety-flow, .timeline, .source-cloud) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
  .editorial-internal .ed-page .benefit-result { position: static; margin-top: 16px; }
}

@media screen and (max-width: 1140px) {
  .editorial-site .desktop-nav { display: none; }
  .editorial-site .site-header .header-inner { position: relative; min-height: 84px; }
  .editorial-site .site-header .brand span { display: none; }
  .editorial-site .mobile-menu { display: block; }
  .editorial-site .mobile-menu > summary { display: flex; justify-content: center; align-items: center; min-width: 108px; min-height: 48px; margin: 0; padding: 8px 18px; border: 2px solid var(--read-line); border-radius: 999px; color: var(--ink); font-size: 16px; font-weight: 700; line-height: 1.75; list-style: none; cursor: pointer; }
  .editorial-site .mobile-menu > summary::-webkit-details-marker { display: none; }
  .editorial-site .mobile-menu > summary::after { content: "+"; margin-left: 12px; font-size: 22px; }
  .editorial-site .mobile-menu[open] > summary::after { content: "−"; }
  .editorial-site .mobile-menu nav { position: absolute; z-index: 30; top: calc(100% - 4px); left: 0; right: 0; display: grid; padding: 12px 20px; border: 2px solid var(--read-line); border-radius: 14px; background: var(--white); box-shadow: 0 4px 14px rgba(11, 18, 32, .1); }
  .editorial-site .mobile-menu nav a { display: flex; align-items: center; min-height: 48px; padding: 10px 0; color: var(--ink); font-size: 16px; font-weight: 500; line-height: 1.75; border: 0; border-bottom: 1px solid var(--read-divider); border-radius: 0; background: transparent; text-decoration: none; }
  .editorial-site .mobile-menu nav a:hover,
  .editorial-site .mobile-menu nav a[aria-current] { color: var(--blue); text-decoration: underline; text-underline-offset: 5px; }
}

@media screen and (max-width: 1120px) {
  /* No return to two narrow columns below 920px. */
  .editorial-detail .ed-page :is(.service-scene, .concrete-infographic, .investigation) { grid-template-columns: minmax(0, 1fr); }
}

@media screen and (max-width: 1100px) {
  .editorial-detail .ed-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; margin-top: 32px; }
  .editorial-detail .ed-outline-inner { position: static; max-height: none; }
  .editorial-detail .ed-outline-desktop { display: none; }
  .editorial-detail .ed-outline-mobile { display: block; }
  .editorial-detail .ed-outline :is(details, .ed-outline-mobile) { margin: 0; padding: 0; border: 2px solid var(--read-line); border-radius: 9px; background: var(--white); }
  .editorial-detail .ed-outline :is(details, .ed-outline-mobile) > summary { min-height: 48px; margin: 0; padding: 12px 18px; border: 0; font-size: 16px; font-weight: 700; line-height: 1.75; cursor: pointer; }
  .editorial-detail .ed-outline :is(details, .ed-outline-mobile)[open] > summary { border-bottom: 2px solid var(--read-divider); }
  .editorial-detail .ed-outline :is(details, .ed-outline-mobile) nav { padding: 0 18px 12px; }
}

@media screen and (max-width: 980px) {
  .editorial-detail .ed-page :is(.v9-diagram-nodes, .v9-infographic[data-nodes="4"] .v9-diagram-nodes, .work-chain, .after-chain) { grid-template-columns: minmax(0, 1fr); }
  .editorial-detail .ed-page :is(.v9-infographic[data-kind="flow"] .v9-diagram-nodes, .work-chain, .after-chain) > li:not(:last-child)::after { content: "↓"; right: auto; left: 0; top: auto; bottom: -31px; line-height: 1; }
}

@media screen and (max-width: 700px) {
  .editorial-detail .ed-page-header .lead { font-size: 18px; }
  .editorial-detail .ed-page :is(.v9-page-summary, .summary-bar) { grid-template-columns: minmax(0, 1fr); }
  .editorial-detail .ed-page .v9-summary-item,
  .editorial-detail .ed-page .summary-bar > div { border-right: 0; padding: 16px 12px; }
  .editorial-detail .ed-page .v9-summary-item + .v9-summary-item,
  .editorial-detail .ed-page .summary-bar > div + div { border-top: 1px solid var(--read-divider); }
  .editorial-detail .ed-page .onboarding-stage::before { left: 18px; top: 40px; }
  .editorial-detail .ed-page .onboarding-icon { width: 32px; height: 32px; }
  .editorial-detail .ed-page .onboarding-step-title { font-size: 20px; }
  .editorial-detail .ed-page :is(.onboarding-provider, .onboarding-customer) { grid-template-columns: minmax(0, 1fr); }
  .editorial-detail .ed-page .v9-infographic { padding: 22px 18px; }
  .editorial-detail .ed-content details > summary { font-size: 18px; }
  .editorial-detail .ed-page :is(th, td) { padding: 16px; }
  .editorial-internal .ed-page :is(.package-grid, .effort-layout, .choice-box) { grid-template-columns: minmax(0, 1fr); }
  .editorial-internal .ed-page .estimate { min-width: 0; }
}

@media screen {
  /* Explanatory paragraphs read from a consistent left edge; labels stay centered. */
  .editorial-home .hero-lead,
  .editorial-home .closing > p:not(.label):not(.eyebrow),
  .editorial-home .diagram-center > p,
  .editorial-detail:not(.editorial-internal) .ed-page-header .lead,
  .editorial-detail:not(.editorial-internal) .ed-page-header > p:not(.label):not(.eyebrow):not(.sitemap-eyebrow),
  .editorial-detail:not(.editorial-internal) .ed-page-header .hero-copy > p:not(.label):not(.eyebrow):not(.sitemap-eyebrow) {
    text-align: left;
  }

  /* Preserve the authored phrase break in customer page titles, not prose or tables. */
  .editorial-detail:not(.editorial-internal) .ed-page-header h1 br {
    display: inline;
  }

  /* No nowrap or smaller type: longer titles may still wrap within their container. */
  .editorial-home main :is(h1, h2),
  .editorial-detail:not(.editorial-internal) .ed-page :is(h1, h2) {
    word-break: normal;
    overflow-wrap: normal;
    line-break: strict;
    text-wrap: balance;
  }
}
