/* 60｜Service Detail Visual Specification v0.1
   Scope: /medical/strategy/ only. 80 must not extrapolate this before 60 approval. */

.strategy-v2 {
  --v2-bg: #fafaf8;
  --v2-text: #202326;
  --v2-muted: #62686d;
  --v2-line: #e3e6e8;
  --v2-accent: #8d9da8;
  --v2-max: 1280px;
  --v2-copy: 34.5em;
  background: var(--v2-bg);
  color: var(--v2-text);
}

.strategy-v2,
.strategy-v2 p,
.strategy-v2 li {
  font-family: "Source Han Serif JP", "Noto Serif CJK JP", "Hiragino Mincho ProN", "Yu Mincho", "IPAexMincho", serif;
  font-weight: 400;
}

.strategy-v2 .breadcrumb,
.strategy-v2 .eyebrow,
.strategy-v2 .v2-kicker,
.strategy-v2 .v2-step__no,
.strategy-v2 .v2-links a,
.strategy-v2 .v2-cta {
  font-family: "Source Han Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 400;
}

.strategy-v2 .v2-shell {
  width: min(calc(100% - 128px), var(--v2-max));
  max-width: var(--v2-max);
  margin-inline: auto;
}

.strategy-v2 .v2-hero {
  padding: 110px 0 135px;
  background: var(--v2-bg);
}

.strategy-v2 .v2-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) minmax(240px, .9fr);
  gap: 96px;
  align-items: center;
}

.strategy-v2 .v2-hero__copy {
  max-width: 820px;
}

.strategy-v2 .breadcrumb {
  margin: 0 0 30px !important;
  color: var(--v2-muted);
  font-size: 12.5px;
  line-height: 1.5;
  letter-spacing: .08em;
}

