:root {
  --wellside-paper: #fbfcfd;
  --wellside-surface: #f4f7f9;
  --wellside-ink: #20252b;
  --wellside-muted: #687482;
  --wellside-line: #d8dee5;
  --wellside-accent: #274a68;
  --wellside-accent-muted: #6f879b;
  --wellside-serif-ja: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "Noto Serif CJK JP", "IPAexMincho", "IPAMincho", serif;
  --wellside-rule: 1px solid var(--wellside-line);
}

html { background: #fff; }
body { background: var(--wellside-paper); color: var(--wellside-ink); }
.site-header { background: rgba(251, 252, 253, .97); }

.eyebrow,
.breadcrumb,
.site-footer__positioning,
.site-footer__copyright,
.issue-list p,
.process-sequence p,
.strategy-process p { color: var(--wellside-muted); }

.site-header__cta .wp-block-navigation-item__content,
.text-link a,
.strategy-links a { border-color: var(--wellside-accent); }

.strategy-geometry__ring,
.hero-geometry span:nth-child(3) { border-color: var(--wellside-accent-muted); }

.strategy-geometry__dot,
.strategy-process span,
.process-sequence span,
.strategy-compact-list li::before {
  color: var(--wellside-accent);
  background-color: var(--wellside-accent);
}

.strategy-process span,
.process-sequence span,
.strategy-compact-list li::before { background-color: transparent; }

.strategy-band--process,
.section--insights { background: var(--wellside-surface); }

.strategy-band,
.strategy-hero,
.section,
.site-header,
.site-footer__copyright,
.concept-flow,
.market-grid > .wp-block-column,
.domain-grid > .wp-block-column,
.issue-list,
.issue-list > div,
.process-sequence,
.process-sequence > div,
.strategy-process,
.strategy-process > div,
.strategy-three > div,
.strategy-two > div,
.strategy-three--lower h2,
.strategy-two h2 { border-color: var(--wellside-line); }

.wp-block-button__link { background: var(--wellside-accent); color: #fff; }
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  border-color: var(--wellside-accent);
  color: var(--wellside-ink);
}

/* Editorial display typography: Japanese Mincho/Serif for H1 and major headings, Sans for body/UI. */
.medical-strategy-page .strategy-hero__copy h1,
.medical-strategy-page .strategy-band > h2,
.medical-strategy-page .strategy-band .strategy-three h2,
.medical-strategy-page .strategy-band .strategy-two h2 {
  font-family: var(--wellside-serif-ja) !important;
  font-weight: 400 !important;
  letter-spacing: -.015em;
}

.medical-strategy-page .strategy-hero__copy h1 {
  line-height: 1.22;
}

.medical-strategy-page .strategy-band h2 { line-height: 1.6; }

/* Restrained research-site CTA. */
.strategy-contact .wp-element-button {
  background: transparent;
  border: 1px solid var(--wellside-accent);
  color: var(--wellside-accent);
  font-size: .84rem;
  letter-spacing: .015em;
}

/* Restore Editorial + Japanese Ma by reducing repeated rule logic. */
.medical-strategy-page .strategy-band { border-bottom: 0; }
.medical-strategy-page .strategy-band + .strategy-band { margin-top: clamp(1.75rem, 2.5vw, 3.25rem); }
.medical-strategy-page .strategy-band--overview { padding-bottom: clamp(3rem, 4.5vw, 5.5rem); }

.medical-strategy-page .strategy-three > div,
.medical-strategy-page .strategy-two > div {
  border-left: 0;
  padding-inline: 0;
}

.medical-strategy-page .strategy-three,
.medical-strategy-page .strategy-two { gap: clamp(2rem, 4vw, 4.75rem); }

.medical-strategy-page .strategy-three--lower h2,
.medical-strategy-page .strategy-two h2 {
  border-bottom: 0;
  padding-bottom: 0;
}

.medical-strategy-page .strategy-band--process {
  padding-block: clamp(3.25rem, 4.75vw, 5.5rem);
  border-top: var(--wellside-rule);
  border-bottom: var(--wellside-rule);
}

.medical-strategy-page .strategy-process {
  border-top: 0;
  border-bottom: 0;
  gap: clamp(1.4rem, 2.6vw, 2.8rem);
}

.medical-strategy-page .strategy-process > div {
  border-left: 0;
  border-bottom: 0;
  padding: 0;
}

.medical-strategy-page .strategy-process > div::before {
  content: '';
  display: block;
  width: 2.25rem;
  height: 1px;
  margin-bottom: .9rem;
  background: var(--wellside-line);
}

/* Strategy = time/direction. */
.medical-strategy-page:not(.medical-management-page):not(.medical-accounting-page) .strategy-process {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

/* Management = control architecture. */
.medical-management-page .strategy-process {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  position: relative;
}

.medical-management-page .strategy-process + .strategy-process {
  margin-top: clamp(2rem, 3vw, 3.25rem);
  padding-top: clamp(1.5rem, 2.25vw, 2.5rem);
  border-top: var(--wellside-rule);
}

/* Management Accounting = measurement; retain slightly stronger grid rhythm on wider screens. */
.medical-accounting-page .strategy-process {
  gap: 0;
  border-top: var(--wellside-rule);
  border-bottom: var(--wellside-rule);
}

.medical-accounting-page .strategy-process > div {
  padding: 1.1rem 1rem 1.25rem;
  border-left: var(--wellside-rule);
}

.medical-accounting-page .strategy-process > div:first-child {
  border-left: 0;
  padding-left: 0;
}

.medical-accounting-page .strategy-process > div:last-child { padding-right: 0; }

.eyebrow,
.breadcrumb,
.strategy-process span,
.process-sequence span { font-variant-numeric: tabular-nums; }

@media (max-width: 980px) {
  .medical-strategy-page:not(.medical-management-page):not(.medical-accounting-page) .strategy-process,
  .medical-management-page .strategy-process,
  .medical-accounting-page .strategy-process {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .medical-strategy-page .strategy-hero { padding-bottom: 3.75rem; }

  .medical-strategy-page .strategy-band,
  .medical-strategy-page .strategy-band--overview,
  .medical-strategy-page .strategy-band--process,
  .medical-strategy-page .strategy-band--closing { padding-block: 3.75rem; }

  .medical-strategy-page .strategy-band + .strategy-band { margin-top: 1.5rem; }
  .medical-strategy-page .strategy-three,
  .medical-strategy-page .strategy-two { gap: 0; }

  .medical-strategy-page .strategy-three > div,
  .medical-strategy-page .strategy-two > div,
  .medical-strategy-page .strategy-three > div:first-child,
  .medical-strategy-page .strategy-two > div:first-child,
  .medical-strategy-page .strategy-three > div:last-child,
  .medical-strategy-page .strategy-two > div:last-child {
    padding: 0;
    border: 0;
  }

  .medical-strategy-page .strategy-three > div + div,
  .medical-strategy-page .strategy-two > div + div {
    margin-top: 3.25rem;
    padding-top: 0;
  }

  /* Global Rule: every Wave 1 PROCESS is strictly one column on mobile.
     Match or exceed the wider strategy selector specificity so the <=980px
     two-column rule cannot win in the cascade. */
  .medical-strategy-page:not(.medical-management-page):not(.medical-accounting-page) .strategy-process,
  .medical-strategy-page.medical-management-page .strategy-process,
  .medical-strategy-page.medical-accounting-page .strategy-process {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    border-top: 0;
    border-bottom: 0;
  }

  .medical-strategy-page .strategy-process > div,
  .medical-strategy-page .strategy-process > div:nth-child(even),
  .medical-strategy-page .strategy-process > div:nth-child(odd),
  .medical-strategy-page.medical-management-page .strategy-process > div,
  .medical-strategy-page.medical-accounting-page .strategy-process > div {
    width: 100%;
    box-sizing: border-box;
    border: 0 !important;
    padding: 0 !important;
  }

  .medical-strategy-page .strategy-process > div + div,
  .medical-management-page .strategy-process > div + div,
  .medical-accounting-page .strategy-process > div + div { margin-top: 2.75rem; }

  .medical-strategy-page .strategy-process > div::before { margin-bottom: .85rem; }
  .medical-strategy-page .strategy-process h3 { font-size: 1.05rem; }
  .medical-strategy-page .strategy-process p { font-size: .9rem; line-height: 1.85; }

  .medical-management-page .strategy-process + .strategy-process {
    margin-top: 3rem;
    padding-top: 3rem;
  }

  /* Retain the brand symbol as a quiet mobile signature. */
  .medical-strategy-page .strategy-geometry {
    display: block;
    width: 5.25rem;
    justify-self: end;
    margin-top: 1.5rem;
    opacity: .52;
  }

  .medical-strategy-page .strategy-geometry__dot { width: .3rem; height: .3rem; }
}

@media (max-width: 600px) {
  .medical-strategy-page .strategy-hero__copy h1 {
    font-size: clamp(2.15rem, 10vw, 3rem) !important;
    line-height: 1.28;
  }

  .medical-strategy-page .strategy-band,
  .medical-strategy-page .strategy-band--overview,
  .medical-strategy-page .strategy-band--process,
  .medical-strategy-page .strategy-band--closing { padding-block: 4rem; }

  .medical-strategy-page .strategy-band--process { margin-top: 2rem; }
}

@media (prefers-contrast: more) {
  :root {
    --wellside-muted: #4f5c68;
    --wellside-line: #bcc5ce;
  }
}
