/* White, quiet reading surfaces for the journal only. */
body.journal-page {
  --paper: #fff;
  --hinoki: #fff;
  --sub-paper: #fff;
  --ink: #242424;
  --sub-ink: #242424;
  --ink-soft: #595959;
  --sub-muted: #595959;
  background: #fff;
  color: #242424;
  color-scheme: light;
  font-family: var(--font-jp);
}
body.journal-page::before, body.journal-page::after { display: none; }
body.journal-page main, body.journal-page .site-header,
body.journal-page .site-header.scrolled, body.journal-page .mobile-nav,
body.journal-page .site-footer { background: #fff; background-image: none; }
body.journal-page .site-header { border-bottom: 1px solid #e8e8e8; box-shadow: none; }
body.journal-page .mobile-nav { box-shadow: 0 8px 16px -12px #777; }
body.journal-page .sub-cta,
body.journal-page .media-index-next,
body.journal-page .seo-consultation,
body.journal-page .seo-example,
body.journal-page .article-note,
body.journal-page .article-comparison,
body.journal-page .article-comparison > div,
body.journal-page .strategy-action,
body.journal-page .strategy-role-note,
body.journal-page .seo-toc,
body.journal-page .seo-table,
body.journal-page .seo-table caption,
body.journal-page .seo-table thead,
body.journal-page .seo-table th,
body.journal-page .seo-table td,
body.journal-page .seo-related-media,
body.journal-page .strategy-hero-image--portrait img,
body.journal-page .media-index-feature-image,
body.journal-page .media-index-article-image { background: #fff; background-image: none; color: #242424; }
body.journal-page .sub-cta,
body.journal-page .media-index-next,
body.journal-page .seo-consultation,
body.journal-page .strategy-action { border: 0; border-top: 1px solid #e5e5e5; border-radius: 0; box-shadow: none; }
body.journal-page .sub-cta p { color: #595959; }
body.journal-page .sub-cta h2 { font-family: var(--font-jp); font-weight: 600; font-size: clamp(1.35rem, 2.3vw, 1.75rem); }
/* Consultation links remain available without a photo or gradient behind text. */
body.journal-page .seo-consultation-banner::before,
body.journal-page .seo-banner-image,
body.journal-page .seo-banner-caption { display: none; }
body.journal-page .seo-banner-content { width: 100%; padding: 1.75rem 0; }
body.journal-page .seo-banner-content > p { color: #595959; }
body.journal-page .seo-consultation-banner h2,
body.journal-page .seo-consultation h2 { font-family: var(--font-jp) !important; font-weight: 600; font-size: 1.35rem; }
body.journal-page .seo-banner-lead { max-width: none; font-size: 1rem; }
/* A compact measure keeps long Japanese paragraphs easy to follow. */
body.journal-page.seo-article .article-page-body {
  max-width: 704px;
  padding: 3rem 24px 5rem;
  font-size: 18px;
  line-height: 2;
  letter-spacing: .015em;
  overflow-wrap: anywhere;
}
body.journal-page .article-page-header { border: 0; padding-bottom: 0; }
body.journal-page .article-page-header h1 {
  max-width: none;
  font-family: var(--font-jp) !important;
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: .01em;
  text-wrap: pretty;
}
body.journal-page .seo-title-detail { margin-top: .65rem; font-size: 1.125rem; line-height: 1.75; color: #424242; }
body.journal-page .seo-byline { margin-top: 1.25rem; color: #666; font-size: .8125rem; line-height: 1.8; }
body.journal-page .article-lead { margin-top: 2rem; font-size: 1em; line-height: 2; color: #242424; }
body.journal-page .article-page-body > section { padding-top: 3.5rem; }
body.journal-page .article-page-body section p,
body.journal-page .article-page-body section li { color: #242424; font-size: 1em; line-height: 2; }
body.journal-page .article-page-body section p { margin: 0 0 1.6em; }
body.journal-page .article-page-body section p:last-child { margin-bottom: 0; }
body.journal-page .article-page-body section:not(.seo-consultation) h2 {
  margin: 0 0 1.4rem;
  padding: 0;
  border: 0;
  background: #fff;
  font-family: var(--font-jp) !important;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .01em;
  text-wrap: pretty;
  box-shadow: none;
}
body.journal-page .article-page-body section:not(.seo-consultation) h3 {
  margin: 2rem 0 1rem;
  padding: 0;
  border: 0;
  background: #fff;
  font-family: var(--font-jp) !important;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.7;
}
body.journal-page .article-page-body section h2::before,
body.journal-page .article-page-body section h2::after { display: none; }
body.journal-page .article-page-body a:not(.btn):not(.seo-related-card):not(.strategy-related-link) { text-underline-offset: .22em; }
body.journal-page .seo-toc { margin-block: 2.5rem; padding: 1.5rem; border: 1px solid #e0e0e0; border-radius: .35rem; }
body.journal-page .seo-toc li { line-height: 1.8; margin-block: .4rem; }
body.journal-page .seo-table { font-size: 1rem; line-height: 1.8; }
body.journal-page .seo-table th, body.journal-page .seo-table td { border-color: #e0e0e0; }
body.journal-page .seo-table thead th { font-weight: 700; border-bottom: 2px solid #bdbdbd; }
body.journal-page .seo-table-scroll { border-color: #ddd; }
body.journal-page .seo-questions summary { min-height: 44px; font-size: 1em; line-height: 1.8; }
body.journal-page .seo-article-image { margin-block: 2.5rem; }
body.journal-page .seo-related-title { font-size: 1rem; line-height: 1.75; }
body.journal-page .seo-related-copy { padding: 1rem; }
body.journal-page .seo-related-more { font-size: .8125rem; }
body.journal-page .seo-editorial-note,
body.journal-page .seo-article-image figcaption { color: #595959; font-size: .8125rem; line-height: 1.8; }
/* Keep list controls legible on white without broad tinted panels. */
body.journal-page .media-index-filters button,
body.journal-page .media-index-filters button[aria-pressed="true"],
body.journal-page .media-index-more:hover,
body.journal-page .media-index-filters button:hover { background: #fff; color: #242424; border: 1px solid #d2d2d2; }
body.journal-page .media-index-filters button[aria-pressed="true"] { border-color: #242424; font-weight: 700; box-shadow: inset 0 0 0 1px #242424; }
body.journal-page .media-index-feature h3, body.journal-page .media-index-article h3 { color: #242424; }
body.journal-page .media-index-meta,
body.journal-page .media-index-meta time { color: #595959; font-size: .75rem; }
body.journal-page .media-index-next { padding-inline: 0; }
/* White footer surfaces require dark text, logos and social icons. */
body.journal-page .site-footer { color: #595959; border-top: 1px solid #e5e5e5; }
body.journal-page .footer-nav-title, body.journal-page .footer-top,
body.journal-page .footer-nav-group a, body.journal-page .footer-nav-group a:hover,
body.journal-page .footer-social a { color: #242424; }
body.journal-page .footer-sitemap, body.journal-page .footer-social a { border-color: #ddd; }
body.journal-page .footer-social a:hover { background: #fff; border-color: #242424; }
body.journal-page .brand-logo-viewport-footer .brand-logo-image,
body.journal-page .footer-social img { filter: brightness(0) saturate(100%); }
@media (max-width: 700px) {
  body.journal-page.seo-article .article-page-body { padding: 1.75rem 20px 4rem; font-size: 17px; }
  body.journal-page .article-page-body > section { padding-top: 2.75rem; }
  body.journal-page .article-page-body section:not(.seo-consultation) h2 { font-size: 1.35rem; }
  body.journal-page .article-page-body section:not(.seo-consultation) h3 { font-size: 1.125rem; }
  body.journal-page .seo-title-detail { font-size: 1.0625rem; }
  body.journal-page .seo-table { font-size: .9375rem; }
  body.journal-page .seo-toc { padding: 1.25rem; }
  body.journal-page .media-index-feature h3, body.journal-page .media-index-article h3 { font-size: 1rem; line-height: 1.75; }
}
/* Match the specificity of older article-only reading overrides. */
body.journal-page.seo-article .article-page-body > section:not(.seo-consultation) p,
body.journal-page.seo-article .article-page-body > section:not(.seo-consultation) li { color: #242424; font-size: 1em; line-height: 2; }
body.journal-page.seo-article .article-page-body > section:not(.seo-consultation) p + p,
body.journal-page.seo-article .article-page-body > section:not(.seo-consultation) :is(ul, ol) + p,
body.journal-page.seo-article .article-page-body > section:not(.seo-consultation) .seo-table-scroll + p { margin-top: 0; }
body.journal-page .article-page-header .seo-title-detail { color: #424242; line-height: 1.75; }