.strategy-v2 .eyebrow {
  margin: 0 0 48px !important;
  color: var(--v2-muted);
  font-size: 12.5px;
  line-height: 1.4;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.strategy-v2 .v2-hero h1,
.strategy-v2 .v2-section h2,
.strategy-v2 .v2-step h3,
.strategy-v2 .v2-closing h2 {
  font-family: "Source Han Serif JP", "Noto Serif CJK JP", "Hiragino Mincho ProN", "Yu Mincho", "IPAexMincho", serif !important;
  font-weight: 400 !important;
}

.strategy-v2 .v2-hero h1 {
  max-width: 710px;
  margin: 0;
  font-size: clamp(52px, 4.25vw, 64px) !important;
  line-height: 1.31;
  letter-spacing: .02em;
  line-break: strict;
}

.strategy-v2 .v2-hero h1 > span {
  display: block;
  white-space: nowrap;
}

.strategy-v2 .v2-h1-mobile-break {
  display: none;
}

.strategy-v2 .v2-short-rule {
  display: block;
  width: 48px;
  height: 1px;
  margin: 42px 0 32px;
  background: var(--v2-line);
}

.strategy-v2 .v2-hero__lead {
  max-width: 510px;
  margin: 0;
  color: var(--v2-text);
  font-size: 17.5px;
  line-height: 1.95;
  letter-spacing: .01em;
}

.strategy-v2 .v2-symbol {
  position: relative;
  justify-self: center;
  width: 236px;
  aspect-ratio: 1;
  transform: translate(18px, -30px);
}

.strategy-v2 .v2-symbol::before,
.strategy-v2 .v2-symbol::after,
.strategy-v2 .v2-symbol span,
.strategy-v2 .v2-symbol i {
  content: '';
  position: absolute;
  display: block;
}

.strategy-v2 .v2-symbol::before { left: 50%; top: 0; bottom: 0; width: 1px; background: var(--v2-line); }
.strategy-v2 .v2-symbol::after { top: 50%; left: 0; right: 0; height: 1px; background: var(--v2-line); }
.strategy-v2 .v2-symbol span { width: 58%; aspect-ratio: 1; left: 50%; top: 50%; transform: translate(-50%, -50%); border: 1px solid var(--v2-accent); border-radius: 50%; }
.strategy-v2 .v2-symbol i { width: 5px; height: 5px; left: 82%; top: 50%; transform: translate(-50%, -50%); border-radius: 50%; background: var(--v2-accent); }

.strategy-v2 .v2-section {
  padding: 128px 0 0;
  background: var(--v2-bg);
}

.strategy-v2 .v2-kicker {
  margin: 0 0 24px;
  color: var(--v2-muted);
  font-size: 11.5px;
  line-height: 1.4;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.strategy-v2 .v2-section h2,
.strategy-v2 .v2-closing h2 {
  margin: 0 0 32px;
  font-size: 32px;
  line-height: 1.45;
  letter-spacing: .01em;
}

.strategy-v2 .v2-section h3 {
  font-size: 21px;
  line-height: 1.55;
}

.strategy-v2 .v2-section p,
.strategy-v2 .v2-section li,
.strategy-v2 .v2-closing p {
  font-size: 17px;
  line-height: 1.9;
}

.strategy-v2 .v2-section p,
.strategy-v2 .v2-closing p {
  max-width: var(--v2-copy);
  margin-top: 0;
}

.strategy-v2 .v2-section p + p,
.strategy-v2 .v2-closing p + p {
  margin-top: 1.55em;
}

.strategy-v2 .v2-first-grid {
  display: grid;
  grid-template-columns: 1.05fr .9fr 1.15fr;
  gap: 68px;
  align-items: start;
}

.strategy-v2 .v2-first-grid > div {
  min-width: 0;
}

.strategy-v2 .v2-first-grid > div:nth-child(2) {
  padding-left: 28px;
  border-left: 1px solid var(--v2-line);
}

.strategy-v2 .v2-first-grid > div:nth-child(3) {
  padding-left: 0;
  border-left: 0;
}

.strategy-v2 .v2-first-grid h2 {
  max-width: 11em;
}

.strategy-v2 .v2-issues-heading {
  font-size: 29px;
  line-height: 1.5;
}

.strategy-v2 .v2-issues-heading span {
  display: block;
  white-space: nowrap;
}

.strategy-v2 .v2-plain-list,
.strategy-v2 .v2-output-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.strategy-v2 .v2-plain-list li + li,
.strategy-v2 .v2-output-list li + li {
  margin-top: 1em;
}

.strategy-v2 .v2-plain-list li::before,
.strategy-v2 .v2-output-list li::before {
  content: '—';
  margin-right: .6em;
  color: var(--v2-accent);
}

.strategy-v2 .v2-process-section {
  padding-top: 136px;
}

.strategy-v2 .v2-process-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: start;
  margin-bottom: 80px;
}

.strategy-v2 .v2-process-note {
  justify-self: end;
  align-self: start;
  max-width: 430px !important;
  margin: 34px 0 0;
  color: var(--v2-muted);
}

.strategy-v2 .v2-process {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 120px;
  row-gap: 70px;
  max-width: 1060px;
  margin-left: auto;
}

.strategy-v2 .v2-step {
  display: block;
  padding: 0;
  border: 0;
}

.strategy-v2 .v2-step__no {
  display: block;
  margin-bottom: 18px;
  color: var(--v2-accent);
  font-size: 12.5px;
  line-height: 1;
  letter-spacing: .11em;
}

.strategy-v2 .v2-step h3 {
  margin: 0 0 16px;
}

.strategy-v2 .v2-step p {
  margin: 0;
  color: var(--v2-muted);
  font-size: 16.5px;
  line-height: 1.9;
  text-wrap: pretty;
  line-break: strict;
}

.strategy-v2 .v2-lower {
  padding-top: 144px;
}

.strategy-v2 .v2-lower-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
  gap: 104px;
  align-items: start;
}

.strategy-v2 .v2-editorial-block + .v2-editorial-block {
  margin-top: 112px;
}

.strategy-v2 .v2-output-list {
  max-width: var(--v2-copy);
  columns: 2;
  column-gap: 48px;
}

.strategy-v2 .v2-output-list li {
  break-inside: avoid;
}

.strategy-v2 .v2-aside {
  padding-top: 8px;
}

.strategy-v2 .v2-aside .v2-editorial-block + .v2-editorial-block {
  margin-top: 88px;
}

.strategy-v2 .v2-links {
  display: grid;
  gap: 14px;
  margin-top: 26px;
}

.strategy-v2 .v2-links a,
.strategy-v2 .v2-cta {
  width: fit-content;
  color: var(--v2-text);
  font-size: 14px;
  line-height: 1.6;
  text-decoration: none;
  border-bottom: 1px solid var(--v2-line);
  padding-bottom: 3px;
}

.strategy-v2 .v2-research .v2-links a {
  color: var(--v2-muted);
}

.strategy-v2 .v2-closing {
  padding: 136px 0 144px;
  background: var(--v2-bg);
}

.strategy-v2 .v2-closing__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  gap: 96px;
  align-items: end;
}

.strategy-v2 .v2-cta {
  justify-self: start;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 0 4px;
  color: var(--v2-text);
  border-bottom-color: var(--v2-accent);
}

@media (max-width: 980px) {
  .strategy-v2 .v2-shell { width: min(calc(100% - 80px), var(--v2-max)); }
  .strategy-v2 .v2-hero__grid { grid-template-columns: minmax(0, 1fr) 190px; gap: 56px; }
  .strategy-v2 .v2-symbol { width: 200px; }
  .strategy-v2 .v2-first-grid { grid-template-columns: 1fr 1fr; gap: 56px; }
  .strategy-v2 .v2-first-grid > div:nth-child(3) { grid-column: 1 / -1; max-width: 38em; padding-left: 0; border-left: 0; margin-top: 16px; }
  .strategy-v2 .v2-lower-grid { gap: 72px; }
}

@media (max-width: 700px) {
  .strategy-v2 .v2-shell { width: calc(100% - 48px); }

  .strategy-v2 .v2-hero { padding: 72px 0 104px; }
  .strategy-v2 .v2-hero__grid { grid-template-columns: 1fr; gap: 0; }
  .strategy-v2 .breadcrumb { margin-bottom: 30px !important; font-size: 12px; }
  .strategy-v2 .eyebrow { margin-bottom: 40px !important; font-size: 12px; }
  .strategy-v2 .v2-hero h1 { max-width: none; font-size: 34px !important; line-height: 1.39; letter-spacing: 0; }
  .strategy-v2 .v2-hero h1 > span { white-space: nowrap; }
  .strategy-v2 .v2-h1-mobile-break { display: inline; }
  .strategy-v2 .v2-short-rule { margin: 52px 0 30px; width: 44px; }
  .strategy-v2 .v2-hero__lead { max-width: none; font-size: 16.75px; line-height: 1.96; }
  .strategy-v2 .v2-symbol { width: 104px; margin: 60px 0 0 auto; transform: translateY(10px); justify-self: end; }

  .strategy-v2 .v2-section { padding-top: 100px; }
  .strategy-v2 .v2-section h2,
  .strategy-v2 .v2-closing h2 { margin-bottom: 32px; font-size: 27px; line-height: 1.48; }
  .strategy-v2 .v2-issues-heading { font-size: 25px; line-height: 1.5; }
  .strategy-v2 .v2-section h3 { font-size: 19px; line-height: 1.55; }
  .strategy-v2 .v2-section p,
  .strategy-v2 .v2-section li,
  .strategy-v2 .v2-closing p { font-size: 16.75px; line-height: 1.96; }

  .strategy-v2 .v2-first-grid,
  .strategy-v2 .v2-process-head,
  .strategy-v2 .v2-process,
  .strategy-v2 .v2-lower-grid,
  .strategy-v2 .v2-closing__inner { grid-template-columns: 1fr; }

  .strategy-v2 .v2-first-grid { gap: 0; }
  .strategy-v2 .v2-first-grid > div:nth-child(2),
  .strategy-v2 .v2-first-grid > div:nth-child(3) { padding-left: 0; border-left: 0; margin-top: 96px; }

  .strategy-v2 .v2-process-section { padding-top: 108px; }
  .strategy-v2 .v2-process-head { gap: 44px; margin-bottom: 60px; }
  .strategy-v2 .v2-process-note { justify-self: start; max-width: none !important; margin-top: 0; }
  .strategy-v2 .v2-process { gap: 0; max-width: none; margin: 0; }
  .strategy-v2 .v2-step + .v2-step { margin-top: 44px; }
  .strategy-v2 .v2-step__no { margin-bottom: 14px; }
  .strategy-v2 .v2-step h3 { margin-bottom: 12px; }
  .strategy-v2 .v2-step p { font-size: 16.25px; line-height: 1.96; text-wrap: pretty; line-break: strict; }

  .strategy-v2 .v2-lower { padding-top: 112px; }
  .strategy-v2 .v2-lower-grid { gap: 104px; }
  .strategy-v2 .v2-editorial-block + .v2-editorial-block,
  .strategy-v2 .v2-aside .v2-editorial-block + .v2-editorial-block { margin-top: 96px; }
  .strategy-v2 .v2-output-list { columns: 1; }

  .strategy-v2 .v2-closing { padding: 112px 0 120px; }
  .strategy-v2 .v2-closing__inner { gap: 52px; }
  .strategy-v2 .v2-cta { min-height: 44px; }
}

@media (max-width: 360px) {
  .strategy-v2 .v2-shell { width: calc(100% - 40px); }
  .strategy-v2 .v2-hero h1 { font-size: 32px !important; }
  .strategy-v2 .v2-issues-heading { font-size: 24px; }
}

/* Consolidated service-detail-v2-tuning layer — original order preserved. */
/* 60 final-candidate pass for /medical/strategy/ only.
   Standard corporate service page with restrained Research Lab tone.
   Canonical content, positioning, Research links and CTA meaning are unchanged. */

.strategy-v2 {
  --std-bg: #fbfbfa;
  --std-panel: #f5f7f7;
  --std-text: #202326;
  --std-muted: #687077;
  --std-line: #dfe4e6;
  --std-accent: #8398a6;
  --std-max: 1180px;
  background: var(--std-bg);
  color: var(--std-text);
}

.strategy-v2,
.strategy-v2 p,
.strategy-v2 li {
  font-family: "Source Han Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 400;
}

.strategy-v2 .v2-hero h1,
.strategy-v2 .v2-section h2,
.strategy-v2 .v2-step h3,
.strategy-v2 .v2-closing h2 {
  font-family: "Source Han Serif JP", "Noto Serif CJK JP", "Hiragino Mincho ProN", "Yu Mincho", "IPAexMincho", serif !important;
  font-weight: 400 !important;
}

.strategy-v2 .v2-shell {
  width: min(calc(100% - 112px), var(--std-max));
  max-width: var(--std-max);
  margin-inline: auto;
}

.strategy-v2 .breadcrumb,
.strategy-v2 .eyebrow,
.strategy-v2 .v2-kicker,
.strategy-v2 .v2-step__no,
.strategy-v2 .v2-links a,
.strategy-v2 .v2-cta {
  font-family: "Source Han Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
}

/* Hero */
.strategy-v2 .v2-hero {
  padding: 84px 0 92px;
  background: var(--std-bg);
}

.strategy-v2 .v2-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 72px;
  align-items: center;
}

.strategy-v2 .v2-hero__copy {
  max-width: 780px;
}

.strategy-v2 .breadcrumb {
  margin: 0 0 24px !important;
  color: var(--std-muted);
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: .06em;
}

.strategy-v2 .eyebrow {
  margin: 0 0 30px !important;
  color: var(--std-muted);
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.strategy-v2 .v2-hero h1 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(48px, 4vw, 58px) !important;
  line-height: 1.36;
  letter-spacing: .012em;
  line-break: strict;
}

.strategy-v2 .v2-hero h1 > span {
  display: block;
  white-space: nowrap;
}

.strategy-v2 .v2-h1-mobile-break {
  display: none;
}

.strategy-v2 .v2-short-rule {
  display: block;
  width: 44px;
  height: 1px;
  margin: 34px 0 26px;
  background: var(--std-line);
}

.strategy-v2 .v2-hero__lead {
  max-width: 560px;
  margin: 0;
  color: var(--std-text);
  font-size: 16.5px;
  line-height: 1.9;
  letter-spacing: .005em;
}

.strategy-v2 .v2-symbol {
  position: relative;
  justify-self: center;
  width: 170px;
  aspect-ratio: 1;
  transform: translateY(-4px);
  opacity: .85;
}

.strategy-v2 .v2-symbol::before,
.strategy-v2 .v2-symbol::after,
.strategy-v2 .v2-symbol span,
.strategy-v2 .v2-symbol i {
  content: '';
  position: absolute;
  display: block;
}

.strategy-v2 .v2-symbol::before { left: 50%; top: 0; bottom: 0; width: 1px; background: var(--std-line); }
.strategy-v2 .v2-symbol::after { top: 50%; left: 0; right: 0; height: 1px; background: var(--std-line); }
.strategy-v2 .v2-symbol span { width: 58%; aspect-ratio: 1; left: 50%; top: 50%; transform: translate(-50%, -50%); border: 1px solid var(--std-accent); border-radius: 50%; }
.strategy-v2 .v2-symbol i { width: 5px; height: 5px; left: 82%; top: 50%; transform: translate(-50%, -50%); border-radius: 50%; background: var(--std-accent); }

/* Shared typography */
.strategy-v2 .v2-section {
  background: var(--std-bg);
}

.strategy-v2 .v2-kicker {
  margin: 0 0 14px;
  color: var(--std-muted);
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.strategy-v2 .v2-section h2,
.strategy-v2 .v2-closing h2 {
  margin: 0 0 22px;
  color: var(--std-text);
  font-size: 29px;
  line-height: 1.52;
  letter-spacing: .005em;
}

.strategy-v2 .v2-section h3 {
  margin: 0;
  color: var(--std-text);
  font-size: 20px;
  line-height: 1.55;
}

.strategy-v2 .v2-section p,
.strategy-v2 .v2-section li,
.strategy-v2 .v2-closing p {
  color: var(--std-text);
  font-size: 16px;
  line-height: 1.9;
}

.strategy-v2 .v2-section p + p,
.strategy-v2 .v2-closing p + p {
  margin-top: 1.35em;
}

/* First content: sequential rows with one consistent reading axis. */
.strategy-v2 .v2-first {
  padding: 88px 0 0;
}

.strategy-v2 .v2-first-grid {
  display: block !important;
}

.strategy-v2 .v2-first-grid > div {
  display: grid !important;
  grid-template-columns: 92px minmax(270px, 330px) minmax(0, 1fr) !important;
  gap: 0 44px !important;
  align-items: start;
  min-width: 0;
  margin: 0 !important;
  padding: 0 0 46px !important;
  border: 0 !important;
}

.strategy-v2 .v2-first-grid > div + div {
  margin-top: 46px !important;
}

.strategy-v2 .v2-first-grid > div:not(:last-child) {
  border-bottom: 1px solid var(--std-line) !important;
}

.strategy-v2 .v2-first-grid .v2-kicker {
  grid-column: 1;
  margin: 7px 0 0 !important;
}

.strategy-v2 .v2-first-grid h2 {
  grid-column: 2;
  max-width: none !important;
  margin: 0 !important;
  font-size: 27px;
}

.strategy-v2 .v2-first-grid ul,
.strategy-v2 .v2-first-grid > div > p:not(.v2-kicker) {
  grid-column: 3;
  max-width: 39em;
  margin-top: 0;
}

.strategy-v2 .v2-first-grid > div > p:not(.v2-kicker) + p {
  margin-top: 1.3em;
}

.strategy-v2 .v2-first-grid > div:last-child {
  padding-bottom: 0 !important;
}

.strategy-v2 .v2-plain-list,
.strategy-v2 .v2-output-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.strategy-v2 .v2-plain-list li + li,
.strategy-v2 .v2-output-list li + li {
  margin-top: .85em;
}

.strategy-v2 .v2-plain-list li::before,
.strategy-v2 .v2-output-list li::before {
  content: '—';
  margin-right: .55em;
  color: var(--std-accent);
}

.strategy-v2 .v2-issues-heading span,
.strategy-v2 .v2-approach-heading span {
  display: block;
  white-space: nowrap;
}

/* PROCESS: one intro block followed by a conventional two-column step list. */
.strategy-v2 .v2-process-section {
  margin-top: 96px;
  padding: 82px 0 88px;
  background: var(--std-panel);
}

.strategy-v2 .v2-process-head {
  display: block !important;
  width: 100%;
  max-width: 680px;
  margin: 0 0 48px !important;
  padding: 0 !important;
}

.strategy-v2 .v2-process-head > div {
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
}

.strategy-v2 .v2-process-note {
  display: block !important;
  width: 100%;
  max-width: 620px !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  color: var(--std-muted);
  font-size: 15.5px !important;
  line-height: 1.85 !important;
  text-wrap: pretty;
  line-break: strict;
  justify-self: auto !important;
  align-self: auto !important;
  transform: none !important;
}

.strategy-v2 .v2-process {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 64px !important;
  row-gap: 44px !important;
  max-width: none !important;
  margin: 0 !important;
}

.strategy-v2 .v2-step {
  display: block !important;
  padding: 20px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--std-line) !important;
}

.strategy-v2 .v2-step__no {
  display: block;
  margin: 0 0 10px;
  color: var(--std-accent);
  font-size: 11.5px;
  line-height: 1;
  letter-spacing: .1em;
}

.strategy-v2 .v2-step h3 {
  margin: 0 0 8px;
}

.strategy-v2 .v2-step p {
  max-width: 34em;
  margin: 0;
  color: var(--std-muted);
  font-size: 15.5px;
  line-height: 1.85;
  text-wrap: pretty;
  line-break: strict;
}

/* Lower content: stable main/aside hierarchy, not floating blocks. */
.strategy-v2 .v2-lower {
  padding: 92px 0 0;
}

.strategy-v2 .v2-lower-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.22fr) minmax(300px, .78fr) !important;
  gap: 72px !important;
  align-items: start;
}

.strategy-v2 .v2-lower-main,
.strategy-v2 .v2-aside {
  min-width: 0;
}

.strategy-v2 .v2-editorial-block {
  max-width: 100%;
}

.strategy-v2 .v2-editorial-block + .v2-editorial-block,
.strategy-v2 .v2-aside .v2-editorial-block + .v2-editorial-block {
  margin-top: 58px !important;
  padding-top: 50px;
  border-top: 1px solid var(--std-line);
}

.strategy-v2 .v2-lower-main .v2-editorial-block:first-child,
.strategy-v2 .v2-aside .v2-editorial-block:first-child {
  padding-top: 0;
}

.strategy-v2 .v2-lower p,
.strategy-v2 .v2-lower li {
  max-width: 40em;
}

.strategy-v2 .v2-output-list {
  max-width: 40em;
  columns: 2;
  column-gap: 34px;
}

.strategy-v2 .v2-output-list li {
  break-inside: avoid;
}

.strategy-v2 .v2-links {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}

.strategy-v2 .v2-links a,
.strategy-v2 .v2-cta {
  width: fit-content;
  color: var(--std-text);
  font-size: 13.5px;
  line-height: 1.6;
  text-decoration: none;
  border-bottom: 1px solid var(--std-line);
  padding-bottom: 3px;
}

.strategy-v2 .v2-research .v2-links a {
  color: var(--std-muted);
}

/* Consultation: text and action stay together on one axis. */
.strategy-v2 .v2-closing {
  margin-top: 96px;
  padding: 68px 0 76px;
  background: var(--std-bg);
  border-top: 1px solid var(--std-line);
}

.strategy-v2 .v2-closing__inner {
  display: block !important;
  width: 100%;
  max-width: 760px;
  margin: 0 !important;
  padding: 0 !important;
}

.strategy-v2 .v2-closing__inner > div {
  max-width: 760px;
}

.strategy-v2 .v2-closing p {
  max-width: 700px;
}

.strategy-v2 .v2-cta {
  display: inline-flex !important;
  align-items: center;
  min-height: 44px;
  width: auto;
  margin: 28px 0 0 !important;
  padding: 0 0 3px;
  border-bottom-color: var(--std-accent);
  justify-self: auto !important;
  transform: none !important;
}

.strategy-v2 .v2-section h2,
.strategy-v2 .v2-section h3,
.strategy-v2 .v2-hero h1,
.strategy-v2 .v2-hero__lead,
.strategy-v2 .v2-plain-list li {
  line-break: strict;
}

@media (max-width: 980px) {
  .strategy-v2 .v2-shell {
    width: min(calc(100% - 72px), var(--std-max));
  }

  .strategy-v2 .v2-hero__grid {
    grid-template-columns: minmax(0, 1fr) 160px;
    gap: 48px;
  }

  .strategy-v2 .v2-symbol {
    width: 150px;
  }

  .strategy-v2 .v2-first-grid > div {
    grid-template-columns: 78px minmax(220px, 280px) minmax(0, 1fr) !important;
    column-gap: 32px !important;
  }

  .strategy-v2 .v2-lower-grid {
    gap: 54px !important;
  }
}

@media (max-width: 700px) {
  .strategy-v2 .v2-shell {
    width: calc(100% - 48px);
  }

  .strategy-v2 .v2-hero {
    padding: 58px 0 72px;
  }

  .strategy-v2 .v2-hero__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .strategy-v2 .breadcrumb {
    margin-bottom: 22px !important;
    font-size: 11.5px;
  }

  .strategy-v2 .eyebrow {
    margin-bottom: 24px !important;
    font-size: 11.5px;
  }

  .strategy-v2 .v2-hero h1 {
    max-width: none;
    font-size: 34px !important;
    line-height: 1.42;
    letter-spacing: 0;
  }

  .strategy-v2 .v2-hero h1 > span {
    white-space: nowrap;
  }

  .strategy-v2 .v2-h1-mobile-break {
    display: inline;
  }

  .strategy-v2 .v2-short-rule {
    margin: 34px 0 24px;
  }

  .strategy-v2 .v2-hero__lead {
    max-width: none;
    font-size: 16px;
    line-height: 1.9;
  }

  .strategy-v2 .v2-symbol {
    width: 88px;
    margin: 36px 0 0 auto;
    transform: none;
    justify-self: end;
  }

  .strategy-v2 .v2-first {
    padding-top: 68px;
  }

  .strategy-v2 .v2-first-grid > div {
    display: block !important;
    padding: 0 0 44px !important;
  }

  .strategy-v2 .v2-first-grid > div + div {
    margin-top: 44px !important;
  }

  .strategy-v2 .v2-first-grid .v2-kicker {
    margin: 0 0 12px !important;
  }

  .strategy-v2 .v2-first-grid h2 {
    margin: 0 0 18px !important;
    font-size: 25px;
    line-height: 1.5;
  }

  .strategy-v2 .v2-first-grid ul,
  .strategy-v2 .v2-first-grid > div > p:not(.v2-kicker) {
    max-width: none;
  }

  .strategy-v2 .v2-first-grid > div:last-child {
    padding-bottom: 0 !important;
  }

  .strategy-v2 .v2-process-section {
    margin-top: 72px;
    padding: 64px 0 68px;
  }

  .strategy-v2 .v2-section h2,
  .strategy-v2 .v2-closing h2 {
    font-size: 25px;
    line-height: 1.5;
    margin-bottom: 18px;
  }

  .strategy-v2 .v2-section h3 {
    font-size: 18.5px;
  }

  .strategy-v2 .v2-section p,
  .strategy-v2 .v2-section li,
  .strategy-v2 .v2-closing p {
    font-size: 15.75px;
    line-height: 1.9;
  }

  .strategy-v2 .v2-process-head {
    max-width: none;
    margin-bottom: 38px !important;
  }

  .strategy-v2 .v2-process-note {
    max-width: none !important;
    margin-top: 12px !important;
    font-size: 15px !important;
  }

  .strategy-v2 .v2-process {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .strategy-v2 .v2-step {
    padding-top: 18px !important;
  }

  .strategy-v2 .v2-step + .v2-step {
    margin-top: 30px;
  }

  .strategy-v2 .v2-step p {
    max-width: none;
    font-size: 15.25px;
  }

  .strategy-v2 .v2-lower {
    padding-top: 68px;
  }

  .strategy-v2 .v2-lower-grid {
    grid-template-columns: 1fr !important;
    gap: 58px !important;
  }

  .strategy-v2 .v2-editorial-block + .v2-editorial-block,
  .strategy-v2 .v2-aside .v2-editorial-block + .v2-editorial-block {
    margin-top: 46px !important;
    padding-top: 40px;
  }

  .strategy-v2 .v2-output-list {
    columns: 1;
  }

  .strategy-v2 .v2-closing {
    margin-top: 72px;
    padding: 56px 0 64px;
  }

  .strategy-v2 .v2-closing__inner {
    max-width: none;
  }

  .strategy-v2 .v2-cta {
    margin-top: 24px !important;
  }

  .strategy-v2 .v2-no-orphan {
    white-space: nowrap;
  }
}

@media (max-width: 360px) {
  .strategy-v2 .v2-hero h1 {
    font-size: 32px !important;
  }

  .strategy-v2 .v2-first-grid h2,
  .strategy-v2 .v2-approach-heading,
  .strategy-v2 .v2-issues-heading {
    font-size: 24px;
  }
}

/* PROCESS step number contrast — consolidated from service-detail-accessibility.css. */
.strategy-v2 .v2-step__no {
  color: #566572;
}
